- 20 Feb, 2018 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/VFPSupport - Define VFPSupport_Features reason code 3, for reading extra feature registers s/Macros - Use ELIF to shorten myVMRS & myVMSR macros. Add MVFR2 support to myVMRS. s/Module - Implement VFPSupport_Features 3, for reading MVFR2 (and three other values reserved for future proofing). Since there doesn't seem to be an easy way of detecting the presence of MVFR2, we fall back on a list of known-good FPSID values, like with MVFR0/MVFR1 on pre-VFPv3 systems. Also update VFPSupport_ChangeContext to do a dummy load from the new VFP context, to help trap bad contexts before we've updated our state to indicate that that context is active. Test/features,ffb - Add VFPSupport_Features 3 output Admin: Tested on Raspberry Pi 1, 2, 3 Version 0.13. Tagged as 'VFPSupport-0_13'
-
- 25 Nov, 2010 1 commit
-
-
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 * 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 Admin: 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
-