1. 07 Nov, 2014 1 commit
  2. 25 Oct, 2014 1 commit
  3. 29 Aug, 2014 1 commit
    • Jeffrey Lee's avatar
      Add more HAL USB definitions to hdr/HALEntries. Add debug option for calling... · 371f701c
      Jeffrey Lee authored
      Add more HAL USB definitions to hdr/HALEntries. Add debug option for calling HangWatch_Dump on serious errors.
      
      Detail:
        hdr/HALEntries - Added definition of the struct returned by HAL_USBControllerInfo
        hdr/Options, s/Middle - Added the option to call HangWatch_Dump on serious errors
      Admin:
        Tested on BB-xM
      
      
      Version 5.35, 4.79.2.235. Tagged as 'Kernel-5_35-4_79_2_235'
      371f701c
  4. 19 Jun, 2014 1 commit
    • Jeffrey Lee's avatar
      Add definitions for USB controller types · 5e0bb7f3
      Jeffrey Lee authored
      Detail:
        hdr/HALEntries - Added definitions for the different USB controller types reported by HAL_USBControllerInfo
      Admin:
        Tested on Raspberry Pi
      
      
      Version 5.35, 4.79.2.227. Tagged as 'Kernel-5_35-4_79_2_227'
      5e0bb7f3
  5. 04 Apr, 2014 1 commit
    • John Ballance's avatar
      Correction to code to add GraphicsV_PixelFormats call to · a1e56734
      John Ballance authored
        HAL graphics driver calls.  Added further debug capability
      Detail:
        Added additional HAL call. minor code correction in hal graphicsv dispatcher
        Added DebugReg macro to aid debugging
      Admin:
        (highlight level of testing that has taken place)
        (bugfix number if appropriate)
      
      
      Version 5.35, 4.79.2.215. Tagged as 'Kernel-5_35-4_79_2_215'
      a1e56734
  6. 22 Jan, 2013 1 commit
    • Jeffrey Lee's avatar
      Add new HAL call, HAL_IRQMax, to allow the kernel to determine the number of... · 96e77d80
      Jeffrey Lee authored
      Add new HAL call, HAL_IRQMax, to allow the kernel to determine the number of IRQ lines/devices at runtime
      
      Detail:
        hdr/HALEntries - Reuse the old HAL_MonitorLeadID call number for HAL_IRQMax
        hdr/KernelWS - Rearrange CursorChunkAddress workspace a bit. Removed unused OldOscliBuffs and a couple of pre-HAL allocations, and made DefIRQ1Vspace the same size for all build configs. Add an IRQMax var to zero page workspace to cache the value returned by HAL_IRQMax.
        s/HAL - Initialise IRQMax shortly after HAL initialisation. Revise ClearPhysRAM comment to reflect which vars are preserved in the current version of the code.
        s/NewIRQs - Strip out a fair bit of pre-HAL code to make the file more readable. Update OS_ClaimDeviceVector/OS_ReleaseDeviceVector to check against IRQMax instead of the MaxInterrupts compile-time limit.
      Admin:
        Tested on BB-xM, Iyonix, RiscPC, Pi
        Although the OS will now nominally adapt at runtime to how many IRQ devices there are, it's still using MaxInterrupts as an upper limit as the device claimant table has a fixed memory allocation.
      
      
      Version 5.35, 4.79.2.182. Tagged as 'Kernel-5_35-4_79_2_182'
      96e77d80
  7. 02 Sep, 2012 1 commit
    • Jeffrey Lee's avatar
      Preperation for working Raspberry Pi video driver · 3981af57
      Jeffrey Lee authored
      Detail:
        hdr/HALEntries - Add new HAL_Video_StartupMode HAL entry to allow the HAL to specify a startup mode
        s/HAL, s/Kernel - Tweaked debug routines
        s/vdu/vdudriver - Make use of HAL_Video_StartupMode in InitialiseMode to decide what initial mode should be. Clean up some hacks & debug. Improve handling of external framestores; if bit 5 of GraphicsV_DisplayFeatures r0 is set, the kernel will now allow the display driver to grow/shrink/move its framestore in response to mode changes.
        s/vdu/vdugrafv - Adjust default GV_FramestoreAddress implementation to only claim vector if HAL returns a framestore
        s/vdu/vduswis - Re-enable FindOKMode
      Admin:
        Tested on Raspberry Pi with high processor vectors
      
      
      Version 5.35, 4.79.2.147.2.18. Tagged as 'Kernel-5_35-4_79_2_147_2_18'
      3981af57
  8. 20 Jul, 2012 1 commit
  9. 09 Jul, 2012 1 commit
    • Robert Sprowson's avatar
      Sort out hard ROM size for HALs with no hard ROM · 6e934a16
      Robert Sprowson authored
      Previously HAL_PhysInfo took one of two routes to get the arrangment table of arrangement table size.
      Reorganised to accept a subreason to allow other physical info to be requested.
      
      
      Version 5.35, 4.79.2.161. Tagged as 'Kernel-5_35-4_79_2_161'
      6e934a16
  10. 06 Jul, 2012 1 commit
    • Ben Avison's avatar
      Added OS_Hardware 5 · 2b88f4fb
      Ben Avison authored
      Detail:
        This functions like OS_Hardware 4, but enumerates devices in the
        chronological order of registration.
      Admin:
        Builds, but untested.
      
      Version 5.35, 4.79.2.160. Tagged as 'Kernel-5_35-4_79_2_160'
      2b88f4fb
  11. 04 Jul, 2012 1 commit
    • Robert Sprowson's avatar
      Make GraphicsV_IICOp more consistent · c671badb
      Robert Sprowson authored
      No accepts  r0 = b31-24 set 0
                       b23-16 fully qualified IIC address
                       b15-0  starting offset
                  r1 = buffer pointer
                  r2 = number of bytes to tranfer
                  r4 = b31-24 display number
                       b23-16 head
                       b15-0  reason code (=14)
      Now returns r0 = result codes as per HAL_IICTransfer()
                  r1 = buffer pointer incremented by number of bytes transferred
                  r2 = number of bytes *not* transferred
                  r4 = 0
      Removed '_' after Video in entry numbers to be consistent with other HAL entry naming, and HAL_VideoFlybackDevice.
      Added IICStatus return numbers to Hdr:HALEntries.
      Stop calling HAL_MonitorLeadID as only IOMD implemented it - just guess VGA until the graphics driver says otherwise.
      
      Version 5.35, 4.79.2.159. Tagged as 'Kernel-5_35-4_79_2_159'
      c671badb
  12. 21 Jun, 2012 1 commit
    • Robert Sprowson's avatar
      Fix failure to boot with exactly 16MB of RAM · a790a6c2
      Robert Sprowson authored
      With no VRAM, in Kernerl.s.HAL line 370, the less than 16M case sets aside half the RAM as available for video (more than, it uses no more than 32M) but the exactly equals 16M case set aside none.
      Add some exports to hdr.HALEntries to define the subreasons to OS_Hardware.
      
      Version 5.35, 4.79.2.154. Tagged as 'Kernel-5_35-4_79_2_154'
      a790a6c2
  13. 04 Jun, 2012 2 commits
    • Jeffrey Lee's avatar
      Bring Hdr/HALEntries in line with HAL branch · 2b1cad9c
      Jeffrey Lee authored
      Detail:
        Hdr/HALEntries - Added HAL_UARTDefault entry, as per HAL branch
      Admin:
        Untested
      
      
      Version 5.35, 4.79.2.147.2.9. Tagged as 'Kernel-5_35-4_79_2_147_2_9'
      2b1cad9c
    • Jeffrey Lee's avatar
      Add new HAL entry, HAL_UARTDefault. Make use of Hdr:SerialOp & OS_SerialOp 10. · 5519f1d8
      Jeffrey Lee authored
      Detail:
        hdr/HALEntries - Brought in line with RPi branch, plus addition of new HAL_UARTDefault HAL entry, to allow DualSerial to determine which (if any) of the HAL UARTs should be the default UART accessed via OS_SerialOp
        s/GetAll - Add GET of Hdr:SerialOp
        s/PMF/osbyte - Use OS_SerialOp 10 when constructing filename to open for OS_Byte 2
      Admin:
        Tested in OMAP3, Tungsten ROMs
      
      
      Version 5.35, 4.79.2.152. Tagged as 'Kernel-5_35-4_79_2_152'
      5519f1d8
  14. 23 May, 2012 1 commit
    • Ben Avison's avatar
      Refinement to Timer clear change from a recent commit · 250f852b
      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'
      250f852b
  15. 20 May, 2012 1 commit
    • John Ballance's avatar
      Changes to resolve some of the BCM2835 initial hacks · f549c0ff
      John Ballance authored
        1: Added HAL_FramebufferAddress entry.
        2: Minor mod the NoIrqVecSwiDispatch mods recently submitted. Improved coverage
        3: Added compile time switch InverseTextTransparency to toggle sense of text
        (pre-wimp) for use until correct transparency behaviour is introduced in the RPi
        start.elf.
        4: Ensured that if a non aligned frame buffer is reported, ALL of the space
        is actually mapped in.
      Detail:
        (list files and functions that have changed)
      Admin:
        builds and runs .. Still needs service_mode extension work to replace hard
        coded mode definition files
        (highlight level of testing that has taken place)
        (bugfix number if appropriate)
      
      
      Version 5.35, 4.79.2.147.2.5. Tagged as 'Kernel-5_35-4_79_2_147_2_5'
      f549c0ff
  16. 25 Feb, 2012 1 commit
    • Jeffrey Lee's avatar
      Add compressed ROM support. Make more use of ARMv5+ instructions. Other misc tweaks. · 538f3c24
      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'
      538f3c24
  17. 01 Aug, 2011 1 commit
    • Jeffrey Lee's avatar
      Keep hdr/HALDevice & hdr/HALEntries in sync with Cortex branch · afae51e2
      Jeffrey Lee authored
      Detail:
        hdr/HALDevice - Device types & IDs for CPU clock generator and GPIO interface
        hdr/HALEntries - HAL_ExtMachineID entry (but not used by this kernel yet)
      Admin:
        Tungsten ROM built OK, but untested at runtime.
      
      
      Version 5.35, 4.79.2.116. Tagged as 'Kernel-5_35-4_79_2_116'
      afae51e2
  18. 20 Feb, 2011 1 commit
    • Jeffrey Lee's avatar
      Add OS_ReadSysInfo reason codes 11 (read debug info) & 12 (read extended machine ID) · e42119c8
      Jeffrey Lee authored
      Detail:
        OS_ReadSysInfo 10 is left unimplemented since it's a bit fiddly for us.
        OS_ReadSysInfo 11 is compatible with ROL's implementation, exposing HAL_DebugTX and HAL_DebugRX if the HAL provides them.
        See here for 10,11 docs: http://select.riscos.com/prm/core/osreadsysinfo.html
        OS_ReadSysInfo 12 is a new call to return the 'extended machine ID', to allow the HAL to specify the format & validity of the ID.
        If the HAL responds to the new HAL_ExtMachineID call then it's assumed that no old-style machine ID is present. The Kernel will generate an old-style ID using the contents of the extended ID, and use that with OS_ReadSysInfo 2/5.
        New software should use OS_ReadSysInfo 12 in preference to 2/5.
        s/Middle - Updated OS_ReadSysInfo SWI
        s/PMF/osinit - New old-style machine ID initialisation code
        hdr/HALEntries - Added new HAL_ExtMachineID entry
      Admin:
        Tested on rev A2 BB-xM
      
      
      Version 5.35, 4.79.2.98.2.34. Tagged as 'Kernel-5_35-4_79_2_98_2_34'
      e42119c8
  19. 22 Dec, 2008 1 commit
    • Ben Avison's avatar
      Minor kernel updates · ab08ee91
      Ben Avison authored
      Detail:
        * Added some documentation on previously undocumented HAL calls
        * Corrected NVMemoryFlag_Provision bitmask to match documentation
        * Bugfix: NVMemoryFlag_ProtectAtEnd flag was being ignored
      Admin:
        Not tested
      
      Version 5.35, 4.79.2.98. Tagged as 'Kernel-5_35-4_79_2_98'
      ab08ee91
  20. 09 Jun, 2005 1 commit
  21. 29 Oct, 2004 1 commit
  22. 25 Jun, 2004 1 commit
    • Kevin Bracey's avatar
      * Changed some STB switches to Embedded_UI · 0731377c
      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'
      0731377c
  23. 07 May, 2004 1 commit
  24. 06 May, 2004 1 commit
    • Kevin Bracey's avatar
      * HAL can choose to limit amount of screen memory to allocate · 0f6941a8
      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'
      0f6941a8
  25. 31 Mar, 2003 1 commit
  26. 27 Jan, 2003 1 commit
    • Kevin Bracey's avatar
      Support for keys held down in the HAL at power on. · 2c1c85d9
      Kevin Bracey authored
      *Configure ANYTHINGsize was broken due to not setting R0 to ReadUnsigned
      IIC ack message uninternationalised
      OS_Memory was saying we only had 4M of RAM
      VDU4 scrolling when output was switched to sprite was causing corruption
      on use of CTRL-J and CTRL-K
      Default SystemSize CMOS set to 32k
      
      Version 5.35, 4.79.2.55. Tagged as 'Kernel-5_35-4_79_2_55'
      2c1c85d9
  27. 13 Dec, 2002 1 commit
    • Ben Avison's avatar
      HAL device support, and a couple of new service calls. · 5fa74be7
      Ben Avison authored
      Detail:
        * Rejigged documented meaning of device "Location" field so that we can
          fit full PCI locations in.
        * Defined lots of device "Type" values in Hdr:HALDevice.
        * Removed obsolete DMA-related HAL entries in Hdr:HALEntries (no longer
          required by DMAManager 0_15-4_4_2_6, no longer provided by Tungsten HAL
          0.07).
        * OS_Hardware 2 and 3 actually work now.
        * Changed OS_Hardware 4 to take a maximum major version number to match.
        * HAL workspace is now USR mode readable.
        * Service calls issued after module initialisation/finalisation (see
          Docs.ModPostServ).
      Admin:
        OS_Hardware tested, service calls not tested.
      
      Version 5.35, 4.79.2.52. Tagged as 'Kernel-5_35-4_79_2_52'
      5fa74be7
  28. 30 Nov, 2002 1 commit
    • Ben Avison's avatar
      Commit of kernel as featured in release 5.00. · 9664c93b
      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'
      9664c93b
  29. 16 Oct, 2002 1 commit
    • Ben Avison's avatar
      Mostly device stuff. · 14a44ef3
      Ben Avison authored
      Detail:
        * Implemented OS_Hardware 2, 3 and 4 as described in Docs.HAL.NewAPI.
        * Added new OS->HAL and HAL->OS routines to register HAL devices with the
          OS during hard resets.
        * Updated Docs.HAL.NewAPI to correct inconsistencies, fill in missing
          definitions, and allow for interrupt sharing.
        * Now uses OS_LeaveOS to trigger callbacks after ROM module init.
      Admin:
        Untested. Requires new HAL.
      
      Version 5.35, 4.79.2.49. Tagged as 'Kernel-5_35-4_79_2_49'
      14a44ef3
  30. 07 Oct, 2002 1 commit
  31. 26 Jun, 2001 1 commit
    • Mike Stephens's avatar
      1) Bring IOMD HAL more up to date. Add support for new call HAL_CleanerSpace... · 63a6ffec
      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'
      63a6ffec
  32. 11 Jun, 2001 1 commit
  33. 17 May, 2001 1 commit
    • Kevin Bracey's avatar
      * Fixed the IIC code. · 390c26e8
      Kevin Bracey authored
      * Kernel puts sensible default FIQ handler in through the HAL.
      * Fix to temporary page uncaching code.
      
      Version 5.35, 4.79.2.30. Tagged as 'Kernel-5_35-4_79_2_30'
      390c26e8
  34. 16 Mar, 2001 1 commit
  35. 01 Mar, 2001 1 commit
  36. 01 Feb, 2001 1 commit
    • Dan Ellis's avatar
      Addition of HAL UART for Customer L · 69043479
      Dan Ellis authored
      Detail:
        HAL entries have been entered for the Customer L UART (very much like the ARM
      PrimeCell, rather than the 16550).
      Admin:
        It builds.
      
      Version 5.35, 4.79.2.16. Tagged as 'Kernel-5_35-4_79_2_16'
      69043479
  37. 10 Nov, 2000 1 commit
  38. 20 Oct, 2000 1 commit
  39. 16 Oct, 2000 1 commit