]> git.proxmox.com Git - mirror_edk2.git/commitdiff
DynamicTablesPkg: Remove GIC Distributor Id field
authorSami Mujawar <sami.mujawar@arm.com>
Tue, 19 Feb 2019 11:22:17 +0000 (11:22 +0000)
committerSami Mujawar <sami.mujawar@arm.com>
Mon, 25 Feb 2019 14:46:34 +0000 (14:46 +0000)
According to ACPI 6.2 Specification - Errata A, 'One,
and only one, GIC distributor structure must be present
in the MADT for an ARM based system'. Therefore,
the GIC Distributor ID field in the ACPI MADT GICD
substructure can be set to zero and there is no need
for the Configuration Manager to provide this information.

Update the CM_ARM_GICD_INFO structure to remove the GicId
field. Similarly update the MADT Generator to set the GicId
field in the GICD substructure to zero.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
DynamicTablesPkg/Include/ArmNameSpaceObjects.h
DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c

index 2adaa788083e4e15d049f5f6b6312f77f3c02488..73139eb3273e89205ef9e6bee67b1b842f7f516b 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 \r
-  Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.\r
+  Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.\r
 \r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
@@ -166,9 +166,6 @@ typedef struct CmArmGicCInfo {
     GIC Distributor information for the Platform.\r
 */\r
 typedef struct CmArmGicDInfo {\r
-  /// The GIC Distributor ID.\r
-  UINT32  GicId;\r
-\r
   /// The Physical Base address for the GIC Distributor.\r
   UINT64  PhysicalBaseAddress;\r
 \r
index 1ee0b9e006bfa00ea5bbf6aa64209dac244c90a0..6b89c3f65d36ff35fcfc81cdffdeae8e4306c976 100644 (file)
@@ -192,7 +192,9 @@ AddGICD (
   // UINT16 Reserved\r
   Gicd->Reserved1 = EFI_ACPI_RESERVED_WORD;\r
   // UINT32 Identifier\r
-  Gicd->GicId = GicDInfo->GicId;\r
+  // One, and only one, GIC distributor structure must be present\r
+  // in the MADT for an ARM based system\r
+  Gicd->GicId = 0;\r
   // UINT64 PhysicalBaseAddress\r
   Gicd->PhysicalBaseAddress = GicDInfo->PhysicalBaseAddress;\r
   // UINT32 VectorBase\r