diff options
author | Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com> | 2019-10-04 17:14:49 +0530 |
---|---|---|
committer | Thomas Abraham <thomas.abraham@arm.com> | 2019-10-23 17:43:22 +0530 |
commit | aac0ec2b8b2abfc4a6ac9fa94e17d27618a405b4 (patch) | |
tree | e7e7c613078036be6149ed71f8a1fd6b69cbf38e | |
parent | d7ce9684d56f9a7881763480d578c63e7e1d1f19 (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.aslc | 31 |
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
};
//
|