2 XenIo protocol to abstract arch specific details
4 The Xen implementations for the Intel and ARM architectures differ in the way
5 the base address of the grant table is communicated to the guest. The former
6 uses a virtual PCI device, while the latter uses a device tree node.
7 In order to allow the XenBusDxe UEFI driver to be reused for the non-PCI
8 Xen implementation, this abstract protocol can be installed on a handle
9 with the appropriate base address.
11 Copyright (C) 2014, Linaro Ltd.
13 SPDX-License-Identifier: BSD-2-Clause-Patent
17 #ifndef __PROTOCOL_XENIO_H__
18 #define __PROTOCOL_XENIO_H__
20 #include <IndustryStandard/Xen/xen.h>
22 #define XENIO_PROTOCOL_GUID \
23 {0x6efac84f, 0x0ab0, 0x4747, {0x81, 0xbe, 0x85, 0x55, 0x62, 0x59, 0x04, 0x49}}
26 /// Forward declaration
28 typedef struct _XENIO_PROTOCOL XENIO_PROTOCOL
;
31 /// Protocol structure
33 struct _XENIO_PROTOCOL
{
35 // Protocol data fields
37 EFI_PHYSICAL_ADDRESS GrantTableAddress
;
40 extern EFI_GUID gXenIoProtocolGuid
;