On Wed, May 12, 2010 at 10:22:59AM +0300, Avi Kivity wrote:
On 05/11/2010 03:31 PM, Gleb Natapov wrote:
Real BIOS can do that because it enumerates all bootable devices, attach name for each one of them and then asks user to configure boot order using names it attached to devices. In our case we want to provide boot order on qemu command line before BIOS enumerated devices, so qemu should be able to pass enough information about boot device so that BIOS can uniquely identify it after it will discover all bootable devices. bus/device pair can be such thing.
Having a BIOS menu is also useful, you don't have to drop to the management tool, instead you do everything from the console.
Having a "setup menu" is something real hardware could use as well. I don't think the setup menu should be in SeaBIOS - instead, SeaBIOS could launch another program (stored in flash or qemu_fw) dedicated to doing setup.
Alternatively we can seed the order from the command line (-boot id1,id2,id3 where id* are some qdev property attached to disks, this is more flexible than the current syntax I think).
The problem is how to communicate this order to Seabios.
Topology (bus/device/lun).
USB is a pain here. It's posible with BDF (Bus/Dev/Fn) and port number (which accounts for hubs having ports as well).
-Kevin