1. 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
  2. 04 Mar, 2004 1 commit
  3. 17 Feb, 2004 1 commit
  4. 07 Jan, 2004 1 commit
  5. 05 Jan, 2004 2 commits
    • Ben Avison's avatar
      OS date brought into this year. · 13a4c332
      Ben Avison authored
      Also, at John's request, added hints about where to find copyright date
      information elsewhere in the build.
      
      Version 5.35, 4.79.2.63. Tagged as 'Kernel-5_35-4_79_2_63'
      13a4c332
    • Ben Avison's avatar
      OS date brought into this year. · 2aa59e61
      Ben Avison authored
      Also, at John's request, added hints about where to find copyright date
      information elsewhere in the build.
      2aa59e61
  6. 19 Dec, 2003 1 commit
  7. 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
  8. 15 Apr, 2003 1 commit
  9. 31 Mar, 2003 1 commit
  10. 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
  11. 28 Feb, 2003 1 commit
  12. 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
  13. 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
  14. 22 Jan, 2003 1 commit
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 07 Oct, 2002 1 commit
  21. 07 Feb, 2002 1 commit
    • Ben Avison's avatar
      IIC code is now re-entrant. Also a bugfix. · 4ecea6cc
      Ben Avison authored
      Detail:
        I pinched the IIC code from here to build MPEGDriver-0_32-1_33_2_2; now
        that I've added re-entrancy there (MPEGDriver-0_32-1_33_2_4), I'm folding
        the changes back in here, in case it's ever of use to someone else.
        Re-entrancy is achieved by restricting register use to r0-r3,r10,r11,CPSR
        so that re-entered code can complete any pending IIC operation by
        pulling those registers from the IRQ stack, before executing the new
        operation.
        The bugfix is regarding a continued read transaction - previously, the
        final byte read of a read transaction was never acknowledged; it needs to
        be acknowledged if it is immediately followed by another read transaction
        without its own repeated Start condition.
      Admin:
        Tested as part of MPEGDriver, but not as part of a kernel build.
      
      Version 5.35, 4.79.2.47. Tagged as 'Kernel-5_35-4_79_2_47'
      4ecea6cc
  22. 11 Jul, 2001 1 commit
    • David Cotton's avatar
      Change for Customer M build. · 16021e84
      David Cotton authored
      Detail:
          The Kernel now sets "ProtectStationID" on the basis of the Embedded_UI
      flag, rather than the STB flag, so you're able to set the bottom byte of your
      IP address in IPConfig.
      
      Admin:
          Untested.
      
      Version 5.35, 4.79.2.46. Tagged as 'Kernel-5_35-4_79_2_46'
      16021e84
  23. 04 Jul, 2001 2 commits
  24. 29 Jun, 2001 1 commit
  25. 27 Jun, 2001 1 commit
    • Mike Stephens's avatar
      StrongARM is back, and this time it's provisional! · f39e1298
      Mike Stephens authored
      IOMD HAL:
        enables fast clock for StrongARM on Medusa h/w
      
      Kernel:
        ARMops for StrongARM implemented. Tested moderately on
        HAL/32-bit minimal desktop build for Risc PC. Could do
        with more testing later. eg. does reentrant cache
        cleaning support really work?
        Lazy task swapping is enabled for revT or later, wahey.
      
      Version 5.35, 4.79.2.42. Tagged as 'Kernel-5_35-4_79_2_42'
      f39e1298
  26. 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
  27. 22 Jun, 2001 1 commit
    • Mike Stephens's avatar
      fix bug in oscli gstrans handling (a problem provoked by long command lines... · 6be01a33
      Mike Stephens authored
      fix bug in oscli gstrans handling (a problem provoked by long command lines with top bit set buffer addresses and not fixed properly). Problem was mistaken rejection of gstrans'd parameters other than at beginning of buffer.
      
      Tested on simple desktop build for Risc PC
      
      Version 5.35, 4.79.2.40. Tagged as 'Kernel-5_35-4_79_2_40'
      6be01a33
  28. 21 Jun, 2001 1 commit
  29. 18 Jun, 2001 1 commit
    • Mike Stephens's avatar
      Reimplement enhancements to kernel Dynamic Area support from · 3f877936
      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'
      3f877936
  30. 15 Jun, 2001 1 commit
    • Mike Stephens's avatar
      Merge in long command line support from Ursula kernel. · 8727ebaa
      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'
      8727ebaa
  31. 13 Jun, 2001 3 commits
    • Mike Stephens's avatar
      Changes to Lazy task swapping to support abort handler in abort mode (now that we can count to 32). · a0f4966c
      Mike Stephens authored
      LazyFixup now ensures all app pages are mapped in before handing
      on a real (no-lazy) abort. This allows an abort handler in app
      space itself, without scrambling the details of the original
      abort (via a lazy abort in abort mode).
      Many a happy minute spent coding and testing for recursive
      aborts and fixups, but lets just pretend it doesn't happen
      shall we.
      Tested with simple popbang code on ARM9 desktop build.
      
      Version 5.35, 4.79.2.36. Tagged as 'Kernel-5_35-4_79_2_36'
      a0f4966c
    • Simon Forrest's avatar
      * Added FIQ disabling code to HAL entry table. · f35516b7
      Simon Forrest authored
      Detail:
      
        * (As above.)  The HAL entry table was missing the HAL_FIQDisableCode
          entry, causing assertion checks to fail.
      
      Admin:
      
        * Problem found during Customer L build.
      
        * Built but untested.
      
      Version 5.35, 4.79.2.35. Tagged as 'Kernel-5_35-4_79_2_35'
      f35516b7
    • Kevin Bracey's avatar
      Moved IOAllocPtr and IOAllocLimit to SkippedTables - the ARM9 got away with it... · 5d747bd7
      Kevin Bracey authored
      Moved IOAllocPtr and IOAllocLimit to SkippedTables - the ARM9 got away with it because of the writeback cache, but poor souls like Simon condemned to an eternity of the ARM7 were a bit stuffed.
      
      Version 5.35, 4.79.2.34. Tagged as 'Kernel-5_35-4_79_2_34'
      5d747bd7
  32. 11 Jun, 2001 1 commit
  33. 06 Jun, 2001 1 commit
    • Mike Stephens's avatar
      Further work on Lazy task swapping: · ae287104
      Mike Stephens authored
        hooks to give correct mapping info for OS_Memory 0
        same for OS_ReadMemMapEntries
        same for OS_FindMemMapEntries
        Lazy fixup routine no longer assumes an abort in current
        app space must be a truant page. However, work in this
        area not complete (no support yet for abort handler code
        in app space itself, eg. for C trampoline)
      Good to know this will be a big performance boost when
      our products use one monolithic application (sarcasm).
      Ta
      
      Version 5.35, 4.79.2.32. Tagged as 'Kernel-5_35-4_79_2_32'
      ae287104
  34. 22 May, 2001 1 commit
    • Mike Stephens's avatar
      Reimplement Lazy task swapping, an amusing idea from Ursula, would have done... · bdc4f843
      Mike Stephens authored
      Reimplement Lazy task swapping, an amusing idea from Ursula, would have done it sooner but couldn't be bothered (humour).
      
      Currently activates for all ARMs flagged as base-restored
      abort model. No handling of eg. StrongARM pre-revT bug, but
      then the kernel no longer runs on StrongARM (progress).
      Still some details to fix: all aborts in current app space
      assumed to be missing pages, but this must be fixed to
      handle abort code in app space, things like debuggers
      marking code read only.
      
      Plus, small fixes:
        OS_Memory 8 returns vaguely useful info for RAM,VRAM
        in HAL build (temporary partial implementation)
        Broken handling of old BBC commands with (fx,tv etc)
        with no spaces fixed (fudgeulike code from Ursula,
        now 32-bit).
      
      Version 5.35, 4.79.2.31. Tagged as 'Kernel-5_35-4_79_2_31'
      bdc4f843
  35. 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
  36. 11 May, 2001 1 commit
    • Simon Forrest's avatar
      * Variant of the Kernel and L7200 HAL that supports multiple hardware targets. · ea50d7a5
      Simon Forrest authored
      Detail:
      
        * Must now specify the hardware target
          to ensure that the L7200 HAL is built with the appropriate tweaks to
          support each.  This is achieved by specifying:
      
                    -options "BOARD=<target>"
      
          within the components file for the HAL_L7200 component.
      
      Admin:
      
        * Tested on Customer L build to create a ROM suitable for the Customer M unit
          (that has only minor differences to the Customer L).
      
        * Affects all projects using the L7200 HAL, which must now specify the
          hardware target in the components file.
      
      Version 5.35, 4.79.2.29. Tagged as 'Kernel-5_35-4_79_2_29'
      ea50d7a5