[PATCH] x86-64: Get rid of dead code in suspend resume
authorVivek Goyal <vgoyal@in.ibm.com>
Wed, 2 May 2007 17:27:07 +0000 (19:27 +0200)
committerAndi Kleen <andi@basil.nowhere.org>
Wed, 2 May 2007 17:27:07 +0000 (19:27 +0200)
o Get rid of dead code in wakeup.S

o We never restore from saved_gdt, saved_idt, saved_ltd, saved_tss, saved_cr3,
  saved_cr4, saved_cr0, real_save_gdt, saved_efer, saved_efer2. Get rid
  of of associated code.

o Get rid of bogus_magic, bogus_31_magic and bogus_magic2. No longer being
  used.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
arch/x86_64/kernel/acpi/wakeup.S

index 185faa911db592b26483bda86a6760a9fd044d63..6ece70e91a325bbdd8279f4a86a11f4a5e42b79f 100644 (file)
@@ -258,8 +258,6 @@ gdt_48a:
        .word   0, 0                            # gdt base (filled in later)
        
        
-real_save_gdt: .word 0
-               .quad 0
 real_magic:    .quad 0
 video_mode:    .quad 0
 video_flags:   .quad 0
@@ -272,10 +270,6 @@ bogus_32_magic:
        movb    $0xb3,%al       ;  outb %al,$0x80
        jmp bogus_32_magic
 
-bogus_31_magic:
-       movb    $0xb1,%al       ;  outb %al,$0x80
-       jmp bogus_31_magic
-
 bogus_cpu:
        movb    $0xbc,%al       ;  outb %al,$0x80
        jmp bogus_cpu
@@ -346,16 +340,6 @@ check_vesaa:
 
 _setbada: jmp setbada
 
-       .code64
-bogus_magic:
-       movw    $0x0e00 + 'B', %ds:(0xb8018)
-       jmp bogus_magic
-
-bogus_magic2:
-       movw    $0x0e00 + '2', %ds:(0xb8018)
-       jmp bogus_magic2
-       
-
 wakeup_stack_begin:    # Stack grows down
 
 .org   0xff0
@@ -373,28 +357,11 @@ ENTRY(wakeup_end)
 #
 # Returned address is location of code in low memory (past data and stack)
 #
+       .code64
 ENTRY(acpi_copy_wakeup_routine)
        pushq   %rax
-       pushq   %rcx
        pushq   %rdx
 
-       sgdt    saved_gdt
-       sidt    saved_idt
-       sldt    saved_ldt
-       str     saved_tss
-
-       movq    %cr3, %rdx
-       movq    %rdx, saved_cr3
-       movq    %cr4, %rdx
-       movq    %rdx, saved_cr4
-       movq    %cr0, %rdx
-       movq    %rdx, saved_cr0
-       sgdt    real_save_gdt - wakeup_start (,%rdi)
-       movl    $MSR_EFER, %ecx
-       rdmsr
-       movl    %eax, saved_efer
-       movl    %edx, saved_efer2
-
        movl    saved_video_mode, %edx
        movl    %edx, video_mode - wakeup_start (,%rdi)
        movl    acpi_video_flags, %edx
@@ -407,17 +374,8 @@ ENTRY(acpi_copy_wakeup_routine)
        cmpl    $0x9abcdef0, %eax
        jne     bogus_32_magic
 
-       # make sure %cr4 is set correctly (features, etc)
-       movl    saved_cr4 - __START_KERNEL_map, %eax
-       movq    %rax, %cr4
-
-       movl    saved_cr0 - __START_KERNEL_map, %eax
-       movq    %rax, %cr0
-       jmp     1f              # Flush pipelines
-1:
        # restore the regs we used
        popq    %rdx
-       popq    %rcx
        popq    %rax
 ENTRY(do_suspend_lowlevel_s4bios)
        ret
@@ -512,16 +470,3 @@ ENTRY(saved_eip)   .quad   0
 ENTRY(saved_esp)       .quad   0
 
 ENTRY(saved_magic)     .quad   0
-
-ALIGN
-# saved registers
-saved_gdt:     .quad   0,0
-saved_idt:     .quad   0,0
-saved_ldt:     .quad   0
-saved_tss:     .quad   0
-
-saved_cr0:     .quad 0
-saved_cr3:     .quad 0
-saved_cr4:     .quad 0
-saved_efer:    .quad 0
-saved_efer2:   .quad 0