LEG UEFI does not support 64-bit addressing modes for AARCH64 (only 32-bit UINT32 Sysytem Memory)

Bug #1253438 reported by Steven Kinney
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro UEFI
Fix Released
Undecided
Unassigned

Bug Description

When modifying the top level DSC file for building to a Fast Model that maps DRAM above a 32-bit addressing mode, the UEFI fails to build because of a SystemMemory UINT32 issue; see
~/ArmPkg/ArmPkg.dec gArmTokenSpaceGuid.PcdSystemMemoryBase=|0|UINT32|.... for an example.

This is issue is throughout the code and needs to be vetted for AARCH64 based memory access outside of the 32-bit boundary.

The operations that actually access these address variables also seem
to all use PcdGet32 and explicit casts to (UINT32), which would make
things fall over again if we only changed the description.

And looking around more, there seems to be more cleanup work required
in the area of code being shared between AArch32 and AArch64.
As an example, PrePi/AArch64/ModuleEntryPoint.S includes Chipset/ArmV7.h
which contains certain definitions that are not valid in AArch64.

affects: linaro → linaro-uefi
Anmar Oueja (anmar)
Changed in linaro-uefi:
status: New → Confirmed
Revision history for this message
Anmar Oueja (anmar) wrote :

This issue is now fixed in the upstream. You can see the committ on the tianocore github mirror here (https://github.com/tianocore/edk2/commit/c357fd6a1f79e2d7b0a1bd01994b8d33925bfff5)

Changed in linaro-uefi:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.