Messages in this thread | | | Subject | Re: [patch V4 part 2 02/18] x86/entry/32: Move non entry code into .text section | From | Alexandre Chartre <> | Date | Thu, 7 May 2020 15:15:27 +0200 |
| |
On 5/5/20 3:41 PM, Thomas Gleixner wrote: > All ASM code which is not part of the entry functionality can move out into > the .text section. No reason to keep it in the non-instrumentable entry > section. > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de> > --- > arch/x86/entry/entry_32.S | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > --- a/arch/x86/entry/entry_32.S > +++ b/arch/x86/entry/entry_32.S > @@ -729,7 +729,8 @@ > /* > * %eax: prev task > * %edx: next task > - */ > +*/
Misaligned comment end, this line shouldn't change.
alex.
> +.pushsection .text, "ax" > SYM_CODE_START(__switch_to_asm) > /* > * Save callee-saved registers > @@ -776,6 +777,7 @@ SYM_CODE_START(__switch_to_asm) > > jmp __switch_to > SYM_CODE_END(__switch_to_asm) > +.popsection > > /* > * The unwinder expects the last frame on the stack to always be at the same > @@ -784,6 +786,7 @@ SYM_CODE_END(__switch_to_asm) > * asmlinkage function so its argument has to be pushed on the stack. This > * wrapper creates a proper "end of stack" frame header before the call. > */ > +.pushsection .text, "ax" > SYM_FUNC_START(schedule_tail_wrapper) > FRAME_BEGIN > > @@ -794,6 +797,8 @@ SYM_FUNC_START(schedule_tail_wrapper) > FRAME_END > ret > SYM_FUNC_END(schedule_tail_wrapper) > +.popsection > + > /* > * A newly forked process directly context switches into this address. > * > @@ -801,6 +806,7 @@ SYM_FUNC_END(schedule_tail_wrapper) > * ebx: kernel thread func (NULL for user thread) > * edi: kernel thread arg > */ > +.pushsection .text, "ax" > SYM_CODE_START(ret_from_fork) > call schedule_tail_wrapper > > @@ -825,6 +831,7 @@ SYM_CODE_START(ret_from_fork) > movl $0, PT_EAX(%esp) > jmp 2b > SYM_CODE_END(ret_from_fork) > +.popsection > > /* > * Return to user mode is not as complex as all this looks, > @@ -1693,6 +1700,7 @@ SYM_CODE_START(general_protection) > jmp common_exception > SYM_CODE_END(general_protection) > > +.pushsection .text, "ax" > SYM_CODE_START(rewind_stack_do_exit) > /* Prevent any naive code from trying to unwind to our caller. */ > xorl %ebp, %ebp > @@ -1703,3 +1711,4 @@ SYM_CODE_START(rewind_stack_do_exit) > call do_exit > 1: jmp 1b > SYM_CODE_END(rewind_stack_do_exit) > +.popsection >
| |