• Ben Avison's avatar
    Support >1GB RAM · 9f19d29e
    Ben Avison authored
    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.
    9f19d29e
BCM2835 40.3 KB