]> git.proxmox.com Git - mirror_edk2.git/blob - UefiCpuPkg/Include/Guid/MicrocodePatchHob.h
UefiCpuPkg: Add definitions for EDKII microcode patch HOB
[mirror_edk2.git] / UefiCpuPkg / Include / Guid / MicrocodePatchHob.h
1 /** @file
2 The microcode patch HOB is used to store the information of:
3 A. Base address and size of the loaded microcode patches data;
4 B. Detected microcode patch for each processor within system.
5
6 Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
7 SPDX-License-Identifier: BSD-2-Clause-Patent
8
9 **/
10
11 #ifndef _MICROCODE_PATCH_HOB_H_
12 #define _MICROCODE_PATCH_HOB_H_
13
14 extern EFI_GUID gEdkiiMicrocodePatchHobGuid;
15
16 //
17 // The EDKII microcode patch HOB will be produced by MpInitLib and it can be
18 // consumed by modules that want to detect/apply microcode patches.
19 //
20 typedef struct {
21 //
22 // The base address of the microcode patches data after being loaded into
23 // memory.
24 //
25 UINT64 MicrocodePatchAddress;
26 //
27 // The total size of the loaded microcode patches.
28 //
29 UINT64 MicrocodePatchRegionSize;
30 //
31 // The number of processors within the system.
32 //
33 UINT32 ProcessorCount;
34 //
35 // An array with 'ProcessorCount' elements that stores the offset (with
36 // regard to 'MicrocodePatchAddress') of the detected microcode patch
37 // (including the CPU_MICROCODE_HEADER data structure) for each processor.
38 // If no microcode patch is detected for certain processor, the relating
39 // element will be set to MAX_UINT64.
40 //
41 UINT64 ProcessorSpecificPatchOffset[0];
42 } EDKII_MICROCODE_PATCH_HOB;
43
44 #endif