[coreboot] suspend/resume in v3

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Sun Sep 7 23:55:58 CEST 2008

On 07.09.2008 23:40, Rudolf Marek wrote:
>> CAR will write to memory locations below 1M. There are three ways to
>> cope with that:
>> 1. Back up that area during suspend and restore it as last instruction
>> of resume.
>> 2. Declare the CAR area (48 kB) as reserved memory.
> Imho this is OK, and easiest.

Fine. Let's take that route.

>> 3. Write excessively clever and fragile code which performs a double
>> stack switch during resume.
> Here are some other ideas, might not work if stack is never
> realocated. I dont know how CAR in v3 works.

All targets in v3 don't move the stack. That allows us to store data
structures with globally valid pointers on the stack and it a

> 4. use 0xA0000-0xBFFFF
> I think we can use this RAM because it will be covered by SMM (done by
> us) or will be covered by legacy VGA anyway.

That would cause a collision if coreboot runs the VGA ROM. I might be
wrong about that, though.

> 5.  use 0xf0000-0xfffff
> It will get overwritten by some our code, before that we might use it.

I have to recheck this, but it might be possible that this location is
not available for CAR on every processor.

Thanks for your insights.



More information about the coreboot mailing list