/** @file The GUID definition for SaConfigHob Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _SA_CONFIG_HOB_H_ #define _SA_CONFIG_HOB_H_ #include #include #include "CpuPcieInfo.h" #include extern EFI_GUID gSaConfigHobGuid; #define SA_VTD_ENGINE_NUMBER 3 #pragma pack (push,1) /// /// DPR Directory Types /// typedef enum { EnumDprDirectoryTxt = 0, } DPR_DIRECTORY_ELEMENT; #define DPR_DIRECTORY_TYPE_TXT 0x01 ///< DPR directory type - TXT #define DPR_DIRECTORY_TYPE_BIOSGUARD 0x02 ///< DPR directory type - BIOS Guard #define DPR_DIRECTORY_MAX 1 ///< DPR Maximum Size /// /// DPR directory entry definition /// typedef struct { UINT8 Type; ///< DPR Directory Type UINT8 Size; ///< DPR Size in MB UINT32 PhysBase; ///< Must be 4K aligned (bits 11..0 must be clear) UINT16 Reserved; ///< Must be 0 } DPR_DIRECTORY_ENTRY; /// /// System Agent Config Hob /// typedef struct { EFI_HOB_GUID_TYPE EfiHobGuidType; ///< GUID Hob type structure for gSaConfigHobGuid DPR_DIRECTORY_ENTRY DprDirectory[DPR_DIRECTORY_MAX]; ///< DPR directory entry definition UINT8 ApertureSize; ///< Aperture size value BOOLEAN CridEnable; ///< This field inidicates if CRID is enabled or disabled (to support Intel(R) SIPP) } SA_CONFIG_HOB; #pragma pack (pop) #endif