[SeaBIOS] [RFC] Passing boot order from qemu to seabios

Avi Kivity avi at redhat.com
Mon Oct 11 17:42:30 CEST 2010

  On 10/11/2010 05:39 PM, Gleb Natapov wrote:
> On Mon, Oct 11, 2010 at 05:09:22PM +0200, Avi Kivity wrote:
> >   On 10/11/2010 12:18 PM, Gleb Natapov wrote:
> >  >Currently if VM is started with multiple disks it is almost impossible to
> >  >guess which one of them will be used as boot device especially if there
> >  >is a mix of ATA/virtio/SCSI devices. Essentially BIOS decides the order
> >  >and without looking into the code you can't tell what the order will
> >  >be (and in qemu-kvm if boot=on is used it brings even more havoc). We
> >  >should allow fine-grained control of boot order from qemu command line,
> >  >or as a minimum control what device will be used for booting.
> >  >
> >  >To do that along with inventing syntax to specify boot order on qemu
> >  >command line we need to communicate boot order to seabios via fw_cfg
> >  >interface. For that we need to have a way to unambiguously specify a
> >  >disk from qemu to seabios.  PCI bus address is not enough since not all
> >  >devices are PCI (do we care about them?) and since one PCI device may
> >  >control more then one disk (ATA slave/master, SCSI LUNs). We can do what
> >  >EDD specification does. Describe disk as:
> >  >      bus type (isa/pci),
> >  >      address on a bus (16 bit base address for isa, b/s/f for pci)
> >  >      device type (ATA/SCSI/VIRTIO)
> >  >      device path (slave/master for ATA, LUN for SCSI, nothing for virtio)
> >  >
> >  >Will it cover all use cased? Any other ideas? Any ideas about qemu
> >  >command line syntax? May be somebody whats to implement it? :)
> >
> >  Instead of fwcfg, we should store the boot order in the bios.  This
> >  allows seabios to implement persistent boot selection and control
> >  boot order from within the guest.
> >
> It is not "instead of" it is in a best case "in addition too". First of
> all seabios does not have persistent storage currently and second I much
> prefer specifying boot device from command line instead of navigating
> bios menus. That what we have to do on real HW because there is not
> other way to do it, but in virtualization we can do better.

Ok.  So fwcfg will have an option "do your default thing" which the bios 
can take as a hint to look in cmos memory.

error compiling committee.c: too many arguments to function

More information about the SeaBIOS mailing list