TianoCore EDK2 master
Loading...
Searching...
No Matches
SecRamInitData.c
Go to the documentation of this file.
1
9#include <Library/PcdLib.h>
10#include <FspEas.h>
11
12typedef struct {
13 EFI_PHYSICAL_ADDRESS MicrocodeRegionBase;
14 UINT64 MicrocodeRegionSize;
15 EFI_PHYSICAL_ADDRESS CodeRegionBase;
16 UINT64 CodeRegionSize;
18
19typedef struct {
20 FSP_UPD_HEADER FspUpdHeader;
21 //
22 // If FSP spec version < 2.2, remove FSPT_ARCH_UPD structure.
23 // Else If FSP spec version >= 2.2 and FSP spec version < 2.4, use FSPT_ARCH_UPD structure.
24 // Else, use FSPT_ARCH2_UPD structure.
25 //
26 FSPT_ARCH2_UPD FsptArchUpd;
27 FSPT_CORE_UPD FsptCoreUpd;
29
31 {
32 0x4450555F54505346,
33 //
34 // UPD header revision must be equal or greater than 2 when the structure is compliant with FSP spec 2.2.
35 //
36 0x02,
37 {
38 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
40 0x00, 0x00, 0x00
41 }
42 },
43 //
44 // If FSP spec version < 2.2, remove FSPT_ARCH_UPD structure.
45 // Else If FSP spec version >= 2.2 and FSP spec version < 2.4, use FSPT_ARCH_UPD structure.
46 // Else, use FSPT_ARCH2_UPD structure.
47 //
48 {
49 0x03,
50 {
51 0x00, 0x00, 0x00
52 },
53 0x00000020,
54 0x00000000,
55 0x00000000,
56 {
57 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
58 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
59 }
60 },
61 {
62 FixedPcdGet32 (PcdCpuMicrocodePatchAddress),
63 FixedPcdGet32 (PcdCpuMicrocodePatchRegionSize),
64 FixedPcdGet32 (PcdFlashCodeCacheAddress),
65 FixedPcdGet32 (PcdFlashCodeCacheSize),
66 }
67};
#define CONST
Definition: Base.h:259
#define GLOBAL_REMOVE_IF_UNREFERENCED
Definition: Base.h:48
#define FixedPcdGet32(TokenName)
Definition: PcdLib.h:92
UINT64 EFI_PHYSICAL_ADDRESS
Definition: UefiBaseType.h:50