[coreboot] suspend/resume in v3

ron minnich rminnich at gmail.com
Mon Sep 8 21:55:38 CEST 2008

On Mon, Sep 8, 2008 at 9:57 AM, Stefan Reinauer <stepan at coresystems.de> wrote:
> ron minnich wrote:

>> and your entire call chain and all automatics on the stack are gone.
>> And you can't return from disable_car.
> So are you saying it is incredible hard to produce that call chain from
> scratch, or copy it over? I really don't think so.

any pointers on stack are wrong. You can't tell data from pointers.
And so on. I think it's an idea that could really get you in trouble.

I don't feel that moving the stack, and all it contains, to another
location is a good idea.

>> Moving the stack in the general case won't work. Better to call
>> another function -- i.e. disable_car never returns -- that's we do do
>> in v2 today.
> Works fine for me.

me too.

>> If we
>> assume there is no return from disable_car, life is very much simpler.
> Ok, why don't we do that?

See the January discussion. I even prototyped it. I still feel it is
clean in an architecture-independent sense, and in a *implementation*
- independent sense.

Still, I want to make sure: do the rules for core 2 duo make it
impossible to return from disable_car with the same stack?

Here is how we return from stack on on k8.

  copy CAR area to RAM
  disable car
  copy RAM to CAR

Would this not work on core 2?

More information about the coreboot mailing list