summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiewen Yao <jiewen.yao@intel.com>2017-09-06 15:47:23 +0800
committerStar Zeng <star.zeng@intel.com>2018-05-10 14:23:22 +0800
commit678932e524b4d1cc62fc779578105e03f83b6cbb (patch)
treed68cdc71da6a1254c07d8a533d68ee53c49242ec
parent4b0a612f4b9d859bb735afc68e3eaa1f33bf6882 (diff)
downloadedk2-678932e524b4d1cc62fc779578105e03f83b6cbb.tar.gz
edk2-678932e524b4d1cc62fc779578105e03f83b6cbb.tar.bz2
edk2-678932e524b4d1cc62fc779578105e03f83b6cbb.zip
IntelSiliconPkg/include: Add VTD_INFO PPI.
This VTD_INFO_PPI is to provide VTD information in PEI. As such, we can have a generic VTd driver. It is a lightweight version DMAR table, but it does not contain PCI device information. Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> (cherry picked from commit 77562d13ac7fa2c3840ccae598b26e665251ede7)
-rw-r--r--IntelSiliconPkg/Include/Ppi/VtdInfo.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/IntelSiliconPkg/Include/Ppi/VtdInfo.h b/IntelSiliconPkg/Include/Ppi/VtdInfo.h
new file mode 100644
index 0000000000..e8be63f3b6
--- /dev/null
+++ b/IntelSiliconPkg/Include/Ppi/VtdInfo.h
@@ -0,0 +1,40 @@
+/** @file
+ The definition for VTD information PPI.
+
+ This is a lightweight VTd information report in PEI phase.
+
+ Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+ 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 __VTD_INFO_PPI_H__
+#define __VTD_INFO_PPI_H__
+
+#define EDKII_VTD_INFO_PPI_GUID \
+ { \
+ 0x8a59fcb3, 0xf191, 0x400c, { 0x97, 0x67, 0x67, 0xaf, 0x2b, 0x25, 0x68, 0x4a } \
+ }
+
+typedef struct _EDKII_VTD_INFO_PPI EDKII_VTD_INFO_PPI;
+
+#define EDKII_VTD_INFO_PPI_REVISION 0x00010000
+
+struct _EDKII_VTD_INFO_PPI {
+ UINT64 Revision;
+ UINT8 HostAddressWidth;
+ UINT8 Reserved[3];
+ UINT32 VTdEngineCount;
+ UINT64 VTdEngineAddress[1];
+};
+
+extern EFI_GUID gEdkiiVTdInfoPpiGuid;
+
+#endif
+