Fix OS_Memory 7 for discontiguous RAM
Jeffrey Lee authored
The current OS_Memory 7 implementation uses an address range structure
returned by HAL_PhysInfo to decide which part of the physical address
arrangement table to overwrite with RAM information. I suspect the
original intention was for OS_Memory to use this address range to avoid
marking the VRAM as DRAM (HAL_PhysInfo is expected to fill in the VRAM
itself). But by overwriting everything between the start and the end
address, OS_Memory will also overwrite any non-RAM areas which are
sandwiched between RAM banks, e.g. the VideoCore-owned RAM on Pi models
with >1GB RAM. There's also the problem that the address range returned
by the HAL is using 32bit addresses, so it won't work as-is for RAM
located above the 4GB barrier.

Fix these issues by reworking the routine so that it ignores the address
range returned by the HAL and instead detects VRAM by checking the
IsVRAM flag in the PhysRamTable entry. And for detecting if the ROM is
running from RAM, instead of using the a...
fb127e47
Name Last commit Last update
Dev Fix OS_Memory 7 for discontiguous RAM
Docs Support temporary mapping of IO above 4GB using supersections
Resources/UK Add aligned RMA claim subreason
TestSrc Delete pre-HAL and 26bit code
h Header defs for Pi Compute module and IIC
hdr Mirror OS_AMBControl changes from Pyromaniac
o Clean reimport of hdr.RISCOS (real commit date 2008-03-28 by bavison), without any of the 3rd party allocations.
rm Clean reimport of hdr.RISCOS (real commit date 2008-03-28 by bavison), without any of the 3rd party allocations.
s Fix OS_Memory 7 for discontiguous RAM
.gitattributes Added 'UnConv' error (see also HdrSrc).
BlackLog Initial revision
Changes Import from cleaned 360 CD
HelpStrs Adoption of *CONFIGURE/STATUS CACHE commands
LICENSE Clean reimport of hdr.RISCOS (real commit date 2008-03-28 by bavison), without any of the 3rd party allocations.
Makefile Mirror OS_AMBControl changes from Pyromaniac
MkClean,fd7 Mostly device stuff.
MkExport,fd7 Import from cleaned 360 CD
MkInstall,fd7 Added a disc install phase as an analogue of the export phase
MkRom,fd7 Makefile recreated from fragments
Version Nightly beta builds leapfrog RISC OS 5.26
VersionASM Fix OS_Memory 7 for discontiguous RAM
VersionNum Fix OS_Memory 7 for discontiguous RAM