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?
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?