VfpHandleException (Compact 2013)
10/16/2014
This function handles a floating-point exception that is reported by vector floating-point (VFP) hardware.
Syntax
BOOL VfpHandleException(
ULONG fpexc,
EXCEPTION_RECORD* pExr,
CONTEXT* pContext,
DWORD* pdwReserved,
BOOL fInKMode
);
Parameters
fpexc
[in] Contents of the floating-point exception register (FPEXC), represented by one or more of the following flags:Value
Description
FPEXC_EX_BIT
Exception flag. When set, the VFP coprocessor is in the exception state.
FPEXC_ENABLE_BIT
VFP enable bit. When set, the VFP coprocessor is enabled.
FPEXC_DEX_BIT
Defined synchronous instruction exceptional flag. Set when the VFP coprocessor generates a synchronous bounce because of an attempt to execute a vector operation.
FPEXC_FP2V_BIT
FPINST2 instruction valid flag. Set when FPINST2 contains a valid instruction.
FPEXC_VV_BIT
Indicates whether the number of short vector iterations remaining is stored in FPEXC.VECITR or FPSCR.LEN.
FPEXC_CLEAR_BITS
FPEXC bits are cleared.
- pExr
[in] Pointer to an EXCEPTION_RECORD structure.
- pContext
[in] Pointer to an ARM-specific thread context structure.
- pdwReserved
[out] Reserved for future use.
- fInKMode
[in] Indicates whether this function is in kernel mode.
Return Value
Returns true if the exception was handled; otherwise, false.
Remarks
This function is based on the ARM VFP v2 common subarchitecture specification. If your platform uses a different subarchitecture, you might need to implement your own function to handle VFP exceptions.