Define some extra platform feature flags
Robert Sprowson authored
For disc based applications (ie. those that don't know the architecture at build time, like a ROM would) we have OS_PlatformFeatures to provide an abstract way of seeing when new chunks of instructions get added. Back at ARMv6 ARM deprecated SWP, but currently we have no way of knowing that at runtime without grubbing round the coprocessor registers.
Add 3 new flags
* One to say LDR/STREX is (not) available
* One to say that SWP/SWPB is (not) available
* One to say that CLREX and LDR/STREX[B|H|D] is (not) available
shame it took a few goes for ARM to bring in these variants, requiring 3 flags not 1.

Also:
Condition the exception on vector read code on No32bitCode, rather than just having it permanently disabled.
Improve the HAL device docs.

Tested on a StrongARM Risc PC, Model B Pi, and Titanium.

Version 5.35, 4.79.2.303. Tagged as 'Kernel-5_35-4_79_2_303'
96546b5a
Name Last commit Last update
..
ExportVals 32-bit Kernel.
Old Import from cleaned 360 CD
AHCIDevice Change struct layouts for C module compatibility
ARMops Replace WriteBuffer_Drain ARMop with a suite of memory barrier ARMops
Copro15ops ARMv7 fixes
EnvNumbers Import from cleaned 360 CD
EtherDevice Change struct layouts for C module compatibility
HALDevice Add OS_ReadSysInfo 9,6 and 9,7
HALEntries Add OS_ReadSysInfo 9,6 and 9,7
KernelWS Raise some workspace limits, define extra devices
KeyWS Add support for new extended internal key codes, low level key codes, and key handler format
ModHand Added new offset field to module header for flags
OSEntries Teach the kernel about different memory attributes
OSMisc Define some extra platform feature flags
OSRSI6 Add initial support for "physical memory pools"
Options New method to control default CMOS settings
PL310 Add ARMops for PL310 L2 cache controller
PublicWS Fix HiProcVecs build. Remove old-style PublicWS definitions.
RISCOS Adoption of *CONFIGURE/STATUS CACHE commands
SPIDevice Change struct layouts for C module compatibility
VIDCList Reverse interlace deprecation decision
Variables Import from cleaned 360 CD
VduExt Improve Service_DisplayStatus, Service_DisplayChanged functionality
VideoDevice Update VDU HAL device for new OMAPVideo driver, fix MVA-based cache/TLB maintenance ops aborting on ARMv7, add warning to VDU driver about inconsistent state variables during screen mode changes