1. 04 Aug, 2011 1 commit
    • Jeffrey Lee's avatar
      Update to work with zero page relocation · 449310ba
      Jeffrey Lee authored
        c/cmodule - Try using OS_ReadSysInfo 6 to find IRQsema before falling back on the legacy address
        h/scheduler - Add IRQsema pointer extern, update ThreadResumed extern to cope with it now being in a data area
        s/scheduler - Use workspace IRQsema pointer instead of hardcoded legacy address. Moved PreEmptionRecovery & ThreadResumed into data area for easier access to IRQsema ptr.
        Tested on rev A2 BB-xM
      Version 0.06. Tagged as 'RTSupport-0_06'
  2. 22 Oct, 2009 1 commit
    • Jeffrey Lee's avatar
      Fixes & improvements for RTSupport module · 907e3d01
      Jeffrey Lee authored
        - Makefile (hopefully temporarily) modified to use "-cpu 3" setting for compiling C files, to work around internal compiler error
        - RT_Deregister fixed (in s/scheduler) to behave properly if a routine attempts to deregister itself after being entered from the foreground via RT_Yield
        - Simple test program added to test correct behaviour of RT_Deregister
        - SVC stack allocation routines rewritten to cope with the possibility that OS_DynamicArea 9/10 may be unable to move pages (e.g. RT_Deregister called while IRQSema is nonzero)
        - Stack allocation routine also attempts to deal with kernels which have broken sparse area error reporting (anything below version 5.15), by falling back on a simpler allocation scheme that doesn't resize the dynamic area.
        - Erroneous comment in s/scheduler fixed
        - Erroneous #define in h/scheduler fixed
        Tested on RISC OS 5.15 rev C2 beagleboard, RISC OS 5.12 Iyonix
        Makefile fix "fixes" bug #218
      Version 0.05...
  3. 27 Aug, 2005 1 commit
    • Ben Avison's avatar
      Fixes some nasty bugs. · b44fb24b
      Ben Avison authored
        * First bug was that due to a careless slip-up in the very last stage of
          the process of switching to a routine (the loading of the SPSR), all
          routines were actually being entered in SYS mode with IRQs disabled. This
          was leading to horrendous interrupt latency - exactly the situation this
          module was written to avert! The most obvious reproducible symptom was
          that the real time clock ran slowly.
        * Once this was fixed, it revealed the presence of a more complicated bug:
          the module wasn't including the most-recently-executed routine along
          with the list of other routines in a non-sleeping state for a certain
          sub-set of actions. This was fixed by setting the pollword pointer to
          yet another magic address while it was executing, to minimise the
          disruption to existing code.
        Tested with a deinterlacing routine.
      Version 0.04. Tagged as 'RTSupport-0_04'
  4. 19 Apr, 2005 1 commit
  5. 27 Jan, 2005 1 commit
  6. 12 Jan, 2005 1 commit