Re: [edk2] OVMF Xen ACPI tables

Subject: Re: [edk2] OVMF Xen ACPI tables

From: Andrei Warkentin <andreiw@motorola.com>

To: Bei Guan <gbtju85@gmail.com>

Date: 2011-08-05 09:41:28

Hi Bei,

On Thu, Aug 4, 2011 at 11:24 AM, Bei Guan  wrote:
> Hi Andrei,
>
> I have updated our patch for Xen based on the latest Xen-unstable
> (changeset:=A0=A0 23754:fa4e2ca9ecff)
> https://github.com/GavinGuan/gavinguan/blob/master/xen/ovmf-support/ovmf_=
xen_support.patch
> We don't need modify the hvmloader/util.c anymore. Because the latest
> Xen-unstable has done the same stuff as our patch.
>

Ok, great! Did anyone on Xen side review your latest patch?

> As far as the implementation of Xen paravirtualization driver in OVMF, sh=
all
> we need to write all the functions (event channel, grant table, xenbus) l=
ike
> MiniOS does in the following code files? It may be a little complex. Can =
we
> just write the necessary functions that our PV drivers need now? If we ne=
ed
> more, we can add them later.

Sure, implement only as much as needed. It's untested code otherwise anyway.

> http://xenbits.xensource.com/hg/xen-unstable.hg/file/fa4e2ca9ecff/extras/=
mini-os/include/events.h
> http://xenbits.xensource.com/hg/xen-unstable.hg/file/fa4e2ca9ecff/extras/=
mini-os/include/gnttab.h
> http://xenbits.xensource.com/hg/xen-unstable.hg/file/fa4e2ca9ecff/extras/=
mini-os/include/xenbus.h
>
> I noted that in the hvmloader code, there is also xenbus implementation (=
see
> below), which is much easy. Can our xenbus refer to that?
> http://xenbits.xensource.com/hg/xen-unstable.hg/file/fa4e2ca9ecff/tools/f=
irmware/hvmloader/xenbus.c
>

Sure, it seems simpler so it is a good place to start.

>
> At last, as jordan said, maybe we need to consider to implement the Xen PV
> module as a library instead of a protocol. Xen PV module as library may be
> more like that in Xen guest domain. I will think about it later.
>

Unless I missed something, Jordan was referring to the hypercall
interface. I thought about it, and ultimately if it were just the
hypercall interface I would agree. But grant table reference
management needs to be centralized and thus belongs with the hypercall
interface in one central place - a hypervisor driver.

Think about how you want to expose xenbus. I suggest first
implementing basic code that lets you read and write entries. I first
thought about implementing a proper "bus driver", that would enumerate
virtual devices and create device handles (as specced out in the UEFI
spec, section 10 - driver model), but perhaps that is too complicated
for we are trying to do and given the semantics of Xen PV driver
discovery at boot time. After you can manipulate xenstore, you should
be able to immediately write a block driver. Of course, we'll provide
hints and answer questions on the way :-).

A

---------------------------------------------------------------------------=
---
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. =

Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel