7.1. Features of the VFP Support Code

The VFP Support Code provides a VFP system with a mechanism of dealing with uncommon and exceptional instructions that are not dealt with directly by the VFP coprocessor hardware.

The support code provided with this application note supports a fully IEEE 754 compliant floating-point model when used in conjunction with a VFP coprocessor. The support code does not provide a complete software implementation of the VFP architecture (VFP emulation software).

VFP Support Code files

The support code provided with this application note is made up of a number of files.

The following files are provided in source form in the \vfp_support subdirectory of the associated example code. These files might have to be modified when integrating with an operating system.

Table 6. 

controlbuffer.cBuffer used to transfer information from the top-level handler to the computation engine.
controlbuffer.hC header for controlbuffer.c
slundef.hInterface to second level undef handlers
tlundef.sTop-level handler which identifies the cause of the undefined instruction exception and takes the appropriate action
sldummy.sDummy coprocessor and undef handlers for use in example code
vfpfptrap.sProvides a wrapper around the standard _fp_trap handler in the C Library for the computation engine to call
vfpundef.c Called from top-level undef handler once a CP10,CP11 bounce is identified, registers are saved and mode is switched
vfpwrapper.s Provides a wrapper around the Computation Engine for the top level handler to call

The following files are provided in source format in the \vfp_support subdirectory of the associated example code. These files contain functions to access the subarchitecture defined functionality of the VFP9/VFP10/VFP11 family of VFP coprocessors.

Table 7. 

vfpsubarch.hHeader for vfpsubarch.s
vfpsubarch.sSubarchitecture support.
vfpsupport.bComputation Engine of the VFP Support Code (big-endian version). The computation engine emulates VFP operations that the hardware has bounced.
vfpsupport.lComputation Engine of the VFP Support Code (little-endian version)

The relationships between these files are shown in the following diagram:

Figure 6. 

Copyright © 2005. All rights reserved.DAI0133B