[coreboot] suspend/resume in v3
c-d.hailfinger.devel.2006 at gmx.net
Mon Sep 8 17:56:07 CEST 2008
On 08.09.2008 17:34, Stefan Reinauer wrote:
> * Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net> [080908 17:17]:
>> - Declare the CAR area as reserved.
> What is it again that keeps us from putting CAR area somewhere where
> there's no real RAM?
The current v3 stage1 design may fail. I don't know of a way to tell gcc
that the stack moved in the middle of a function. Maybe there is one.
>> - When loading any LAR member which is not XIP, back up the memory that
>> would be clobbered to the reserved area at the top of memory.
> Why don't we just put it into the reserved area to begin with, instead
> of doing those luxations? Creating a generic relocator does not make
> much sense, because stuff like the SeaBIOS area will not have to be
Unless you want a linker running on boot, you have to know the location
of the code and data in advance. That means the reserved area would have
to be independent of actual RAM size (i.e. not at the top of RAM) and
machines with less RAM than the predesignated reserved area location
would fail during runtime.
>> - Make sure to store any created tables only in specially reserved memory.
> Now that's where it's getting really hard. Linux always keeps the first
> two pages reserved though. It also reserves most tables itself (which is
> why you get those page 0 reserved twice warnings when you put the
> mptable into page 0)
Decide on the first boot where to put the tables, then declare that area
as reserved. Looks easy to me.
>>> The SuperIO has GPIOs. These control various things, among them can be
>>> the power lines of devices, such as WiFi or even RAM. Software needs to
>>> be able to control RAM power, so either the southbridge GPIOs or the
>>> SuperIO GPIOs are used for that.
>> Cool. Could you add that very important information to the wiki somewhere?
> I don't think it's magic,.. but where to put it? Can someone start an
> S3/Resume page?
Don't we already have one? Seems you're right and we have to start a page.
More information about the coreboot