Re: [PATCH v2 1/1] x86_64: acpi/wakeup_64 cleanup
From: Cyrill Gorcunov
Date:  Sat Feb 07 2009 - 17:16:16 EST
[Jiri Slaby - Sat, Feb 07, 2009 at 10:52:38PM +0100]
| - remove %ds re-set, it's already set in wakeup_long64
| - remove double labels and alignment (ENTRY already adds both)
| - use meaningful resume point labelname
| - skip alignment while jumping from wakeup_long64 to the resume point
| - remove .size, .type and unused labels
| [v2]
| - added ENDPROCs
| 
| Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx>
| Cc: Len Brown <lenb@xxxxxxxxxx>
| Cc: Pavel Machek <pavel@xxxxxxx>
| Cc: Rafael J. Wysocki <rjw@xxxxxxx>
| ---
|  arch/x86/kernel/acpi/wakeup_64.S |   26 +++++++-------------------
|  1 files changed, 7 insertions(+), 19 deletions(-)
| 
| diff --git a/arch/x86/kernel/acpi/wakeup_64.S b/arch/x86/kernel/acpi/wakeup_64.S
| index bcc2934..b5dee6a 100644
| --- a/arch/x86/kernel/acpi/wakeup_64.S
| +++ b/arch/x86/kernel/acpi/wakeup_64.S
| @@ -13,7 +13,6 @@
|  	 * Hooray, we are in Long 64-bit mode (but still running in low memory)
|  	 */
|  ENTRY(wakeup_long64)
| -wakeup_long64:
|  	movq	saved_magic, %rax
|  	movq	$0x123456789abcdef0, %rdx
|  	cmpq	%rdx, %rax
| @@ -34,16 +33,12 @@ wakeup_long64:
|  
|  	movq	saved_rip, %rax
|  	jmp	*%rax
| +ENDPROC(wakeup_long64)
|  
|  bogus_64_magic:
|  	jmp	bogus_64_magic
|  
| -	.align 2
| -	.p2align 4,,15
| -.globl do_suspend_lowlevel
| -	.type	do_suspend_lowlevel,@function
| -do_suspend_lowlevel:
| -.LFB5:
| +ENTRY(do_suspend_lowlevel)
|  	subq	$8, %rsp
|  	xorl	%eax, %eax
|  	call	save_processor_state
| @@ -67,7 +62,7 @@ do_suspend_lowlevel:
|  	pushfq
|  	popq	pt_regs_flags(%rax)
|  
| -	movq	$.L97, saved_rip(%rip)
| +	movq	$resume_point, saved_rip(%rip)
|  
|  	movq	%rsp, saved_rsp
|  	movq	%rbp, saved_rbp
| @@ -79,13 +74,9 @@ do_suspend_lowlevel:
|  	movl	$3, %edi
|  	xorl	%eax, %eax
|  	jmp	acpi_enter_sleep_state
| -.L97:
| -	.p2align 4,,7
| -.L99:
| -	.align 4
| -	movl	$24, %eax
| -	movw	%ax, %ds
|  
| +	.align 4
| +resume_point:
|  	/* We don't restore %rax, it must be 0 anyway */
|  	movq	$saved_context, %rax
|  	movq	saved_context_cr4(%rax), %rbx
| @@ -117,12 +108,9 @@ do_suspend_lowlevel:
|  	xorl	%eax, %eax
|  	addq	$8, %rsp
|  	jmp	restore_processor_state
| -.LFE5:
| -.Lfe5:
| -	.size	do_suspend_lowlevel, .Lfe5-do_suspend_lowlevel
| -	
| +ENDPROC(do_suspend_lowlevel)
| +
|  .data
| -ALIGN
|  ENTRY(saved_rbp)	.quad	0
|  ENTRY(saved_rsi)	.quad	0
|  ENTRY(saved_rdi)	.quad	0
| -- 
| 1.6.1.2
| 
Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
Thanks Jiri!
	- Cyrill -
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/