OEMHandleVFPException (Compact 2013)

10/16/2014

This function handles a floating-point exception that is reported by vector floating-point (VFP) hardware.

Syntax

BOOL OEMHandleVFPException(
  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.

  • 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 OEM floating-point unit (FPU) exception handler can handle the exception; otherwise, false.

Remarks

This function is specific to ARM architecture, and you use it only if the CPU supports VFP.

If you implement OEMHandleVFPException, set the pfnHandleVFPExcp member of OEMGLOBAL to point to this function.

Requirements

Header

Developer Implemented

Library

OEMMain.lib or OEMMain_StaticKITL.lib

See Also

Reference

Optional OAL Functions
OEMInit