- 07 Sep, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: Docs/RPiNotes - Deleted, contents no longer relevant s/HAL, s/Kernel, s/vdu/vduswis, s/pmf/key - Cleaned up debug code s/NewIRQs - No need to piggy back on timer 0 IRQ to generate a fake VSync; PushModeInfo already claims/releases TickerV as appropriate if video driver doesn't provide a VSync IRQ. s/NewReset - Re-enable LookForHALRTC call, the stack imbalance bug was fixed before the Pi changes were merged in s/vdu/vducursoft - Streamline PostWrchCursor a bit by only preserving R14 around RestorePointer if the software pointer is in use s/vdu/vdudriver - Amend ModeChangeSub improvements to ensure old external framestore handling logic is used if driver doesn't support framestore growth/realloc Admin: Tested on Raspberry Pi with high processor vectors Kernel now looks to be in a good state for merging back into HAL branch Note - Software mouse pointer support in vducursoft only checks HALVideoFeatures, so doesn't take into account the capabilities o...
-
- 23 May, 2012 2 commits
-
-
Ben Avison authored
Detail: An undocumented entry condition of TickOne is that r0 contains the device number corresponding to Timer0. This must be passed to HAL_IRQClear on some platforms. Admin: Tested only on a Raspberry Pi. Also added enumeration of entry numbers in comments in Hdr:HALEntries - a handy reference when debugging from the command line! Version 5.35, 4.79.2.147.2.8. Tagged as 'Kernel-5_35-4_79_2_147_2_8'
-
John Ballance authored
Detail: (list files and functions that have changed) Admin: shown running in system (highlight level of testing that has taken place) (bugfix number if appropriate) Version 5.35, 4.79.2.147.2.7. Tagged as 'Kernel-5_35-4_79_2_147_2_7'
-
- 10 May, 2012 1 commit
-
-
Ben Avison authored
Detail: This is a new branch from the current tip of the HAL branch, incorporating the changes received from Adrian Lees. The same caveats apply - this is a work in progress and will not work on any other platform at present. Admin: Builds, but not tested. Version 5.35, 4.79.2.147.2.1. Tagged as 'Kernel-5_35-4_79_2_147_2_1'
-
- 25 Feb, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/OSEntries, s/HAL, s/Kernel - Add compressed ROM support. With the current scheme, a compressed ROM will have everything except the HAL and kernel compressed. During the keyboard scan period the kernel will allocate some temporary decompression workspace and call the decompression stub that was appended to the ROM. The decompression stub is expected to perform in-place decompression of the ROM. Once decompression is complete the workspace will be freed and the page tables updated to make the ROM image readonly. It's the HAL's responsibility to make sure any compressed ROM is located in an area of physically contiguous RAM large enough to hold the uncompressed image. More info here: http://www.riscosopen.org/wiki/documentation/show/Compressed%20ROMs Makefile, h/OSEntries - Add C export of hdr/OSEntries hdr/HALDevice - Add device ID for Tungsten video device. Convert tabs to spaces for consistency. hdr/HALEntries, s/NewReset - Moved KbdFlag_* definitions to hdr/HALEntries so HALs can use them in their keyboard scan code s/ArthurSWIs, S/HAL, s/HeapSort, s/Kernel, s/MemInfo, s/Middle, s/NewIRQs, s/TickEvents, s/vdu/vdugrafb - Make use of BLX, BFI and long multiplies if the CPU supports them. Don't support SWI calls from thumb mode if the CPU doesn't support thumb. s/HAL - Made the LDMIA in Init_MapInRAM more sensible (register order was backwards). The old code did work, but wasn't doing what the comments described. Removed unused/unfinished HAL_Write0 function. Improve RISCOS_LogToPhys to check L1PT for any section mappings if the logical_to_physical call fails s/ModHand - Save one instruction by using ADR instead of MOV+ADD to compute lr s/NewReset, s/PMF/key - Pass L1PT to HAL_Reset to allow machines without hardware reset (e.g. IOMD) to perform resets by manually disabling the MMU and restarting the ROM s/vdu/vdudriver, s/vdu/vdugrafv - Use GVEntry macro borrowed from NVidia module for setting up the GraphicsV jump table. Make GraphicsV_ReadPaletteEntry call HAL_Video_ReadPaletteEntry if left unclaimed. Fixup GV_Render to only call HAL_Video_Render if the HAL call is implemented. Admin: Tested with OMAP3, IOMD & Tungsten ROMs/softloads. Version 5.35, 4.79.2.138. Tagged as 'Kernel-5_35-4_79_2_138'
-
- 27 Nov, 2011 2 commits
-
-
Robert Sprowson authored
Export less in hdr:RISCOS. Delete unused GetDecimalPair routine. Move CheckYear with other RTC stuff out of PMF/osword. Hide DebugROMInit and DebugROMErrors in release (even numbered) versions. Version 5.35, 4.79.2.127. Tagged as 'Kernel-5_35-4_79_2_127'
-
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'
-
- 24 Sep, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/Arthur3, s/ChangeDyn, s/HAL, s/HeapMan, s/Middle, s/MoreSWIs, s/NewIRQs, s/Utility, s/VMSAv6, s/PMF/key, s/PMF/osbyte, s/PMF/osword, s/vdu/vdudecl, s/vdu/vdudriver, s/vdu/vduplot, s/vdu/vduwrch - Tweaked lots of LDM/STM instructions in order to get rid of the depracation/performance warnings Admin: Tested on rev A2 BB-xM Version 5.35, 4.79.2.98.2.53. Tagged as 'Kernel-5_35-4_79_2_98_2_53'
-
- 12 Sep, 2011 1 commit
-
-
Ben Avison authored
Detail: hdr.ARMops added Cortex_A9 hdr.HALDevice added OMAP4 specific device IDs hdr.KernelWS changed definition of DefIRQ1Vspace for M_CortexA9 s.ARMops added CortexA9 specific code for enabling L2 cache added CPUDesc Cortex_A9 s.NewIRQs added CortexA9 specific definition of MaxInterrupts s.NewReset added M_CortexA9 options line 1444: corrected typo line 187: commented out unnecessary operation Admin: Submission from Willi Theiß Version 5.35, 4.79.2.98.2.50. Tagged as 'Kernel-5_35-4_79_2_98_2_50'
-
- 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'
-
- 19 Feb, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: OS_IICOp (and in turn, RISCOS_IICOpV) now treat the top byte of R1 as containing the IIC bus number, allowing multiple buses to be used. hdr/KernelWS - Changed workspace a bit so that the kernel can support up to IICBus_Count buses (currently 3), each with its own IICBus_* block. s/HAL - Update Reset_IRQ_Handler to cope with interrupts from all IIC buses instead of just the first. Fix/update RISCOS_IICOpV description. s/NewIRQs - Update InitialiseIRQ1Vtable to set up interrupt handlers for all IRQ-supporting IIC buses s/NewReset - Get rid of the IICAbort call that was just before IICInit. IICInit now calls IICAbort itself. s/PMF/IIC - Bulk of the changes. Code now uses the IICBus_ structures instead of the IICStatus and IICType variables. Re-entrancy code has been updated to take into account the possiblity of multiple buses; when OS_IICOp calls are nested, the IIC transfers will be added to bus-specific queues instead of all going in the same queue. However only one queue will be processed at a time. s/ChangeDyn - Workspace shuffling means a couple of MOV's needed to be swapped with LDR's when getting immediate constants Admin: Tested with OMAP & IOMD ROM builds. Both high & low-level bus types seem to work OK, along with re-entrancy, both on the same bus and on a different bus. Version 5.35, 4.79.2.98.2.33. Tagged as 'Kernel-5_35-4_79_2_98_2_33'
-
- 01 Feb, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/ARMops - Added Cortex_A8 processor type, new ARM architecture number hdr/Options - Enabled various kernel debug options s/ARMops - Added Cortex-A8/OMAP3530 to known CPUs list. Ignore cache type register for ARM architecture &F. s/NewIRQs - Increase MaxInterrupts to 96 Admin: Brief testing under qemu-omap3. Version 5.35, 4.79.2.98.2.1. Tagged as 'Kernel-5_35-4_79_2_98_2_1'
-
- 04 Nov, 2004 1 commit
-
-
John Ballance authored
Detail: Kevin work, in response to D Ellis fault find Admin: Castle IP Version 5.35, 4.79.2.82. Tagged as 'Kernel-5_35-4_79_2_82'
-
- 02 Nov, 2004 1 commit
-
-
John Ballance authored
1: default ticker based vsync generated whenever no device present to do so 2: graphicsv handling and spec updated to use the hi 8 bits in the reason code (R4) to define the display number. Kernel only knows of display 0 Detail: Admin: tested castle castle added ip Version 5.35, 4.79.2.81. Tagged as 'Kernel-5_35-4_79_2_81'
-
- 06 Oct, 2004 1 commit
-
-
Ben Avison authored
Detail: Previously, UnthreadV was only called when the IRQsema chain was empty, the link for the just-completed interrupt having just been removed. However, the information in the link is necessary to allow OS_Heap to be called from UnthreadV context, and patching up IRQsema within the UnthreadV handler prevents the implementation of a prioritised threading scheme. As a result, we must call UnthreadV every time the interrupt dispatch unthreads, and leave it up to the UnthreadV handler to distinguish between return to thread context and return from a nested interrupt handler. Admin: Will require some sort of patch to enable heap-safe prioritised threading on RISC OS-STB 5.0.0 or RISC OS 5.07, the only two released OSes with the previous UnthreadV behaviour. Version 5.35, 4.79.2.77. Tagged as 'Kernel-5_35-4_79_2_77'
-
- 25 Jun, 2004 1 commit
-
-
Kevin Bracey authored
* Added use of CDVPoduleIRQs (from Hdr:Machine) * Fixed checksum corruption in OS_NVMemory block writes ending just below the checksum byte. * Fixed R4 corruption by OS_Byte 162 with certain HALs. Version 5.35, 4.79.2.71. Tagged as 'Kernel-5_35-4_79_2_71'
-
- 21 Jun, 2004 1 commit
-
-
Ben Avison authored
Added UnthreadV (vector &2B). Called near the end of despatch of the outermost interrupt, in IRQ32/26 mode with IRQs disabled, just before transient and non-transient callback checking is performed. Suitable for implementing a CBAI replacement. Version 5.35, 4.79.2.69. Tagged as 'Kernel-5_35-4_79_2_69'
-
- 06 May, 2004 1 commit
-
-
Kevin Bracey authored
[Not fully implemented - for now leaves at least 16MB free if only one RAM area; was 1MB]. * Added HAL_USBControllerInfo, HAL_MonitorLeadID and HAL_Video_Render. * Added HAL->OS call OS_IICOpV. * OS_MMUControl now allows independent control of I and C bits. * Added facility to deactivate keyboard debounce (magic word "NoKd" in R2 in KeyV 0). * Fixed problem with RAM amounts not a multiple of 4MB. * Supremacy bit (in VDU 19) now sets all 8 bits of supremacy. * Added PaletteV 14 (reads gamma tables). * Added Supremacy transfer functions (like gamma correction, but for supremacy). Allows easy global supremacy effects in a mode-independent fashion. Controlled with PaletteV 15,16. * Added modes 50-53 (320x240, 1,2,4,8bpp). Intended for small LCD. * Added 13.5kHz versions of TV modes (selected by Hdr:Machine). * Upped desktop version to 5.06. Version 5.35, 4.79.2.66. Tagged as 'Kernel-5_35-4_79_2_66'
-
- 21 Feb, 2003 1 commit
-
-
Ben Avison authored
Detail: * Merged in the change to RISC OS 4.02 kernel that moved the GSTrans workspace out of scratch space. * Fixed a few bugs in callback postponement, and interrupt holes in callback dispatch. See Docs.CallbackChange for full info. * Fixed SystemSizeCMOS to SysHeapCMOS - wouldn't build as was. * Added an export of a C version of Hdr:HALDevice, based on the Hdr2H translation but with an additional struct definition. Required by SoundControl 1.00. * Added some additional location and ID allocations to Hdr:HALDevice. Required by today's HAL and SoundControl. Admin: Partially tested. Version 5.35, 4.79.2.56. Tagged as 'Kernel-5_35-4_79_2_56'
-
- 30 Nov, 2002 1 commit
-
-
Ben Avison authored
Detail: Lots of changes since last version, at least the following: * Updated OS timestamp, removed alpha status * Negative INKEY OS version changed to &AA * GraphicsV is now alocated vector number &2A * ROM moved up to &FC000000 * Max application slot increased to 512 Mbytes (for now) * Max size of RMA increased to 256 Mbytes * RMA is now first-created dynamic area (so it gets lowest address after top of application slot) * OS_Memory 10 reimplemeted * New OS_ReadSysInfo 6 values 18-22 added * OS_ReadSysInfo 8 gains flag bit to indicate soft power-off * Misc internal top-bit-set-address fixes * *ChangeDynamicArea can take sizes in megabytes or gigabytes * Magic word "&off" in R0 passed to OS_Reset powers down if possible * Added acceleration: block copy; CLS; text window scroll up; rectangle fill * Disabled LED flashing in page mode (liable to crash) * Masked sprite plot and VDU 5 text avoids reading the screen if possible * Framestore made USR mode accessible * Fix for VDU 5,127 bug - now relies on font definitions being in extreme quarters of memory, rather than bottom half * Allocated 64-bit OS_Convert... SWIs * IIC errors use allocated error numbers * Looks for Dallas RTC before Philips RTC because we're using a Philips NVRAM device with the same ID * Fix to bug that meant the oscillator in the Dallas RTC wasn't enabled * Default mouse type (USB) changed to allocated number * Ram disc max size increased to 128 Mbytes (Ursula merge) and made cacheable for StrongARMs (not XScale) * Branch through zero handler now works in USR mode, by use of a trampoline in the system stack to allow PC-relative register storage * Address exception handler changed to not use 0 as workspace * OS_Memory 13 extended to allow specification of cacheability and access privileges * Added OS_Memory 16 to return important memory addresses * RISCOS_MapInIO() takes cacheable flag in bit 3, access permissions in bits 10 and 11, doubly-mapped flag in bit 20, and access permissions specified flag in bit 21 * Bug fix in last version for application abort handlers didn't quite work; register shuffle required * "Module is not 32-bit compatible" error now reports the module name * Default configured language changed from 10 to 11 (now Desktop again) Version 5.35, 4.79.2.51. Tagged as 'Kernel-5_35-4_79_2_51'
-
- 07 Oct, 2002 1 commit
-
-
Kevin Bracey authored
Version 5.35, 4.79.2.48. Tagged as 'Kernel-5_35-4_79_2_48'
-
- 18 Jun, 2001 1 commit
-
-
Mike Stephens authored
Ursula. Quite a hairy code merge really, so let's hope it is worth it to someone. What you get (back after 2 or 3 years): - much more efficient for largish numbers of DAs (relevance to current build = approx 0) - fancy reason codes to support fast update of Switcher bar display (relevance = 0) - support for clamped maximum area sizes, to avoid address space exhaustion with big memory (relevance = 0) - better implementation of shrinkable DAs, performance wise (if lots of DAs, relevance = approx 0) - support for 'Sparse' DAs. Holey dynamic areas, Batman! (relevance, go on someone use the darned things) Moderately development tested on HAL/32bit ARM9 desktop. Note the Switcher should be compiled to use the new reason codes 6&7, for fabled desktop builds. Also, during this work, so I could see the wood for the trees, redid some source code clean up, removing pre-Medusa stuff (like I did about 3 years ago on Ursula, sigh). That's why loads of source files have changed. The new DA stuff is confined pretty much to hdr.KernelWS and s.ChangeDyn. Ta. Version 5.35, 4.79.2.38. Tagged as 'Kernel-5_35-4_79_2_38'
-
- 09 Oct, 2000 1 commit
-
-
Kevin Bracey authored
-
- 06 Oct, 2000 1 commit
-
-
Kevin Bracey authored
It says "Abort on data transfer".
-
- 05 Oct, 2000 2 commits
-
-
Kevin Bracey authored
Version 5.35, 4.79.2.7. Tagged as 'Kernel-5_35-4_79_2_7'
-
Kevin Bracey authored
Version 5.35, 4.79.2.5. Tagged as 'Kernel-5_35-4_79_2_5'
-
- 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'
-
- 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'
-
- 23 Mar, 2000 1 commit
-
-
Ben Avison authored
Detail: Most of the centisecond timers were incremented very early in the Timer0 interrupt routine, but MetroGnome was incremented after we had called TickerV. Routines on TickerV are allowed to enable interrupts, so any interrupt routines that use OS_ReadMonotonicTime and IRQRQA are unable to accurately determine if the monotonic time is one tick out-of-date or not. MetroGnome is now incremented with the other timers. Admin: Tested with the timer code in STB-400 MPEGDriver. Version 5.22. Tagged as 'Kernel-5_22'
-
- 26 Oct, 1999 1 commit
-
-
Kevin Bracey authored
Version 5.04. Tagged as 'Kernel-5_04'
-
- 25 Oct, 1999 3 commits
-
-
Kevin Bracey authored
Version 5.03. Tagged as 'Kernel-5_03'
-
Kevin Bracey authored
Version 5.02. Tagged as 'Kernel-5_02'
-
Kevin Bracey authored
If reassigned, ReadSysInfo3 returns &00x22200 in R0, to indicate that the serial and parallel ports aren't compatible, and IDE and floppy are unavailable. Version 5.01. Tagged as 'Kernel-5_01'
-
- 03 Aug, 1999 1 commit
-
-
Kevin Bracey authored
* Integrated Ursula fast service call dispatch code. * Added Interruptible32bitModes from Ursula. * Stopped allowing ROM modules (other than the Kernel/UtilityModule) to write to the hardware vectors in 26-bit mode. Version 4.81. Tagged as 'Kernel-4_81'
-
- 30 Sep, 1998 1 commit
-
-
Kevin Bracey authored
Bandwidth limit for 7500FE fixed. RO371Timings flag set to :LNOT:STB Version 4.64. Tagged as 'Kernel-4_64'
-
- 21 Jan, 1997 1 commit
-
-
Neil Turton authored
-
- 21 Nov, 1996 1 commit
-
-
Neil Turton authored
-
- 06 Nov, 1996 1 commit
-
-
Neil Turton authored
-
- 05 Nov, 1996 1 commit
-
-
Neil Turton authored
-