From 8a1f2378d74390ddfe35c70f68e0c8b03bf84089 Mon Sep 17 00:00:00 2001 From: Dennis Chen Date: Mon, 5 Sep 2016 19:38:20 +0800 Subject: ArmPkg ArmPlatformPkg ArmVirtPkg: ARM GICv2/v3 Base Address width fix-up According to the ACPI 6.0/6.1 spec, the physical base address of GICC, GICD, GICR and GIC ITS is 64-bit. So change the type of the various GIC base address PCDs to 64-bit, and fix up all users. Contributed-under: TianoCore Contribution Agreement 1.0 Cc: Leif Lindholm Signed-off-by: Dennis Chen Reviewed-by: Ard Biesheuvel --- ArmPlatformPkg/PrePi/MainMPCore.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'ArmPlatformPkg/PrePi') diff --git a/ArmPlatformPkg/PrePi/MainMPCore.c b/ArmPlatformPkg/PrePi/MainMPCore.c index 603f4bb8be..27422d1f21 100644 --- a/ArmPlatformPkg/PrePi/MainMPCore.c +++ b/ArmPlatformPkg/PrePi/MainMPCore.c @@ -26,12 +26,12 @@ PrimaryMain ( ) { // Enable the GIC Distributor - ArmGicEnableDistributor(PcdGet32(PcdGicDistributorBase)); + ArmGicEnableDistributor(PcdGet64(PcdGicDistributorBase)); // In some cases, the secondary cores are waiting for an SGI from the next stage boot loader to resume their initialization if (!FixedPcdGet32(PcdSendSgiToBringUpSecondaryCores)) { // Sending SGI to all the Secondary CPU interfaces - ArmGicSendSgiTo (PcdGet32(PcdGicDistributorBase), ARM_GIC_ICDSGIR_FILTER_EVERYONEELSE, 0x0E, PcdGet32 (PcdGicSgiIntId)); + ArmGicSendSgiTo (PcdGet64(PcdGicDistributorBase), ARM_GIC_ICDSGIR_FILTER_EVERYONEELSE, 0x0E, PcdGet32 (PcdGicSgiIntId)); } PrePiMain (UefiMemoryBase, StacksBase, StartTimeStamp); @@ -88,11 +88,11 @@ SecondaryMain ( SecondaryEntryAddr = MmioRead32 (ArmCoreInfoTable[Index].MailboxGetAddress); // Acknowledge the interrupt and send End of Interrupt signal. - AcknowledgeInterrupt = ArmGicAcknowledgeInterrupt (PcdGet32 (PcdGicInterruptInterfaceBase), &InterruptId); + AcknowledgeInterrupt = ArmGicAcknowledgeInterrupt (PcdGet64 (PcdGicInterruptInterfaceBase), &InterruptId); // Check if it is a valid interrupt ID - if (InterruptId < ArmGicGetMaxNumInterrupts (PcdGet32 (PcdGicDistributorBase))) { + if (InterruptId < ArmGicGetMaxNumInterrupts (PcdGet64 (PcdGicDistributorBase))) { // Got a valid SGI number hence signal End of Interrupt - ArmGicEndOfInterrupt (PcdGet32 (PcdGicInterruptInterfaceBase), AcknowledgeInterrupt); + ArmGicEndOfInterrupt (PcdGet64 (PcdGicInterruptInterfaceBase), AcknowledgeInterrupt); } } while (SecondaryEntryAddr == 0); -- cgit v1.2.3