]> Gentwo Git Trees - linux/.git/commit
openrisc: Add text patching API support
authorchenmiao <chenmiao.ku@gmail.com>
Fri, 5 Sep 2025 18:12:55 +0000 (18:12 +0000)
committerStafford Horne <shorne@gmail.com>
Thu, 11 Sep 2025 10:27:59 +0000 (11:27 +0100)
commit4735037b5d9b0f809c51976c87d737fa2c48fdea
treef419714636d28f7923fa63f860a17c67f2e94536
parent76eeb9b8de9880ca38696b2fb56ac45ac0a25c6c
openrisc: Add text patching API support

Add text patching api's to use in subsequent jump_label implementation.  We use
a new fixmap FIX_TEXT_POKE0 entry to temporarily override MMU mappings to allow
read only text pages to be written to.

Previously, __set_fix was marked with __init as it was only used during the
EARLYCON stage. Now that TEXT_POKE mappings require post-init usage
(e.g., FIX_TEXT_POKE0), keeping __init would cause runtime bugs whenset_fixmap
accesses invalid memory. Thus, we remove the __init flag to ensure __set_fix
remains valid beyond initialization.

A new function patch_insn_write is exposed to allow single instruction patching.

Link: https://lore.kernel.org/openrisc/aJIC8o1WmVHol9RY@antec/T/#t
Signed-off-by: chenmiao <chenmiao.ku@gmail.com>
Signed-off-by: Stafford Horne <shorne@gmail.com>
arch/openrisc/include/asm/Kbuild
arch/openrisc/include/asm/fixmap.h
arch/openrisc/include/asm/insn-def.h [new file with mode: 0644]
arch/openrisc/include/asm/text-patching.h [new file with mode: 0644]
arch/openrisc/kernel/Makefile
arch/openrisc/kernel/patching.c [new file with mode: 0644]
arch/openrisc/mm/init.c