Improve safety of OS_Memory 0 "make temporarily uncacheable" and *Cache off
Jeffrey Lee authored
Detail:
  s/MemInfo - Wrap OS_Memory 0 in some code which will temporarily claim the FIQ vector when making pages temporarily uncacheable, to avoid any issues caused by modern ARMs ignoring unexpected cache hits
  s/VMSAv6 - Claim FIQs when OS_MMUControl is asked to make a change to the SCTLR, to avoid similar issues on modern ARMs. Also make the stack temporarily uncacheable before disabling the cache, so that we don't run into any problems using the stack inbetween disabling the cache and completing the clean+invalidate.
Admin:
  Tested on Pi 2B, 3B
  *Cache off now works reliably on Pi 2B, although there is sometimes a pause of a few seconds while things sort themselves out (USB?)
  *Cache off "works" on Pi 3B but everything will fall over soon afterwards due to the Cortex-A53 not supporting LDREX/STREX to non-cacheable pages (or when the page is effectively non-cacheable, i.e. cacheable page with cache disabled)


Version 5.35, 4.79.2.311. Tagged as 'Kernel-5_35-4_79_2_311'
6eee32dd
Name Last commit Last update
Dev Make OS_Memory 8 return more correct values
Doc Kernel merged
Docs Cache maintenance fixes
NewModes Add support for the new RISC OS 5 style sprite mode word. Add partial support for alpha channel sprite masks. Implement OS_ScreenMode reasons 13-15
Resources/UK Support for ARMv8
TestSrc Adopt some switches from Hdr:Machine/Machine
h Header defs for Pi Compute module and IIC
hdr New HAL device ID reservations
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 Improve safety of OS_Memory 0 "make temporarily uncacheable" and *Cache off
.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 Complete removal od SPIDevice
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 Back to odd numbered development
VersionASM Improve safety of OS_Memory 0 "make temporarily uncacheable" and *Cache off
VersionNum Improve safety of OS_Memory 0 "make temporarily uncacheable" and *Cache off