@@ -641,6 +641,7 @@ GetStandardNameSpaceObject (
641
641
EFI_STATUS Status ;
642
642
EDKII_PLATFORM_REPOSITORY_INFO * PlatformRepo ;
643
643
UINTN AcpiTableCount ;
644
+ BOOLEAN PciSupportPresent ;
644
645
CM_OBJ_DESCRIPTOR CmObjDesc ;
645
646
646
647
if ((This == NULL ) || (CmObject == NULL )) {
@@ -649,8 +650,9 @@ GetStandardNameSpaceObject (
649
650
return EFI_INVALID_PARAMETER ;
650
651
}
651
652
652
- Status = EFI_NOT_FOUND ;
653
- PlatformRepo = This -> PlatRepoInfo ;
653
+ Status = EFI_NOT_FOUND ;
654
+ PlatformRepo = This -> PlatRepoInfo ;
655
+ PciSupportPresent = TRUE;
654
656
655
657
switch (GET_CM_OBJECT_ID (CmObjectId )) {
656
658
case EStdObjCfgMgrInfo :
@@ -667,12 +669,12 @@ GetStandardNameSpaceObject (
667
669
AcpiTableCount = ARRAY_SIZE (PlatformRepo -> CmAcpiTableList );
668
670
669
671
//
670
- // Get Pci config space information.
672
+ // Get Pci interrupt map information.
671
673
//
672
674
Status = DynamicPlatRepoGetObject (
673
675
PlatformRepo -> DynamicPlatformRepo ,
674
676
CREATE_CM_ARCH_COMMON_OBJECT_ID (
675
- EArchCommonObjPciConfigSpaceInfo
677
+ EArchCommonObjPciInterruptMapInfo
676
678
),
677
679
CM_NULL_TOKEN ,
678
680
& CmObjDesc
@@ -683,31 +685,34 @@ GetStandardNameSpaceObject (
683
685
// present, Kvmtool was launched without the PCIe option.
684
686
// Therefore, reduce the table count by 3.
685
687
//
686
- AcpiTableCount -= 3 ;
688
+ AcpiTableCount -= 3 ;
689
+ PciSupportPresent = FALSE;
687
690
} else if (EFI_ERROR (Status )) {
688
691
ASSERT_EFI_ERROR (Status );
689
692
return Status ;
690
693
}
691
694
692
- //
693
- // Get the Gic version.
694
- //
695
- Status = DynamicPlatRepoGetObject (
696
- PlatformRepo -> DynamicPlatformRepo ,
697
- CREATE_CM_ARM_OBJECT_ID (EArmObjGicDInfo ),
698
- CM_NULL_TOKEN ,
699
- & CmObjDesc
700
- );
701
- if (EFI_ERROR (Status )) {
702
- ASSERT_EFI_ERROR (Status );
703
- return Status ;
704
- }
705
-
706
- if (((CM_ARM_GICD_INFO * )CmObjDesc .Data )-> GicVersion < 3 ) {
695
+ if (PciSupportPresent ) {
707
696
//
708
- // IORT is only required for GicV3/4
697
+ // Get the Gic version.
709
698
//
710
- AcpiTableCount -= 1 ;
699
+ Status = DynamicPlatRepoGetObject (
700
+ PlatformRepo -> DynamicPlatformRepo ,
701
+ CREATE_CM_ARM_OBJECT_ID (EArmObjGicDInfo ),
702
+ CM_NULL_TOKEN ,
703
+ & CmObjDesc
704
+ );
705
+ if (EFI_ERROR (Status )) {
706
+ ASSERT_EFI_ERROR (Status );
707
+ return Status ;
708
+ }
709
+
710
+ if (((CM_ARM_GICD_INFO * )CmObjDesc .Data )-> GicVersion < 3 ) {
711
+ //
712
+ // IORT is only required for GicV3/4
713
+ //
714
+ AcpiTableCount -= 1 ;
715
+ }
711
716
}
712
717
713
718
Status = HandleCmObject (
0 commit comments