1. 20 Feb, 2010 1 commit
    • Jeffrey Lee's avatar
      Fix detection of Philips RTC/NVRAM when MaybeIIC is in use · a6492b14
      Jeffrey Lee authored
      Detail:
        s/PMF/i2cutils - Although the code will detect the Philips RTC correctly, it was failing to set the device size in R4, causing CMOS RAM to be misread. This change fixes that.
      Admin:
        Tested in IOMD HAL build on development version of RPCEmu.
      
      
      Version 5.35, 4.79.2.110. Tagged as 'Kernel-5_35-4_79_2_110'
      a6492b14
  2. 02 Feb, 2010 1 commit
    • Jeffrey Lee's avatar
      Fix bug in InitCMOSCache that could cause CMOS to be errouneously reset if... · ed3cc555
      Jeffrey Lee authored
      Fix bug in InitCMOSCache that could cause CMOS to be errouneously reset if NVRAM is of type 'MaybeIIC'
      
      Detail:
        s/PMF/i2cutils - Kernel was checking if the full IIC flags word was equal to MaybeIIC instead of just checking if the Provision bits equalled MaybeIIC. Thus if any of the additional flags were set along with MaybeIIC the kernel would have skipped the probing code, skipped the IIC code, and fallen through to using the (likely unimplemented) HAL interface for initialising the NVRAM cache.
      Admin:
        Tested in IOMD build under RPCemu; kernel now takes the correct path for MaybeIIC + ProtectAtEnd.
      
      
      Version 5.35, 4.79.2.109. Tagged as 'Kernel-5_35-4_79_2_109'
      ed3cc555
  3. 18 Jan, 2010 1 commit
    • John Ballance's avatar
      modified s.PMF.osword to cope with the iyonix RTC operating in BCD · 23e2c1e0
      John Ballance authored
      Also upissued to RISC OS 5.16 to release this in ROM
      Detail:
        (list files and functions that have changed)
      Admin:
      tested at Castle (JB)
        (highlight level of testing that has taken place)
        (bugfix number if appropriate)
      
      
      Version 5.35, 4.79.2.107. Tagged as 'Kernel-5_35-4_79_2_107'
      23e2c1e0
  4. 06 Nov, 2009 1 commit
    • Jeffrey Lee's avatar
      Fix bug when creating code variables via OS_SetVarVal (HAL branch) · 9fe47897
      Jeffrey Lee authored
      Detail:
        OS_SetVarVal was failing to call XOS_SynchroniseCodeAreas after copying the code variables code block into the system heap. This has now been fixed.
      Admin:
        Fix tested in Cortex branch on rev C2 beagleboard. Debugger module now shows the right register names instead of ofla!
      
      
      Version 5.35, 4.79.2.106. Tagged as 'Kernel-5_35-4_79_2_106'
      9fe47897
  5. 28 Oct, 2009 1 commit
    • Ben Avison's avatar
      Build fix · 62fb1997
      Ben Avison authored
      Detail:
        Hdr:Macros has just been changed on the trunk in such a way that you now
        need to include Hdr:CPU.Arch as well. Previously this include file was only
        referenced by the Cortex branch kernel - now mirrored on the HAL branch
        kernel too.
      Admin:
        Verified that IOMD ROM now builds again - should fix Tungsten ROM build too.
      
      Version 5.35, 4.79.2.105. Tagged as 'Kernel-5_35-4_79_2_105'
      62fb1997
  6. 22 Oct, 2009 1 commit
    • Jeffrey Lee's avatar
      Fix error handling for sparse dynamic area resize operations (for main HAL branch) · d0ddc243
      Jeffrey Lee authored
      Detail:
        s/ChangeDyn - Swap CMP with TEQ to avoid accidental clobbering of V flag before its state is checked on return from a SWI. Errors encounterd during sparse dynamic area resize operations (OS_DynamicArea 9 & 10) should now be reported properly.
      Admin:
        Not tested, but the same fix has been proven to work on the Cortex branch.
      
      
      Version 5.35, 4.79.2.104. Tagged as 'Kernel-5_35-4_79_2_104'
      d0ddc243
  7. 07 Jun, 2009 1 commit
    • Ben Avison's avatar
      Added comment · 9e7233fb
      Ben Avison authored
      Detail:
        Noted reservation of IO controller type  passed to OS_Memory 9 used when
        system is running as a coprocessor. Not used by current code but we need to
        make sure that any future reservations use different numbers.
      Admin:
        No functional change. Brought to our attention by Rob Sprowson.
      
      Version 5.35, 4.79.2.103. Tagged as 'Kernel-5_35-4_79_2_103'
      9e7233fb
  8. 15 Apr, 2009 1 commit
  9. 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
  10. 23 Sep, 2005 1 commit
  11. 16 Sep, 2005 1 commit
  12. 15 Sep, 2005 1 commit
    • Ben Avison's avatar
      Bugfix to *Help. · 82d4de44
      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'
      82d4de44
  13. 04 May, 2005 1 commit
  14. 21 Mar, 2005 1 commit
  15. 04 Nov, 2004 1 commit
  16. 02 Nov, 2004 1 commit
    • John Ballance's avatar
      several mode: · 208da9fd
      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'
      208da9fd
  17. 29 Oct, 2004 1 commit
  18. 13 Oct, 2004 1 commit
    • Ben Avison's avatar
      Bugfix and header change. · 9a6346d8
      Ben Avison authored
      Detail:
        * I noticed in passing that the default exception handlers were broken for
          non-IOMD machines if the exception was raised in FIQ mode - unless you
          had a very large application slot, then the machine would lock up. Now
          properly HAL-ised.
        * Added a new event number, allocated for PRISM use back in June.
      Admin:
        Not tested. However, it can't make the situation any worse!
      
      Version 5.35, 4.79.2.78. Tagged as 'Kernel-5_35-4_79_2_78'
      9a6346d8
  19. 06 Oct, 2004 1 commit
    • Ben Avison's avatar
      Change to calling conditions of UnthreadV. · 5e89ff87
      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'
      5e89ff87
  20. 08 Sep, 2004 1 commit
  21. 06 Sep, 2004 1 commit
    • John Ballance's avatar
      fix for invalid cmos checksum computation on iyonix new version date for 5.07 · 83827e89
      John Ballance authored
      Detail:
         CheckSumBlock called IIC_OpV to checksum byte 0 of CMOS, but read back the
         resultant checksum from the wrong offset (#20.. new R1 value)..  now
         corrected to #24 as the correct offset (approx line 997).
      
      Admin:
         tested at castle in iyonix
         castle added IP
      
      
      Version 5.35, 4.79.2.74. Tagged as 'Kernel-5_35-4_79_2_74'
      83827e89
  22. 12 Aug, 2004 1 commit
  23. 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
  24. 21 Jun, 2004 2 commits
    • Ben Avison's avatar
      Bugfixes to OS_Bytes 13 and 14. · 799120d5
      Ben Avison authored
      Detail:
        Event numbers greater than 31 are possible, it's just that OS_GenerateEvent
        doesn't bother cheking the event semaphores for them. However, the value
        returned in R1 from these OS_Bytes always indicated that such events were
        disabled. This suggests that OS_GenerateEvent was not always so, but the
        initials in comments there suggest the change was about RISC OS 3.0.
        The OS_Bytes now correctly reflect OS_GenerateEvent behaviour.
        Another bug fix is that once the event semaphores had saturated at 255,
        OS_Byte 13 was still happy to decrement the semaphore, so for example 256
        enables followed by 255 disables would have disabled the event.
      Admin:
        Not tested.
      
      Version 5.35, 4.79.2.70. Tagged as 'Kernel-5_35-4_79_2_70'
      799120d5
    • Ben Avison's avatar
      Added UnthreadV (vector &2B). Called near the end of despatch of the outermost... · 297a95c2
      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'
      297a95c2
  25. 18 Jun, 2004 1 commit
    • Ben Avison's avatar
      Added four new VDU variables. · f0e2e714
      Ben Avison authored
      Detail:
        174: left border size
        175: bottom border size
        176: right border size
        177: top border size
      Admin:
        Not tested.
      
      Version 5.35, 4.79.2.68. Tagged as 'Kernel-5_35-4_79_2_68'
      f0e2e714
  26. 07 May, 2004 1 commit
  27. 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
  28. 02 Dec, 2003 1 commit
    • Ben Avison's avatar
      Fixed bug in KeyV handling: if it was called before the keyboard handler was... · 4248980f
      Ben Avison authored
      Fixed bug in KeyV handling: if it was called before the keyboard handler was installed, it would abort reading from an address that used to be in the logical copy of physical space on an IOMD machine. This manifested itself during software-initiated resets as an abort during ROM init, leaving you with an apparently dead machine.
      
      Version 5.35, 4.79.2.61. Tagged as 'Kernel-5_35-4_79_2_61'
      4248980f
  29. 31 Mar, 2003 1 commit
  30. 02 Mar, 2003 1 commit
    • Kevin Bracey's avatar
      OSDelink/RelinkApp now work on the list in opposite orders so that the order... · d5916783
      Kevin Bracey authored
      OSDelink/RelinkApp now work on the list in opposite orders so that the order of vector claims doesn't get toggled.
      
      Fix for *FX5 not working due to a TST having been swapped for CMP.
      Checkprotectionlink option added to HAL version so CMOS lock is
      implemented.
      Updated HAL docs.
      
      Version 5.35, 4.79.2.58. Tagged as 'Kernel-5_35-4_79_2_58'
      d5916783
  31. 28 Feb, 2003 1 commit
  32. 21 Feb, 2003 1 commit
    • Ben Avison's avatar
      Miscellaneous stuff. · d91e9420
      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'
      d91e9420
  33. 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
  34. 22 Jan, 2003 1 commit
  35. 18 Dec, 2002 1 commit
    • Ben Avison's avatar
      Added 256-colour version of the (high-resolution only) teletext code, and... · 12055c33
      Ben Avison authored
      Added 256-colour version of the (high-resolution only) teletext code, and support for teletext when hardware scroll is disabled. Both are required for Tungsten.
      
      Turned off the module init/final service calls, since we still don't have an
      allocation for them.
      Upped the OS version number to 5.01.
      
      Version 5.35, 4.79.2.53. Tagged as 'Kernel-5_35-4_79_2_53'
      12055c33
  36. 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
  37. 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
  38. 28 Oct, 2002 1 commit
    • Ben Avison's avatar
      In the No26bitCode case (ie when abort handlers are entered in ABT32 mode), if... · 982426fe
      Ben Avison authored
      In the No26bitCode case (ie when abort handlers are entered in ABT32 mode), if lazy task swapping was enabled and a data abort occurred that was not a page translation fault, then the code in AMB_LazyFixUp to map in the whole application slot was being circumvented, leading to problems for abort handlers in application space because r14_abt was corrupted by any abort due to accessing the abort handler itself. The test of the FSR (to compensate for the FAR being unusable for external aborts) which prompted the circumvention has therefore been moved inside AMB_LazyFixup.
      
      Also now preserves the FSR and FAR across AMB_LazyFixUp, so they are now
      visible from application abort handlers if desired.
      
      Version 5.35, 4.79.2.50. Tagged as 'Kernel-5_35-4_79_2_50'
      982426fe
  39. 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