Hi,
In my quest to get some life in my nvidia 8600GT board, I've been trying to get the VGA rom executed by vm86 instead of x86emu. There are a few other mainboards that do this too. The source file implementing this turns out to be called 'vgabios.c', of which some variants exist. I also figured out that the _RAMBASE must be set to 0x4000 for this to be linkable (otherwise truncated 16 bit relocations).
The one for via epia-m needs some support in the northbridge (vt8623) to call the do_vgabios. The vgabios file is in the mainboard/via/epia-m directory.
The one for artecgroup dbe61 seems to be the most stand-alone/versatile, but it needs some modification of the device tree in Config.lb. The vgabios.c is in mainboard/artecgroup/dbe61/realmode and it looks like the intention is that this directory should be copied under drivers/pci and some section
chip drivers/pci/realmode device pci 1.1 on end # VGA register "rom_address" = "0xf4100000" # at the beginning of 256k end
should be added to the Config.lb of the mainboard. But I cannot figure out where it should be exactly. Putting it just after the 'end # PCI domain' will just make the boot stops in 'Reading resources' without any clue. Putting it just before the 'end # PCI domain' produces 'PCI: Left over static devices....' in 'Enumerating busses'. Also setting the rom address in there like this looks awkward to me, as it will most probably be different for a different VGA card.
What is the way to go forward? Would I be better off using the epia-m vm86 and change the northbridge for the m57sli (amdk8)?
Ronald.