104 EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT_REVISION,
131 EFI_ACPI_IO_REMAPPING_TABLE_REVISION_00,
140 { EFI_ACPI_6_3_PM_PROFILE_ENTERPRISE_SERVER },
186 EFI_ACPI_IORT_MEM_ACCESS_PROP_CCA,
198 EFI_ACPI_IORT_ROOT_COMPLEX_ATS_UNSUPPORTED,
265 CmObjectDesc->ObjectId = CmObjectId;
266 CmObjectDesc->Size = ObjectSize;
267 CmObjectDesc->Data = Object;
268 CmObjectDesc->Count = ObjectCount;
271 "INFO: CmObjectId = " FMT_CM_OBJECT_ID
", "
272 "Ptr = 0x%p, Size = %lu, Count = %lu\n",
316 CmObjectDesc->ObjectId = CmObjectId;
318 CmObjectDesc->Size = ObjectSize;
319 CmObjectDesc->Data = Object;
320 CmObjectDesc->Count = ObjectCount;
323 Status = HandlerProc (This, CmObjectId, Token, CmObjectDesc);
328 "INFO: Token = 0x%p, CmObjectId = " FMT_CM_OBJECT_ID
", "
329 "Ptr = 0x%p, Size = %lu, Count = %lu\n",
363 if ((This ==
NULL) || (CmObject ==
NULL)) {
364 ASSERT (This !=
NULL);
365 ASSERT (CmObject !=
NULL);
366 return EFI_INVALID_PARAMETER;
369 PlatformRepo = This->PlatRepoInfo;
372 return EFI_NOT_FOUND;
375 CmObject->ObjectId = CmObjectId;
406 if ((This ==
NULL) || (CmObject ==
NULL)) {
407 ASSERT (This !=
NULL);
408 ASSERT (CmObject !=
NULL);
409 return EFI_INVALID_PARAMETER;
412 PlatformRepo = This->PlatRepoInfo;
415 return EFI_NOT_FOUND;
418 CmObject->ObjectId = CmObjectId;
420 CmObject->Data = (VOID *)Token;
456 if ((ParserHandle ==
NULL) ||
460 ASSERT (ParserHandle !=
NULL);
461 ASSERT (Context !=
NULL);
462 ASSERT (CmObjDesc !=
NULL);
463 return EFI_INVALID_PARAMETER;
480 if (EFI_ERROR (Status)) {
506 ASSERT (This !=
NULL);
507 return EFI_INVALID_PARAMETER;
510 PlatformRepo = This->PlatRepoInfo;
516 if (EFI_ERROR (Status)) {
525 if (EFI_ERROR (Status)) {
553 ASSERT (This !=
NULL);
554 return EFI_INVALID_PARAMETER;
558 if ((Hob ==
NULL) || (GET_GUID_HOB_DATA_SIZE (Hob) !=
sizeof (UINT64))) {
560 ASSERT (GET_GUID_HOB_DATA_SIZE (Hob) !=
sizeof (UINT64));
561 return EFI_NOT_FOUND;
564 PlatformRepo = This->PlatRepoInfo;
565 PlatformRepo->
FdtBase = (VOID *)*(
UINTN *)GET_GUID_HOB_DATA (Hob);
571 if (EFI_ERROR (Status)) {
585 if (EFI_ERROR (Status)) {
591 if (EFI_ERROR (Status)) {
597 if (EFI_ERROR (Status)) {
634 UINTN AcpiTableCount;
637 if ((This ==
NULL) || (CmObject ==
NULL)) {
638 ASSERT (This !=
NULL);
639 ASSERT (CmObject !=
NULL);
640 return EFI_INVALID_PARAMETER;
643 Status = EFI_NOT_FOUND;
644 PlatformRepo = This->PlatRepoInfo;
651 sizeof (PlatformRepo->
CmInfo),
671 if (Status == EFI_NOT_FOUND) {
678 }
else if (EFI_ERROR (Status)) {
692 if (EFI_ERROR (Status)) {
714 Status = EFI_NOT_FOUND;
717 "ERROR: CmObjectId " FMT_CM_OBJECT_ID
". Status = %r\n",
753 if ((This ==
NULL) || (CmObject ==
NULL)) {
754 ASSERT (This !=
NULL);
755 ASSERT (CmObject !=
NULL);
756 return EFI_INVALID_PARAMETER;
759 Status = EFI_NOT_FOUND;
760 PlatformRepo = This->PlatRepoInfo;
790 if (Status == EFI_NOT_FOUND) {
793 "INFO: CmObjectId " FMT_CM_OBJECT_ID
". Status = %r\n",
830 if ((This ==
NULL) || (CmObject ==
NULL)) {
831 ASSERT (This !=
NULL);
832 ASSERT (CmObject !=
NULL);
833 return EFI_INVALID_PARAMETER;
836 Status = EFI_NOT_FOUND;
837 PlatformRepo = This->PlatRepoInfo;
903 if (Status == EFI_NOT_FOUND) {
906 "INFO: CmObjectId " FMT_CM_OBJECT_ID
". Status = %r\n",
943 if ((This ==
NULL) || (CmObject ==
NULL)) {
944 ASSERT (This !=
NULL);
945 ASSERT (CmObject !=
NULL);
946 return EFI_INVALID_PARAMETER;
951 Status = EFI_NOT_FOUND;
954 "ERROR: CmObjectId " FMT_CM_OBJECT_ID
". Status = %r\n",
991 if ((This ==
NULL) || (CmObject ==
NULL)) {
992 ASSERT (This !=
NULL);
993 ASSERT (CmObject !=
NULL);
994 return EFI_INVALID_PARAMETER;
1011 Status = EFI_INVALID_PARAMETER;
1014 "ERROR: Unknown Namespace CmObjectId " FMT_CM_OBJECT_ID
". "
1048 return EFI_UNSUPPORTED;
1060 &mKvmtoolPlatRepositoryInfo
1082 Status =
gBS->InstallProtocolInterface (
1086 (VOID *)&mKvmtoolPlatformConfigManagerProtocol
1088 if (EFI_ERROR (Status)) {
1091 "ERROR: Failed to get Install Configuration Manager Protocol." \
1099 &mKvmtoolPlatformConfigManagerProtocol
1101 if (EFI_ERROR (Status)) {
1104 "ERROR: Failed to initialize the Platform Configuration Repository." \
1114 gBS->UninstallProtocolInterface (
1117 (VOID *)&mKvmtoolPlatformConfigManagerProtocol
#define EFI_ACPI_6_3_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_DEBUG_PORT_2_TABLE_SIGNATURE
#define EFI_ACPI_6_3_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION
#define EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_REVISION
#define EFI_ACPI_6_3_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION
#define EFI_ACPI_6_3_IO_REMAPPING_TABLE_SIGNATURE
#define EFI_ACPI_6_3_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE
#define CREATE_STD_ACPI_TABLE_GEN_ID(TableId)
@ EStdAcpiTableIdFadt
FADT Generator.
@ EStdAcpiTableIdSpcr
SPCR Generator.
@ EStdAcpiTableIdMadt
MADT Generator.
@ EStdAcpiTableIdDbg2
DBG2 Generator.
@ EStdAcpiTableIdIort
IORT Generator.
@ EStdAcpiTableIdSsdtCpuTopology
SSDT Cpu Topology.
@ EStdAcpiTableIdMcfg
MCFG Generator.
@ EStdAcpiTableIdGtdt
GTDT Generator.
@ EStdAcpiTableIdSsdtPciExpress
SSDT Pci Express Generator.
@ EStdAcpiTableIdDsdt
DSDT Generator.
@ EArchCommonObjPowerManagementProfileInfo
1 - Power Management Profile Info
@ EArchCommonObjPciConfigSpaceInfo
8 - PCI Configuration Space Info
@ EArmObjIdMappingArray
18 - ID Mapping Array
@ EArmObjItsGroup
11 - ITS Group
@ EArmObjGicDInfo
3 - GIC Distributor Info
@ EArmObjRootComplex
13 - Root Complex
@ EArmObjGicItsIdentifierArray
17 - GIC ITS Identifier Array
struct CmArmIdMapping CM_ARM_ID_MAPPING
VOID *EFIAPI GetFirstGuidHob(IN CONST EFI_GUID *Guid)
STATIC EFI_STATUS EFIAPI InitializePlatformRepository(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This)
EFI_STATUS EFIAPI ArmKvmtoolPlatformGetObject(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This, IN CONST CM_OBJECT_ID CmObjectId, IN CONST CM_OBJECT_TOKEN Token OPTIONAL, IN OUT CM_OBJ_DESCRIPTOR *CONST CmObject)
EFI_STATUS EFIAPI GetStandardNameSpaceObject(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This, IN CONST CM_OBJECT_ID CmObjectId, IN CONST CM_OBJECT_TOKEN Token OPTIONAL, IN OUT CM_OBJ_DESCRIPTOR *CONST CmObject)
EFI_STATUS EFIAPI ConfigurationManagerDxeInitialize(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
EFI_STATUS EFIAPI GetItsIdentifierArray(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This, IN CONST CM_OBJECT_ID CmObjectId, IN CONST CM_OBJECT_TOKEN Token, OUT CM_OBJ_DESCRIPTOR *CONST CmObject)
EFI_STATUS EFIAPI GetDeviceIdMappingArray(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This, IN CONST CM_OBJECT_ID CmObjectId, IN CONST CM_OBJECT_TOKEN Token, OUT CM_OBJ_DESCRIPTOR *CONST CmObject)
STATIC EFI_STATUS EFIAPI HandleCmObjectRefByToken(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This, IN CONST CM_OBJECT_ID CmObjectId, IN VOID *Object, IN CONST UINTN ObjectSize, IN CONST UINTN ObjectCount, IN CONST CM_OBJECT_TOKEN Token, IN CONST CM_OBJECT_HANDLER_PROC HandlerProc, IN OUT CM_OBJ_DESCRIPTOR *CONST CmObjectDesc)
EFI_STATUS EFIAPI GetArmNameSpaceObject(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This, IN CONST CM_OBJECT_ID CmObjectId, IN CONST CM_OBJECT_TOKEN Token OPTIONAL, IN OUT CM_OBJ_DESCRIPTOR *CONST CmObject)
STATIC EFI_STATUS EFIAPI HandleCmObject(IN CONST CM_OBJECT_ID CmObjectId, IN VOID *Object, IN CONST UINTN ObjectSize, IN CONST UINTN ObjectCount, IN OUT CM_OBJ_DESCRIPTOR *CONST CmObjectDesc)
STATIC EFI_STATUS EFIAPI HwInfoAdd(IN HW_INFO_PARSER_HANDLE ParserHandle, IN VOID *Context, IN CONST CM_OBJ_DESCRIPTOR *CmObjDesc, OUT CM_OBJECT_TOKEN *Token OPTIONAL)
EFI_STATUS EFIAPI GetArchCommonNameSpaceObject(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This, IN CONST CM_OBJECT_ID CmObjectId, IN CONST CM_OBJECT_TOKEN Token OPTIONAL, IN OUT CM_OBJ_DESCRIPTOR *CONST CmObject)
EFI_STATUS EFIAPI ConfigurationManagerDxeUnloadImage(IN EFI_HANDLE ImageHandle)
EFI_STATUS EFIAPI ArmKvmtoolPlatformSetObject(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This, IN CONST CM_OBJECT_ID CmObjectId, IN CONST CM_OBJECT_TOKEN Token OPTIONAL, IN CM_OBJ_DESCRIPTOR *CONST CmObject)
EFI_STATUS EFIAPI GetOemNameSpaceObject(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This, IN CONST CM_OBJECT_ID CmObjectId, IN CONST CM_OBJECT_TOKEN Token OPTIONAL, IN OUT CM_OBJ_DESCRIPTOR *CONST CmObject)
STATIC EFI_STATUS EFIAPI CleanupPlatformRepository(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This)
EFI_STATUS(* CM_OBJECT_HANDLER_PROC)(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This, IN CONST CM_OBJECT_ID CmObjectId, IN CONST CM_OBJECT_TOKEN Token, IN OUT CM_OBJ_DESCRIPTOR *CONST CmObject)
#define MEMORY_ADDRESS_SIZE_LIMIT
#define CONFIGURATION_MANAGER_REVISION
#define REFERENCE_TOKEN(Field)
#define GET_CM_NAMESPACE_ID(CmObjectId)
#define GET_CM_OBJECT_ID(CmObjectId)
@ EObjNameSpaceArm
ARM Objects Namespace.
@ EObjNameSpaceOem
OEM Objects Namespace.
@ EObjNameSpaceArchCommon
Arch Common Objects Namespace.
@ EObjNameSpaceStandard
Standard Objects Namespace.
#define CREATE_CM_ARCH_COMMON_OBJECT_ID(ObjectId)
#define CREATE_CM_ARM_OBJECT_ID(ObjectId)
EFI_GUID gEdkiiConfigurationManagerProtocolGuid
EFI_STATUS EFIAPI DynamicPlatRepoGetObject(IN DYNAMIC_PLATFORM_REPOSITORY_INFO *This, IN CM_OBJECT_ID CmObjectId, IN CM_OBJECT_TOKEN Token OPTIONAL, IN OUT CM_OBJ_DESCRIPTOR *CmObjDesc)
EFI_STATUS EFIAPI DynamicPlatRepoShutdown(IN DYNAMIC_PLATFORM_REPOSITORY_INFO *DynPlatRepo)
EFI_STATUS EFIAPI DynPlatRepoAddObject(IN DYNAMIC_PLATFORM_REPOSITORY_INFO *This, IN CONST CM_OBJ_DESCRIPTOR *CmObjDesc, OUT CM_OBJECT_TOKEN *Token OPTIONAL)
EFI_STATUS EFIAPI DynamicPlatRepoInit(OUT DYNAMIC_PLATFORM_REPOSITORY_INFO **DynPlatRepo)
EFI_STATUS EFIAPI DynamicPlatRepoFinalise(IN DYNAMIC_PLATFORM_REPOSITORY_INFO *This)
VOID * HW_INFO_PARSER_HANDLE
EFI_STATUS EFIAPI HwInfoParse(IN HW_INFO_PARSER_HANDLE ParserHandle)
EFI_STATUS EFIAPI HwInfoParserShutdown(IN HW_INFO_PARSER_HANDLE ParserHandle)
EFI_STATUS EFIAPI HwInfoParserInit(IN VOID *HwDataSource, IN VOID *Context, IN HW_INFO_ADD_OBJECT HwInfoAdd, OUT HW_INFO_PARSER_HANDLE *ParserHandle)
#define ARRAY_SIZE(Array)
#define ASSERT_EFI_ERROR(StatusParameter)
#define DEBUG_CODE_BEGIN()
#define DEBUG(Expression)
#define EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION
#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION
@ EStdObjAcpiTableList
1 - ACPI table Info List
@ EStdObjCfgMgrInfo
0 - Configuration Manager Info
#define CREATE_REVISION(Major, Minor)
VOID EFIAPI ParseCmObjDesc(IN CONST CM_OBJ_DESCRIPTOR *CmObjDesc)
VOID * Data
Pointer to the described Object or Object List.