VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h@ 105681

最後變更 在這個檔案從105681是 99464,由 vboxsync 提交於 2 年 前

Devices/EFI/Firmware: Restore ArmPkg, ArmVirtPkg, ArmPlatformPkg in order to be able to build Aarch64 and Aarch32 firmware images for the virt platform, bugref:10400

  • 屬性 svn:eol-style 設為 native
檔案大小: 3.3 KB
 
1/** @file
2
3 Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 @par Glossary:
8 - Cm or CM - Configuration Manager
9 - Obj or OBJ - Object
10**/
11
12#ifndef CONFIGURATION_MANAGER_H_
13#define CONFIGURATION_MANAGER_H_
14
15///
16/// C array containing the compiled AML template.
17/// This symbol is defined in the auto generated C file
18/// containing the AML bytecode array.
19///
20extern CHAR8 dsdt_aml_code[];
21
22///
23/// The configuration manager version.
24///
25#define CONFIGURATION_MANAGER_REVISION CREATE_REVISION (1, 0)
26
27///
28/// The OEM ID
29///
30#define CFG_MGR_OEM_ID { 'A', 'R', 'M', 'L', 'T', 'D' }
31
32///
33/// Memory address size limit. Assume the whole address space.
34///
35#define MEMORY_ADDRESS_SIZE_LIMIT 64
36
37/** A function that prepares Configuration Manager Objects for returning.
38
39 @param [in] This Pointer to the Configuration Manager Protocol.
40 @param [in] CmObjectId The Configuration Manager Object ID.
41 @param [in] Token A token for identifying the object.
42 @param [out] CmObject Pointer to the Configuration Manager Object
43 descriptor describing the requested Object.
44
45 @retval EFI_SUCCESS Success.
46 @retval EFI_INVALID_PARAMETER A parameter is invalid.
47 @retval EFI_NOT_FOUND The required object information is not found.
48**/
49typedef EFI_STATUS (*CM_OBJECT_HANDLER_PROC) (
50 IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This,
51 IN CONST CM_OBJECT_ID CmObjectId,
52 IN CONST CM_OBJECT_TOKEN Token,
53 IN OUT CM_OBJ_DESCRIPTOR *CONST CmObject
54 );
55
56///
57/// A helper macro for mapping a reference token.
58///
59#define REFERENCE_TOKEN(Field) \
60 (CM_OBJECT_TOKEN)((UINT8*)&mKvmtoolPlatRepositoryInfo + \
61 OFFSET_OF (EDKII_PLATFORM_REPOSITORY_INFO, Field))
62
63///
64/// The number of ACPI tables to install
65///
66#define PLAT_ACPI_TABLE_COUNT 10
67
68///
69/// A structure describing the platform configuration
70/// manager repository information
71///
72typedef struct PlatformRepositoryInfo {
73 ///
74 /// Configuration Manager Information.
75 ///
76 CM_STD_OBJ_CONFIGURATION_MANAGER_INFO CmInfo;
77
78 ///
79 /// List of ACPI tables
80 ///
81 CM_STD_OBJ_ACPI_TABLE_INFO CmAcpiTableList[PLAT_ACPI_TABLE_COUNT];
82
83 ///
84 /// Power management profile information
85 ///
86 CM_ARM_POWER_MANAGEMENT_PROFILE_INFO PmProfileInfo;
87
88 ///
89 /// ITS Group node
90 ///
91 CM_ARM_ITS_GROUP_NODE ItsGroupInfo;
92
93 ///
94 /// ITS Identifier array
95 ///
96 CM_ARM_ITS_IDENTIFIER ItsIdentifierArray[1];
97
98 ///
99 /// PCI Root complex node
100 ///
101 CM_ARM_ROOT_COMPLEX_NODE RootComplexInfo;
102
103 ///
104 /// Array of DeviceID mapping
105 ///
106 CM_ARM_ID_MAPPING DeviceIdMapping[1];
107
108 ///
109 /// Dynamic platform repository.
110 /// CmObj created by parsing the Kvmtool device tree are stored here.
111 ///
112 DYNAMIC_PLATFORM_REPOSITORY_INFO *DynamicPlatformRepo;
113
114 ///
115 /// Base address of the FDT.
116 ///
117 VOID *FdtBase;
118
119 ///
120 /// A handle to the FDT HwInfoParser.
121 ///
122 HW_INFO_PARSER_HANDLE FdtParserHandle;
123} EDKII_PLATFORM_REPOSITORY_INFO;
124
125#endif // CONFIGURATION_MANAGER_H_
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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