]> git.proxmox.com Git - mirror_edk2.git/blob - SecurityPkg/Include/Ppi/FirmwareVolumeInfoStoredHashFv.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / SecurityPkg / Include / Ppi / FirmwareVolumeInfoStoredHashFv.h
1 /** @file
2 PPI to describe stored hash digest for FVs.
3
4 Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef __PEI_FIRMWARE_VOLUME_INFO_STORED_HASH_FV_H__
10 #define __PEI_FIRMWARE_VOLUME_INFO_STORED_HASH_FV_H__
11
12 #include <Ppi/FirmwareVolumeInfoPrehashedFV.h>
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
33 typedef struct _EDKII_PEI_FIRMWARE_VOLUME_INFO_STORED_HASH_FV_PPI
34 EDKII_PEI_FIRMWARE_VOLUME_INFO_STORED_HASH_FV_PPI;
35
36 typedef struct _HASHED_FV_INFO {
37 UINT64 Base;
38 UINT64 Length;
39 UINT64 Flag;
40 } HASHED_FV_INFO;
41
42 typedef struct _FV_HASH_INFO {
43 UINT64 HashFlag;
44 UINT16 HashAlgoId;
45 UINT16 HashSize;
46 UINT8 Hash[64];
47 } FV_HASH_INFO;
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 //
53 struct _EDKII_PEI_FIRMWARE_VOLUME_INFO_STORED_HASH_FV_PPI {
54 FV_HASH_INFO HashInfo;
55 UINTN FvNumber;
56 HASHED_FV_INFO FvInfo[1];
57 };
58
59 extern EFI_GUID gEdkiiPeiFirmwareVolumeInfoStoredHashFvPpiGuid;
60
61 #endif