OS_DynamicArea 22 fixes
Jeffrey Lee authored
Multiple fixes, mostly related to error handling.

1. Ensure R1 is initialised correctly when generating BadPageNumber
errors (labels 94 & 95). Generally this involves setting it to zero to
indicate that no call to LogOp_MapOut is required. Failing to do this
would typically result in a crash.
2. When branching back to the start of the loop after calling
GetNonReservedPage, ensure R0 is reset to zero. Failing to do this would
have a performance impact on LogOp_MapOut, but shouldn't be fatal.
3. In the main routine, postpone writing back DANode_Size until after
the call to physical_to_ppn (because we may decide to abort the op
and return an error without moving a page).
4. Fix stack offset when accessing PMPLogOp_GlobalTBLFlushNeeded.
Getting this wrong could potentially result in some TLB maintenance
being skipped when moving uncacheable pages.
5. Fix stack imbalance at label 94

Version 6.43. Tagged as 'Kernel-6_43'
88219988
Name Last commit Last update
..
AMBControl Mirror OS_AMBControl changes from Pyromaniac
PMF Disable interrupts whilst checking for keys in OS_ReadC / INKEY
vdu Be more forgiving of GraphicsV init failures
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 OS_DynamicArea 22 fixes
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 Use correct access permissions during ROM decompression
HeapMan Add support for HeapReason_GetSkewAligned
HeapSort Avoid unnecesssary remainder calculations
Kernel Remove some obsolete definitions for clarity
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