lkml.org 
[lkml]   [2020]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [patch V4 part 2 02/18] x86/entry/32: Move non entry code into .text section
From
Date

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
>

\
 
 \ /
  Last update: 2020-05-07 15:18    [W:0.312 / U:0.760 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site