]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelSiliconPkg/Include/Ppi/VtdInfo.h
IntelSiliconPkg/VTdInfoPpi: Let it follow DMAR table.
[mirror_edk2.git] / IntelSiliconPkg / Include / Ppi / VtdInfo.h
index e8be63f3b6e4b5ed7023573fc54f10e0705edb6e..cf85d189815fc138132d96bf6810b5a3ee7c94a0 100644 (file)
 #ifndef __VTD_INFO_PPI_H__\r
 #define __VTD_INFO_PPI_H__\r
 \r
+#include <IndustryStandard/DmaRemappingReportingTable.h>\r
+\r
 #define EDKII_VTD_INFO_PPI_GUID \\r
     { \\r
       0x8a59fcb3, 0xf191, 0x400c, { 0x97, 0x67, 0x67, 0xaf, 0x2b, 0x25, 0x68, 0x4a } \\r
     }\r
 \r
-typedef struct _EDKII_VTD_INFO_PPI  EDKII_VTD_INFO_PPI;\r
-\r
-#define EDKII_VTD_INFO_PPI_REVISION 0x00010000\r
-\r
-struct _EDKII_VTD_INFO_PPI {\r
-  UINT64                                  Revision;\r
-  UINT8                                   HostAddressWidth;\r
-  UINT8                                   Reserved[3];\r
-  UINT32                                  VTdEngineCount;\r
-  UINT64                                  VTdEngineAddress[1];\r
-};\r
+//\r
+// VTD info PPI just use same data structure as DMAR table.\r
+//\r
+// The reported information must include what is needed in PEI phase, e.g.\r
+//   the VTd engine (such as DRHD)\r
+//   the reserved DMA address in PEI for eary graphic (such as RMRR for graphic UMA)\r
+//\r
+// The reported information can be and might be a subset of full DMAR table, e.g.\r
+//   if some data is not avaiable (such as ANDD),\r
+//   if some data is not needed (such as RMRR for legacy USB).\r
+//\r
+typedef EFI_ACPI_DMAR_HEADER EDKII_VTD_INFO_PPI;\r
 \r
 extern EFI_GUID gEdkiiVTdInfoPpiGuid;\r
 \r