Changeset 100096 in vbox for trunk/src/VBox/VMM/VMMAll/IEMAllThreadedFunctions.cpp
- Timestamp:
- Jun 7, 2023 3:14:56 PM (18 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllThreadedFunctions.cpp
r100089 r100096 95 95 96 96 97 /** Variant of IEM_MC_REL_JMP_S8_AND_FINISH with instruction length as param. */ 98 #define IEM_MC_REL_JMP_S8_AND_FINISH_THREADED(a_i8, a_cbInstr, a_enmEffOpSize) \ 99 return iemRegRipRelativeJumpS8AndFinishClearingRF(pVCpu, a_cbInstr, (a_i8), a_enmEffOpSize) 97 /** Variant of IEM_MC_REL_JMP_S8_AND_FINISH with instruction length as extra 98 * parameter, for use in 16-bit code on a pre-386 CPU. */ 99 #define IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC16(a_i8, a_cbInstr) \ 100 return iemRegIp16RelativeJumpS8AndFinishClearingRF(pVCpu, a_cbInstr, (a_i8)) 101 102 /** Variant of IEM_MC_REL_JMP_S8_AND_FINISH with instruction length and operand 103 * size as extra parameters, for use in 16-bit and 32-bit code on 386 and 104 * later CPUs. */ 105 #define IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC32(a_i8, a_cbInstr, a_enmEffOpSize) \ 106 return iemRegEip32RelativeJumpS8AndFinishClearingRF(pVCpu, a_cbInstr, (a_i8), a_enmEffOpSize) 107 108 /** Variant of IEM_MC_REL_JMP_S8_AND_FINISH with instruction length and operand 109 * size as extra parameters, for use in 64-bit code. */ 110 #define IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC64(a_i8, a_cbInstr, a_enmEffOpSize) \ 111 return iemRegRip64RelativeJumpS8AndFinishClearingRF(pVCpu, a_cbInstr, (a_i8), a_enmEffOpSize) 112 100 113 #undef IEM_MC_REL_JMP_S8_AND_FINISH 101 114 102 /** Variant of IEM_MC_REL_JMP_S16_AND_FINISH with instruction length as param. */ 103 #define IEM_MC_REL_JMP_S16_AND_FINISH_THREADED(a_i16, a_cbInstr) \ 104 return iemRegRipRelativeJumpS16AndFinishClearingRF(pVCpu, a_cbInstr, (a_i16)) 115 116 /** Variant of IEM_MC_REL_JMP_S16_AND_FINISH with instruction length as 117 * param, for use in 16-bit code on a pre-386 CPU. */ 118 #define IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC16(a_i16, a_cbInstr) \ 119 return iemRegEip32RelativeJumpS16AndFinishClearingRF(pVCpu, a_cbInstr, (a_i16)) 120 121 /** Variant of IEM_MC_REL_JMP_S16_AND_FINISH with instruction length as 122 * param, for use in 16-bit and 32-bit code on 386 and later CPUs. */ 123 #define IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC32(a_i16, a_cbInstr) \ 124 return iemRegEip32RelativeJumpS16AndFinishClearingRF(pVCpu, a_cbInstr, (a_i16)) 125 126 /** Variant of IEM_MC_REL_JMP_S16_AND_FINISH with instruction length as 127 * param, for use in 64-bit code. */ 128 #define IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC64(a_i16, a_cbInstr) \ 129 return iemRegRip64RelativeJumpS16AndFinishClearingRF(pVCpu, a_cbInstr, (a_i16)) 130 105 131 #undef IEM_MC_REL_JMP_S16_AND_FINISH 106 132 107 /** Variant of IEM_MC_REL_JMP_S32_AND_FINISH with instruction length as param. */ 108 #define IEM_MC_REL_JMP_S32_AND_FINISH_THREADED(a_i32, a_cbInstr, a_enmEffOpSize) \ 109 return iemRegRipRelativeJumpS32AndFinishClearingRF(pVCpu, a_cbInstr, (a_i32), a_enmEffOpSize) 133 134 /** Variant of IEM_MC_REL_JMP_S32_AND_FINISH with instruction length as 135 * an extra parameter - dummy for pre-386 variations not eliminated by the 136 * python script. */ 137 #define IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC16(a_i32, a_cbInstr) \ 138 do { RT_NOREF(pVCpu, a_i32, a_cbInstr); AssertFailedReturn(VERR_IEM_IPE_9); } while (0) 139 140 /** Variant of IEM_MC_REL_JMP_S32_AND_FINISH with instruction length as 141 * an extra parameter, for use in 16-bit and 32-bit code on 386+. */ 142 #define IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC32(a_i32, a_cbInstr) \ 143 return iemRegEip32RelativeJumpS32AndFinishClearingRF(pVCpu, a_cbInstr, (a_i32)) 144 145 /** Variant of IEM_MC_REL_JMP_S32_AND_FINISH with instruction length as 146 * an extra parameter, for use in 64-bit code. */ 147 #define IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC64(a_i32, a_cbInstr) \ 148 return iemRegRip64RelativeJumpS32AndFinishClearingRF(pVCpu, a_cbInstr, (a_i32)) 149 110 150 #undef IEM_MC_REL_JMP_S32_AND_FINISH 111 151
Note:
See TracChangeset
for help on using the changeset viewer.