/** @file The definition for Microcode Shadow Info Hob. Copyright (c) 2019, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _MICROCODE_SHADOW_INFO_HOB_H_ #define _MICROCODE_SHADOW_INFO_HOB_H_ /// /// The Global ID of a GUIDed HOB used to pass microcode shadow info to DXE Driver. /// #define EDKII_MICROCODE_SHADOW_INFO_HOB_GUID \ { \ 0x658903f9, 0xda66, 0x460d, { 0x8b, 0xb0, 0x9d, 0x2d, 0xdf, 0x65, 0x44, 0x59 } \ } extern EFI_GUID gEdkiiMicrocodeShadowInfoHobGuid; typedef struct { // // An EFI_GUID that defines the contents of StorageContext. // GUID StorageType; // // Number of the microcode patches which have been // relocated to memory. // UINT64 MicrocodeCount; // // An array with MicrocodeCount elements that stores // the shadowed microcode patch address in memory. // UINT64 MicrocodeAddrInMemory[0]; // // A buffer which contains details about the storage information // specific to StorageType. // // UINT8 StorageContext[]; } EDKII_MICROCODE_SHADOW_INFO_HOB; // // An EDKII_MICROCODE_SHADOW_INFO_HOB with StorageType set to below GUID will have // the StorageContext of a EFI_MICROCODE_STORAGE_TYPE_FLASH_CONTEXT strucutre. // #define EFI_MICROCODE_STORAGE_TYPE_FLASH_GUID \ { \ 0x2cba01b3, 0xd391, 0x4598, { 0x8d, 0x89, 0xb7, 0xfc, 0x39, 0x22, 0xfd, 0x71 } \ } extern EFI_GUID gEdkiiMicrocodeStorageTypeFlashGuid; typedef struct { // // An array with MicrocodeCount elements that stores the original // microcode patch address on flash. The address is placed in same // order as the microcode patches in MicrocodeAddrInMemory. // UINT64 MicrocodeAddressInFlash[0]; } EFI_MICROCODE_STORAGE_TYPE_FLASH_CONTEXT; #endif