Commit 9f19d29e authored by Committed by ROOLBrowse files
Support >1GB RAM
RAM sizes above 1GB are not reported by the usual mailbox property, and it seems unlikely that this will change because the VC RAM allocation has to remain within the bottom 1GB of the address space (the VC still uses the upper two bits of its addresses for cache policy) and this property cannot describe a non-contiguous range. Use the board revision bitfield to recognise when additional general-purpose RAM exists above the VC allocation. For now, we're running in "low peripherals" mode, so the top 64MB of 4GB RAM machines is inaccessible. If the VC allocation is also 64MB, that means the startup banner of Pi 4 will read 960MB, 1984MB or 3968MB. Also fix HAL_PhysInfo (and by implication, OS_Memory 6 and 7) to report the full 35-bit physical address space on Pi 4. The `range` struct filled in by HAL_PhysInfo has not been extended to 64-bit physical addresses because it describes RAM, and for now at least, RAM just squeezes into 32-bit addresses.
Showing with 115 additions and 25 deletions