- 28 Apr, 2022 1 commit
-
-
ROOL authored
Version 2.99. Tagged as 'HdrSrc-2_99'
-
- 23 Apr, 2022 1 commit
-
-
Jeffrey Lee authored
Add STREX_succeeded & STREX_failed to Hdr.Global.CPU.Generic32, so components don't have to define their own versions Version 2.98. Tagged as 'HdrSrc-2_98'
-
- 28 Jan, 2022 1 commit
-
-
Ben Avison authored
Version 2.97. Tagged as 'HdrSrc-2_97'
-
- 27 Nov, 2021 1 commit
-
-
Stuart Swales authored
Detail: APCS Return macro changed when UAL is in use to remove warnings. Push and Pull in Hdr:Macros also changed for UAL. PullAPCS and single register push/pull substitute Push and Pull macros. Version 2.96. Tagged as 'HdrSrc-2_96'
-
- 31 May, 2021 1 commit
-
-
Robert Sprowson authored
Looks like a copy/paste of the ARMVH switch, with the effect that [Support|No]ARMVv4 were both unset false (should be impossible) and [Support|No]ARMVH cross wired as the ARMVv4 value instead. Version 2.95. Tagged as 'HdrSrc-2_95'
-
- 20 Mar, 2021 1 commit
-
-
Robert Sprowson authored
For those HALs which are << 64k this would allow 32k of space reclaim, giving the full progression 32->64->96->128 to choose from. Version 2.94. Tagged as 'HdrSrc-2_94'
-
- 08 Jan, 2021 1 commit
-
-
ROOL authored
* Various new public filetypes * New keyboard layout Version 2.93. Tagged as 'HdrSrc-2_93'
-
- 28 Nov, 2020 1 commit
-
-
Julie Stamp authored
Detail: Makefile: Export to "h.UpCall" rather than "h.Upcall"; this change won't affect any builds, but if anybody includes "Global/Upcall.h" then cross-compilation fails on case-sensitive filesystems since GNUmakefile uses "UpCall". Admin: Untested Version 2.92. Tagged as 'HdrSrc-2_92'
-
- 25 Jul, 2020 1 commit
-
-
Robert Sprowson authored
ObjAsm 4.08 spots macros using MyBase$Suffix where MyBase is a substring of another macro. Generic32 has CL$op and SE$op which causes many hundreds of warnings due to CLRV and SETV for example. Write out the macros longhand, and use a longer unique name for the generic implementation. Version 2.91. Tagged as 'HdrSrc-2_91'
-
- 20 May, 2020 1 commit
-
-
ROOL authored
* Filetype for YAML * Error definitions for OS_AMBControl errors as reported by Pyromaniac Version 2.90. Tagged as 'HdrSrc-2_90'
-
- 16 Mar, 2020 1 commit
-
-
ROOL authored
* Better document the history of ErrorBase_AbortRegions * Define OS_Pointer reason codes + missing PointerV code Version 2.89. Tagged as 'HdrSrc-2_89'
-
- 25 Feb, 2020 1 commit
-
-
ROOL authored
Error allocations, including retrospective allocations for some errors used in RISC OS 6. Version 2.88. Tagged as 'HdrSrc-2_88'
-
- 23 Jan, 2020 1 commit
-
-
Ben Avison authored
Extra service calls for long descriptor page table support Version 2.87. Tagged as 'HdrSrc-2_87'
-
- 16 Nov, 2019 1 commit
-
-
Jeffrey Lee authored
Version 2.86. Tagged as 'HdrSrc-2_86'
-
- 09 Nov, 2019 1 commit
-
-
Timothy E Baldwin authored
Version 2.85. Tagged as 'HdrSrc-2_85'
-
- 02 Nov, 2019 1 commit
-
-
Jeffrey Lee authored
Version 2.84. Tagged as 'HdrSrc-2_84'
-
- 12 Oct, 2019 1 commit
-
-
Ben Avison authored
Macros in this header file had inconsistent capitalisation. This is a legacy of the earliest macros being `ENTRY` and `EXIT`. Macro names that are all uppercase or all lowercase are a bad idea, because they can clash with opcodes or assembler directives that are added at a later date: this is what happened with `ENTRY` when objasm was developed, hence the introduction of the identical `Entry` macro, and mass renaming across the source tree was required when it switched to using objasm. The other downside of all-uppercase or all-lowercase macro names is that it makes it impossible to design a syntax colouring algorithm that is forward compatible with new opcodes (and ARM continues to add new opcodes with almost every new minor revision of the architecture). Note that related macro names depend on the vintage of the header at which they were introduced: compare `ALTENTRY` with `EntryS`. Additional mixed-case versions of macros `ALTENTRY`, `EXIT`, `EXITS`, `EXITV`, `EXITVC`, `EXITVS`, `FRAMLDR` and `FRAMSTR` are hereby introduced. The old macro names are also retained (it would be a very large job to substitute them throughout the source tree) but at least new code can now consistently use mixed case. The `FRAMCOM` and `FRAMSPL` macros are for internal use of the header file, so uppercase versions of these did not need to be retained. Also: * Delete `ENTRY` macro: it's a long time since anything has been buildable using aasm, which is the only assembler that accepts this macro * Correct cut-and-paste errors in the messages `ExitVC without EntryS` and `ExitVS without EntryS` Version 2.83. Tagged as 'HdrSrc-2_83'
-
- 08 Oct, 2019 1 commit
-
-
Ben Avison authored
Add public filetype for JSON files Version 2.82. Tagged as 'HdrSrc-2_82'
-
- 12 Sep, 2019 1 commit
-
-
Ben Avison authored
* SWI chunk for the CompressPNG module * Wimp message structure definitions Version 2.81. Tagged as 'HdrSrc-2_81'
-
- 19 Aug, 2019 1 commit
-
-
Ben Avison authored
Some later XScales also supported supersections - albeit ones we don't support yet - but they mean it's not incorrect to include these definitions in this header. However, defining the bits now means that we don't need to insert MEMM_Type build-time switches into the kernel for the page table code that now handles supersections. Version 2.80. Tagged as 'HdrSrc-2_80'
-
- 15 Jul, 2019 1 commit
-
-
Ben Avison authored
Version 2.79. Tagged as 'HdrSrc-2_79'
-
- 23 Jun, 2019 1 commit
-
-
Ben Avison authored
Detail: The memory barriers ISB, DSB & DMB were intially introduced in ARMv6 as CP15 operations, however they were replaced at ARMv7 with dedicated instructions and the old CP15 encodings deprecated. Since ARMv7VE was introduced, some CPUs can be configured to make the CP15 encodings undefined instructions. For unconfigurable CPUs, the CP15 encodings are always enabled, but for others, we need to set this bit in SCTLR. Note, this sort of behaviour usually implies ARM intend on removing these instructions in a future architecture, so we might need to plan for this eventuality. Version 2.78. Tagged as 'HdrSrc-2_78'
-
- 30 May, 2018 1 commit
-
-
Ben Avison authored
Video overlay allocations, and a correction to ErrorBase_SMP Version 2.77. Tagged as 'HdrSrc-2_77'
-
- 27 Apr, 2018 1 commit
-
-
Ben Avison authored
Version 2.76. Tagged as 'HdrSrc-2_76'
-
- 15 Apr, 2018 1 commit
-
-
Ben Avison authored
Version 2.75. Tagged as 'HdrSrc-2_75'
-
- 12 Apr, 2018 1 commit
-
-
Ben Avison authored
Detail: HdrSrc is such an unusual component that the only shared makefile fragment it uses is StdTools. Almost every line requires edits to accommodate the differences between amu and GNU make, so for clarity we use separate makefiles for the two tools. Admin: I'd forgotten that I'd created the XCompile branch a few years back until just now! I think this is a superior solution because it confines the changes to a single file, at least in the short-term. Version 2.74. Tagged as 'HdrSrc-2_74'
-
- 26 Jan, 2018 1 commit
-
-
Jeffrey Lee authored
Detail: * Neither of our native Cortex-A9 machines natively support 16 colour modes, so HiResTTX must be used since the kernel only supports >16 colour TTX when that option is on. * Our Cortex-A8 machines can do 16 colours, but we might as well switch them to HiResTTX as well since they've got plenty of horsepower to render it at that resolution. * That just leaves IOMD as the odd one out using low-res TTX. If hardware scrolling or VDU 23,18,1 is used then performance of hi-res TTX doesn't seem to be that much worse than low-res, so for consistency it's probably best to take the performance hit and run all platforms with HiResTTX. hdr/Machine/Machine - Updated as above. Also use TTX256 for Cortex-A9 so that the "native" mode 7 will be 256 colour instaed of 16 colour. Admin: Tested on Pandaboard, iMX6, BB-xM, StrongARM RiscPC Fixes lack of teletext on Pandaboard + iMX6 Version 2.73. Tagged as 'HdrSrc-2_73'
-
- 25 Jul, 2017 1 commit
-
-
Ben Avison authored
Version 2.72. Tagged as 'HdrSrc-2_72'
-
- 07 Jun, 2017 1 commit
-
-
Ben Avison authored
Version 2.71. Tagged as 'HdrSrc-2_71'
-
- 29 Dec, 2016 1 commit
-
-
Ben Avison authored
Detail: Additional error and service call definitions requested by Sprow Version 2.70. Tagged as 'HdrSrc-2_70'
-
- 02 Aug, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/MEMM/VMSAv6 - Add AP_PROM for the "privileged mode ROM" permission. Define the shareable bit for L1 page table entries. Admin: Tested on Raspberry Pi Version 2.69. Tagged as 'HdrSrc-2_69'
-
- 01 Aug, 2016 1 commit
-
-
Ben Avison authored
Detail: Additional kernel error numbers for Jeffrey Lee Version 2.68. Tagged as 'HdrSrc-2_68'
-
- 03 Jul, 2016 1 commit
-
-
Ben Avison authored
Version 2.67. Tagged as 'HdrSrc-2_67'
-
- 18 Jun, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/CPU/Generic32 - Copy-paste error led to wrong variable name in a conditional block Admin: Tested on Raspberry Pi, Iyonix Version 2.66. Tagged as 'HdrSrc-2_66'
-
- 12 Jun, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: Many of our existing PSR manipulation macros (specifically, ones used for changing mode or controlling interrupts) are based around the code sequences you'd typically use on a 26bit system. Although this has worked well in terms of producing a 32bit version of the OS, it's also left us with macros that can be sub-optimal for 32bit machines, or are inconvenient to use due to the potential of corrupting other PSR flags This change adds a new set of macros which are designed and optimised for 32bit-only targets, but can still fall back to 26/32bit neutral or 26bit-only configurations hdr/CPU/Generic32: - Add the new macros (SEI, CLI, SetModeSEI, SetModeCLI & variants). - Improve existing SetMode macro to add 26bit compatibility, and to add an extra optimisation for pre-ARMv6 (emit single MSR if IRQ state is known) - Improve SCPSR to allow the source mode to be any 32bit mode - Fix conditional 26bit/32bit neutral SCPSR - the 32bit check TEQ corrupts NZCV so we can't do conditional execution on $cond after it (and we've already branched on the opposite condition anyway) - Fix 26bit/32bit neutral SCPSR to preserve NZCV when following the MSR code path - Make CLRPSR and SETPSR just call through to SCPSR - in terms of output the first two have no advantages over SCPSR - Update WritePSRc documentation to reflect that it can now be used in any (non-USR) source mode hdr/CPU/Generic26: - Update WritePSRc documentation to match Generic32 Admin: Tested on Raspberry Pi Output of new macros manually checked for various machine types (RPi, Tungsten, All, 26) Version 2.65. Tagged as 'HdrSrc-2_65'
-
- 05 Jun, 2016 1 commit
-
-
Steve Revill authored
MODE 7 doesn't really work because the DVI framer chip can't clock as low as 13.5MHz for 320x200. Version 2.64. Tagged as 'HdrSrc-2_64'
-
- 28 May, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/Machine/26, hdr/Machine/Machine - Add new "26" machine type, which targets all 26 bit machines/OS versions (running only in 26 bit mode) hdr/CPU/Arch - Use ELIF to avoid bracket spam. Remove duplicate CortexA7 case. hdr/CPU/Generic26 - Add NOPs to PSR manipulation macros in order to make them ARM2-safe (Generic32 macros are already structured to have suitable NOPs when generating 32bit-neutral code, so it makes sense for Generic26 to take care of ARM2 as well). This removes the need for components which use these macros to insert any manual NOPs, whether for the StrongARM MSR bug or the ARM2 TEQP bug. hdr/CPU/Generic32 - Flag the StrongARM MSR NOP diagnostic message as a warning, so the line number can be included in the output, so developers can more easily investigate the issue. Admin: Tested with PlingSystem build Version 2.63. Tagged as 'HdrSrc-2_63'
-
- 09 May, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/Macros - Remove GET of Hdr:CPU.Arch that was added in HdrSrc 2.61. Closer inspection of the OS sources suggest that only a handful of files were affected by the DivRem breakage, so to avoid HdrSrc turning into a tangled mess of headers that all include each other it's been decided that it's better to stick with the status quo and require users of Hdr:Macros to include Hdr:CPU.Arch as and when necessary (99% of the time Hdr:System will have already pulled it in). Admin: Tested on Raspberry Pi Version 2.62. Tagged as 'HdrSrc-2_62'
-
- 08 May, 2016 2 commits
-
-
Jeffrey Lee authored
Detail: hdr/Macros - Several macros now depend on Hdr:CPU.Arch, and it's reasonable to assume more architecture-specific optimisations will be made in future, so make sure we GET that header if necessary Admin: Tested on Raspberry Pi Fixes issues building components that GET Hdr:Macros but not Hdr:CPU.Arch, e.g. DivRem usage in several HALs Version 2.61. Tagged as 'HdrSrc-2_61'
-
Jeffrey Lee authored
Detail: hdr/Macros - DivRem is now able to use UDIV when building for architectures that support it. A "norem" option is also available, to allow the remainder calculation to be skipped if it's not needed (since we don't get it for free when using UDIV). hdr/CPU/Generic32 - PHPSEI, WritePSRc and SetMode now use the ARMv6 CPS instruction where possible, delivering performance gains compared to the equivalent MSR. Where CPS isn't used, WritePSRc now attempts to emit a single MSR instead of the 4 instructions generated by the SCPSR macro. Admin: Tested on Cortex-A15 PSR manipulation macros trialed on a few different CPU architectures to arrive at the conclusion that CPS is as good or better than MSR Version 2.60. Tagged as 'HdrSrc-2_60'
-