Last change
on this file since 106129 was 105670, checked in by vboxsync, 9 months ago |
Devices/EFI/FirmwareNew: Merge edk2-stable-202405 and make it build on aarch64, bugref:4643
|
-
Property svn:eol-style
set to
native
|
File size:
1.8 KB
|
Line | |
---|
1 | /** @file
|
---|
2 |
|
---|
3 | SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
4 |
|
---|
5 | **/
|
---|
6 |
|
---|
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 |
|
---|
13 | typedef 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];
|
---|
24 | } VIRT_ADAPTER_INFO_PLATFORM_SECURITY;
|
---|
25 |
|
---|
26 | VOID
|
---|
27 | VirtHstiSetSupported (
|
---|
28 | VIRT_ADAPTER_INFO_PLATFORM_SECURITY *VirtHsti,
|
---|
29 | IN UINT32 ByteIndex,
|
---|
30 | IN UINT8 BitMask
|
---|
31 | );
|
---|
32 |
|
---|
33 | BOOLEAN
|
---|
34 | VirtHstiIsSupported (
|
---|
35 | VIRT_ADAPTER_INFO_PLATFORM_SECURITY *VirtHsti,
|
---|
36 | IN UINT32 ByteIndex,
|
---|
37 | IN UINT8 BitMask
|
---|
38 | );
|
---|
39 |
|
---|
40 | VOID
|
---|
41 | VirtHstiTestResult (
|
---|
42 | CHAR16 *ErrorMsg,
|
---|
43 | IN UINT32 ByteIndex,
|
---|
44 | IN UINT8 BitMask
|
---|
45 | );
|
---|
46 |
|
---|
47 | /* QemuQ35.c */
|
---|
48 |
|
---|
49 | VIRT_ADAPTER_INFO_PLATFORM_SECURITY *
|
---|
50 | VirtHstiQemuQ35Init (
|
---|
51 | VOID
|
---|
52 | );
|
---|
53 |
|
---|
54 | VOID
|
---|
55 | VirtHstiQemuQ35Verify (
|
---|
56 | VOID
|
---|
57 | );
|
---|
58 |
|
---|
59 | /* QemuPC.c */
|
---|
60 |
|
---|
61 | VIRT_ADAPTER_INFO_PLATFORM_SECURITY *
|
---|
62 | VirtHstiQemuPCInit (
|
---|
63 | VOID
|
---|
64 | );
|
---|
65 |
|
---|
66 | VOID
|
---|
67 | VirtHstiQemuPCVerify (
|
---|
68 | VOID
|
---|
69 | );
|
---|
70 |
|
---|
71 | /* QemuCommon.c */
|
---|
72 |
|
---|
73 | VOID
|
---|
74 | VirtHstiQemuCommonInit (
|
---|
75 | VIRT_ADAPTER_INFO_PLATFORM_SECURITY *VirtHsti
|
---|
76 | );
|
---|
77 |
|
---|
78 | VOID
|
---|
79 | VirtHstiQemuCommonVerify (
|
---|
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 |
|
---|
91 | UINT32
|
---|
92 | VirtHstiQemuFirmwareFlashCheck (
|
---|
93 | UINT32 Address
|
---|
94 | );
|
---|
Note:
See
TracBrowser
for help on using the repository browser.