On Tue, Oct 12, 2010 at 10:11:09AM +0200, Peter Stuge wrote:
How about:
- QEMU let's user choose device boot order based on something that makes sense to QEMU and it's users. It places this info in fw_cfg by providing a list of "path names" for each device.
- SeaBIOS creates a list of bootable devices based on the BBS and anything else it thinks it can boot from. It prioritizes devices in this list if their "path name" is found in the fw_cfg boot order list provided by qemu.
I think it may be more difficult for QEMU to predict how SeaBIOS will enumerate boot devices and what paths they will have than for QEMU to work with the boot devices that were found by SeaBIOS after the fact.
Why do you think so? Path to a device is HW topology thing. It does not change no matter who enumerates it QEMU or Seabios. The same exact problem exists between a BIOS and an OS when EDD describes storage devices.
- SeaBIOS then allows a user to reorder boot devices.
I'm not sure why step 4 (SeaBIOS tells QEMU the new boot order) is needed.
To save the boot order in NV storage.
We do not have NV storage and we'd rather not introduce it. In virtualization user configs VM through virt-manager or using qemu command line directly. Bios reads config using fw_cgf interface and obeys it.
-- Gleb.