[libvirt] Re: [Qemu-devel] Re: [PATCH 0/2] port over extboot from kvm

Kevin O'Connor kevin at koconnor.net
Sat Sep 12 15:43:28 UTC 2009


On Tue, Sep 08, 2009 at 04:40:15PM +0200, Jan Kiszka wrote:
> Gerd Hoffmann wrote:
> > On 09/08/09 15:47, Jan Kiszka wrote:
> >>   - This is just an implementation detail: Do we really need to implement
> >>     booting from virtio and scsi via an extension rom? Isn't it possible
> >>     to merge the corresponding support into the main bios?
> > 
> > Well.  There are quite a few.  bochs pcbios, seabios, coreboot ...
> 
> Ok, but that's only an argument to have extboot as a workaround for
> bioses not yet supporting scsi and virtio natively, isn't it? I'm
> thinking long-term here, not arguing against a extboot-based short-term
> solution.

I doubt we'll see native scsi support as I believe each scsi
controller needs its own initialization.  However, usb booting will
bring along with it mass storage class support.

I'm not familiar with virtio, however, I don't think it would be
difficult to add support to SeaBIOS.  The disk access code in SeaBIOS
has an intermediate layer which makes it easier to add new backends.
For an example of this, see the ramdisk.c code:

http://git.linuxtogo.org/?p=kevin/seabios.git;a=blob;f=src/ramdisk.c;h=7ac72f82befebb9fc6f18838c24044ace2312b1f;hb=HEAD

The above code adds support for a virtual floppy drive that is
populated with a floppy image stored in flash (useful with coreboot).

Basically, its possible to add driver support by adding a new drive
type (eg, DTYPE_RAMDISK) and implementing a new drive handler (eg,
process_ramdisk_op).  The handler just has to implement read and write
capability - the bios call handlers, interfaces, and lba manipulation
are handled by SeaBIOS.

-Kevin




More information about the libvir-list mailing list