summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>2019-10-04 17:14:49 +0530
committerThomas Abraham <thomas.abraham@arm.com>2019-10-23 17:43:22 +0530
commitaac0ec2b8b2abfc4a6ac9fa94e17d27618a405b4 (patch)
treee7e7c613078036be6149ed71f8a1fd6b69cbf38e
parentd7ce9684d56f9a7881763480d578c63e7e1d1f19 (diff)
RdDaneil: Madt: Include entries to boot Chip 1 cores
Change-Id: I2620271fab45fa6f6140488fc202d59b38e5a2c9 Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
-rw-r--r--Platform/ARM/SgiPkg/AcpiTables/RdDaniel/Madt.aslc31
1 files changed, 29 insertions, 2 deletions
diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdDaniel/Madt.aslc b/Platform/ARM/SgiPkg/AcpiTables/RdDaniel/Madt.aslc
index 6995a891..0ce22561 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdDaniel/Madt.aslc
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdDaniel/Madt.aslc
@@ -78,6 +78,7 @@
RedisDiscLength /* DiscoveryRangeLength */ \
}
+#if 0
// EFI_ACPI_6_2_GIC_ITS_STRUCTURE
#define EFI_ACPI_6_2_GIC_ITS_INIT(GicItsId, GicItsBase) \
{ \
@@ -88,16 +89,20 @@
GicItsBase, /* PhysicalBaseAddress */ \
EFI_ACPI_RESERVED_DWORD /* DiscoveryRangeLength */ \
}
+#endif
// Multiple APIC Description Table
#pragma pack (1)
typedef struct {
EFI_ACPI_6_2_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER Header;
- EFI_ACPI_6_2_GIC_STRUCTURE GicInterfaces[4];
+ EFI_ACPI_6_2_GIC_STRUCTURE GicInterfaces[8];
EFI_ACPI_6_2_GIC_DISTRIBUTOR_STRUCTURE GicDistributor;
- EFI_ACPI_6_2_GICR_STRUCTURE GicRedistributor;
+ EFI_ACPI_6_2_GICR_STRUCTURE GicRedistributor_1;
+ EFI_ACPI_6_2_GICR_STRUCTURE GicRedistributor_2;
+#if 0
EFI_ACPI_6_2_GIC_ITS_STRUCTURE GicIts[4];
+#endif
} EFI_ACPI_6_2_MULTIPLE_APIC_DESCRIPTION_TABLE;
#pragma pack ()
@@ -136,6 +141,24 @@ STATIC EFI_ACPI_6_2_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = {
0, 3, GET_MPID(0x300, 0x0), EFI_ACPI_6_2_GIC_ENABLED, 23,
FixedPcdGet32 (PcdGicDistributorBase),
0x2c020000, 0x2c010000, 25, 0 /* GicRBase */, 0 /* Efficiency */),
+
+ // Chip 1
+ EFI_ACPI_6_2_GICC_STRUCTURE_INIT( // Zeus core0
+ 0, 0, GET_MPID(0x01000000ULL, 0x0), EFI_ACPI_6_2_GIC_ENABLED, 23,
+ FixedPcdGet32 (PcdGicDistributorBase),
+ 0x2c020000, 0x2c010000, 25, 0 /* GicRBase */, 0 /* Efficiency */),
+ EFI_ACPI_6_2_GICC_STRUCTURE_INIT( // Zeus core1
+ 0, 1, GET_MPID(0x01000100ULL, 0x0), EFI_ACPI_6_2_GIC_ENABLED, 23,
+ FixedPcdGet32 (PcdGicDistributorBase),
+ 0x2c020000, 0x2c010000, 25, 0 /* GicRBase */, 0 /* Efficiency */),
+ EFI_ACPI_6_2_GICC_STRUCTURE_INIT( // Zeus core2
+ 0, 2, GET_MPID(0x01000200ULL, 0x0), EFI_ACPI_6_2_GIC_ENABLED, 23,
+ FixedPcdGet32 (PcdGicDistributorBase),
+ 0x2c020000, 0x2c010000, 25, 0 /* GicRBase */, 0 /* Efficiency */),
+ EFI_ACPI_6_2_GICC_STRUCTURE_INIT( // Zeus core3
+ 0, 3, GET_MPID(0x01000300ULL, 0x0), EFI_ACPI_6_2_GIC_ENABLED, 23,
+ FixedPcdGet32 (PcdGicDistributorBase),
+ 0x2c020000, 0x2c010000, 25, 0 /* GicRBase */, 0 /* Efficiency */),
},
// GIC Distributor Entry
EFI_ACPI_6_2_GIC_DISTRIBUTOR_INIT(0, FixedPcdGet32 (PcdGicDistributorBase),
@@ -143,6 +166,9 @@ STATIC EFI_ACPI_6_2_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = {
// GIC Redistributor
EFI_ACPI_6_2_GIC_REDISTRIBUTOR_INIT(FixedPcdGet32 (PcdGicRedistributorsBase),
SIZE_16MB),
+ EFI_ACPI_6_2_GIC_REDISTRIBUTOR_INIT(FixedPcdGet32 (PcdGicRedistributorsBase) + 0x40000000000ULL,
+ SIZE_16MB),
+#if 0
{
// GIC ITS
EFI_ACPI_6_2_GIC_ITS_INIT(0, 0x30040000),
@@ -150,6 +176,7 @@ STATIC EFI_ACPI_6_2_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = {
EFI_ACPI_6_2_GIC_ITS_INIT(2, 0x30080000),
EFI_ACPI_6_2_GIC_ITS_INIT(3, 0x300a0000)
}
+#endif
};
//