[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