[coreboot] suspend/resume in v3
ron minnich
rminnich at gmail.com
Mon Sep 8 17:40:41 CEST 2008
On Mon, Sep 8, 2008 at 8:23 AM, Stefan Reinauer <stepan at coresystems.de> wrote:
> Carl-Daniel Hailfinger wrote:
>> Stefan, you're the core duo expert. Do you see any way to have the same
>> stack location during and after CAR?
>>
>
> No. There is no RAM at that position.
>
OK, can we get a confirmation here one way or another on core 2 duo.
There is no ram at "that" position. I assume "that" is 0xc0000? Is it
possible to ever have CARBASE where there is RAM or is this a hardware
limit. If there is no RAM at CARBASE, then it is not possible to
return from disable_car and we need a simple redesign.
The CAR decision in v3 that was taken some time ago was to assume that
we could return from disable_car.
If we can not return from disable_car, then disable_car needs to work
as follows:
disable_car(void (*f)(struct sysinfo *s), struct sysinfo *sysinfo)
{
/* copy sysinfo to RAM */
/* set ESP to top of sysinfo */
/* disable CAR*/
/* continue */
f(sysinfo);
}
This is pretty much what we have in v2.
I'm not expressing an opinion here, just stating what I think is
needed if disable_car can not be returned from.
thanks
ron
More information about the coreboot
mailing list