From 77562d13ac7fa2c3840ccae598b26e665251ede7 Mon Sep 17 00:00:00 2001 From: Jiewen Yao Date: Wed, 6 Sep 2017 15:47:23 +0800 Subject: [PATCH] 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 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jiewen Yao Reviewed-by: Star Zeng --- IntelSiliconPkg/Include/Ppi/VtdInfo.h | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 IntelSiliconPkg/Include/Ppi/VtdInfo.h 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.
+ 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 + -- 2.39.2