|
From: | Gerd Hoffmann |
Subject: | Re: Proper support for PCI-based option rom loading (was Re: [Qemu-devel] Re: qdev property bug?) |
Date: | Wed, 16 Dec 2009 15:49:44 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.4pre) Gecko/20090922 Fedora/3.0-3.9.b4.fc12 Lightning/1.0pre Thunderbird/3.0b4 |
On 12/15/09 23:51, Sebastian Herbszt wrote:
Qemu will map rom1.bin to PC_ROM_MIN_OPTION (0xc8000) and map rom2.bin to 0xd0000.
No. rom1.bin will be loaded to max(0xc8000, 0xc0000 + cirrus-bios-size) aligned to 2k, which (with cirrus) is 0xc90000.rom2.bin will be loaded after rom1.bin (also 2k aligned), so the address will depend on rom1.bin size.
Either qemu will map vga bios to PC_ROM_MIN_VGA (0xc0000) or SeaBIOS will map it there (with pci 3.0 it could map it somewhere else, but i doubt thats a good idea). In case the vga bios size is below 0x8000, some rom space is lost.
Because it is larger than 0x8000 option roms will be overwritten when loaded to 0xc8000
SeaBIOS will scan the option rom space starting at PC_ROM_MIN_OPTION and adjust its RomEnd in case a rom is found. Then it will start the pci scan and map pci option roms after RomEnd.
Doesn't fly.I think either qemu or seabios should load *all* roms. I think the idea to provide non-pci roms via fw_cfg and let seabios load them is the best idea we had so far.
cheers, Gerd
[Prev in Thread] | Current Thread | [Next in Thread] |