mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: [PATCH] Fix reloading GDT on ACPI S3 wakeup (fwd)
       [not found] <20050414192240.GB2728@openzaurus.ucw.cz>
@ 2005-04-14 20:35 ` Pavel Machek
  0 siblings, 0 replies; only message in thread
From: Pavel Machek @ 2005-04-14 20:35 UTC (permalink / raw)
  To: juerg, len.brown, kernel list

Hi!

> This patch - based on
> http://marc.theaimsgroup.com/?l=linux-kernel&m=110055503031009&w=2 -
> makes ACPI S3 wakeup work for me on a ThinkPad T40p laptop with a SMP
> kernel. Without it only UP kernels work. I've been using the patch for
> three months now without any issues.
> 
> The ACPI resume code currently uses a real-mode 16-bit lgdt instruction
> to reload the GDT.  This only restores the lower 24 bits of the GDT base
> address.  In recent SMP kernels, the GDT seems to have moved out of the
> lower 16 megs, thereby causing the ACPI resume to fail -- an invalid GDT
> was being loaded.
> 

Actually x86-64 needs this, too. Any testers?
									Pavel

--- clean/arch/x86_64/kernel/acpi/wakeup.S	2005-01-22 21:24:51.000000000 +0100
+++ linux/arch/x86_64/kernel/acpi/wakeup.S	2005-04-14 22:34:18.000000000 +0200
@@ -67,7 +67,7 @@
 	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


-- 
Boycott Kodak -- for their patent abuse against Java.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-04-14 20:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20050414192240.GB2728@openzaurus.ucw.cz>
2005-04-14 20:35 ` [PATCH] Fix reloading GDT on ACPI S3 wakeup (fwd) Pavel Machek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®