Add new ARMops. Add macros which map the ARMv7/v8 cache/TLB maintenance...
Jeffrey Lee authored
Add new ARMops. Add macros which map the ARMv7/v8 cache/TLB maintenance mnemonics (as featured in recent ARM ARMs) to MCR ops.

Detail:
  - Docs/HAL/ARMop_API - Document the new ARMops. These ops are intended to help with future work (DMA without OS_Memory 0 "make temp uncacheable", and minimising cache maintenance when unmapping pages) and aren't in use just yet.
  - hdr/Copro15ops - Add new macros for ARMv7+ which map the mnemonics seen in recent ARM ARMs to the corresponding MCR ops. This should make things easier when cross-referencing docs and reduce the risk of typos.
  - hdr/KernelWS - Shuffle kernel workspace a bit to make room for the new ARMops
  - hdr/OSMisc - Expose new ARMops via OS_MMUControl 2
  - s/ARMops - Implement the new ARMops. Change the ARMv7+ ARMops to use the new mnemonic macros. Also get rid of myDSB / myISB usage from ARMv7+ code paths; use DSB/ISB/etc. directly to ensure correct behaviour
  - s/HAL - Mnemonic + ISB/DSB updates. Change software RAM clear to do 16 bytes at a time for kernel workspace instead of 32 to allow the kernel workspace tweaks to work.
Admin:
  Binary diff shows that mnemonics map to the original MCR ops correctly
  Note: Raspberry Pi builds will now emit lots of warnings due to increased DSB/ISB instruction use. However it should be safe to ignore these as they should only be present in v7+ code paths.
  Note: New ARMops haven't been tested yet, will be disabled (or at least hidden from user code) in a future checkin


Version 5.68. Tagged as 'Kernel-5_68'
48485eee
Name Last commit Last update
..
5thColumn RISC OS 3.71 kernel changes merged.
HAL Add new ARMops. Add macros which map the ARMv7/v8 cache/TLB maintenance mnemonics (as featured in recent ARM ARMs) to MCR ops.
MemMaps RISC OS 3.71 kernel changes merged.
PrivDoc RISC OS 3.71 kernel changes merged.
!ReadMe Import from cleaned 370 CD
0197276.02 Import from cleaned 370 CD
32bit Delete lots of old switches
32bitAPIs Commit of kernel as featured in release 5.00.
A540Extend Import from cleaned 370 CD
AMBControl Import from cleaned 370 CD
CallbackChange Miscellaneous stuff.
GraphicsV Merged in changes from Castle
HiResTTX Added 256-colour version of the (high-resolution only) teletext code, and support for teletext when hardware scroll is disabled. Both are required for Tungsten.
Kernel Import from cleaned 370 CD
KernlSplit Import from cleaned 370 CD
MMUControl Import from cleaned 370 CD
ModPostServ HAL device support, and a couple of new service calls.
Mode22 Import from cleaned 370 CD
Modes Import from cleaned 370 CD
MonLead Import from cleaned 370 CD
PageFlags Lots of Tungsten work.
PaletteV Import from cleaned 370 CD
RO370 Lots of Tungsten work.
ReadSysInf Lots of Tungsten work.
ReadUnsigned Merge over some changes from the Cortex branch
TVmodesMed,dde