VirtualBox

Changeset 95399 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jun 27, 2022 8:21:13 PM (3 years ago)
Author:
vboxsync
Message:

ValKit/bs3kit: More work on extended CPU/FPU state management. bugref:9898

Location:
trunk/src/VBox/ValidationKit/bootsectors/bs3kit
Files:
7 edited
6 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk

    r95397 r95399  
    147147       bs3-cmn-ExtCtxFree.c \
    148148       bs3-cmn-ExtCtxCopy.c \
     149       bs3-cmn-ExtCtxGetFcw.c \
     150       bs3-cmn-ExtCtxSetFcw.c \
     151       bs3-cmn-ExtCtxGetFsw.c \
     152       bs3-cmn-ExtCtxSetFsw.c \
     153       bs3-cmn-ExtCtxGetAbridgedFtw.c \
     154       bs3-cmn-ExtCtxSetAbridgedFtw.c \
    149155       bs3-cmn-ExtCtxGetMxCsr.c \
    150156       bs3-cmn-ExtCtxSetMxCsr.c \
     157       bs3-cmn-ExtCtxGetMxCsrMask.c \
     158       bs3-cmn-ExtCtxSetMxCsrMask.c \
    151159       bs3-cmn-ExtCtxGetMm.c \
    152160       bs3-cmn-ExtCtxSetMm.c \
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-ExtCtxGetAbridgedFtw.c

    r95398 r95399  
    11/* $Id$ */
    22/** @file
    3  * BS3Kit - Bs3ExtCtxGetFcw
     3 * BS3Kit - Bs3ExtCtxGetAbridgedFtw
    44 */
    55
     
    3232
    3333
    34 #undef Bs3ExtCtxGetFcw
    35 BS3_CMN_DEF(uint16_t, Bs3ExtCtxGetFcw,(PCBS3EXTCTX pExtCtx))
     34#undef Bs3ExtCtxGetAbridgedFtw
     35BS3_CMN_DEF(uint16_t, Bs3ExtCtxGetAbridgedFtw,(PCBS3EXTCTX pExtCtx))
    3636{
    37     AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.FCW, BS3EXTCTX, Ctx.x.x87.FCW);
     37    AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.FTW, BS3EXTCTX, Ctx.x.x87.FTW);
    3838    switch (pExtCtx->enmMethod)
    3939    {
    4040        case BS3EXTCTXMETHOD_FXSAVE:
    4141        case BS3EXTCTXMETHOD_XSAVE:
    42             return pExtCtx->Ctx.x87.FCW;
     42            return pExtCtx->Ctx.x87.FTW;
    4343
    4444        case BS3EXTCTXMETHOD_ANCIENT:
    45             return pExtCtx->Ctx.Ancient.FCW;
     45        {
     46            /* iemFpuCompressFtw: */
     47            uint16_t    u16FullFtw = pExtCtx->Ctx.Ancient.FTW;
     48            uint8_t     u8Ftw      = 0;
     49            unsigned    i;
     50            for (i = 0; i < 8; i++)
     51            {
     52                if ((u16FullFtw & 3) != 3 /*empty*/)
     53                    u8Ftw |= RT_BIT(i);
     54                u16FullFtw >>= 2;
     55            }
     56            return u8Ftw;
     57        }
    4658    }
    4759    return 0;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-ExtCtxGetFsw.c

    r95398 r95399  
    11/* $Id$ */
    22/** @file
    3  * BS3Kit - Bs3ExtCtxGetFcw
     3 * BS3Kit - Bs3ExtCtxGetFsw
    44 */
    55
     
    3232
    3333
    34 #undef Bs3ExtCtxGetFcw
    35 BS3_CMN_DEF(uint16_t, Bs3ExtCtxGetFcw,(PCBS3EXTCTX pExtCtx))
     34#undef Bs3ExtCtxGetFsw
     35BS3_CMN_DEF(uint16_t, Bs3ExtCtxGetFsw,(PCBS3EXTCTX pExtCtx))
    3636{
    37     AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.FCW, BS3EXTCTX, Ctx.x.x87.FCW);
     37    AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.FSW, BS3EXTCTX, Ctx.x.x87.FSW);
    3838    switch (pExtCtx->enmMethod)
    3939    {
    4040        case BS3EXTCTXMETHOD_FXSAVE:
    4141        case BS3EXTCTXMETHOD_XSAVE:
    42             return pExtCtx->Ctx.x87.FCW;
     42            return pExtCtx->Ctx.x87.FSW;
    4343
    4444        case BS3EXTCTXMETHOD_ANCIENT:
    45             return pExtCtx->Ctx.Ancient.FCW;
     45            return pExtCtx->Ctx.Ancient.FSW;
    4646    }
    4747    return 0;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-ExtCtxGetMxCsrMask.c

    r95386 r95399  
    11/* $Id$ */
    22/** @file
    3  * BS3Kit - Bs3ExtCtxGetMxCsr
     3 * BS3Kit - Bs3ExtCtxGetMxCsrMask
    44 */
    55
     
    3232
    3333
    34 #undef Bs3ExtCtxGetMxCsr
    35 BS3_CMN_DEF(uint32_t, Bs3ExtCtxGetMxCsr,(PCBS3EXTCTX pExtCtx))
     34#undef Bs3ExtCtxGetMxCsrMask
     35BS3_CMN_DEF(uint32_t, Bs3ExtCtxGetMxCsrMask,(PCBS3EXTCTX pExtCtx))
    3636{
    37     AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.MXCSR, BS3EXTCTX, Ctx.x.x87.MXCSR);
     37    AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.MXCSR_MASK, BS3EXTCTX, Ctx.x.x87.MXCSR_MASK);
    3838    if (   pExtCtx->enmMethod == BS3EXTCTXMETHOD_FXSAVE
    3939        || pExtCtx->enmMethod == BS3EXTCTXMETHOD_XSAVE)
    40         return pExtCtx->Ctx.x87.MXCSR;
     40        return pExtCtx->Ctx.x87.MXCSR_MASK;
    4141    return 0;
    4242}
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-ExtCtxSetAbridgedFtw.c

    r95398 r95399  
    11/* $Id$ */
    22/** @file
    3  * BS3Kit - Bs3ExtCtxSetFcw
     3 * BS3Kit - Bs3ExtCtxSetAbridgedFtw
    44 */
    55
     
    3232
    3333
    34 #undef Bs3ExtCtxSetFcw
    35 BS3_CMN_DEF(void, Bs3ExtCtxSetFcw,(PBS3EXTCTX pExtCtx, uint16_t uValue))
     34#undef Bs3ExtCtxSetAbridgedFtw
     35BS3_CMN_DEF(bool, Bs3ExtCtxSetAbridgedFtw,(PBS3EXTCTX pExtCtx, uint16_t uValue))
    3636{
    37     AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.FCW, BS3EXTCTX, Ctx.x.x87.FCW);
     37    AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.FTW, BS3EXTCTX, Ctx.x.x87.FTW);
    3838    switch (pExtCtx->enmMethod)
    3939    {
    4040        case BS3EXTCTXMETHOD_FXSAVE:
    4141        case BS3EXTCTXMETHOD_XSAVE:
    42             pExtCtx->Ctx.x87.FCW    = uValue;
    43             break;
     42            pExtCtx->Ctx.x87.FTW = uValue;
     43            return true;
    4444
    4545        case BS3EXTCTXMETHOD_ANCIENT:
    46             pExtCtx->Ctx.Ancient.FCW = uValue;
     46            /* Could do iemFpuCalcFullFtw here, but too much work for now... */
    4747            break;
    4848    }
     49    return false;
    4950}
    5051
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-ExtCtxSetFsw.c

    r95398 r95399  
    11/* $Id$ */
    22/** @file
    3  * BS3Kit - Bs3ExtCtxSetFcw
     3 * BS3Kit - Bs3ExtCtxSetFsw
    44 */
    55
     
    3232
    3333
    34 #undef Bs3ExtCtxSetFcw
    35 BS3_CMN_DEF(void, Bs3ExtCtxSetFcw,(PBS3EXTCTX pExtCtx, uint16_t uValue))
     34#undef Bs3ExtCtxSetFsw
     35BS3_CMN_DEF(void, Bs3ExtCtxSetFsw,(PBS3EXTCTX pExtCtx, uint16_t uValue))
    3636{
    37     AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.FCW, BS3EXTCTX, Ctx.x.x87.FCW);
     37    AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.FSW, BS3EXTCTX, Ctx.x.x87.FSW);
    3838    switch (pExtCtx->enmMethod)
    3939    {
    4040        case BS3EXTCTXMETHOD_FXSAVE:
    4141        case BS3EXTCTXMETHOD_XSAVE:
    42             pExtCtx->Ctx.x87.FCW     = uValue;
     42            pExtCtx->Ctx.x87.FSW     = uValue;
    4343            break;
    4444
    4545        case BS3EXTCTXMETHOD_ANCIENT:
    46             pExtCtx->Ctx.Ancient.FCW = uValue;
     46            pExtCtx->Ctx.Ancient.FSW = uValue;
    4747            break;
    4848    }
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-ExtCtxSetMm.c

    r95376 r95399  
    4141            case BS3EXTCTXMETHOD_FXSAVE:
    4242            case BS3EXTCTXMETHOD_XSAVE:
    43                 pExtCtx->Ctx.x87.aRegs[iReg].mmx = uValue;
     43                /* pxor mm1, mm2 on 10980XE sets mm1's sign and exponent to all 1's. */
     44                pExtCtx->Ctx.x87.aRegs[iReg].au16[4]    = UINT16_MAX;
     45                pExtCtx->Ctx.x87.aRegs[iReg].mmx        = uValue;
    4446                return true;
    4547
    4648            case BS3EXTCTXMETHOD_ANCIENT:
    47                 pExtCtx->Ctx.Ancient.regs[iReg].mmx = uValue;
     49                pExtCtx->Ctx.Ancient.regs[iReg].au16[4] = UINT16_MAX; /* see above */
     50                pExtCtx->Ctx.Ancient.regs[iReg].mmx     = uValue;
    4851                return true;
    4952        }
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-ExtCtxSetMxCsr.c

    r95372 r95399  
    11/* $Id$ */
    22/** @file
    3  * BS3Kit - Bs3ExtCtxInit
     3 * BS3Kit - Bs3ExtCtxSetMxCsr
    44 */
    55
     
    3333
    3434#undef Bs3ExtCtxSetMxCsr
    35 BS3_CMN_DEF(void, Bs3ExtCtxSetMxCsr,(PBS3EXTCTX pExtCtx, uint32_t uValue))
     35BS3_CMN_DEF(bool, Bs3ExtCtxSetMxCsr,(PBS3EXTCTX pExtCtx, uint32_t uValue))
    3636{
    3737    AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.MXCSR, BS3EXTCTX, Ctx.x.x87.MXCSR);
    3838    if (   pExtCtx->enmMethod == BS3EXTCTXMETHOD_FXSAVE
    3939        || pExtCtx->enmMethod == BS3EXTCTXMETHOD_XSAVE)
     40    {
    4041        pExtCtx->Ctx.x87.MXCSR = uValue;
     42        return true;
     43    }
     44    return false;
    4145}
    4246
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-ExtCtxSetMxCsrMask.c

    r95386 r95399  
    11/* $Id$ */
    22/** @file
    3  * BS3Kit - Bs3ExtCtxInit
     3 * BS3Kit - Bs3ExtCtxSetMxCsrMask
    44 */
    55
     
    3232
    3333
    34 #undef Bs3ExtCtxSetMxCsr
    35 BS3_CMN_DEF(void, Bs3ExtCtxSetMxCsr,(PBS3EXTCTX pExtCtx, uint32_t uValue))
     34#undef Bs3ExtCtxSetMxCsrMask
     35BS3_CMN_DEF(bool, Bs3ExtCtxSetMxCsrMask,(PBS3EXTCTX pExtCtx, uint32_t uValue))
    3636{
    3737    AssertCompileMembersAtSameOffset(BS3EXTCTX, Ctx.x87.MXCSR, BS3EXTCTX, Ctx.x.x87.MXCSR);
    3838    if (   pExtCtx->enmMethod == BS3EXTCTXMETHOD_FXSAVE
    3939        || pExtCtx->enmMethod == BS3EXTCTXMETHOD_XSAVE)
    40         pExtCtx->Ctx.x87.MXCSR = uValue;
     40    {
     41        pExtCtx->Ctx.x87.MXCSR_MASK = uValue;
     42        return true;
     43    }
     44    return false;
    4145}
    4246
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-autostubs.kmk

    r95397 r95399  
    3737$(call BS3KIT_FN_GEN_CMN_FARSTUB,bs3kit-common-16,Bs3SelFar32ToFlat32NoClobber,6)
    3838$(call BS3KIT_FN_GEN_CMN_FARSTUB,bs3kit-common-16,Bs3RegCtxSaveEx,8)
     39$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxSetAbridgedFtw)
    3940$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxSetMm)
     41$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxSetMxCsrMask)
     42$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxSetMxCsr)
    4043$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxSetXmm)
    4144$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxSetYmm)
     
    7376$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3StrPrintf)
    7477$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3StrPrintfV)
     78$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxGetAbridgedFtw)
     79$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxGetFcw)
     80$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxGetFsw)
    7581$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxGetSize)
    7682$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PicUpdateMask)
    7783$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SlabFree)
    7884$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestSubErrorCount)
     85$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxGetMxCsrMask)
    7986$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxGetMxCsr)
    8087$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SelFar32ToFlat32)
     
    8693$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapSetDpl)
    8794$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxFree)
    88 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxSetMxCsr)
     95$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxSetFcw)
     96$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3ExtCtxSetFsw)
    8997$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3MemAlloc)
    9098$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3MemAllocZ)
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-define.h

    r95397 r95399  
    3434#define Bs3ExtCtxCopy BS3_CMN_MANGLER(Bs3ExtCtxCopy)
    3535#define Bs3ExtCtxFree BS3_CMN_MANGLER(Bs3ExtCtxFree)
     36#define Bs3ExtCtxGetAbridgedFtw BS3_CMN_MANGLER(Bs3ExtCtxGetAbridgedFtw)
     37#define Bs3ExtCtxGetFcw BS3_CMN_MANGLER(Bs3ExtCtxGetFcw)
     38#define Bs3ExtCtxGetFsw BS3_CMN_MANGLER(Bs3ExtCtxGetFsw)
    3639#define Bs3ExtCtxGetMm BS3_CMN_MANGLER(Bs3ExtCtxGetMm)
    3740#define Bs3ExtCtxGetMxCsr BS3_CMN_MANGLER(Bs3ExtCtxGetMxCsr)
     41#define Bs3ExtCtxGetMxCsrMask BS3_CMN_MANGLER(Bs3ExtCtxGetMxCsrMask)
    3842#define Bs3ExtCtxGetSize BS3_CMN_MANGLER(Bs3ExtCtxGetSize)
    3943#define Bs3ExtCtxGetXmm BS3_CMN_MANGLER(Bs3ExtCtxGetXmm)
     
    4246#define Bs3ExtCtxRestore BS3_CMN_MANGLER(Bs3ExtCtxRestore)
    4347#define Bs3ExtCtxSave BS3_CMN_MANGLER(Bs3ExtCtxSave)
     48#define Bs3ExtCtxSetAbridgedFtw BS3_CMN_MANGLER(Bs3ExtCtxSetAbridgedFtw)
     49#define Bs3ExtCtxSetFcw BS3_CMN_MANGLER(Bs3ExtCtxSetFcw)
     50#define Bs3ExtCtxSetFsw BS3_CMN_MANGLER(Bs3ExtCtxSetFsw)
    4451#define Bs3ExtCtxSetMm BS3_CMN_MANGLER(Bs3ExtCtxSetMm)
    4552#define Bs3ExtCtxSetMxCsr BS3_CMN_MANGLER(Bs3ExtCtxSetMxCsr)
     53#define Bs3ExtCtxSetMxCsrMask BS3_CMN_MANGLER(Bs3ExtCtxSetMxCsrMask)
    4654#define Bs3ExtCtxSetXmm BS3_CMN_MANGLER(Bs3ExtCtxSetXmm)
    4755#define Bs3ExtCtxSetYmm BS3_CMN_MANGLER(Bs3ExtCtxSetYmm)
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-undef.h

    r95397 r95399  
    3434#undef Bs3ExtCtxCopy
    3535#undef Bs3ExtCtxFree
     36#undef Bs3ExtCtxGetAbridgedFtw
     37#undef Bs3ExtCtxGetFcw
     38#undef Bs3ExtCtxGetFsw
    3639#undef Bs3ExtCtxGetMm
    3740#undef Bs3ExtCtxGetMxCsr
     41#undef Bs3ExtCtxGetMxCsrMask
    3842#undef Bs3ExtCtxGetSize
    3943#undef Bs3ExtCtxGetXmm
     
    4246#undef Bs3ExtCtxRestore
    4347#undef Bs3ExtCtxSave
     48#undef Bs3ExtCtxSetAbridgedFtw
     49#undef Bs3ExtCtxSetFcw
     50#undef Bs3ExtCtxSetFsw
    4451#undef Bs3ExtCtxSetMm
    4552#undef Bs3ExtCtxSetMxCsr
     53#undef Bs3ExtCtxSetMxCsrMask
    4654#undef Bs3ExtCtxSetXmm
    4755#undef Bs3ExtCtxSetYmm
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.h

    r95397 r95399  
    28812881
    28822882/**
     2883 * Gets the FCW register value from @a pExtCtx.
     2884 *
     2885 * @returns FCW value.
     2886 * @param   pExtCtx         The extended CPU context.
     2887 */
     2888BS3_CMN_PROTO_STUB(uint16_t, Bs3ExtCtxGetFcw,(PCBS3EXTCTX pExtCtx));
     2889
     2890/**
     2891 * Sets the FCW register value in @a pExtCtx.
     2892 *
     2893 * @param   pExtCtx         The extended CPU context.
     2894 * @param   uValue          The new FCW value.
     2895 */
     2896BS3_CMN_PROTO_STUB(void, Bs3ExtCtxSetFcw,(PBS3EXTCTX pExtCtx, uint16_t uValue));
     2897
     2898/**
     2899 * Gets the FSW register value from @a pExtCtx.
     2900 *
     2901 * @returns FSW value.
     2902 * @param   pExtCtx         The extended CPU context.
     2903 */
     2904BS3_CMN_PROTO_STUB(uint16_t, Bs3ExtCtxGetFsw,(PCBS3EXTCTX pExtCtx));
     2905
     2906/**
     2907 * Sets the FSW register value in @a pExtCtx.
     2908 *
     2909 * @param   pExtCtx         The extended CPU context.
     2910 * @param   uValue          The new FSW value.
     2911 */
     2912BS3_CMN_PROTO_STUB(void, Bs3ExtCtxSetFsw,(PBS3EXTCTX pExtCtx, uint16_t uValue));
     2913
     2914/**
     2915 * Gets the abridged FTW register value from @a pExtCtx.
     2916 *
     2917 * @returns FTW value.
     2918 * @param   pExtCtx         The extended CPU context.
     2919 */
     2920BS3_CMN_PROTO_STUB(uint16_t, Bs3ExtCtxGetAbridgedFtw,(PCBS3EXTCTX pExtCtx));
     2921
     2922/**
     2923 * Sets the abridged FTW register value in @a pExtCtx.
     2924 *
     2925 * Currently this requires that the state stores teh abridged FTW, no conversion
     2926 * to the two-bit variant will be attempted.
     2927 *
     2928 * @returns true if set successfully, false if not.
     2929 * @param   pExtCtx         The extended CPU context.
     2930 * @param   uValue          The new FTW value.
     2931 */
     2932BS3_CMN_PROTO_STUB(bool, Bs3ExtCtxSetAbridgedFtw,(PBS3EXTCTX pExtCtx, uint16_t uValue));
     2933
     2934/**
    28832935 * Gets the MXCSR register value from @a pExtCtx.
    28842936 *
     
    28912943 * Sets the MXCSR register value in @a pExtCtx.
    28922944 *
     2945 * @returns true if set, false if not supported by the format.
    28932946 * @param   pExtCtx         The extended CPU context.
    28942947 * @param   uValue          The new MXCSR value.
    28952948 */
    2896 BS3_CMN_PROTO_STUB(void, Bs3ExtCtxSetMxCsr,(PBS3EXTCTX pExtCtx, uint32_t uValue));
     2949BS3_CMN_PROTO_STUB(bool, Bs3ExtCtxSetMxCsr,(PBS3EXTCTX pExtCtx, uint32_t uValue));
     2950
     2951/**
     2952 * Gets the MXCSR MASK value from @a pExtCtx.
     2953 *
     2954 * @returns MXCSR MASK value, 0 if not part of context.
     2955 * @param   pExtCtx         The extended CPU context.
     2956 */
     2957BS3_CMN_PROTO_STUB(uint32_t, Bs3ExtCtxGetMxCsrMask,(PCBS3EXTCTX pExtCtx));
     2958
     2959/**
     2960 * Sets the MXCSR MASK value in @a pExtCtx.
     2961 *
     2962 * @returns true if set, false if not supported by the format.
     2963 * @param   pExtCtx         The extended CPU context.
     2964 * @param   uValue          The new MXCSR MASK value.
     2965 */
     2966BS3_CMN_PROTO_STUB(bool, Bs3ExtCtxSetMxCsrMask,(PBS3EXTCTX pExtCtx, uint32_t uValue));
    28972967
    28982968/**
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette