Allow bursting during ClearPhysRAM on StrongARM
Robert Sprowson authored
The StrongARM TRM (and hints from ARM600.s revision 4.3.2.2) show that the StrongARM will only do burst writes to memory marked as C=1 B=1, but by default RISCOS_AccessPhysicalAddress only allows bufferable.
So, checking for StrongARM first, two extra snippets are enabled - first mark as C=1 B=1, then afterwards clean the cache before moving onto the next 1MB.

On a StrongARM Kinetic these burst writes improve the RAM clear from ~60ms per MB to 40ms per MB. For a 256MB SODIMM that's over 5s knocked off the boot time.
Other memory configurations will be similarly improved, though 256MB is of course the maximum the motherboard can hold.

Tested in ROM on a Risc PC with StrongARM and ARM710.

Version 5.35, 4.79.2.189. Tagged as 'Kernel-5_35-4_79_2_189'
adbb31f1
Name Last commit Last update
Dev Make OS_Memory 8 return more correct values
Doc Kernel merged
Docs Merge over some changes from the Cortex branch
NewModes Import from cleaned 360 CD
Resources/UK Add support for new extended internal key codes, low level key codes, and key handler format
TestSrc Adopt some switches from Hdr:Machine/Machine
h Add compressed ROM support. Make more use of ARMv5+ instructions. Other misc tweaks.
hdr Header changes for OMAP4
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 Allow bursting during ClearPhysRAM on StrongARM
.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 Review of Internation switch
MkClean,fd7 Mostly device stuff.
MkExport,fd7 Import from cleaned 360 CD
MkRom,fd7 partial video changes for kernel/HAL split near-HAL code for VIDC/IOMD in vdu.vduhint briefly tested in Ursula desktop build still some kernel workspace dependency in near-HAL code
MkRomInst,fd7 32-bit Kernel.
Version Adopt some switches from Hdr:Machine/Machine
VersionASM Allow bursting during ClearPhysRAM on StrongARM
VersionNum Allow bursting during ClearPhysRAM on StrongARM