Support runtime selection of pagetable format
Jeffrey Lee authored
Runtime selection between long descriptor and short descriptor page
table format is now possible (with the decision based on whether the HAL
registers any high RAM or not). The main source changes are as follows:

* LongDesc and ShortDesc switches are in hdr.Options to control what
kernel variant is built
* PTOp and PTWhich macros introduced in hdr.ARMops to allow for
invocation of functions / code blocks which are specific to the page
table format. If the kernel is being built with only one page table
format enabled, PTOp is just a BL instruction, ensuring there's no
performance loss compared to the old code.
* _LongDesc and _ShortDesc suffixes added to various function names, to
allow both versions of the function to be included at once if runtime
selection is enabled
* Most of the kernel / MMU initialisation code in s.HAL is now encased
in a big WHILE loop, allowing it to be duplicated if runtime switching
is enabled (easier than adding dynamic branches all over the place, and
only costs a few KB of ROM/RAM)
* Some more functions (notably AccessPhysicalAddress,
ReleasePhysicalAddress, and MapInIO) have been moved to s.ShortDesc /
s.LongDesc since they were already 90% specific to page table format
ba993cb5
Name Last commit Last update
..
AMBControl Support runtime selection of pagetable format
PMF Support runtime selection of pagetable format
vdu Support RAM banks with high physical addresses
ARM600 Support runtime selection of pagetable format
ARMops Support runtime selection of pagetable format
Arthur2 Fix OS_EvaluateExpression
Arthur3 Fix OS_EvaluateExpression
ArthurSWIs Increase number of vectors supported by the kernel to 96.
CPUFeatures Revise comments - it's multiprocessing extensions, not virtualisation
ChangeDyn Support runtime selection of pagetable format
Convrsions Fix abort after translating error
Exceptions Implement support for cacheable pagetables
ExtraSWIs Remove some obsolete definitions for clarity
GetAll Initial long descriptor support
HAL Support runtime selection of pagetable format
HeapMan Add support for HeapReason_GetSkewAligned
HeapSort Avoid unnecesssary remainder calculations
Kernel Support runtime selection of pagetable format
LibKern Initial long descriptor support
LongDesc Support runtime selection of pagetable format
MOSDict Import from cleaned 360 CD
MemInfo Support runtime selection of pagetable format
MemMap2 Support runtime selection of pagetable format
Middle Support runtime selection of pagetable format
ModHand Special case extension of aligned RMA claims
MoreComms
MoreSWIs
MsgCode
NewIRQs
NewReset
Oscli
SWINaming
ShortDesc
Super1
SysComms
TickEvents
UnSqueeze
Utility
VMSAv6
VMSAv6Long
VMSAv6Short