1. 20 Mar, 2012 1 commit
    • Jeffrey Lee's avatar
      Use official error block. Disallow instantiation. Warn clients before finalising. · b881f3cf
      Jeffrey Lee authored
        Resources/UK/Messages, s/Errors, hdr/VFPSupport - Errors now declared in public header. New/updated error messages and symbols.
        s/GetAll - Changed GET order to work with errors in header file
        s/Module - Disallow instantiation. Manually issue Service_ModulePostFinal during finalisation, to give clients slightly more warning than the kernel does.
        Tested in OMAP3 ROM
      Version 0.03. Tagged as 'VFPSupport-0_03'
  2. 01 Feb, 2011 2 commits
    • Jeffrey Lee's avatar
      Rename those constants like I said I would · 45287c9a
      Jeffrey Lee authored
        s/Module, hdr/VFPSupport - VFPSupport_Create_LazyActivate & VFPSupport_Create_Activate now renamed to ..._CreateContext_... like they were meant to have been in my last checkin
        Tested on rev A2 BB-xM
      Version 0.02. Not tagged
    • Jeffrey Lee's avatar
      Tweak VFPSupport API and add support for contexts stored in application space · 1355ea60
      Jeffrey Lee authored
        s/Module, hdr/VFPSupport - New/changed features:
        - Contexts can now be flagged as being in application space if they're created with the VFPSupport_Context_AppSpace flag
        - VFPSupport_ChangeContext accepts a VFPSupport_ChangeContext_AppSpace flag, which will force the context change to occur in a nonlazy manner if the currently active context is in application space
        - VFPSupport_CreateContext accepts a VFPSupport_CreateContext_LazyActivate flag, to indicate that after creation the context should be activated lazily (unlike VFSupport_CreateContext_Activate)
        - VFPSupport_Context_Activate renamed to VFPSupport_CreateContext_Activate for clarity
        - VFPSupport_CheckContext now ignores the Activate/LazyActivate flags, so the same flag word can be passed to Check & Create
        - "Context ID" simplified to just "Context pointer", as an indiciation of the fact that I now have no plans to make VFPSupport keep a master list of extant contexts
          - This makes it legal for programs to move/copy/delete contexts as long as they've made sure that the ExamineContext doesn't indicate that any part of the context is active
        - VFPSupport_ExamineContext now returns the context size in R4 instead of the context ID
        Test/test1,ffb - Updated to work with new API
        Tested on rev A2 BB-xM.
        VFPSupport_ExamineContext change is backwards-incompatible!
      Version 0.02. Tagged as 'VFPSupport-0_02'
  3. 25 Nov, 2010 2 commits
    • Jeffrey Lee's avatar
      Add initial version of VFPSupport module · 636765ec
      Jeffrey Lee authored
        Initial VFP/NEON support code for RISC OS. Features:
        * Basic detection code for determining VFP version. Should work OK on all architecture versions.
        * Provides code to perform VFP/NEON context switches
        * Context switches can be lazy or immediate
        * Context register dumps can be stored in user-allocated memory or memory allocated by VFPSupport
        * Basic APIs for examining contexts and reporting available hardware features
        * "FastAPI" that privileged code can use for context switching in order to avoid SWI call overheads
        Missing/unfinished features:
        * No VFP exception handler is present, so the module will refuse to run on anything but a VFPv3 system
        * Lazy context switching is simplistic, opting to activate the new context upon the first undefined instruction abort instead of checking to see if it was a VFP instruction that triggered the abort
        * No interface to allow debuggers to easily get their hands on a register dump following a crash
        * No code to automatically clean up contexts left behind by dying programs
        * Can't be used by FIQ handlers, or from code called by an FIQ handler
        * Currently uses an error base of 0!
        Other notes:
        * Doc/vfpversions contains some random notes about the different VFP/NEON versions
        * Test/test1,ffb is a BASIC program that tests most of the module's functionality
        Tested on Iyonix & Beagleboard. Iyonix version exits correctly, while Beagleboard version passes all tests in the test1 script.
        Need to sort out proper error numbers, and translate the error messages.
      Version 0.01. Not tagged
    • Jeffrey Lee's avatar
      created by srccommit. · d9a85246
      Jeffrey Lee authored