1. 24 Mar, 2012 1 commit
    • Ben Avison's avatar
      Retired *Configure options, and a new header export · 68f45833
      Ben Avison authored
      Detail:
        * As noted in recent commits to ADFS, the *Configure options Dir and NoDir
          haven't done anything since RISC OS 2, so ADFS has stopped reading the
          CMOS bit. Unusually, these options are implemented by the kernel, so this
          is the accompanying change to remove the *Configure options. This frees
          up a bit of CMOS for future re-use.
        * Now exports a C version of Hdr:ModHand.
      Admin:
        Builds OK, but not tested in a ROM build yet (should be fairly safe though)
      
      Version 5.35, 4.79.2.143. Tagged as 'Kernel-5_35-4_79_2_143'
      68f45833
  2. 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
  3. 27 Nov, 2011 1 commit
    • Robert Sprowson's avatar
      Conversions rationalisation. · 0d73c680
      Robert Sprowson authored
      Delete pmf/convdate, moved to conversions.
      Moved OS_BinaryToDecimal to conversions.
      Remove OS_ConvertHex16 and friends.
      Add OS_ConvertVariform skeleton.
      Tidied conversions.
      
      Version 5.35, 4.79.2.125. Tagged as 'Kernel-5_35-4_79_2_125'
      0d73c680
  4. 03 Aug, 2011 2 commits
    • Jeffrey Lee's avatar
      Add new OS_ReadSysInfo 6 items. Change naming of PublicWS values. · d2c62e16
      Jeffrey Lee authored
      Detail:
        s/Middle - Added some new OS_ReadSysInfo 6 items which are needed by the zero page relocation kernel. Also duplicated some existing entries to avoid conflicts with ROL's allocations.
        hdr/OSRSI6, Makefile - New header listing OS_ReadSysInfo 6 items
        hdr/PublicWS - Duplicated the workspace definitions for &0-&4000, but with a 'Legacy_' prefix to their names. Also added some new entries as needed by the zero page relocation kernel. Once existing modules have been updated to use OS_ReadSysInfo 6 & the Legacy_ definitions, the old defs will be removed.
        hdr/KernelWS - Removed 'Export_' prefix from all the exported workspace values, since the kernel can now use the original names directly
        hdr/Options - Dummy HiProcVecs option so merging things will be a bit cleaner
      Admin:
        Tested on rev A2 BB-xM
      
      
      Version 5.35, 4.79.2.98.2.44. Tagged as 'Kernel-5_35-4_79_2_98_2_44'
      d2c62e16
    • Jeffrey Lee's avatar
      Add new OS_ReadSysInfo 6 items codes. Change naming of PublicWS values. · b1bc3052
      Jeffrey Lee authored
      Detail:
        s/Middle - Added some new OS_ReadSysInfo 6 items which are needed by the zero page relocation kernel. Also duplicated some existing entries to avoid conflicts with ROL's allocations.
        hdr/OSRSI6, Makefile - New header listing OS_ReadSysInfo 6 items
        hdr/PublicWS - Duplicated the workspace definitions for &0-&4000, but with a 'Legacy_' prefix to their names. Also added some new entries as needed by the zero page relocation kernel. Once existing modules have been updated to use OS_ReadSysInfo & the Legacy_ definitions, the old defs will be removed.
        hdr/KernelWS - Removed 'Export_' prefix from all the exported workspace values, since the kernel can now use the original names directly
        hdr/Options - Dummy HiProcVecs option so merging things will be a bit cleaner
      Admin:
        Tested in ROM softload on Iyonix
      
      
      Version 5.35, 4.79.2.118. Tagged as 'Kernel-5_35-4_79_2_118'
      b1bc3052
  5. 01 Aug, 2011 2 commits
    • Jeffrey Lee's avatar
      Bring Cortex kernel branch in line with HAL branch · c79c1310
      Jeffrey Lee authored
      Detail:
        Makefile - Now uses ${PERL} for running perl
        s/Kernel - Now uses correct "Bad OS_PlatformFeatures reason code" error number
        s/MemInfo - Updated list of OS_Memory 9 controllers
      Admin:
        OMAP3 ROM compiles OK; untested at runtime
      
      
      Version 5.35, 4.79.2.98.2.43. Tagged as 'Kernel-5_35-4_79_2_98_2_43'
      c79c1310
    • Jeffrey Lee's avatar
      Update 'perl' to '${PERL}' · 7f86b773
      Jeffrey Lee authored
      Detail:
        Makefile - A couple of makefile rules were invoking perl directly instead of using the more preferential ${PERL}. Fixed.
      Admin:
        Tungsten ROM compiles OK, untested at runtime.
      
      
      Version 5.35, 4.79.2.117. Tagged as 'Kernel-5_35-4_79_2_117'
      7f86b773
  6. 31 Jul, 2011 3 commits
    • Jeffrey Lee's avatar
      Add new GPIO device type & OMAP3 GPIO device ID · e14282c7
      Jeffrey Lee authored
      Detail:
        hdr/HALDevice - Added GPIO device type in the Comms group, and an ID for a generic OMAP3 GPIO device
        hdr/GPIODevice - Definition of GPIO device structure. Currently only used to store the type and revision of the main board, so the GPIO manager module can tailor its features appropriately.
        Makefile - Export hdr/GPIODevice
      Admin:
        Tested on rev A2 BB-xM
      
      
      Version 5.35, 4.79.2.98.2.42. Tagged as 'Kernel-5_35-4_79_2_98_2_42'
      e14282c7
    • Jeffrey Lee's avatar
      Update the method the HAL kernel uses to determine the UtilityModule & ROM dates · e249f5da
      Jeffrey Lee authored
      Detail:
        Three main changes:
        * On odd-numbered (i.e. development) versions of the module, the UtilityModule will now take its date from the VersionNum file instead of using a hard-coded date
        * All build versions now look for the new "extended ROM footer" (as created by romlinker 0.04+) at the end of the ROM image and use it to determine the ROM build date for return by OS_ReadSysInfo 9,2. Failing to find the build date in the footer will cause OS_ReadSysInfo 9,2 to return 0.
        * On odd-numbered versions, OS_Byte 0 will now use the ROM build date (as found in the extended footer) to generate the error block that's returned to the user. This seems OK as the PRM describes OS_Byte 0 as returning the "creation date of the operating system". Plus it's a convenient way of getting the ROM build date into the Switcher, since the switcher uses OS_Byte 0. If the extended footer can't be found (or if the string isn't initialised yet, e.g. before Service_PostInit) the code falls back to a hard-coded string containing the date from the VersionNum file.
        File changes:
        Makefile - Updated to not create the obsolete Time+Date file (previously used for the ROM build date)
        Version - Use date from VersionNum file for development builds
        hdr/Options - New UseNewFX0Error variable/option to make it easy to check which OS_Byte 0 variant should be enabled
        hdr/KernelWS - Added new string buffers & extended ROM footer pointer to workspace
        s/Middle - Updated OS_ReadSysInfo 9 code, and added utility functions for searching the extended ROM footer for certain tags
        s/NewReset - Added a couple of calls to initialise the new string buffers just prior to Service_PostInit. This is required since OS_Byte/OS_ReadSysInfo shouldn't enable interrupts, but date conversion relies on the Territory module, which may enable interrupts.
        s/PMF/osbyte - Updated OS_Byte 0 code
      Admin:
        Tested in Tungsten ROM, with and without the extended footer present.
      
      
      Version 5.35, 4.79.2.115. Tagged as 'Kernel-5_35-4_79_2_115'
      e249f5da
    • Jeffrey Lee's avatar
      Update the method the Cortex kernel uses to determine the UtilityModule & ROM dates · daa8607f
      Jeffrey Lee authored
      Detail:
        Three main changes:
        * On odd-numbered (i.e. development) versions of the module, the UtilityModule will now take its date from the VersionNum file instead of using a hard-coded date.
        * All build versions now look for the new "extended ROM footer" (as created by romlinker 0.04+) at the end of the ROM image and use it to determine the ROM build date for return by OS_ReadSysInfo 9,2. Failing to find the build date in the footer will cause OS_ReadSysInfo 9,2 to return 0.
        * On odd-numbered versions, OS_Byte 0 will now use the ROM build date (as found in the extended footer) to generate the error block that's returned to the user. This seems OK as the PRM describes OS_Byte 0 as returning the "creation date of the operation system". Plus it's a convenient way of getting the ROM build date into the Switcher, since the switcher uses OS_Byte 0. If the extended footer can't be found (or if the string hasn't been initialised yet, e.g. before Service_PostInit) the code falls back to a hard-coded string containing the date from the VersionNum file.
        File changes:
        Makefile - Updated to not create the obsolete Time+Date file (previously used for the ROM build date)
        Version - Use date from VersionNum file for development builds
        hdr/Options - New UseNewFX0Error variable/option to make it easy to check which OS_Byte 0 variant should be enabled
        hdr/KernelWS - Added new string buffers & extended ROM footer pointer to workspace
        s/Middle - Updated OS_ReadSysInfo 9 code, and added utility functions for searching the extended ROM footer for certain tags
        s/NewReset - Added a couple of calls to initialise the new string buffers just prior to Service_PostInit. This is required since OS_Byte/OS_ReadSysInfo shouldn't enable interrupts, but date conversion relies on the Territory module, which may enable interrupts.
        s/PMF/osbyte - Updated OS_Byte 0 code
      Admin:
        Tested in OMAP ROM, with and without the extended footer present.
      
      
      Version 5.35, 4.79.2.98.2.41. Tagged as 'Kernel-5_35-4_79_2_98_2_41'
      daa8607f
  7. 04 Jun, 2011 2 commits
    • Jeffrey Lee's avatar
      Add hdr.Variables to the C header export, fix ARMv6 issues · b8267d5d
      Jeffrey Lee authored
      Detail:
        Makefile - Added hdr.Variables to the C header export list
        hdr/ARMops, s/ARMops - Added ARM1176JZF-S to the list of known CPUs
        s/ARMops - Fix unaligned memory access in ARM_PrintProcessorType
        hdr/Copro15ops, s/ARMops, s/HAL, s/VMSAv6, s/AMBControl/memmap - Fixed all myDSB/myISB/etc. macro instances to specify a temp register, so that they work properly when building an ARMv6 version of the kernel
      Admin:
        Fixes build errors with the latest Draw module.
        Should also allow the kernel to work properly with the new S3C6410 port.
        ARMv6 version builds OK, but no other builds or runtime tests have been made.
      
      
      Version 5.35, 4.79.2.98.2.38. Tagged as 'Kernel-5_35-4_79_2_98_2_38'
      b8267d5d
    • Jeffrey Lee's avatar
      Add hdr.Variables to C header export · 819b8458
      Jeffrey Lee authored
      Detail:
        Makefile - Added hdr.Variables to the C header export list
      Admin:
        Fixes build errors with the latest Draw module
      
      
      Version 5.35, 4.79.2.113. Tagged as 'Kernel-5_35-4_79_2_113'
      819b8458
  8. 22 May, 2011 2 commits
    • Jeffrey Lee's avatar
      Add C version of Hdr.OSEntries to HAL kernel header export · 77d5848c
      Jeffrey Lee authored
      Detail:
        Makefile - now exports a C version of hdr.OSEntries
      Admin:
        Tested in Iyonix ROM softload.
        Needed for latest USB drivers to build.
      
      
      Version 5.35, 4.79.2.112. Tagged as 'Kernel-5_35-4_79_2_112'
      77d5848c
    • Jeffrey Lee's avatar
      Update Cortex branch of kernel to support HALSize env variable. Export C version of hdr.OSEntries. · 1bd9c9e0
      Jeffrey Lee authored
      Detail:
        Makefile - Now exports a C version of hdr.OSEntries, for use by the new HAL USB drivers
        s/GetAll, s/Kernel - The HALSize env variable is now used in place of hard-coded values for the HAL size
        s/HAL - Reset_IRQ_Handler now switches to SVC mode before calling HAL_KbdScanInterrupt, to allow the HAL USB drivers to re-enable interrupts if they wish.
        s/VMSAv6 - Deleted some obsolete definitions
      Admin:
        Tested on rev C2 BB, A2 BB-xM, C1 TouchBook
        Needs latest BuildSys, Env, HdrSrc
      
      
      Version 5.35, 4.79.2.98.2.37. Tagged as 'Kernel-5_35-4_79_2_98_2_37'
      1bd9c9e0
  9. 29 Nov, 2009 1 commit
    • Jeffrey Lee's avatar
      Fix cortex kernel makefile · 232135e5
      Jeffrey Lee authored
      Detail:
        Makefile rule was missing for VideoDevice header export, preventing it from being exported
      Admin:
        Tested on rev C2 beagleboard. (No, really, I mean it this time!)
      
      
      Version 5.35, 4.79.2.98.2.17. Tagged as 'Kernel-5_35-4_79_2_98_2_17'
      232135e5
  10. 28 Nov, 2009 1 commit
  11. 23 Jul, 2009 1 commit
    • Jeffrey Lee's avatar
      Add HAL RTC support to Cortex branch of kernel, clean up RTCSupport code · 7f21e480
      Jeffrey Lee authored
      Detail:
        HAL kernels (on the Cortex branch at least) now support HALDevice-based RTCs. If the kernels own RTC code is disabled or fails to detect an RTC, then after HAL_InitDevices is called the HALDevice list will be scanned for any HAL-resident RTC devices.
        Additionally, the RTCSupport flag (in Hdr:Machine.Machine), which was previously TRUE for all HAL kernels, can now be set to FALSE in HAL kernels to disable the kernels own IIC RTC code. This allows the unwanted legacy RTC code to be disabled for machines which are known to use HAL RTCs instead.
        hdr/RTCDevice - new header describing data structures used for HAL RTC device
        hdr/HALDevice - added RTCDevice device type, IIC serial bus type
        hdr/KernelWS - upgraded RTCFitted from a 1 byte field to 4 byte. It now stores either a null value (for no RTC), a value <2048 for an IIC RTC address, or a value >= 2048 for a RTCDevice ptr
        Makefile - added header export of hdr/RTCDevice
        s/GetAll - include hdr/RTCDevice
        s/NewReset - initialise HAL RTC after HAL_InitDevices if required
        s/PMF/i2cutils, s/PMF/osinit, s/PMF/osword - modifications to allow use of HAL RTC (and disallow use of builtin IIC RTC)
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 5.35, 4.79.2.98.2.11. Tagged as 'Kernel-5_35-4_79_2_98_2_11'
      7f21e480
  12. 15 Jun, 2009 1 commit
    • Ben Avison's avatar
      Fix bugs and inefficiencies revealed by unaligned data audit · 8a9e694c
      Ben Avison authored
      Detail:
        s.PMF.i2cutils line 454: this LDR of byte values was harmless (bits 8
          upwards are discarded later) but slower than an LDRB on ARMv6 or later.
        s.PMF.i2cutils line 556: should have loaded RTCFitted using LDRB. Looks
          like effect would have been to reduce utilisation of CMOS cache.
        s.vdu.vduswis line 1500: mistakenly accessing ExternalFramestore using LDR.
          I don't think the intention was to prevent the screen DA being resized
          while screen memory was claimed, but that was the effect.
        s.vdu.vduwrch line 3106: this LDR of a 1-byte variable was harmless (only
          used for testing bit 4) but slower than an LDRB on ARMv6 or later.
        CPU version is no longer specified in the makefile - it's better to inherit
        it from the build environment now that we actually set it appropriately.
      Admin:
        Built and briefly tested.
      
      Version 5.35, 4.79.2.98.2.9. Tagged as 'Kernel-5_35-4_79_2_98_2_9'
      8a9e694c
  13. 07 Jun, 2009 1 commit
    • Ben Avison's avatar
      Build fix · 0538bbba
      Ben Avison authored
      Detail:
        Some users reported problems building the sources if they had other
        installations of perl on their build machine. The build system was using a
        mixture of "perl" and "<Perl$Dir>.perl" to invoke the interpreter, and
        sometimes but not always using "do" to expand system variables on the
        command line. This has now been standardised to use "do <Perl$Dir>.perl in
        all cases, and where possible, to use the makefile macro ${PERL}.
      Admin:
        Checked that a Tungsten build still works on a build machine with no other
        perl installation. "perl" was aliased to an error to ensure it wasn't used.
      
      Version 5.35, 4.79.2.102. Tagged as 'Kernel-5_35-4_79_2_102'
      0538bbba
  14. 12 Nov, 2004 1 commit
    • Ben Avison's avatar
      BBE tidying. · ec70a1a4
      Ben Avison authored
      Detail:
        Tightened up BBE resources export, to exclude in appropriate files (this
        component has a non-standard resources directory structure).
      Admin:
        Tested in a Tungsten BBE build.
      
      Retagged, since this won't affect any existing builds.
      ec70a1a4
  15. 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
  16. 07 Oct, 2002 1 commit
  17. 16 Oct, 2000 1 commit
  18. 09 Oct, 2000 1 commit
  19. 02 Oct, 2000 1 commit
  20. 15 Sep, 2000 1 commit
    • Kevin Bracey's avatar
      * Converted to building with ObjAsm (but still a single object file using ORG). · 49836a59
      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'
      49836a59
  21. 10 Aug, 1999 1 commit
    • Stewart Brodie's avatar
      Exports a C version of Hdr:RISCOS · 2a2f8af6
      Stewart Brodie authored
      Detail:
        Hdr:RISCOS contains some of the most useful constant declarations,
          including the vector numbers and event numbers.  The new improved
          Hdr2H script is now capable of converting this header file into C
          too.  It exports it as <CExport$Dir>.Global.h.RISCOS.  It cannot
          interfere in existing code as it requires explicit inclusion as
          #include "Global/RISCOS.h".
        No actual kernel code changes.
      Admin:
        File examined manually and checked for correctness against Hdr:RISCOS.
        Requires library 0.28 or later (RiscOS/Library  Tag: Library-0_28)
      
      Version 4.82. Tagged as 'Kernel-4_82'
      2a2f8af6
  22. 14 Apr, 1999 1 commit
  23. 30 Sep, 1998 1 commit
    • Kevin Bracey's avatar
      Spinner branch merged. · 5ba3f5db
      Kevin Bracey authored
      Bandwidth limit for 7500FE fixed.
      RO371Timings flag set to :LNOT:STB
      
      Version 4.64. Tagged as 'Kernel-4_64'
      5ba3f5db
  24. 05 Nov, 1996 1 commit