Re: [PATCH]: ACPI : Set 32bit and 64bit waking vector in FCAS table

Zhao Yakui
2008-09-05T01:03:10Z

On Thu, 2008-09-04 at 13:07 +0100, Matthew Garrett wrote:
> On Thu, Sep 04, 2008 at 11:37:51AM +0200, Rafael J. Wysocki wrote:
> > > so it seems that the BIOS sets ﻿facs->xfirmware_waking_vector during
> > > POST, but uses ﻿﻿facs->firmware_waking_vector to get back during resume.
> >
> > So the BIOS is buggy, so let's add a quirk for it.
>
> Does the machine resume in Windows? If so, do we have any evidence that
> Windows has a quirks list to handle this case? If not, then I suspect
> that Windows sets both and this is what everyone has tested against.
The laptop can be resumed on windows.(XP & Vista). And we don't know
whether there exists the quirk list to handler this case on windows.
Maybe what you said is right.
In fact it is harmless when both 32bit and 64bit waking vector in FACS
table are set. When the system is resumed, BIOS will transfer control to
the predefined waking vector. As we set the same waking vector, either
of them is OK.

There exists the difference between 32bit and 64bit waking vector unless
the waking address is above 4GB. But in fact the waking address is below
1MB on most machines as the waking address needs to be accessed by BIOS.

So in most cases the 32bit and 64bit waking vector are the same value.
BIOS can transfer control to either of them.
>

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html