[SeaBIOS] Xen PV block device support in Seabios

Shannon Zhao zhaoshenglong at huawei.com
Wed Mar 16 13:13:48 CET 2016



On 2016/3/16 19:20, Ian Campbell wrote:
> (nb, my citrix.com email is no longer valid)
> On Wed, 2016-03-16 at 11:33 +0800, Shannon Zhao wrote:
>> > Hi,
>> > 
>> > I noticed there are some efforts to add Xen PV block device support in
>> > Seabios in a GSoC project and there is a wiki page [1] for it. I found
>> > some patches [2] to add Xenstore R/W support for Seabios. But I didn't
>> > find the patches to add PV block device driver in Seabios.
>> > 
>> > If you know please tell me where I can find these patches. And I noticed
>> > that the patches [2] and this GSoC project work didn't get applied to
>> > Seabios eventually, is there any reason? Does it mean that there are
>> > some difficulties to support Xen PV block device in Seabios?
> This work was never finished, IIRC (and it was a long time ago so this
> might be a faulty recollection) the main stumbling block was that there
> is no reasonable BIOS level event which could be used to tear down the
> PV interfaces in order to hand them over to the OS (unlike, say, EFI
> where there is ExitBootServices).
> 
Ian, thanks for your reply! It looks like the problem is how and when to
clear PV resources in seabios before handing over to guest. But I wonder
why virtio works in seabios. Does seabios using virtio need to clear
things like vrings? Or seabios doesn't clear the things and guest just
covers the configuration with new values?

> So making this work would require something like a complete set of
> parallel PV infrastructure (devices, corresponding xenstore nodes,
> grant table) for the use of the BIOS firmware, or perhaps a (tricky to
> retrofit in a backwards compatible manner) PV facility for the guest to
> reset everything before starting to use them.
> 
Like guest front-end driver checks if the backend state is
XenbusStateInitWait, if not, tell the backend to reset to
XenbusStateInitWait state?

> Ultimately it didn't seem worth the effort to engineer all that given
> that mostly the same aims (faster PV assisted boot) could be achieved
> by using UEFI for most modern OSes.
Yes, for modern OSes it could UEFI. But for some old OSes or some
existing VMs, if we want to use PV assisted boot, it needs to add this
in seabios.

Thanks,
-- 
Shannon




More information about the SeaBIOS mailing list