]> www.infradead.org Git - users/jedix/linux-maple.git/commit
powerpc/static_call: Implement inline static calls
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Tue, 3 Dec 2024 19:44:52 +0000 (20:44 +0100)
committerMadhavan Srinivasan <maddy@linux.ibm.com>
Wed, 26 Feb 2025 15:39:43 +0000 (21:09 +0530)
commitf50b45626e053dc10792c680cabbbadbf8c001e7
treec50103c73eec328ae286062b3a18f9a36dbae4d6
parent6626f98ed55a7a20b1852e7d263a96d8f5a1b59f
powerpc/static_call: Implement inline static calls

Implement inline static calls:
- Put a 'bl' to the destination function ('b' if tail call)
- Put a 'nop' when the destination function is NULL ('blr' if tail call)
- Put a 'li r3,0' when the destination is the RET0 function and not
a tail call.

If the destination is too far (over the 32Mb limit), go via the
trampoline.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/3dbd0b2ba577c942729235d0211d04a406653d81.1733245362.git.christophe.leroy@csgroup.eu
arch/powerpc/Kconfig
arch/powerpc/include/asm/static_call.h
arch/powerpc/kernel/static_call.c