1. 03 Aug, 2022 1 commit
    • Ben Avison's avatar
      Add 64-bit versions of clz and family · 6f406594
      Ben Avison authored
      Where algorithms naturally use 64-bit quantities, these functions will lend
      themselves to even better optimisation under AArch64.
      
      Also opt back in to the softload_gnu CI job, since this is one of the
      components for which it already passes.
      
      Version 0.21. Tagged as 'AsmUtils-0_21'
      6f406594
  2. 25 Jun, 2022 2 commits
  3. 12 Jun, 2016 1 commit
    • Robert Sprowson's avatar
      Correction to function prototype · 01914e43
      Robert Sprowson authored
      The implementation of osvarlen expects 2 arguments, but the header file only declares 1, so R4 becomes undefined.
      
      Version 0.19. Tagged as 'AsmUtils-0_19'
      01914e43
  4. 08 May, 2016 1 commit
  5. 19 Sep, 2014 1 commit
  6. 16 Sep, 2012 1 commit
    • Robert Sprowson's avatar
      Allow No32bitCode=FALSE No26bitCode=FALSE to work · 817137da
      Robert Sprowson authored
      For disc targets the above condition is true, so things using AsmUtils in this situtation might be run on something with no MSR/MRS.
      No32bitCode=TRUE with No26bitCode=TRUE remains invalid, but the 3 other combinations are now supported.
      Binaries inspected by eye for 3 combinations.
      
      Version 0.16. Tagged as 'AsmUtils-0_16'
      817137da
  7. 01 Feb, 2012 1 commit
    • Robert Sprowson's avatar
      Fix to osvarlen. · ab5ddb80
      Robert Sprowson authored
      While the filename and function prototype are 'osvarlen' the symbol in the code was not, making this quite hard to use.
      Symbol renamed.
      
      Version 0.15. Tagged as 'AsmUtils-0_15'
      ab5ddb80
  8. 14 Jan, 2012 1 commit
  9. 24 Dec, 2011 1 commit
    • Robert Sprowson's avatar
      Fix bug in usermode_donothing() exposed by using this from the Internet module. · a31ce970
      Robert Sprowson authored
      In the 26 bit case the TEQP pc,#0 switches to user mode and enables interrupts (see section 8.2.1 of ARM ARM revision E), however the 32 bit case only switched to user mode.
      Since interrupts were not enabled, no callbacks got collected, and you just sit in a tight loop. Since a precondition of collecting callbacks is that interrupts are enabled it is safe to reenable them since the caller must have expected this to happen.
      Since none of the SWIs in question corrupt R12, we no longer stack it either.
      
      Version 0.13. Tagged as 'AsmUtils-0_13'
      a31ce970
  10. 14 Dec, 2011 1 commit
  11. 26 Jun, 2009 1 commit
    • Ben Avison's avatar
      Added install rule · 564a2a15
      Ben Avison authored
      Admin:
        This is only intended for use when building the disc image for the C/C++ CD.
      
      Version 0.11. Tagged as 'AsmUtils-0_11'
      564a2a15
  12. 01 Jul, 2005 1 commit
  13. 04 Jun, 2000 1 commit
    • Stewart Brodie's avatar
      Added new alias for callback collection. · 7ebd30b4
      Stewart Brodie authored
      Detail:
        Quite a few modules seem to use user_mode_donothing instead of just
          usermode_donothing.  This alias is now provided here too.
      Admin:
        Built.
      
      Version 0.09. Tagged as 'AsmUtils-0_09'
      7ebd30b4
  14. 08 May, 2000 1 commit
    • Stewart Brodie's avatar
      Added escape condition checking and handling code. · 96475ccd
      Stewart Brodie authored
      Detail:
        escape_check returns R0:0 as the escape condition flag (returned in
          C flag from OS_ReadEscapeState).
        escape_check_ack will acknowledge an escape condition if one exists
          (OS_Byte 126)
        escape_check_clear will clear an escape condition if one exists
          (OS_Byte 124)
      Admin:
        Built.
      
      Version 0.08. Tagged as 'AsmUtils-0_08'
      96475ccd
  15. 05 May, 2000 1 commit
  16. 15 Mar, 2000 1 commit
    • Stewart Brodie's avatar
      Added a couple of new APIs to the 64-bit number support. · 5f61a0f1
      Stewart Brodie authored
      Detail:
        The ui64_value and si64_value routines now have versions with a
          return value of type unsigned int and int respectively, to
          allow callers to avoid narrowing cast warnings during builds.
      Admin:
        Compiled.
        Required by NFS 3.07
      
      Version 0.06. Tagged as 'AsmUtils-0_06'
      5f61a0f1
  17. 10 Feb, 2000 1 commit
  18. 30 Nov, 1999 2 commits
    • Stewart Brodie's avatar
      Exports VersionNum file as LibVersion to avoid include path problems. · ed9966d9
      Stewart Brodie authored
      Admin:
        Required to avoid build cockups in any components which put C:AsmUtils
          on the include path.
      
      Version 0.04. Tagged as 'AsmUtils-0_04'
      ed9966d9
    • Stewart Brodie's avatar
      Added osvarlen and muldiv. · a6edd929
      Stewart Brodie authored
        Fixed major bug in heapswis.s
      Detail:
        heapswis.s was using a bad return from one of the veneer functions
          which caused things like NFS to die horribly when they loaded.
        osvarlen replaces the files commonly known as riscosa - which find
          the length of a system variable.  A veneer is needed because _swix
          does not fill in the output registers on an error.  See PRM details
          on OS_ReadVarVal for more information.
        muldiv is another frequently used lump of code to do a*b/c where a*b
          is calculated first as a 64-bit product, and then the division
          applied.
        Header files exported containing comments on usage.
      Admin:
        All No32bitCode assembler disassembled and re-examined by hand to
          verify no more cockups.
      
      Version 0.03. Tagged as 'AsmUtils-0_03'
      a6edd929
  19. 29 Nov, 1999 1 commit
    • Stewart Brodie's avatar
      IRQ management support added. · c8e135bc
      Stewart Brodie authored
      Detail:
        IRQ management code has been added, provided irqs_on/irqs_off
          and ensure_irqs_on/ensure_irqs_off/restore_irqs.
        Removed the hardwiring of No26bitCode from sixtyfour.s :-)
        Missing #endif's added to other header files.
      Admin:
        Code examined in decaof to validate output.
        Required by ShareFS 3.45 et al.
      
      Version 0.02. Tagged as 'AsmUtils-0_02'
      c8e135bc
  20. 26 Nov, 1999 1 commit
    • Stewart Brodie's avatar
      Updated to use Hdr:APCS.<APCS> · d6adadd8
      Stewart Brodie authored
      Detail:
        26-bit builds OK.
        32-bit builds OK - don't rely on UMULL working.
      Admin:
        Tested by examination of object code.
      
      Version 0.01. Tagged as 'AsmUtils-0_01'
      d6adadd8
  21. 22 Nov, 1999 2 commits
    • Stewart Brodie's avatar
      Import of library providing assembler abstractions for C code. · 66657bbd
      Stewart Brodie authored
      Detail:
        Contains code for collecting callbacks, obtaining the base address
          of a module, 64-bit maths and the veneers to OS_Heap that pervade
          the source tree.
      Admin:
        Requires kbracey_32bit:RiscOS/Sources/Programmer/HdrSrc
        Do not use (yet) on main trunk.
      
      Tagged as AsmUtils-0_00_prerelease
       
      66657bbd
    • Stewart Brodie's avatar
      Import of library providing assembler abstractions for C code. · bda014bf
      Stewart Brodie authored
      Detail:
        Contains code for collecting callbacks, obtaining the base address
          of a module, 64-bit maths and the veneers to OS_Heap that pervade
          the source tree.
      Admin:
        Requires kbracey_32bit:RiscOS/Sources/Programmer/HdrSrc
        Do not use (yet) on main trunk.
      
      Tagged as AsmUtils-0_00_prerelease
      bda014bf