On Thu, Nov 06, 2008 at 04:00:21PM +0100, Stefan Reinauer wrote:
I am experimenting with v3 and better integration of SeaBIOS and coreboot. For that, I am copying a SeaBIOS image to the FSEG during coreboot's VGA init code. In addition I added another 32bit entry point to SeaBIOS at 0xffc0 (Thus, living at 0xfffc0)
BTW, instead of adding a new 32bit entry point to SeaBIOS, why don't you teach the existing entry point to return? (When a suitable SeaBIOS config option is set.)
void run_bios(struct device *dev, unsigned long addr) { int i; void (*init_systembios)(void) = (void *)0xfffc0; copy_systembios(); init_systembios();
Change above two lines to:
init_archive(&archive); execute_in_place(archive, "bios.bin.elf");
real_mode_switch_call_vga((dev->bus->secondary << 8) |
dev->path.pci.devfn); }
-Kevin