1. 25 Nov, 2010 1 commit
    • Jeffrey Lee's avatar
      Add initial version of VFPSupport module · 636765ec
      Jeffrey Lee authored
      Detail:
        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...
      636765ec