git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge to kernel-2.6.20-1.2949.fc6.vs2.2.0.1
[linux-2.6.git]
/
arch
/
i386
/
kernel
/
acpi
/
wakeup.S
diff --git
a/arch/i386/kernel/acpi/wakeup.S
b/arch/i386/kernel/acpi/wakeup.S
index
7c74fe0
..
b781b38
100644
(file)
--- a/
arch/i386/kernel/acpi/wakeup.S
+++ b/
arch/i386/kernel/acpi/wakeup.S
@@
-56,7
+56,7
@@
wakeup_code:
1:
# set up page table
1:
# set up page table
- movl $sw
apper
_pg_dir-__PAGE_OFFSET, %eax
+ movl $sw
susp
_pg_dir-__PAGE_OFFSET, %eax
movl %eax, %cr3
testl $1, real_efer_save_restore - wakeup_code
movl %eax, %cr3
testl $1, real_efer_save_restore - wakeup_code
@@
-265,11
+265,6
@@
ENTRY(acpi_copy_wakeup_routine)
movl $0x12345678, saved_magic
ret
movl $0x12345678, saved_magic
ret
-.data
-ALIGN
-ENTRY(saved_magic) .long 0
-ENTRY(saved_eip) .long 0
-
save_registers:
leal 4(%esp), %eax
movl %eax, saved_context_esp
save_registers:
leal 4(%esp), %eax
movl %eax, saved_context_esp
@@
-297,14
+292,21
@@
ENTRY(do_suspend_lowlevel)
pushl $3
call acpi_enter_sleep_state
addl $4, %esp
pushl $3
call acpi_enter_sleep_state
addl $4, %esp
- ret
+
+# In case of S3 failure, we'll emerge here. Jump
+# to ret_point to recover
+ jmp ret_point
.p2align 4,,7
ret_point:
call restore_registers
call restore_processor_state
ret
.p2align 4,,7
ret_point:
call restore_registers
call restore_processor_state
ret
+.data
ALIGN
ALIGN
+ENTRY(saved_magic) .long 0
+ENTRY(saved_eip) .long 0
+
# saved registers
saved_gdt: .long 0,0
saved_idt: .long 0,0
# saved registers
saved_gdt: .long 0,0
saved_idt: .long 0,0