VirtualBox

Changeset 105457 in vbox for trunk


Ignore:
Timestamp:
Jul 24, 2024 8:05:44 AM (6 months ago)
Author:
vboxsync
Message:

VMM/IEM: Need to clear PE if either OE/UE is set and not masked by the guest's MXCSR, bugref:10652 [missing file]

Location:
trunk/include/iprt
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/err.mac

    r102126 r105457  
    518518%define VERR_HTTP_HOST_NOT_FOUND    (-896)
    519519%define VERR_HTTP_CURL_PROXY_CONFIG    (-897)
     520%define VERR_HTTP_NOT_SUPPORTED    (-898)
    520521%define VERR_HTTP_CURL_ERROR    (-899)
    521522%define VERR_MANIFEST_UNSUPPORTED_DIGEST_TYPE    (-900)
  • trunk/include/iprt/x86.mac

    r103930 r105457  
    490490     || (((a_uDR7) & UINT32_C(0x30)) != 0 && ((a_uDR7) & UINT32_C(0x0f000000)) == 0) \
    491491     || (((a_uDR7) & UINT32_C(0xc0)) != 0 && ((a_uDR7) & UINT32_C(0xf0000000)) == 0) )
     492 %define X86_DR7_IS_RW_CFG(a_uDR7, a_iBp)   ( ~((a_uDR7) & (0x00030000 << ((a_iBp) * 4))) == 0)
     493 %define X86_DR7_ANY_RW_ENABLED(a_uDR7) \
     494    (   (((a_uDR7) & 0x03) != 0 && ((a_uDR7) & UINT32_C(0x00030000)) == UINT32_C(0x00030000)) \
     495     || (((a_uDR7) & UINT32_C(0x0c)) != 0 && ((a_uDR7) & UINT32_C(0x00300000)) == UINT32_C(0x00300000)) \
     496     || (((a_uDR7) & UINT32_C(0x30)) != 0 && ((a_uDR7) & UINT32_C(0x03000000)) == UINT32_C(0x03000000)) \
     497     || (((a_uDR7) & UINT32_C(0xc0)) != 0 && ((a_uDR7) & UINT32_C(0x30000000)) == UINT32_C(0x30000000)) )
     498 %define X86_DR7_IS_W_CFG(a_uDR7, a_iBp)   ( ((a_uDR7) & (0x00010000 << ((a_iBp) * 4))) != 0)
     499 %define X86_DR7_ANY_W_ENABLED(a_uDR7) \
     500    (   (((a_uDR7) & 0x03) != 0 && ((a_uDR7) & UINT32_C(0x00010000)) != 0) \
     501     || (((a_uDR7) & UINT32_C(0x0c)) != 0 && ((a_uDR7) & UINT32_C(0x00100000)) != 0) \
     502     || (((a_uDR7) & UINT32_C(0x30)) != 0 && ((a_uDR7) & UINT32_C(0x01000000)) != 0) \
     503     || (((a_uDR7) & UINT32_C(0xc0)) != 0 && ((a_uDR7) & UINT32_C(0x10000000)) != 0) )
    492504 %define X86_DR7_ANY_RW_IO(uDR7) \
    493     (   (    0x22220000 & (uDR7) )
     505    (   (    0x22220000 & (uDR7) )   \
     506     && ( ( (UINT32_C(0x22220000) & (uDR7) ) >> 1 )  &  ~(uDR7) ) )
    494507%endif
    495508%define X86_DR7_LEN_BYTE                    0
     
    593606%define MSR_IA32_ARCH_CAP_F_IBRS_ALL        RT_BIT_32(1)
    594607%define MSR_IA32_ARCH_CAP_F_RSBO            RT_BIT_32(2)
    595 %define MSR_IA32_ARCH_CAP_F_VMM_NEED_NOT_FLUSH_L1D RT_BIT_32(3)
    596 %define MSR_IA32_ARCH_CAP_F_MDS_NO          RT_BIT_32(4)
     608%define MSR_IA32_ARCH_CAP_F_VMM_NEED_NOT_FLUSH_L1D  RT_BIT_32(3)
     609%define MSR_IA32_ARCH_CAP_F_SSB_NO          RT_BIT_32(4)
     610%define MSR_IA32_ARCH_CAP_F_MDS_NO          RT_BIT_32(5)
     611%define MSR_IA32_ARCH_CAP_F_IF_PSCHANGE_MC_NO       RT_BIT_32(6)
     612%define MSR_IA32_ARCH_CAP_F_TSX_CTRL        RT_BIT_32(7)
     613%define MSR_IA32_ARCH_CAP_F_TAA_NO          RT_BIT_32(8)
     614%define MSR_IA32_ARCH_CAP_F_MISC_PACKAGE_CTRLS      RT_BIT_32(10)
     615%define MSR_IA32_ARCH_CAP_F_ENERGY_FILTERING_CTL    RT_BIT_32(11)
     616%define MSR_IA32_ARCH_CAP_F_DOITM                   RT_BIT_32(12)
     617%define MSR_IA32_ARCH_CAP_F_SBDR_SSDP_NO            RT_BIT_32(13)
     618%define MSR_IA32_ARCH_CAP_F_FBSDP_NO                RT_BIT_32(14)
     619%define MSR_IA32_ARCH_CAP_F_PSDP_NO                 RT_BIT_32(15)
     620%define MSR_IA32_ARCH_CAP_F_FB_CLEAR                RT_BIT_32(17)
     621%define MSR_IA32_ARCH_CAP_F_FB_CLEAR_CTRL           RT_BIT_32(18)
     622%define MSR_IA32_ARCH_CAP_F_RRSBA                   RT_BIT_32(19)
     623%define MSR_IA32_ARCH_CAP_F_BHI_NO                  RT_BIT_32(20)
     624%define MSR_IA32_ARCH_CAP_F_XAPIC_DISABLE_STATUS    RT_BIT_32(21)
     625%define MSR_IA32_ARCH_CAP_F_OVERCLOCKING_STATUS     RT_BIT_32(22)
     626%define MSR_IA32_ARCH_CAP_F_PBRSB_NO                RT_BIT_32(23)
     627%define MSR_IA32_ARCH_CAP_F_GDS_CTRL                RT_BIT_32(24)
     628%define MSR_IA32_ARCH_CAP_F_GDS_NO                  RT_BIT_32(25)
     629%define MSR_IA32_ARCH_CAP_F_RFDS_NO                 RT_BIT_32(26)
     630%define MSR_IA32_ARCH_CAP_F_RFDS_CLEAR              RT_BIT_32(27)
    597631%define MSR_IA32_FLUSH_CMD                  0x10b
    598632%define MSR_IA32_FLUSH_CMD_F_L1D            RT_BIT_32(0)
     
    12931327%define X86_FCW_ZERO_MASK   0xf080
    12941328%define X86_MXCSR_IE          RT_BIT_32(0)
     1329%define X86_MXCSR_IE_BIT      0
    12951330%define X86_MXCSR_DE          RT_BIT_32(1)
     1331%define X86_MXCSR_DE_BIT      1
    12961332%define X86_MXCSR_ZE          RT_BIT_32(2)
     1333%define X86_MXCSR_ZE_BIT      2
    12971334%define X86_MXCSR_OE          RT_BIT_32(3)
     1335%define X86_MXCSR_OE_BIT      3
    12981336%define X86_MXCSR_UE          RT_BIT_32(4)
     1337%define X86_MXCSR_EU_BIT      4
    12991338%define X86_MXCSR_PE          RT_BIT_32(5)
     1339%define X86_MXCSR_PE_BIT      5
    13001340%define X86_MXCSR_XCPT_FLAGS  0x003f
    13011341%define X86_MXCSR_DAZ         RT_BIT_32(6)
     1342%define X86_MXCSR_DAZ_BIT     6
    13021343%define X86_MXCSR_IM          RT_BIT_32(7)
     1344%define X86_MXCSR_IM_BIT      7
    13031345%define X86_MXCSR_DM          RT_BIT_32(8)
     1346%define X86_MXCSR_DM_BIT      8
    13041347%define X86_MXCSR_ZM          RT_BIT_32(9)
     1348%define X86_MXCSR_ZM_BIT      9
    13051349%define X86_MXCSR_OM          RT_BIT_32(10)
     1350%define X86_MXCSR_OM_BIT      10
    13061351%define X86_MXCSR_UM          RT_BIT_32(11)
     1352%define X86_MXCSR_UM_BIT      11
    13071353%define X86_MXCSR_PM          RT_BIT_32(12)
     1354%define X86_MXCSR_PM_BIT      12
    13081355%define X86_MXCSR_XCPT_MASK   0x1f80
    13091356%define X86_MXCSR_XCPT_MASK_SHIFT 7
     
    13151362%define X86_MXCSR_RC_ZERO     0x6000
    13161363%define X86_MXCSR_FZ          RT_BIT_32(15)
     1364%define X86_MXCSR_FZ_BIT      15
    13171365%define X86_MXCSR_MM          RT_BIT_32(17)
     1366%define X86_MXCSR_MM_BIT      17
    13181367%define X86_MXCSR_ZERO_MASK   0xfffd0000
    13191368%ifndef __ASSEMBLER__
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