From: Pavel Machek Sleep code uses wrong version of lgdt, that does the wrong thing when gdt is beyond 16MB or so... Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton --- arch/x86_64/kernel/acpi/wakeup.S | 2 +- i386/kernel/acpi/wakeup.S | 0 2 files changed, 1 insertion(+), 1 deletion(-) diff -puN arch/i386/kernel/acpi/wakeup.S~s-t-ram-load-gdt-the-right-way arch/i386/kernel/acpi/wakeup.S diff -puN arch/x86_64/kernel/acpi/wakeup.S~s-t-ram-load-gdt-the-right-way arch/x86_64/kernel/acpi/wakeup.S --- 25/arch/x86_64/kernel/acpi/wakeup.S~s-t-ram-load-gdt-the-right-way 2005-04-26 02:16:36.532322416 -0700 +++ 25-akpm/arch/x86_64/kernel/acpi/wakeup.S 2005-04-26 02:16:36.537321656 -0700 @@ -67,7 +67,7 @@ wakeup_code: shll $4, %eax addl $(gdta - wakeup_code), %eax movl %eax, gdt_48a +2 - wakeup_code - lgdt %ds:gdt_48a - wakeup_code # load gdt with whatever is + lgdtl %ds:gdt_48a - wakeup_code # load gdt with whatever is # appropriate movl $1, %eax # protected mode (PE) bit _