Re: [Xen-devel] [PATCH v2 19/29] Ovmf/Xen: introduce XENIO_PROTOCOL

2015-02-02 Thread Laszlo Ersek
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.biesheu...@linaro.org
 ---
  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 ..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 ler...@redhat.com

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


[Xen-devel] [PATCH v2 19/29] Ovmf/Xen: introduce XENIO_PROTOCOL

2015-01-26 Thread Ard Biesheuvel
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.biesheu...@linaro.org
---
 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 ..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
-- 
1.8.3.2


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel