TianoCore EDK2 master
Loading...
Searching...
No Matches
FirmwareVolumeInfoStoredHashFv.h
Go to the documentation of this file.
1
9#ifndef __PEI_FIRMWARE_VOLUME_INFO_STORED_HASH_FV_H__
10#define __PEI_FIRMWARE_VOLUME_INFO_STORED_HASH_FV_H__
11
13
14// {7F5E4E31-81B1-47E5-9E21-1E4B5BC2F61D}
15#define EDKII_PEI_FIRMWARE_VOLUME_INFO_STORED_HASH_FV_PPI_GUID \
16 {0x7f5e4e31, 0x81b1, 0x47e5, {0x9e, 0x21, 0x1e, 0x4b, 0x5b, 0xc2, 0xf6, 0x1d}}
17
18//
19// Hashed FV flags.
20//
21#define HASHED_FV_FLAG_REPORT_FV_INFO_PPI 0x0000000000000001
22#define HASHED_FV_FLAG_REPORT_FV_HOB 0x0000000000000002
23#define HASHED_FV_FLAG_VERIFIED_BOOT 0x0000000000000010
24#define HASHED_FV_FLAG_MEASURED_BOOT 0x0000000000000020
25#define HASHED_FV_FLAG_SKIP_ALL 0xFFFFFFFFFFFFFF00
26#define HASHED_FV_FLAG_SKIP_BOOT_MODE(Mode) LShiftU64 (0x100, (Mode))
27
28//
29// FV hash flags
30//
31#define FV_HASH_FLAG_BOOT_MODE(Mode) LShiftU64 (0x100, (Mode))
32
35
36typedef struct _HASHED_FV_INFO {
37 UINT64 Base;
38 UINT64 Length;
39 UINT64 Flag;
41
42typedef struct _FV_HASH_INFO {
43 UINT64 HashFlag;
44 UINT16 HashAlgoId;
45 UINT16 HashSize;
46 UINT8 Hash[64];
48
49//
50// PPI used to convey FVs and hash information of a specific platform. Only one
51// instance of this PPI is allowed in the platform.
52//
54 FV_HASH_INFO HashInfo;
55 UINTN FvNumber;
56 HASHED_FV_INFO FvInfo[1];
57};
58
59extern EFI_GUID gEdkiiPeiFirmwareVolumeInfoStoredHashFvPpiGuid;
60
61#endif
UINT64 UINTN
Definition: Base.h:213