[coreboot] suspend/resume in v3

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


On 08.09.2008 05:54, ron minnich wrote:
> On Sun, Sep 7, 2008 at 5:06 PM, Kevin O'Connor <kevin at koconnor.net> wrote:
>
>   
>> Why can't the code use a new stack after CAR is disabled?
>>
>> To be clear, I think moving the stack would be a bad idea.  However, I
>> don't see why the code can't just start using a new stack.
>>     
>
> I don't want to revisit this if I don't have to :=)
>
> This discussion of "use old stack"/"use new stack" went on for a bit,
> and we went with "use old stack" for a number of reasons.
> One big reason was that our production bios experts told us we really
> ought to be able to keep using the stack after disabling car,
> and we have shown with v3 that this is possible BUT BUT BUT:
>
> we need to reserve 2x the active stack area (on entry to CAR) to
> properly use the old stack on K8. Just FYI.
>   

Well, that's what the code requires now, but it is easy to change that
without changing our working stack-backup-restore inline asm. We can
back up the area clobbered by the stack backup before backing up the
stack. The alternative of backing up the stack to a reserved area at the
top of memory won't work due to inline asm peculiarities.

> (NOT the whole CAR area, just the area of stack that is active when we
> call disaable_car).
>
> This is easy but it's important to remember it.
>   

For multiprocessor environments, these two are basically identical.

Regards,
Carl-Daniel

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





More information about the coreboot mailing list