VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/UefiPayloadPkg/FvbRuntimeDxe/FvbSmmCommon.h@ 105681

Last change on this file since 105681 was 99404, checked in by vboxsync, 23 months ago

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

  • Property svn:eol-style set to native
File size: 2.1 KB
Line 
1/** @file
2 The common header file for SMM FVB module.
3
4Copyright (c) 2014 - 2021, Intel Corporation. All rights reserved.<BR>
5SPDX-License-Identifier: BSD-2-Clause-Patent
6
7**/
8
9#ifndef SMM_FVB_COMMON_H_
10#define SMM_FVB_COMMON_H_
11
12#include <Protocol/SmmFirmwareVolumeBlock.h>
13
14#define EFI_FUNCTION_GET_ATTRIBUTES 1
15#define EFI_FUNCTION_SET_ATTRIBUTES 2
16#define EFI_FUNCTION_GET_PHYSICAL_ADDRESS 3
17#define EFI_FUNCTION_GET_BLOCK_SIZE 4
18#define EFI_FUNCTION_READ 5
19#define EFI_FUNCTION_WRITE 6
20#define EFI_FUNCTION_ERASE_BLOCKS 7
21
22typedef struct {
23 UINTN Function;
24 EFI_STATUS ReturnStatus;
25 UINT8 Data[1];
26} SMM_FVB_COMMUNICATE_FUNCTION_HEADER;
27
28///
29/// Size of SMM communicate header, without including the payload.
30///
31#define SMM_COMMUNICATE_HEADER_SIZE (OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data))
32
33///
34/// Size of SMM FVB communicate function header, without including the payload.
35///
36#define SMM_FVB_COMMUNICATE_HEADER_SIZE (OFFSET_OF (SMM_FVB_COMMUNICATE_FUNCTION_HEADER, Data))
37
38typedef struct {
39 EFI_SMM_FIRMWARE_VOLUME_BLOCK_PROTOCOL *SmmFvb;
40 EFI_FVB_ATTRIBUTES_2 Attributes;
41} SMM_FVB_ATTRIBUTES_HEADER;
42
43typedef struct {
44 EFI_SMM_FIRMWARE_VOLUME_BLOCK_PROTOCOL *SmmFvb;
45 EFI_PHYSICAL_ADDRESS Address;
46} SMM_FVB_PHYSICAL_ADDRESS_HEADER;
47
48typedef struct {
49 EFI_SMM_FIRMWARE_VOLUME_BLOCK_PROTOCOL *SmmFvb;
50 EFI_LBA Lba;
51 UINTN BlockSize;
52 UINTN NumOfBlocks;
53} SMM_FVB_BLOCK_SIZE_HEADER;
54
55typedef struct {
56 EFI_SMM_FIRMWARE_VOLUME_BLOCK_PROTOCOL *SmmFvb;
57 EFI_LBA Lba;
58 UINTN Offset;
59 UINTN NumBytes;
60} SMM_FVB_READ_WRITE_HEADER;
61
62typedef struct {
63 EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *SmmFvb;
64 EFI_LBA StartLba;
65 UINTN NumOfLba;
66} SMM_FVB_BLOCKS_HEADER;
67
68#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette