/** @file | |
The microcode patch HOB is used to store the information of: | |
A. Base address and size of the loaded microcode patches data; | |
B. Detected microcode patch for each processor within system. | |
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef _MICROCODE_PATCH_HOB_H_ | |
#define _MICROCODE_PATCH_HOB_H_ | |
extern EFI_GUID gEdkiiMicrocodePatchHobGuid; | |
// | |
// The EDKII microcode patch HOB will be produced by MpInitLib and it can be | |
// consumed by modules that want to detect/apply microcode patches. | |
// | |
typedef struct { | |
// | |
// The base address of the microcode patches data after being loaded into | |
// memory. | |
// | |
UINT64 MicrocodePatchAddress; | |
// | |
// The total size of the loaded microcode patches. | |
// | |
UINT64 MicrocodePatchRegionSize; | |
// | |
// The number of processors within the system. | |
// | |
UINT32 ProcessorCount; | |
// | |
// An array with 'ProcessorCount' elements that stores the offset (with | |
// regard to 'MicrocodePatchAddress') of the detected microcode patch | |
// (including the CPU_MICROCODE_HEADER data structure) for each processor. | |
// If no microcode patch is detected for certain processor, the relating | |
// element will be set to MAX_UINT64. | |
// | |
UINT64 ProcessorSpecificPatchOffset[0]; | |
} EDKII_MICROCODE_PATCH_HOB; | |
#endif |