On Friday, 5 of September 2008, Li, Shaohua wrote: > > >-----Original Message----- > >From: linux-acpi-owner@xxxxxxxxxxxxxxx [mailto:linux-acpi- > >owner@xxxxxxxxxxxxxxx] On Behalf Of Zhao Yakui > >Sent: Friday, September 05, 2008 9:17 AM > >To: Matthew Garrett > >Cc: Rafael J. Wysocki; Zhang, Rui; lenb@xxxxxxxxxx; linux- > >acpi@xxxxxxxxxxxxxxx; andi@xxxxxxxxxxxxxx > >Subject: Re: [PATCH]: ACPI : Set 32bit and 64bit waking vector in FCAS > >table > > > >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. > There was discussion about this issue several months ago (intel's ml), looks > people forgot to take action after the discussion. The spec owner said 64bit > vector is used in protected mode. That is if OS sets it, wakeup code is > called in protected mode by BIOS. Hm, that's interesting. Do we have any examples of _working_ systems on which we set the 64-bit vector? > So the 64-bit vector shouldn't be used. OK So perhaps let's remove the setting of the 64-bit vector altogether (with an appropriate comment in the source code) and see if that causes any regressions to happen. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html