Commit 7c17e706 authored by Vivek Goyal's avatar Vivek Goyal Committed by Andi Kleen

[PATCH] x86-64: Get rid of dead code in suspend resume

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: default avatarEric W. Biederman <ebiederm@xmission.com>
Signed-off-by: default avatarVivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
parent 90b1c208
...@@ -258,8 +258,6 @@ gdt_48a: ...@@ -258,8 +258,6 @@ gdt_48a:
.word 0, 0 # gdt base (filled in later) .word 0, 0 # gdt base (filled in later)
real_save_gdt: .word 0
.quad 0
real_magic: .quad 0 real_magic: .quad 0
video_mode: .quad 0 video_mode: .quad 0
video_flags: .quad 0 video_flags: .quad 0
...@@ -272,10 +270,6 @@ bogus_32_magic: ...@@ -272,10 +270,6 @@ bogus_32_magic:
movb $0xb3,%al ; outb %al,$0x80 movb $0xb3,%al ; outb %al,$0x80
jmp bogus_32_magic jmp bogus_32_magic
bogus_31_magic:
movb $0xb1,%al ; outb %al,$0x80
jmp bogus_31_magic
bogus_cpu: bogus_cpu:
movb $0xbc,%al ; outb %al,$0x80 movb $0xbc,%al ; outb %al,$0x80
jmp bogus_cpu jmp bogus_cpu
...@@ -346,16 +340,6 @@ check_vesaa: ...@@ -346,16 +340,6 @@ check_vesaa:
_setbada: jmp setbada _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 wakeup_stack_begin: # Stack grows down
.org 0xff0 .org 0xff0
...@@ -373,28 +357,11 @@ ENTRY(wakeup_end) ...@@ -373,28 +357,11 @@ ENTRY(wakeup_end)
# #
# Returned address is location of code in low memory (past data and stack) # Returned address is location of code in low memory (past data and stack)
# #
.code64
ENTRY(acpi_copy_wakeup_routine) ENTRY(acpi_copy_wakeup_routine)
pushq %rax pushq %rax
pushq %rcx
pushq %rdx 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 saved_video_mode, %edx
movl %edx, video_mode - wakeup_start (,%rdi) movl %edx, video_mode - wakeup_start (,%rdi)
movl acpi_video_flags, %edx movl acpi_video_flags, %edx
...@@ -407,17 +374,8 @@ ENTRY(acpi_copy_wakeup_routine) ...@@ -407,17 +374,8 @@ ENTRY(acpi_copy_wakeup_routine)
cmpl $0x9abcdef0, %eax cmpl $0x9abcdef0, %eax
jne bogus_32_magic 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 # restore the regs we used
popq %rdx popq %rdx
popq %rcx
popq %rax popq %rax
ENTRY(do_suspend_lowlevel_s4bios) ENTRY(do_suspend_lowlevel_s4bios)
ret ret
...@@ -512,16 +470,3 @@ ENTRY(saved_eip) .quad 0 ...@@ -512,16 +470,3 @@ ENTRY(saved_eip) .quad 0
ENTRY(saved_esp) .quad 0 ENTRY(saved_esp) .quad 0
ENTRY(saved_magic) .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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment