VfpOemInitEx (Compact 2013)
10/16/2014
This function initializes extended custom support in the OEM adaptation layer (OAL) for vector floating-point (VFP) coprocessors.
Syntax
void VfpOemInitEx(
OEMGLOBAL* pOemGlobal,
DWORD dwFPSID,
PFN_VfpEnableCoproc pfnVfpEnableCoproc,
PFN_SaveRestoreVFPCtrlRegs pfnSaveVFPCtrlRegs,
PFN_SaveRestoreVFPCtrlRegs pfnRestoreVFPCtrlRegs,
PFN_HandleVFPException pfnHandleVFPException,
PFN_IsVFPFeaturePresent pfnIsVFPFeaturePresent
);
Parameters
- pOemGlobal
Pointer to an OEMGLOBAL structure.
dwFPSID
Either the specific Floating-Point System ID value matching the hardware VFP implementation, or one of the following values:VFP_FULL_EMULATION_FPSID
VFP_AUTO_DETECT_FPSID
See the Remarks section for more information.
- pfnVfpEnableCoproc
Pointer to a function that turns on the VFP.
- pfnSaveVFPCtrlRegs
Pointer to a function that saves the state of the extra implementation-specific VFP registers for the current thread. VfpOemInitEx uses this value to set the pfnOEMSaveVFPCtrlRegs member of OEMGlobal.
- pfnRestoreVFPCtrlRegs
Pointer to a function that restores the state of the extra implementation-specific VFP registers for the current thread. VfpOemInitEx uses this value to set the pfnOEMRestoreVFPCtrlRegs member of OEMGlobal.
- pfnHandleVFPException
Pointer to a function that handles a floating-point exception that is reported by VFP hardware. VfpOemInitEx uses this value to set the pfnHandleVFPExcp member of OEMGlobal.
- pfnIsVFPFeaturePresent
Pointer to a function that queries the OAL for information about VFP hardware. VfpOemInitEx uses this value to set the pfnIsVFPFeaturePresent member of OEMGlobal.
Return Value
None.
Remarks
The OAL uses this function in ARM platforms that have VFP coprocessors. You call this function from OEMInit to initialize the VFP coprocessor on ARM CPUs with this feature.
You can use VfpOemInitEx to define custom implementations of the functions to turn on the VFP, save and restore the registers, handle exceptions, and query the OAL about VFP hardware.
The allowed values for dwFPSID are described in the following table.
- <Hardware-specific FPSID>
The specific Floating-Point System ID value matching the hardware VFP implementation. For more information, see the CPU documentation for your hardware.
- VFP_FULL_EMULATION_FPSID
The operating system will emulate VFP support in software. This value should only be used in testing, as software VFP emulation significantly degrades system performance.
- VFP_AUTO_DETECT_FPSID
The operating system will auto-detect hardware VFP features. VFP must be supported in hardware.