diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h index 73139eb327..2adaa78808 100644 --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h @@ -1,6 +1,6 @@ /** @file - Copyright (c) 2017 - 2019, ARM Limited. All rights reserved. + Copyright (c) 2017 - 2018, ARM Limited. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -166,6 +166,9 @@ typedef struct CmArmGicCInfo { GIC Distributor information for the Platform. */ typedef struct CmArmGicDInfo { + /// The GIC Distributor ID. + UINT32 GicId; + /// The Physical Base address for the GIC Distributor. UINT64 PhysicalBaseAddress; diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c index 6b89c3f65d..1ee0b9e006 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c @@ -192,9 +192,7 @@ AddGICD ( // UINT16 Reserved Gicd->Reserved1 = EFI_ACPI_RESERVED_WORD; // UINT32 Identifier - // One, and only one, GIC distributor structure must be present - // in the MADT for an ARM based system - Gicd->GicId = 0; + Gicd->GicId = GicDInfo->GicId; // UINT64 PhysicalBaseAddress Gicd->PhysicalBaseAddress = GicDInfo->PhysicalBaseAddress; // UINT32 VectorBase