From: Pavel Machek <pavel@suse.cz>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: "Li, Shaohua" <shaohua.li@intel.com>,
"Zhao, Yakui" <yakui.zhao@intel.com>,
Matthew Garrett <mjg59@srcf.ucam.org>,
"Zhang, Rui" <rui.zhang@intel.com>,
"lenb@kernel.org" <lenb@kernel.org>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"andi@firstfloor.org" <andi@firstfloor.org>
Subject: Re: [PATCH] ACPI suspend: Always use the 32-bit waking vector
Date: Mon, 15 Sep 2008 11:50:01 +0200 [thread overview]
Message-ID: <20080915095001.GA2015@elf.ucw.cz> (raw)
In-Reply-To: <200809061313.02088.rjw@sisk.pl>
Hi!
> Well, I read this part of the spec (2.0c, 3.0b) more carefully and it matches
> what you're saying. Moreover, my understanding of it is that we should
> actually _clear_ the 64-bit vector on systems that support it, because
> otherwise the BIOS is supposed to use it and call the wake-up code in protected
> mode.
>
> The appended patch is based on this observation.
>
> Thanks,
> Rafael
>
> ---
> From: Rafael J. Wysocki <rjw@sisk.pl>
>
> ACPI suspend: Always use the 32-bit waking vector
>
> According to the ACPI specification 2.0c and later, the 64-bit waking vector
> should be cleared and the 32-bit waking vector should be used, unless we want
> the wake-up code to be called by the BIOS in Protected Mode. Moreover, some
> systems (for example HP dv5-1004nr) are known to fail to resume if the 64-bit
> waking vector is used. Therefore, modify the code to clear the 64-bit waking
> vector, for FACS version 1 or greater, and set the 32-bit one before suspend.
>
> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
> ---
> drivers/acpi/hardware/hwsleep.c | 37 +++++++++++--------------------------
> 1 file changed, 11 insertions(+), 26 deletions(-)
>
> @@ -134,20 +132,7 @@ acpi_get_firmware_waking_vector(acpi_phy
> }
>
> /* Get the vector */
> -
> - if ((facs->length < 32) || (!(facs->xfirmware_waking_vector))) {
> - /*
> - * ACPI 1.0 FACS or short table or optional X_ field is zero
> - */
> - *physical_address =
> - (acpi_physical_address) facs->firmware_waking_vector;
> - } else {
> - /*
> - * ACPI 2.0 FACS with valid X_ field
> - */
> - *physical_address =
> - (acpi_physical_address) facs->xfirmware_waking_vector;
> - }
> + *physical_address = (acpi_physical_address)facs->firmware_waking_vector;
>
> return_ACPI_STATUS(AE_OK);
> }
Actually, I guess we should kill acpi_get_firmware_waking_vector: It
is completely useless, and it is indeed never used in whole Linux...
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
next prev parent reply other threads:[~2008-09-15 9:48 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-04 5:51 [PATCH]: ACPI : Set 32bit and 64bit waking vector in FCAS table Zhao Yakui
2008-09-04 8:10 ` Rafael J. Wysocki
2008-09-04 9:18 ` Zhang Rui
2008-09-04 9:37 ` Rafael J. Wysocki
2008-09-04 12:07 ` Matthew Garrett
2008-09-05 1:17 ` Zhao Yakui
2008-09-05 1:21 ` Li, Shaohua
2008-09-05 10:48 ` Rafael J. Wysocki
2008-09-06 11:13 ` [PATCH] ACPI suspend: Always use the 32-bit waking vector Rafael J. Wysocki
2008-09-14 11:46 ` Pavel Machek
2008-09-14 23:56 ` Rafael J. Wysocki
2008-09-15 9:50 ` Pavel Machek [this message]
2008-09-17 5:46 ` Rafael J. Wysocki
2008-09-17 7:29 ` Pavel Machek
2008-09-15 11:18 ` ACPI suspend: test 64-bit waking vector (was Re: [PATCH] ACPI suspend: Always use the 32-bit waking vector) Pavel Machek
2008-09-17 5:45 ` Rafael J. Wysocki
2008-09-17 7:28 ` Pavel Machek
2008-09-17 16:58 ` Rafael J. Wysocki
2008-09-24 7:17 ` [PATCH] ACPI suspend: Always use the 32-bit waking vector Len Brown
2008-09-04 9:27 ` [PATCH]: ACPI : Set 32bit and 64bit waking vector in FCAS table Zhao Yakui
2008-09-04 9:48 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080915095001.GA2015@elf.ucw.cz \
--to=pavel@suse.cz \
--cc=andi@firstfloor.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=mjg59@srcf.ucam.org \
--cc=rjw@sisk.pl \
--cc=rui.zhang@intel.com \
--cc=shaohua.li@intel.com \
--cc=yakui.zhao@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.