[coreboot] suspend/resume in v3
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.
More information about the coreboot