Hi,

Yes you can send you GIC patch and I will be pleased to review and merge it if it is appropriate.

I am not sure to understand your second question. I do not know if it is related to the mess of some platform ports in Linaro repository (what I was told).

But there should only be one DEC file (ArmPkg/ArmPkg.dec) that declares the GIC base addresses in EDK2.

 

It should be possible to declare different type for different architecture. Here is an example:

 

[PcdsFixedAtBuild.ARM, PcdsDynamic.ARM]

  #

  # ARM Generic Interrupt Controller

  #

  gArmTokenSpaceGuid.PcdGicDistributorBase|0|UINT32|0x0000000C

  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0|UINT32|0x0000000D

  gArmTokenSpaceGuid.PcdGicSgiIntId|0|UINT32|0x00000025

 

[PcdsFixedAtBuild. AARCH64, PcdsDynamic.AARCH64]

  #

  # ARM Generic Interrupt Controller

  #

  gArmTokenSpaceGuid.PcdGicDistributorBase|0|UINT64|0x0000000C

  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0|UINT64|0x0000000D

  gArmTokenSpaceGuid.PcdGicSgiIntId|0|UINT32|0x00000025

 

But the issue is there is no PcdGetN() macro there are only PcdGet32() and PcdGet64().

 

So, I would say that you can declare the GIC base addresses as a 64bit value even for AArch32.

 

Thanks,

Olivier

 

 

From: linaro-uefi-bounces@lists.linaro.org [mailto:linaro-uefi-bounces@lists.linaro.org] On Behalf Of Sandeep Paulraj
Sent: 11 November 2014 19:34
To: edk2-devel@lists.sourceforge.net; linaro-uefi@lists.linaro.org
Subject: [Linaro-uefi] AARCH64 GIC updates for 64 bit

 

Hi,

I have added support for a future Broadcom server SOC in edk2.

I have booted all the way to the console. WE have some tweaks to the fast model to model the device. Along the way one of the updates i had to make was adding support for GIC in a 64 bit memory map. The patch is along similar lines to patches that have been posted recently on the mailing list.

Couple of questions

- Can this patch be submitted for review; i don't believe i will be sending the patches for our fast model based port.

- Since i am a little new to UEFI, do i actually need to modify the PCD's for other platforms in the appropriate .dec files. If platforms have GIC in the lower 32 bit, do i have to change the PCD definition to a UINT64 from a UINT32?