From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Shaohua Li <shaohua.li@intel.com>
Cc: pm list <linux-pm@lists.linux-foundation.org>,
linux acpi <linux-acpi@vger.kernel.org>,
Len Brown <lenb@kernel.org>, Pavel Machek <pavel@suse.cz>
Subject: Re: [patch] hibernation: utilize ACPI hardware signature
Date: Thu, 3 Jan 2008 18:04:29 +0100 [thread overview]
Message-ID: <200801031804.30947.rjw@sisk.pl> (raw)
In-Reply-To: <1199338595.1642.3.camel@sli10-desk.sh.intel.com>
On Thursday, 3 of January 2008, Shaohua Li wrote:
>
> On Wed, 2008-01-02 at 22:05 +0800, Rafael J. Wysocki wrote:
> > On Wednesday, 2 of January 2008, Shaohua Li wrote:
> > > ACPI defines a hardware signature. BIOS calculates the signature
> > > according to hardware configure, if hardware changes, the signature
> > will
> > > change, in this case, S4 resume should fail.
> >
> > The idea is fine, but I'd prefer to do that in a more straightforward
> > way.
> > Namely, we can just:
> > * write the signature into a variable in, for example,
> > acpi_hibernation_prepare() (then, the "old" signature value will be
> > automatically saved in the image)
> > * compare it with a the "new" value read from the BIOS in
> > acpi_hibernation_leave() and panic if there's a mismatch
> > * add a configuration option to disable this behavior (just in case)
> > This way we can avoid modifying the entire generic interface to add
> > the feature
> > specific to ACPI.
> it would be better we do the check in boot kernel.
Franky, I think we should also check in the image kernel, in case the boot
one doesn't support ACPI as I said.
> Why is so bad to do it in generic code?
I just don't like adding more callbacks for this purpose.
> Other platforms can implement it too, like calculating the signature in OS.
>
> > Still, if you want the boot kernel to check the signature, which will
> > be more
> > elegant (but please note that on x86-64 the boot kernel need not
> > support ACPI
> > at all), you can use the (recently introduced) architecture part of
> > the image
> > header for this purpose, without modifying the generic interface.
> Where can I get the code with architecture image header support? appears
> can't find it.
Please have a look at arch_hibernation_header_save() and
arch_hibernation_header_restore() in arch/x86/kernel/suspend_64.c.
They are used by init_header_complete() and check_image_kernel() defined
in kernel/power/power.h .
Currently only x86_64 defines these functions, but I'm going to implement
them on i386 too.
Thanks,
Rafael
next prev parent reply other threads:[~2008-01-03 17:02 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-02 6:59 [patch] hibernation: utilize ACPI hardware signature Shaohua Li
2008-01-02 7:37 ` Maxim Levitsky
2008-01-02 7:37 ` [linux-pm] " Maxim Levitsky
2008-01-02 9:29 ` Johannes Berg
2008-01-02 9:29 ` [linux-pm] " Johannes Berg
2008-01-03 1:52 ` Shaohua Li
2008-01-03 1:52 ` [linux-pm] " Shaohua Li
2008-01-02 10:08 ` Erik Andrén
2008-01-02 14:12 ` Rafael J. Wysocki
2008-01-02 21:25 ` [linux-pm] " Nigel Cunningham
2008-01-02 22:18 ` Rafael J. Wysocki
2008-01-02 22:18 ` [linux-pm] " Rafael J. Wysocki
2008-01-03 8:26 ` Nigel Cunningham
2008-01-03 8:26 ` [linux-pm] " Nigel Cunningham
2008-01-02 21:25 ` Nigel Cunningham
2008-01-02 14:12 ` Rafael J. Wysocki
2008-01-02 14:05 ` Rafael J. Wysocki
2008-01-02 14:05 ` Rafael J. Wysocki
2008-01-02 21:26 ` Nigel Cunningham
2008-01-02 21:26 ` [linux-pm] " Nigel Cunningham
2008-01-02 22:01 ` Rafael J. Wysocki
2008-01-03 8:31 ` Nigel Cunningham
2008-01-03 16:58 ` Rafael J. Wysocki
2008-01-03 22:10 ` Nigel Cunningham
2008-01-03 22:10 ` [linux-pm] " Nigel Cunningham
2008-01-03 16:58 ` Rafael J. Wysocki
2008-01-03 8:31 ` Nigel Cunningham
2008-01-02 22:01 ` Rafael J. Wysocki
2008-01-03 5:36 ` Shaohua Li
2008-01-03 5:36 ` Shaohua Li
2008-01-03 17:04 ` Rafael J. Wysocki
2008-01-03 17:04 ` Rafael J. Wysocki [this message]
2008-01-04 5:41 ` Shaohua Li
2008-01-04 20:44 ` Rafael J. Wysocki
2008-01-07 1:46 ` Shaohua Li
2008-01-10 23:39 ` Rafael J. Wysocki
2008-01-10 23:39 ` Rafael J. Wysocki
2008-01-11 1:07 ` Shaohua Li
2008-01-11 1:07 ` Shaohua Li
2008-01-11 17:20 ` Rafael J. Wysocki
2008-01-11 17:20 ` Rafael J. Wysocki
2008-01-07 1:46 ` Shaohua Li
2008-01-04 20:44 ` Rafael J. Wysocki
2008-01-04 5:41 ` Shaohua Li
-- strict thread matches above, loose matches on Subject: below --
2008-01-02 6:59 Shaohua Li
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=200801031804.30947.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=pavel@suse.cz \
--cc=shaohua.li@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.