- Timestamp:
- Apr 12, 2024 3:08:36 PM (10 months ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllThrdRecompiler.cpp
r104153 r104321 1908 1908 pCall->enmFunction = kIemThreadedFunc_BltIn_Nop; 1909 1909 pCall->idxInstr = pTb->cInstructions - 1; 1910 pCall->cbOpcode = 0; 1911 pCall->offOpcode = 0; 1910 1912 pCall->uUnused0 = 0; 1911 pCall->offOpcode = 0;1912 pCall->cbOpcode = 0;1913 pCall->idxRange = 0;1914 1913 pCall->auParams[0] = 0; 1915 1914 pCall->auParams[1] = 0; … … 1934 1933 pCall->enmFunction = kIemThreadedFunc_BltIn_LogCpuState; 1935 1934 pCall->idxInstr = pTb->cInstructions - 1; 1935 pCall->cbOpcode = 0; 1936 pCall->offOpcode = 0; 1936 1937 pCall->uUnused0 = 0; 1937 pCall->offOpcode = 0;1938 pCall->cbOpcode = 0;1939 pCall->idxRange = 0;1940 1938 pCall->auParams[0] = RT_MAKE_U16(pCall->idxInstr, idxCall); /* currently not used, but whatever */ 1941 1939 pCall->auParams[1] = 0; … … 2026 2024 PIEMTHRDEDCALLENTRY const pCall = &pTb->Thrd.paCalls[pTb->Thrd.cCalls]; 2027 2025 pCall->idxInstr = pTb->cInstructions; 2026 pCall->cbOpcode = cbInstr; 2028 2027 pCall->offOpcode = offOpcode; 2029 pCall->idxRange = idxRange; 2030 pCall->cbOpcode = cbInstr; 2028 pCall->uUnused0 = 0; 2031 2029 pCall->auParams[0] = (uint32_t)cbInstr 2032 2030 | (uint32_t)(pVCpu->iem.s.fExec << 8) /* liveness: Enough of fExec for IEM_F_MODE_X86_IS_FLAT. */ … … 2093 2091 return false; 2094 2092 } 2095 pCall->idxRange = idxRange;2096 2093 pCall->auParams[1] = idxRange; 2097 2094 pCall->auParams[2] = 0; … … 2185 2182 return false; 2186 2183 idxRange += 1; 2187 pCall->idxRange = idxRange;2188 2184 pCall->auParams[1] = idxRange; 2189 2185 pCall->auParams[2] = 0; … … 2248 2244 { 2249 2245 Assert(pVCpu->iem.s.offCurInstrStart == 0); 2250 pCall->idxRange = idxRange;2251 2246 pCall->auParams[1] = idxRange; 2252 2247 pCall->auParams[2] = 0; … … 2390 2385 pCall->enmFunction = kIemThreadedFunc_BltIn_CheckMode; 2391 2386 pCall->idxInstr = pTb->cInstructions - 1; 2387 pCall->cbOpcode = 0; 2388 pCall->offOpcode = 0; 2392 2389 pCall->uUnused0 = 0; 2393 pCall->offOpcode = 0;2394 pCall->cbOpcode = 0;2395 pCall->idxRange = 0;2396 2390 pCall->auParams[0] = pVCpu->iem.s.fExec; 2397 2391 pCall->auParams[1] = 0; … … 2429 2423 pCall->enmFunction = kIemThreadedFunc_BltIn_CheckIrq; 2430 2424 pCall->idxInstr = pTb->cInstructions; 2431 pCall->uUnused0 = 0;2432 2425 pCall->offOpcode = 0; 2433 2426 pCall->cbOpcode = 0; 2434 pCall-> idxRange= 0;2427 pCall->uUnused0 = 0; 2435 2428 pCall->auParams[0] = 0; 2436 2429 pCall->auParams[1] = 0; … … 2483 2476 pCall->enmFunction = kIemThreadedFunc_BltIn_CheckIrq; 2484 2477 pCall->idxInstr = pTb->cInstructions; 2485 pCall->uUnused0 = 0;2486 2478 pCall->offOpcode = 0; 2487 2479 pCall->cbOpcode = 0; 2488 pCall-> idxRange= 0;2480 pCall->uUnused0 = 0; 2489 2481 pCall->auParams[0] = 0; 2490 2482 pCall->auParams[1] = 0; -
trunk/src/VBox/VMM/VMMAll/IEMAllThrdTables.h
r104018 r104321 231 231 pCall->enmFunction = a_enmFunction; \ 232 232 pCall->idxInstr = idxInstrMc2; \ 233 pCall->cbOpcode = cbInstrMc2; \ 234 pCall->offOpcode = offOpcodeMc2; \ 233 235 pCall->uUnused0 = 0; \ 234 pCall->offOpcode = offOpcodeMc2; \235 pCall->cbOpcode = cbInstrMc2; \236 pCall->idxRange = idxRangeMc2; \237 236 pCall->auParams[0] = 0; \ 238 237 pCall->auParams[1] = 0; \ … … 247 246 pCall->enmFunction = a_enmFunction; \ 248 247 pCall->idxInstr = idxInstrMc2; \ 248 pCall->cbOpcode = cbInstrMc2; \ 249 pCall->offOpcode = offOpcodeMc2; \ 249 250 pCall->uUnused0 = 0; \ 250 pCall->offOpcode = offOpcodeMc2; \251 pCall->cbOpcode = cbInstrMc2; \252 pCall->idxRange = idxRangeMc2; \253 251 pCall->auParams[0] = a_uArg0; \ 254 252 pCall->auParams[1] = 0; \ … … 264 262 pCall->enmFunction = a_enmFunction; \ 265 263 pCall->idxInstr = idxInstrMc2; \ 264 pCall->cbOpcode = cbInstrMc2; \ 265 pCall->offOpcode = offOpcodeMc2; \ 266 266 pCall->uUnused0 = 0; \ 267 pCall->offOpcode = offOpcodeMc2; \268 pCall->cbOpcode = cbInstrMc2; \269 pCall->idxRange = idxRangeMc2; \270 267 pCall->auParams[0] = a_uArg0; \ 271 268 pCall->auParams[1] = a_uArg1; \ … … 282 279 pCall->enmFunction = a_enmFunction; \ 283 280 pCall->idxInstr = idxInstrMc2; \ 284 pCall->uUnused0 = 0; \285 281 pCall->offOpcode = offOpcodeMc2; \ 286 282 pCall->cbOpcode = cbInstrMc2; \ 287 pCall-> idxRange = idxRangeMc2; \283 pCall->uUnused0 = 0; \ 288 284 pCall->auParams[0] = a_uArg0; \ 289 285 pCall->auParams[1] = a_uArg1; \ -
trunk/src/VBox/VMM/VMMAll/target-x86/IEMAllN8veEmit-x86.h
r104315 r104321 2251 2251 //IEMNATIVE_NATIVE_EMIT_ADD_SUB_U128(psubq, true /*a_fSub*/, kArmv8VecInstrArithSz_64, 0xfb); 2252 2252 2253 #endif 2253 #endif /* IEMNATIVE_WITH_SIMD_REG_ALLOCATOR */ 2254 2254 2255 2255 #endif /* !VMM_INCLUDED_SRC_VMMAll_target_x86_IEMAllN8veEmit_x86_h */ -
trunk/src/VBox/VMM/VMMR3/IEMR3.cpp
r104281 r104321 1138 1138 fFlags &= IEMTB_F_KEY_MASK; 1139 1139 IEMTBCACHE const * const pTbCache = pVCpu->iem.s.pTbCacheR3; 1140 uint32_t const idxHash = IEMTBCACHE_HASH _NO_KEY_MASK(pTbCache, fFlags, GCPhysPc);1140 uint32_t const idxHash = IEMTBCACHE_HASH(pTbCache, fFlags, GCPhysPc); 1141 1141 PCIEMTB pTb = IEMTBCACHE_PTR_GET_TB(pTbCache->apHash[idxHash]); 1142 1142 while (pTb) -
trunk/src/VBox/VMM/include/IEMInternal.h
r104298 r104321 920 920 /** The function to call (IEMTHREADEDFUNCS). */ 921 921 uint16_t enmFunction; 922 922 923 /** Instruction number in the TB (for statistics). */ 923 924 uint8_t idxInstr; 924 uint8_t uUnused0;925 925 /** The opcode length. */ 926 uint8_t cbOpcode; 926 927 /** Offset into IEMTB::pabOpcodes. */ 927 928 uint16_t offOpcode; 928 /** The opcode length. */ 929 uint8_t cbOpcode; 930 /** Index in to IEMTB::aRanges. */ 931 uint8_t idxRange; 929 930 /** Unused atm. */ 931 uint16_t uUnused0; 932 932 933 933 /** Generic parameters. */
Note:
See TracChangeset
for help on using the changeset viewer.