[coreboot] suspend/resume in v3

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Mon Sep 8 17:17:50 CEST 2008


On 08.09.2008 14:29, Stefan Reinauer wrote:
> Carl-Daniel Hailfinger wrote:
>   
>> intraphase is initram? Would it make sense to have a fast path in
>> initram for this?
>>   
>>     
> Yes, it is even required.
>   
>>> <ruik> 4) when creating ACPI tables look to that place, in one table there will be OS waking vector
>>> <ruik> 5) after all done, jump to OS instead of payload, switch A20 on go to real mode and jump
>>> <ruik> 6) do this all steps in reserved memory, do not corrupt system memory used by OS
>>>     
>>> I think 6) in particular deserves some consideration.
>>>   
>>>     
>>>       
>> 6) is really easy with v3. A lot easier than with v2. I think I wrote a
>> design doc about that one year ago.
>>   
>>     
> Have a pointer?
>   

I couldn't find the mail after a quick search, but it basically boils
down to:
- Declare the CAR area as reserved.
- Declare some scratch space at the top of memory as reserved.
- 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.
- Make sure to store any created tables only in specially reserved memory.
- After finishing execution of a LAR member, restore the clobbered
memory from backup.

>> However, I am surprised that the SuperI/O acts as a power supply for RAM.
>>   
>>     
> 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?

Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/





More information about the coreboot mailing list