Changeset 104719 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- May 18, 2024 1:14:23 AM (7 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32
r104718 r104719 91 91 RM_REG = 0, 92 92 RM_MEM, 93 RM_MEM_DI, /**< Memory operand pointer is implicitly RDI. Hack for maskmovq, [v]maskmovdqu. */ 93 RM_RANGE, /**< Instruction may fault anywhere within the memory address range. Hack for vmaskmov[sd], vpmaskmov[dq]. */ 94 RM_MEM_DI, /**< Memory operand pointer is implicitly RDI and may fault anywhere in range. Hack for maskmovq, [v]maskmovdqu. */ 94 95 RM_MEM8, /**< Memory operand is 8 bits. Hack for movss and similar. */ 95 96 RM_MEM16, /**< Memory operand is 16 bits. Hack for movss and similar. */ … … 916 917 if (bXcptExpect == X86_XCPT_PF) 917 918 Ctx.cr2.u = (uintptr_t)puMemOp; 918 if (paTests[iTest].enmRm == RM_MEM_DI) 919 { 920 Ctx.cr2Range = cbMemOp; 921 } 919 Ctx.cr2Range = (paTests[iTest].enmRm == RM_MEM_DI || paTests[iTest].enmRm == RM_RANGE) ? cbMemOp - 1 : 0; 922 920 Bs3TestCheckRegCtxEx(&TrapFrame.Ctx, &Ctx, bXcptExpect == X86_XCPT_DB ? cbInstr + 1 : 0, 0, 923 921 bXcptExpect == X86_XCPT_DB || BS3_MODE_IS_16BIT_SYS(bMode) ? 0 : X86_EFL_RF, 924 922 pszMode, idTestStep); 925 923 Ctx.cr2.u = 0; 924 Ctx.cr2Range = 0; 925 926 926 if (paTests[iTest].enmRm == RM_MEM_DI) 927 927 { … … 13543 13543 if (bXcptExpect == X86_XCPT_PF) 13544 13544 Ctx.cr2.u = (uintptr_t)puMemOp; 13545 Ctx.cr2Range = (paTests[iTest].enmRm == RM_MEM_DI || paTests[iTest].enmRm == RM_RANGE) ? cbMemOp - 1 : 0; 13545 13546 Bs3TestCheckRegCtxEx(&TrapFrame.Ctx, &Ctx, bXcptExpect == X86_XCPT_DB ? cbInstr + 1 : 0, 0, 13546 13547 bXcptExpect == X86_XCPT_DB || BS3_MODE_IS_16BIT_SYS(bMode) ? 0 : X86_EFL_RF, 13547 13548 pszMode, idTestStep); 13548 13549 Ctx.cr2.u = 0; 13550 Ctx.cr2Range = 0; 13549 13551 13550 13552 if ( paTests[iTest].enmRm >= RM_MEM
Note:
See TracChangeset
for help on using the changeset viewer.