[coreboot] suspend/resume in v3
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
> > 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