From: "H. Peter Anvin" <hpa@zytor.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Pavel Machek <pavel@ucw.cz>,
kernel list <linux-kernel@vger.kernel.org>,
Linux-pm mailing list <linux-pm@lists.osdl.org>
Subject: Re: [rft] s2ram wakeup moves to .c, could fix few machines
Date: Thu, 07 Feb 2008 15:13:58 -0800 [thread overview]
Message-ID: <47AB90B6.8090607@zytor.com> (raw)
In-Reply-To: <200802080006.54151.rjw@sisk.pl>
Rafael J. Wysocki wrote:
> On Thursday, 7 of February 2008, H. Peter Anvin wrote:
>> Rafael J. Wysocki wrote:
>>> Index: linux-2.6/arch/x86/kernel/acpi/realmode/wakeup.S
>>> ===================================================================
>>> --- /dev/null
>>> +++ linux-2.6/arch/x86/kernel/acpi/realmode/wakeup.S
>>> @@ -0,0 +1,122 @@
>>> +/*
>>> + * ACPI wakeup real mode startup stub
>>> + */
>>> +#include <asm/segment.h>
>>> +#include <asm/msr-index.h>
>>> +#include <asm/page_64.h>
>>> +#include <asm/pgtable_64.h>
>>> +
>>> + .code16
>>> + .section ".header", "a"
>>> +
>>> +/* This should match the structure in wakeup.h */
>>> + .globl wakeup_header
>>> +wakeup_header:
>>> +video_mode: .short 0 /* Video mode number */
>>> +pmode_return: .byte 0x66, 0xea /* ljmpl */
>>> + .long 0 /* offset goes here */
>>> + .short __KERNEL_CS
>> Missing a .short pad here... Pavel fixed that at some point, I thought.
>
> Hm, the struct in wakeup.h doesn't contain it too. Why exactly is it
> necessary?
Err, I guess it's only necessary if _jmp2 is declared u32. I generally
prefer to keep fields naturally aligned even though x86 doesn't require
it, it's a bit of paranoia on my part.
>
> Yeah. Pavel, what's at 0x3f00, btw?
>
To be fair, this might have come from my early hack, I don't know for sure.
> In fact, I'd prefer to remove .signature from the header and use the
> end_signature only, so that I can use struct wakeup_header for addressing
> the header fields in the assembly too.
I *thought* that's what I had originally. I'm a bit confused, or it
might have been something Pavel changed.
>> Furthermore, by doing so, you're also padding the binary out to its maximum
>> length, so you might as well just remove the .bss-clearing stuff.
>
> Do you mean placing the header at the end will fill the area between it and the
> code with zeros, so the .bss clearing is not necessary?
Yes. It could, of course, also be cleared by a simple memset() in the
setup code in the kernel, as opposed by the initial assembly code.
That's probably the preferred option.
-hpa
next prev parent reply other threads:[~2008-02-07 23:13 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-05 19:06 [rft] s2ram wakeup moves to .c, could fix few machines Pavel Machek
2008-02-06 1:27 ` Rafael J. Wysocki
2008-02-06 1:36 ` H. Peter Anvin
2008-02-06 1:42 ` Rafael J. Wysocki
2008-02-06 1:51 ` H. Peter Anvin
2008-02-06 1:56 ` Rafael J. Wysocki
2008-02-06 11:29 ` Pavel Machek
2008-02-14 2:54 ` Bill Davidsen
2008-02-06 23:48 ` Rafael J. Wysocki
2008-02-07 22:12 ` Rafael J. Wysocki
2008-02-07 22:28 ` Sam Ravnborg
2008-02-07 22:34 ` H. Peter Anvin
2008-02-07 22:34 ` H. Peter Anvin
2008-02-08 21:31 ` Pavel Machek
2008-02-08 21:34 ` Pavel Machek
2008-02-08 21:41 ` Pavel Machek
2008-02-08 21:47 ` Sam Ravnborg
2008-02-08 21:49 ` Pavel Machek
2008-02-07 22:28 ` Pavel Machek
2008-02-07 22:40 ` Rafael J. Wysocki
2008-02-07 22:44 ` H. Peter Anvin
2008-02-07 22:53 ` Rafael J. Wysocki
2008-02-07 22:45 ` H. Peter Anvin
2008-02-07 22:49 ` Pavel Machek
2008-02-08 21:13 ` Pavel Machek
2008-02-08 21:41 ` Maxim Levitsky
2008-02-08 21:41 ` Maxim Levitsky
2008-02-08 21:51 ` Pavel Machek
2008-02-07 22:46 ` H. Peter Anvin
2008-02-07 22:51 ` Pavel Machek
2008-02-07 23:09 ` Rafael J. Wysocki
2008-02-07 22:57 ` Rafael J. Wysocki
2008-02-07 23:14 ` H. Peter Anvin
2008-02-07 23:14 ` H. Peter Anvin
2008-02-08 21:35 ` Pavel Machek
2008-02-07 22:38 ` H. Peter Anvin
2008-02-07 23:06 ` Rafael J. Wysocki
2008-02-07 23:13 ` H. Peter Anvin [this message]
2008-02-07 23:35 ` Pavel Machek
2008-02-07 23:36 ` Rafael J. Wysocki
2008-02-07 23:41 ` Pavel Machek
2008-02-07 23:42 ` H. Peter Anvin
2008-02-08 7:04 ` Pavel Machek
2008-02-08 7:40 ` H. Peter Anvin
2008-02-08 16:23 ` Rafael J. Wysocki
2008-02-08 21:00 ` Pavel Machek
2008-02-08 21:02 ` H. Peter Anvin
2008-02-08 21:02 ` H. Peter Anvin
2008-02-08 21:09 ` Pavel Machek
2008-02-08 21:18 ` H. Peter Anvin
2008-02-08 21:20 ` [linux-pm] " Alan Stern
2008-02-08 21:23 ` Pavel Machek
2008-02-08 21:27 ` H. Peter Anvin
2008-02-08 21:31 ` Pavel Machek
2008-02-08 21:56 ` Rafael J. Wysocki
2008-02-08 21:59 ` Pavel Machek
2008-02-08 21:56 ` Pavel Machek
2008-02-08 21:58 ` Pavel Machek
2008-02-08 22:01 ` Rafael J. Wysocki
2008-02-08 22:08 ` Pavel Machek
2008-02-09 0:18 ` Rafael J. Wysocki
2008-02-09 0:32 ` H. Peter Anvin
2008-02-09 13:48 ` Rafael J. Wysocki
2008-02-10 21:14 ` Pavel Machek
2008-02-10 21:21 ` Sam Ravnborg
2008-02-06 23:37 ` 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=47AB90B6.8090607@zytor.com \
--to=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.osdl.org \
--cc=pavel@ucw.cz \
--cc=rjw@sisk.pl \
/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.