[coreboot] suspend/resume in v3

Kevin O'Connor kevin at koconnor.net
Mon Sep 8 04:53:40 CEST 2008

On Mon, Sep 08, 2008 at 04:11:35AM +0200, Carl-Daniel Hailfinger wrote:
> On 08.09.2008 03:37, Kevin O'Connor wrote:
> > Any memory that coreboot might clobber would need to be reserved, and
> > 0xc0000 can't be reserved because vga option roms expect to be located
> > there.
> OK. The problem here is that large multicore machines need 48 kB CAR
> size, probably more in the future. Are VGA option ROMs guaranteed to be
> 16 kB or smaller?

No - I have vga roms nearly 64KB in size.  I don't know if there is an
upper limit.

> > An alternative (as you mentioned in an early email) would be to save
> > and restore some area of memory below 1MB.
> >   
> Yes, but the problem is that the CAR area can't be saved before enabling
> CAR. That means we have to reserve the memory. Let me summarize the
> current black list:
> - 0x00000-0x9FFFF is low 640 kB. May break bootloaders and 16-bit OS.


> - 0xA0000-0xAFFFF is VGA graphics memory mapped area.
> - 0xB0000-0xB7FFF is ancient monochrome memmapped, but may still be
> decoded by newer VGA cards.
> - 0xB8000-0xBFFFF is VGA text mode memory mapped area.

I wonder if one could back this area with memory during resume, and
then return control to the vga cards before returning to the OS.

> - 0xC0000-???? is VGA ROM location.

You can almost certainly reserve space in the 0xe0000 area.  However,
doing so limits the space for other option roms.

> - 0xF0000-0xFFFFF is used by SeaBIOS.

Something could be worked out here.  We could backup seabios and
restore it before resume completes.  It'd be ugly though.


More information about the coreboot mailing list