On Fri, 2013-02-15 at 12:09 +0000, David Woodhouse wrote:
On Thu, 2013-02-14 at 16:46 +0000, Ian Campbell wrote:
Right, we really need to find someone with hours to finish properly integrating OVMF.
Hm, that 'someone' may end up being me¹.
That would be awesome!
I was actually wondering if this might make a good GSoC project, there has been someone (the same guy IIRC) doing Tianocore on Xen stuff in the last two years, under the Tianocore umbrella although with a Xen.org co-mentor.
So... from the Xen point of view, what needs doing?
I haven't looked at or run OVMF stuff myself on Xen or otherwise, so take this with a pinch of salt...
I expect there will be some rough edges like the NV variable thing -- I have a feeling these will have a lot in common with qemu/KVM, since they would tend to interact with the "platform" (provided by qemu-dm under Xen) rather than processor or memory virt etc.
For the most part the I reckon the Xen specific things will be resync with a recent upstream and fixup the Xen build system integration, stuff like that.
We'd like to see PV I/O drivers at some point but that's a separate project in its own right I think.
There are some things on my TODO list which apply to Qemu/KVM too — most importantly, fixing bootorder handling, which basically involves fixing the general case of NV variable storage for UEFI as discussed. But is there anything Xen-specific that I'm likely to miss?
The main difference between Xen and Qemu/KVM in this context is that Xen supplied it's own SMBIOS & ACPI tables etc. There's a likelyhood of Xen and OVMF exposing each others bugs in that area I suspect.
And on the subject of the NV storage... does -pflash work on qemu-xen, as long as we're not actually running *code* from the device and we're only using it for data storage?
I'm not sure, I've CC'd Anthony & Stefano. Assuming the Xen machine type in Qemu wires it up then I don't know why it shouldn't work and if we don't wire it up I don't see why we couldn't.
Hvmloader might need to be tweaked to setup the e820 correctly and perhaps the some table or other would need to refer to it also?
If the ARM world continues moving towards UEFI then eventually we will likely want to enable this there too, but lets sort out x86 first.
Are you content with my stated plan to provide a "disk" image for that, which is something like a 256KiB file on the host side, exposed as a flash device to the guest?
It sounds OK to me. The other option would be to stash it in xenstore, but that doesn't sound like the right option to me.
Ian.