VirtualBox

Changeset 92530 in vbox


Ignore:
Timestamp:
Nov 21, 2021 2:47:19 AM (3 years ago)
Author:
vboxsync
Message:

ValKit/bs3-fpustate-1: Skip the SIDT test, doesn't work for KVM. bugref:9044

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-fpustate-1-template.c

    r92523 r92530  
    134134    BS3PTRUNION         MmioReg;
    135135    BS3CPUVENDOR const  enmCpuVendor = Bs3GetCpuVendor();
     136    bool const          fSkipStorIdt = Bs3TestQueryCfgBool(VMMDEV_TESTING_CFG_IS_NEM_LINUX);
    136137    bool const          fFastFxSaveRestore = RT_BOOL(ASMCpuId_EDX(0x80000001) & X86_CPUID_AMD_FEATURE_EDX_FFXSR);
    137138    //bool const          fFdpXcptOnly = (ASMCpuIdEx_EBX(7, 0) & X86_CPUID_STEXT_FEATURE_EBX_FDP_EXCPTN_ONLY)
    138139    //                                && ASMCpuId_EAX(0) >= 7;
     140
     141    if (fSkipStorIdt)
     142        Bs3TestPrintf("NEM/linux - skipping SIDT\n");
    139143
    140144# undef  CHECK_STATE
     
    151155        } while (0)
    152156
    153     /*
    154      * Setup the test.
    155      */
    156157
    157158    /* Make this code executable in raw-mode.  A bit tricky. */
     
    289290
    290291        /* The tests. */
    291         CHECK_READBACK_WRITE_Z(SIDT,     ASMGetIDTR,                         RTIDTR);
     292        if (!fSkipStorIdt) /* KVM doesn't advance RIP executing a SIDT [MMIO-memory], it seems. (Linux 5.13.1) */
     293            CHECK_READBACK_WRITE_Z(SIDT, ASMGetIDTR,                         RTIDTR);
    292294        CHECK_READBACK_WRITE_Z(FNSTENV,  TMPL_NM(bs3FpuState1_FNStEnv),      X86FSTENV32P); /** @todo x86.h is missing types */
    293295        CHECK_READBACK_WRITE(  MOVDQU,   TMPL_NM(bs3FpuState1_MovDQU_Write), X86XMMREG);
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