Greetings,
My Name is Daniel Castro, I am working with the Xen Hypervisor Community in order to change our existing BIOS for SeaBIOS. For now we are interested to modify the int 13 where the higher level disk driver abstraction resides, We will plug into it in order to communicate via shared memory and replace the existing emulated devices that are being used (Xen only). The result will be a patch for your source code maintainer that will include support for Xen.
I am going to write new code to allow SeaBios to use the split-driver model of Xen to write directly to the back-end device of Xen using shared memory, but was wondering if I could leverage the drive abstraction layer that SeaBIOS has for hard drives? How and where does Virtio handle this? And also where is the best place to insert the code? So in a very near future I could send patch to the SeaBIOS repository.
I will greatly appreciate any help and information you can give us that will help us to join efforts and include SeaBIOS into Xen. If you have any suggestions on the best way to do this please do not hesitate to email me, I am not familiar with SeaBIOS so please be as detailed as posible.
Thank you all for your time,
Best Regards, Daniel
Hi,
I am going to write new code to allow SeaBios to use the split-driver model of Xen to write directly to the back-end device of Xen using shared memory, but was wondering if I could leverage the drive abstraction layer that SeaBIOS has for hard drives?
I strongly recommend doing that. SeaBIOS can handle all disks at the same time then, no matter whenever they are ide, virtio or xen. It is also much more likely that your patch will be accepted for upstream seabios.
How and where does Virtio handle this?
See src/virtio-blk.c. It looks for the virtio pci device, and when it finds one registers a new disk with the type DTYPE_VIRTIO.
You probably want to check for the xen platform pci device instead, and if you find one check all the paravirtual xen devices hooked up there for xen disks, if you find any register a DTYPE_XEN block device.
cheers, Gerd
On Tue, May 03, 2011 at 09:32:45AM +0200, Gerd Hoffmann wrote:
Hi,
I am going to write new code to allow SeaBios to use the split-driver model of Xen to write directly to the back-end device of Xen using shared memory, but was wondering if I could leverage the drive abstraction layer that SeaBIOS has for hard drives?
I strongly recommend doing that. SeaBIOS can handle all disks at the same time then, no matter whenever they are ide, virtio or xen. It is also much more likely that your patch will be accepted for upstream seabios.
Agreed.
-Kevin