[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.
disable_car(){
copy CAR area to RAM
disable car
copy RAM to CAR
return
]
Would this not work on core 2?
ron
More information about the coreboot
mailing list