[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 19/29] Ovmf/Xen: introduce XENIO_PROTOCOL
On 01/26/15 20:03, Ard Biesheuvel wrote: > This introduces the abstract XENIO_PROTOCOL that will be used to > communicate the Xen grant table address to drivers supporting this > protocol. Primary purpose is allowing us to change the XenBusDxe > implementation so that it can support non-PCI Xen implementations > such as Xen on ARM. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> > --- > OvmfPkg/Include/Protocol/XenIo.h | 48 > ++++++++++++++++++++++++++++++++++++++++++++++++ > OvmfPkg/OvmfPkg.dec | 1 + > 2 files changed, 49 insertions(+) > > diff --git a/OvmfPkg/Include/Protocol/XenIo.h > b/OvmfPkg/Include/Protocol/XenIo.h > new file mode 100644 > index 000000000000..510391f3b3e8 > --- /dev/null > +++ b/OvmfPkg/Include/Protocol/XenIo.h > @@ -0,0 +1,48 @@ > +/** @file > + XenIo protocol to abstract arch specific details > + > + The Xen implementations for the Intel and ARM archictures differ in the way > + the base address of the grant table is communicated to the guest. The > former > + uses a virtual PCI device, while the latter uses a device tree node. > + In order to allow the XenBusDxe UEFI driver to be reused for the non-PCI > + Xen implementation, this abstract protocol can be installed on a handle > + with the appropriate base address. > + > + Copyright (C) 2014, Linaro Ltd. > + > + This program and the accompanying materials > + are licensed and made available under the terms and conditions of the BSD > License > + which accompanies this distribution. The full text of the license may be > found at > + http://opensource.org/licenses/bsd-license.php > + > + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > IMPLIED. > + > +**/ > + > +#ifndef __PROTOCOL_XENIO_H__ > +#define __PROTOCOL_XENIO_H__ > + > +#include <IndustryStandard/Xen/xen.h> > + > +#define XENIO_PROTOCOL_GUID \ > + {0x6efac84f, 0x0ab0, 0x4747, {0x81, 0xbe, 0x85, 0x55, 0x62, 0x59, 0x04, > 0x49}} > + > +/// > +/// Forward declaration > +/// > +typedef struct _XENIO_PROTOCOL XENIO_PROTOCOL; > + > +/// > +/// Protocol structure > +/// > +struct _XENIO_PROTOCOL { > + // > + // Protocol data fields > + // > + EFI_PHYSICAL_ADDRESS GrantTableAddress; > +}; > + > +extern EFI_GUID gXenIoProtocolGuid; > + > +#endif > diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec > index 30a9fb1e9b42..3711fa922311 100644 > --- a/OvmfPkg/OvmfPkg.dec > +++ b/OvmfPkg/OvmfPkg.dec > @@ -58,6 +58,7 @@ > gVirtioDeviceProtocolGuid = {0xfa920010, 0x6785, 0x4941, {0xb6, > 0xec, 0x49, 0x8c, 0x57, 0x9f, 0x16, 0x0a}} > gBlockMmioProtocolGuid = {0x6b558ce3, 0x69e5, 0x4c67, {0xa6, > 0x34, 0xf7, 0xfe, 0x72, 0xad, 0xbe, 0x84}} > gXenBusProtocolGuid = {0x3d3ca290, 0xb9a5, 0x11e3, {0xb7, > 0x5d, 0xb8, 0xac, 0x6f, 0x7d, 0x65, 0xe6}} > + gXenIoProtocolGuid = {0x6efac84f, 0x0ab0, 0x4747, {0x81, > 0xbe, 0x85, 0x55, 0x62, 0x59, 0x04, 0x49}} > > [PcdsFixedAtBuild] > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|0x0|UINT32|0 > Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |