Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+1 −56
Original line number Diff line number Diff line
@@ -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