TianoCore EDK2 master
Loading...
Searching...
No Matches
VirtHstiDxe.h
Go to the documentation of this file.
1
7#define VIRT_HSTI_SECURITY_FEATURE_SIZE 2
8
9#define VIRT_HSTI_BYTE0_SMM_SMRAM_LOCK BIT0
10#define VIRT_HSTI_BYTE0_SMM_SECURE_VARS_FLASH BIT1
11#define VIRT_HSTI_BYTE0_READONLY_CODE_FLASH BIT2
12
13typedef struct {
14 // ADAPTER_INFO_PLATFORM_SECURITY
15 UINT32 Version;
16 UINT32 Role;
17 CHAR16 ImplementationID[256];
18 UINT32 SecurityFeaturesSize;
19 // bitfields
20 UINT8 SecurityFeaturesRequired[VIRT_HSTI_SECURITY_FEATURE_SIZE];
21 UINT8 SecurityFeaturesImplemented[VIRT_HSTI_SECURITY_FEATURE_SIZE];
22 UINT8 SecurityFeaturesVerified[VIRT_HSTI_SECURITY_FEATURE_SIZE];
23 CHAR16 ErrorString[1];
25
26VOID
27VirtHstiSetSupported (
29 IN UINT32 ByteIndex,
30 IN UINT8 BitMask
31 );
32
33BOOLEAN
34VirtHstiIsSupported (
36 IN UINT32 ByteIndex,
37 IN UINT8 BitMask
38 );
39
40VOID
41VirtHstiTestResult (
42 CHAR16 *ErrorMsg,
43 IN UINT32 ByteIndex,
44 IN UINT8 BitMask
45 );
46
47/* QemuQ35.c */
48
50VirtHstiQemuQ35Init (
51 VOID
52 );
53
54VOID
55VirtHstiQemuQ35Verify (
56 VOID
57 );
58
59/* QemuPC.c */
60
62VirtHstiQemuPCInit (
63 VOID
64 );
65
66VOID
67VirtHstiQemuPCVerify (
68 VOID
69 );
70
71/* QemuCommon.c */
72
73VOID
74VirtHstiQemuCommonInit (
76 );
77
78VOID
79VirtHstiQemuCommonVerify (
80 VOID
81 );
82
83/* Flash.c */
84
85#define QEMU_FIRMWARE_FLASH_UNKNOWN 0
86#define QEMU_FIRMWARE_FLASH_IS_ROM 1
87#define QEMU_FIRMWARE_FLASH_IS_RAM 2
88#define QEMU_FIRMWARE_FLASH_READ_ONLY 3
89#define QEMU_FIRMWARE_FLASH_WRITABLE 4
90
91UINT32
92VirtHstiQemuFirmwareFlashCheck (
93 UINT32 Address
94 );
#define IN
Definition: Base.h:279