- 12 Mar, 2020 1 commit
-
-
Robert Sprowson authored
Trying to dump a file larger than 2GB starting from an offset below 2GB would fail because the compare checking whether PTR#han > EXT#han accidentally set V which was taken as an error (but with R0 not really being an error block).
-
- 19 Jan, 2020 1 commit
-
-
Timothy E Baldwin authored
Special case for empty files was crashing, fix by removing which also supports files which report a size of zero but actually contain data such as Unix device nodes and Linux procfs. Error where start outside file adjusted to permit a start exactly at the end of a file to permit (apparently) empty files with no output. Doing likewise for non-empty files is consistent. Also fix closing file in case of error reading GS format from CMOS. Version 6.32. Tagged as 'Kernel-6_32'
-
- 24 Jul, 2016 1 commit
-
-
Robert Sprowson authored
hdr/AHCIDevice: Remove this, since it clashes with the (differing API version number) copy exported by SATADriver. Post merging the Kernel back to the trunk the newer file datestamp has meant the wrong one gets exported during any ROM build which includes both components. Since the Kernel doesn't need AHCIDevice itself, it is left to the respective client (SATADriver or AHCIDriver in this case) to export them. hdr/ModHand: Resolve the longstanding clash of Module_Title with the same named symbol that CMHG uses. There are very few assembler needing to look at the module header (Kernel, FileCore, Debugger, Podule) directly, but every C module which uses CMHG and wants one of the ModHandReason values ends up with a duplicate define. Obsolete Arthur era Module_LoadAddr value. ArthurSWIs.s/MoreComms.s/NewReset.s/SWINaming.s/SysComms.s/Utility.s: Module_Title->Module_TitleStr. ModHand.s: Module_Title->Module_TitleStr. Recode Module_LoadAddr using the file type from Hdr:FileTypes. GetAlls.s: Drop unused NVRAM and PortMan headers. Add Hdr:FileTypes. Version 5.54. Tagged as 'Kernel-5_54'
-
- 15 Jul, 2016 1 commit
-
-
Robert Sprowson authored
The checks in *DUMP tried to spot a stream (ie. a file that can be opened with OS_Find but that OS_File 5 doesn't think is there), but in doing so never set the address or offset, so the hex values shown on the left of the screen would be whatever junk was in r2 & r3. Reorder the tests so it starts at 0 and runs until EOF. Make use of OSFile_ReadWithType rather than trying to deduce if it's an untyped file ourselves. Tested with *DUMP random: from SystemDevs-1_33. Version 5.53. Tagged as 'Kernel-5_53'
-
- 30 Jun, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: This change gets rid of the following switches from the source (picking appropriate code paths for a 32bit HAL build): * FixCallBacks * UseProcessTransfer * CanLiveOnROMCard * BleedinDaveBell * NewStyleEcfs * DoVdu23_0_12 * LCDPowerCtrl * HostVdu * Print * EmulatorSupport * TubeInfo * AddTubeBashers * TubeChar, TubeString, TubeDumpNoStack, TubeNewlNoStack macros * FIQDebug * VCOstartfix * AssemblingArthur (n.b. still defined for safety with anything in Hdr: which uses it, but not used explicitly by the kernel) * MouseBufferFix * LCDInvert * LCDSupport * DoInitialiseMode * Interruptible32bitModes * MouseBufferManager * StrongARM (new CacheCleanerHack and InterruptDelay switches added to hdr/Options to cover some functionality that StrongARM previously covered) * SAcleanflushbroken * StrongARM_POST * IrqsInClaimRelease * CheckProtectionLink * GSWorkspaceInKernelBuffers * EarlierReentrancyInDAShrink * LongCommandLines * ECC * NoSPSRcorruption * RMTidyDoesNowt * RogerEXEY * StorkPowerSave * DebugForcedReset * AssembleKEYV * AssemblePointerV * ProcessorVectors * Keyboard_Type Assorted old files have also been deleted. Admin: Identical binary to previous revision for IOMD & Raspberry Pi builds Version 5.51. Tagged as 'Kernel-5_51'
-
- 29 Jun, 2014 1 commit
-
-
Robert Sprowson authored
Need a custom ROM stage as the Kernel is linked as a binary, and a custom exports phase as the AAsmModule makefile tops out at 3 exported headers, but otherwise the rest can be shared. Tested in an IOMD ROM build. Version 5.35, 4.79.2.228. Tagged as 'Kernel-5_35-4_79_2_228'
-
- 27 Jan, 2013 1 commit
-
-
Robert Sprowson authored
SystemName, ROMSizeOffset, HAL32, HAL26 only used here, moved here. Remove uses of "M_" booleans, apparently that's bad form. Fix SWIDespatch_Size for the non thumb capable case (was ASSERTing). Swapped UserMemStart for AppSpaceStart. Removed last use of OldComboSupport (pre Medusa!). Removed switch 'CDVPoduleIRQs', a correction to the machine definitions mean this can now simply be switched on NumberOfPodules (previously, IOMD couldn't chain podule interrupts). Take out disabled sub interrupt support - it's in CVS if you want to try to get it working. Moved ConfiguredLang to 11 for everyone, it only matters if !Boot fails, and no harm in making it common for 5.xx onwards. Version 5.35, 4.79.2.183. Tagged as 'Kernel-5_35-4_79_2_183'
-
- 28 Oct, 2012 1 commit
-
-
Robert Sprowson authored
Variously the call to TranslateError was either followed (outside the switch) by an unnecessary SETV, or missing SETV for the non international case. Added DMA controller HAL device for IOMD. Version 5.35, 4.79.2.174. Tagged as 'Kernel-5_35-4_79_2_174'
-
- 26 May, 2012 1 commit
-
-
Robert Sprowson authored
The kernel already looks after all other aspects of the ARM CPU, so can look after the cache control command too. HelpStrs.s:New tokens for help and syntax CmdHelp.s:UK help and syntax Arthur3.s:Tables updates for *CONFIGURE/STATUS, lined some stuff up, default error text sync'd with Hdr:NewErrors MoreComms.s:Parsing and doing of *CACHE Utility.s:Hashing table updated for *CACHE Other minor changes hdr/Options:Bring 'MosVer' into the private header hdr/RISCOS:aasm aliases for SP removed, MainVars and MosVer made private, added definition of the start of application space HeapMan.s:Use of GRAB changed to Pull Offset of TutuCMOS changed for more informative PrintSoundCMOS PMF/osbyte.s:Use OsBytes header file in place of MainVars Version 5.35, 4.79.2.151. Tagged as 'Kernel-5_35-4_79_2_151'
-
- 27 Nov, 2011 1 commit
-
-
Robert Sprowson authored
Expand tabs. Swap DCI for instructions now Objasm 4 is out. Symbols for FSControl_CAT/RUN/OPT changed to non Arthur definitions. Still boots on IOMD class, no other testing. Version 5.35, 4.79.2.124. Tagged as 'Kernel-5_35-4_79_2_124'
-
- 08 Aug, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: A whole mass of changes to add high processor vectors + zero page relocation support to the Cortex branch of the kernel At the moment the code can only cope with two ZeroPage locations, &0 and &FFFF0000. But with a bit more tweaking those restrictions can probably be lifted, allowing ZeroPage to be hidden at almost any address (assuming it's fixed at compile time). If I've done my job right, these restrictions should all be enforced by asserts. There's a new option, HiProcVecs, in hdr/Options to control whether high processor vectors are used. When enabling it and building a ROM, remember: * FPEmulator needs to be built with the FPEAnchor=High option specified in the components file (not FPEAnchorType=High as my FPEmulator commit comments suggested) * ShareFS needs unplugging/removing since it can't cope with it yet * Iyonix users will need to use the latest ROOL boot sequence, to ensure the softloaded modules are compatible (OMAP, etc. don't really softload much so they're OK with older sequences) * However VProtect also needs patching to fix a nasty bug there - http://www.riscosopen.org/tracker/tickets/294 The only other notable thing I can think of is that the ProcessTransfer code in s/ARM600 & s/VMSAv6 is disabled if high processor vectors are in use (it's fairly safe to say that code is obsolete in HAL builds anyway?) Fun challenge for my successor: Try setting ZeroPage to &FFFF00FF (or similar) so its value can be loaded with MVN instead of LDR. Then use positive/negative address offsets to access the contents. File changes: - hdr/ARMops - Modified ARMop macro to take the ZeroPage pointer as a parameter instead of 'zero' - hdr/Copro15ops - Corrected $quick handling in myISB macro - hdr/Options - Added ideal setting for us to use for HiProcVecs - s/AMBControl/allocate, s/AMBControl/growp, s/AMBControl/mapslot, s/AMBControl/memmap, s/AMBControl/service, s/AMBControl/shrinkp, s/Arthur2, s/Arthur3, s/ArthurSWIs, s/ChangeDyn, s/ExtraSWIs, s/HAL, s/HeapMan, s/Kernel, s/MemInfo, s/Middle, s/ModHand, s/MoreSWIs, s/MsgCode, s/NewIRQs, s/NewReset, s/Oscli, s/PMF/buffer, s/PMF/IIC, s/PMF/i2cutils, s/PMF/key, s/PMF/mouse, s/PMF/osbyte, s/PMF/oseven, s/PMF/osinit, s/PMF/osword, s/PMF/oswrch, s/SWINaming, s/Super1, s/SysComms, s/TickEvents, s/Utility, s/vdu/vdu23, s/vdu/vdudriver, s/vdu/vdugrafl, s/vdu/vdugrafv, s/vdu/vdupalxx, s/vdu/vdupointer, s/vdu/vduswis, s/vdu/vduwrch - Lots of updates to deal with zero page relocation - s/ARM600 - UseProcessTransfer option. Zero page relocation support. Deleted pre-HAL ClearPhysRAM code to tidy the file up a bit. - s/ARMops - Zero page relocation support. Set CPUFlag_HiProcVecs when high vectors are in use. - s/KbdResPC - Disable compilation of dead code - s/VMSAv6 - UseProcessTransfer option. Zero page relocation support. Admin: Tested with OMAP & Iyonix ROM softloads, both with high & low zero page. High zero page hasn't had extensive testing, but boot sequence + ROM apps seem to work. Version 5.35, 4.79.2.98.2.48. Tagged as 'Kernel-5_35-4_79_2_98_2_48'
-
- 15 Sep, 2005 1 commit
-
-
Ben Avison authored
Detail: Internationalisation of *Help code (ie probably dating back to RISC OS 3.1) broke the Escape condition checking. This is particularly nasty if you do *Help . on a machine with slow hardware scrolling! Admin: Not tested. Version 5.35, 4.79.2.89. Tagged as 'Kernel-5_35-4_79_2_89'
-
- 07 Oct, 2002 1 commit
-
-
Kevin Bracey authored
Version 5.35, 4.79.2.48. Tagged as 'Kernel-5_35-4_79_2_48'
-
- 26 Jun, 2001 1 commit
-
-
Mike Stephens authored
1) Bring IOMD HAL more up to date. Add support for new call HAL_CleanerSpace (preparation for StrongARM kernel support). 2) In kernel, add HAL_CleanerSpace call (preparation for StrongARM and XScale core support). Fix bug found with ARMv3 support during test on Risc PC. 3) Implement new API for kernel SWIs that have used top bits of addresses as flags. The new API has an extra flag that must be set, so kernel can distinguish and support both APIs. The reason for all this is that addresses are 32-bits now, people, keep up there. Briefly: OS_HeapSort bit 31 of r0 set for new API, r1 is full 32-bit address flags move from r1 bits 31-29 to r0 bits 30-28 OS_ReadLine bit 31 of r1 set for new API, r0 is full 32-bit address flags move from bits 31,30 of r0 to bits 30,29 of r1 OS_SubstituteArgs bit 31 of r2 set for new API, r0 is full 32-bit address flag moves from bit 31 of r0 to bit 30 of r2 Tested on Risc PC and briefly on Customer A 2 Ta Version 5.35, 4.79.2.41. Tagged as 'Kernel-5_35-4_79_2_41'
-
- 15 Jun, 2001 1 commit
-
-
Mike Stephens authored
Look for LongCommandLine flag, command line size currently set at 1k. For HAL/32bit builds, the kernel buffer space is at high (top bit set) address, which may break some code using signed comparisons. So *beware* that there may be some latent bugs in old kernel code using these buffers, not yet found. One such bug, in s.Arthur2 found and fixed. Tested moderately on ARM9 desktop build. Lovely to reimplement things I did two and half years ago. Version 5.35, 4.79.2.37. Tagged as 'Kernel-5_35-4_79_2_37'
-
- 15 Sep, 2000 1 commit
-
-
Kevin Bracey authored
* Added ARM_IMB and ARM_IMBRange SWIs as recommended by ARMv5. * Some early prototype HAL bits popped in - a lot of source restructuring still to come. * New debug target creates an AIF image with debug information, and translates this into an ASCII object file for the 16702B logic analyser. Version 5.35, 4.79.2.1. Tagged as 'Kernel-5_35-4_79_2_1'
-
- 12 Apr, 2000 1 commit
-
-
Stewart Brodie authored
Detail: "Podule" number now displayed again in *ROMModule output - flag preservation issue caused it to disappear in 5.23. *Eval output no longer misses its trailing space, neither do "Podule" or "Extn ROM" in *ROMModules output. Heap manager now works again in non-SVC modes. Exception dump now contains faked up 26-bit PC+PSR lookalike. Admin: Assembled.
-
- 04 Apr, 2000 1 commit
-
-
Kevin Bracey authored
Details: The Kernel will now compile to produce a pure 32-bit system if No26bitCode is set to TRUE. If No26bitCode is FALSE, then the Kernel will be a standard 26-bit Kernel, although some internal changes have taken place to minimise compile switches between the two cases. See Docs.32bit for more technical info. The hardest part was the flood-fill... Other changes: Pointer shape changes now take place on the next VSync, rather than actually WAITING for the VSync. Turning the Hourglass on shouldn't slow your machine down by 5% now :) Lots of really crusty pre-IOMD code removed. Admin: Tested in 32 and 26-bit forms in a limited desktop build. Basically, this will need to see a lot of use to iron out difficulties. I'd like anyone who has a non-frozen project to at least attempt using this Kernel. Version 5.23. Tagged as 'Kernel-5_23'
-
- 19 Aug, 1999 1 commit
-
-
Kevin Bracey authored
Version 4.84. Tagged as 'Kernel-4_84'
-
- 21 Jan, 1997 1 commit
-
-
Neil Turton authored
-
- 06 Nov, 1996 1 commit
-
-
Neil Turton authored
-
- 05 Nov, 1996 1 commit
-
-
Neil Turton authored
-