mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 03:24:19 +02:00
x86/alternative: Convert the asm ALTERNATIVE() macro
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/r/20240607111701.8366-12-bp@kernel.org
This commit is contained in:
parent
93694129c6
commit
a6c7a6a18b
|
|
@ -422,24 +422,6 @@ void nop_func(void);
|
|||
* @newinstr. ".skip" directive takes care of proper instruction padding
|
||||
* in case @newinstr is longer than @oldinstr.
|
||||
*/
|
||||
.macro ALTERNATIVE oldinstr, newinstr, ft_flags
|
||||
140:
|
||||
\oldinstr
|
||||
141:
|
||||
.skip -(((144f-143f)-(141b-140b)) > 0) * ((144f-143f)-(141b-140b)),0x90
|
||||
142:
|
||||
|
||||
.pushsection .altinstructions,"a"
|
||||
altinstr_entry 140b,143f,\ft_flags,142b-140b,144f-143f
|
||||
.popsection
|
||||
|
||||
.pushsection .altinstr_replacement,"ax"
|
||||
143:
|
||||
\newinstr
|
||||
144:
|
||||
.popsection
|
||||
.endm
|
||||
|
||||
#define __N_ALTERNATIVE(oldinst, newinst, flag) \
|
||||
740: \
|
||||
oldinst ; \
|
||||
|
|
@ -455,12 +437,10 @@ void nop_func(void);
|
|||
744: \
|
||||
.popsection ;
|
||||
|
||||
|
||||
.macro N_ALTERNATIVE oldinstr, newinstr, ft_flags
|
||||
.macro ALTERNATIVE oldinstr, newinstr, ft_flags
|
||||
__N_ALTERNATIVE(\oldinstr, \newinstr, \ft_flags)
|
||||
.endm
|
||||
|
||||
|
||||
#define old_len 141b-140b
|
||||
#define new_len1 144f-143f
|
||||
#define new_len2 145f-144f
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user