Make supervisor stack inaccessible to user mode
Jeffrey Lee authored
Previously the supervisor stack was read-only in user mode, but since
the supervisor stack is typically empty when the CPU is in user mode,
it's questionable whether any software actually makes use of this
facility.

To simplify support for the long descriptor page table format (which
doesn't support the user-RO + privileged-RW access mode), let's
try and remove usermode SVC stack access completely.

Tested on Raspberry Pi 4

Version 6.48. Tagged as 'Kernel-6_48'
bbc7ad20
Name Last commit Last update
..
AMBControl Mirror OS_AMBControl changes from Pyromaniac
PMF Eliminate callback check to Portable_Idle races
vdu Fix Service_ModeTranslation memory corruption
ARM600 Allow reservation of memory pages
ARMops Fix dodgy ranged ICache cleans when using ARMv7MP ARMops
Arthur2 Fix incorrect OS_SynchroniseCodeAreas call
Arthur3 Attempt to tidy up substitute screen mode selection logic
ArthurSWIs Increase number of vectors supported by the kernel to 96.
CPUFeatures Revise comments - it's multiprocessing extensions, not virtualisation
ChangeDyn Make supervisor stack inaccessible to user mode
Convrsions Fix abort after translating error
Exceptions Implement support for cacheable pagetables
ExtraSWIs Remove some obsolete definitions for clarity
GetAll Mirror OS_AMBControl changes from Pyromaniac
HAL Build fix to DebugTerminal
HeapMan Add support for HeapReason_GetSkewAligned
HeapSort Avoid unnecesssary remainder calculations
Kernel Allow ZeroPage at any 64K aligned address
LibKern More HAL work. IOMD HAL work in progress. Lots of my own little build scripts. Don't touch this.
MOSDict Import from cleaned 360 CD
MemInfo Fix OS_Memory 7 for discontiguous RAM
MemMap2 Attempt to tidy up substitute screen mode selection logic
Middle Record various numbers used in other strands of RISC OS and compatible systems
ModHand Special case extension of aligned RMA claims
MoreComms Resolve 2x header clashes
MoreSWIs
MsgCode
NewIRQs
NewReset
Oscli
SWINaming
Super1
SysComms
TickEvents
UnSqueeze
Utility
VMSAv6