]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/XenBusDxe/XenBusDxe.h
OvmfPkg: SmmCpuFeaturesLib: customize state save map format
[mirror_edk2.git] / OvmfPkg / XenBusDxe / XenBusDxe.h
index 6be5c58d920f11b065a72359afeedefbacf995d1..953e4b72e85e67992380e6a7a698b1ff89c22259 100644 (file)
 \r
 #include <Uefi.h>\r
 \r
-//\r
-// Xen interface version used\r
-//\r
-#define  __XEN_INTERFACE_VERSION__ 0x00040400\r
-\r
 //\r
 // Libraries\r
 //\r
@@ -44,7 +39,7 @@
 //\r
 // Consumed Protocols\r
 //\r
-#include <Protocol/PciIo.h>\r
+#include <Protocol/XenIo.h>\r
 \r
 \r
 //\r
@@ -78,10 +73,7 @@ extern EFI_COMPONENT_NAME_PROTOCOL  gXenBusDxeComponentName;
 //\r
 #include <IndustryStandard/Xen/xen.h>\r
 \r
-#define PCI_VENDOR_ID_XEN                0x5853\r
-#define PCI_DEVICE_ID_XEN_PLATFORM       0x0001\r
-\r
-\r
+typedef struct _XENBUS_DEVICE_PATH XENBUS_DEVICE_PATH;\r
 typedef struct _XENBUS_DEVICE XENBUS_DEVICE;\r
 \r
 // Have the state of the driver.\r
@@ -90,13 +82,30 @@ struct _XENBUS_DEVICE {
   UINT32                        Signature;\r
   EFI_DRIVER_BINDING_PROTOCOL   *This;\r
   EFI_HANDLE                    ControllerHandle;\r
-  EFI_PCI_IO_PROTOCOL           *PciIo;\r
+  XENIO_PROTOCOL                *XenIo;\r
   EFI_EVENT                     ExitBootEvent;\r
+  EFI_DEVICE_PATH_PROTOCOL      *DevicePath;\r
+  LIST_ENTRY                    ChildList;\r
 \r
-  VOID                          *Hyperpage;\r
   shared_info_t                 *SharedInfo;\r
 };\r
 \r
+// There is one of this struct allocated for every child.\r
+#define XENBUS_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('X', 'B', 'p', 'd')\r
+typedef struct {\r
+    UINTN Signature;\r
+    LIST_ENTRY Link;\r
+    EFI_HANDLE Handle;\r
+    XENBUS_PROTOCOL XenBusIo;\r
+    XENBUS_DEVICE *Dev;\r
+    XENBUS_DEVICE_PATH *DevicePath;\r
+} XENBUS_PRIVATE_DATA;\r
+\r
+#define XENBUS_PRIVATE_DATA_FROM_THIS(a) \\r
+  CR (a, XENBUS_PRIVATE_DATA, XenBusIo, XENBUS_PRIVATE_DATA_SIGNATURE)\r
+#define XENBUS_PRIVATE_DATA_FROM_LINK(a) \\r
+  CR (a, XENBUS_PRIVATE_DATA, Link, XENBUS_PRIVATE_DATA_SIGNATURE)\r
+\r
 /*\r
  * Helpers\r
  */\r
@@ -113,7 +122,7 @@ INT32
 EFIAPI\r
 TestAndClearBit (\r
   IN INT32 Bit,\r
-  IN volatile VOID *Address\r
+  IN VOID  *Address\r
   );\r
 \r
 CHAR8*\r