Changeset 104947 in vbox
- Timestamp:
- Jun 17, 2024 8:23:40 PM (3 months ago)
- Location:
- trunk
- Files:
-
- 7 edited
-
include/VBox/vmm/gvm.h (modified) (1 diff)
-
include/VBox/vmm/vm.h (modified) (1 diff)
-
src/VBox/VMM/Config.kmk (modified) (2 diffs)
-
src/VBox/VMM/Makefile.kmk (modified) (1 diff)
-
src/VBox/VMM/include/IEMInternal.h (modified) (5 diffs)
-
src/VBox/VMM/include/IEMN8veRecompilerTlbLookup.h (modified) (3 diffs)
-
src/VBox/VMM/testcase/Makefile.kmk (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/gvm.h
r104886 r104947 148 148 #endif 149 149 } GVMCPU; 150 #if RT_GNUC_PREREQ(4, 6) && defined(__cplusplus) 151 # pragma GCC diagnostic push 152 #endif 153 #if RT_GNUC_PREREQ(4, 3) && defined(__cplusplus) 154 # pragma GCC diagnostic ignored "-Winvalid-offsetof" 155 #endif 150 #ifndef IN_TSTVMSTRUCT 151 # if RT_GNUC_PREREQ(4, 6) && defined(__cplusplus) 152 # pragma GCC diagnostic push 153 # endif 154 # if RT_GNUC_PREREQ(4, 3) && defined(__cplusplus) 155 # pragma GCC diagnostic ignored "-Winvalid-offsetof" 156 # endif 156 157 AssertCompileMemberAlignment(GVMCPU, idCpu, 16384); 157 158 AssertCompileMemberAlignment(GVMCPU, gvmm, 64); 158 # ifdef VBOX_WITH_NEM_R0159 # ifdef VBOX_WITH_NEM_R0 159 160 AssertCompileMemberAlignment(GVMCPU, nemr0, 64); 160 # endif161 # endif 161 162 AssertCompileSizeAlignment(GVMCPU, 16384); 162 #if RT_GNUC_PREREQ(4, 6) && defined(__cplusplus) 163 # pragma GCC diagnostic pop 163 # if RT_GNUC_PREREQ(4, 6) && defined(__cplusplus) 164 # pragma GCC diagnostic pop 165 # endif 164 166 #endif 165 167 -
trunk/include/VBox/vmm/vm.h
r104931 r104947 356 356 357 357 #ifndef VBOX_FOR_DTRACE_LIB 358 # ifndef IN_TSTVMSTRUCT 358 359 /* Make sure the structure size is aligned on a 16384 boundary for arm64 purposes. */ 359 360 AssertCompileSizeAlignment(VMCPU, 16384); 361 # endif 360 362 361 363 /** @name Operations on VMCPU::enmState -
trunk/src/VBox/VMM/Config.kmk
r101163 r104947 36 36 # Globals 37 37 # 38 39 VBOX_PATH_SRC_VMM := $(PATH_ROOT)/src/VBox/VMM 38 40 39 41 ## DEFS variable that is picked up by all three VMM targets (R0, R3, RC). … … 134 136 # VMM_COMMON_DEFS += VBOX_WITH_NS_ACCOUNTING_STATS 135 137 138 139 # 140 # Generate macro template for IEM instruction statistics. 141 # 142 # @param 1 The target name. 143 # @param 2 The dir to put the header in. 144 # 145 define def_VBoxGenIEMInstructionStatisticsTmpl_Header 146 $(1)_INTERMEDIATES += $(2)/IEMInstructionStatisticsTmpl.h 147 $(1)_CLEAN += \ 148 $(2)/IEMInstructionStatisticsTmpl.h.ts \ 149 $(2)/IEMInstructionStatisticsTmpl.h 150 $$(call KB_FN_AUTO_CMD_DEPS,$(2)/IEMInstructionStatisticsTmpl.h.ts) 151 $(2)/IEMInstructionStatisticsTmpl.h.ts \ 152 +| $(2)/IEMInstructionStatisticsTmpl.h: \ 153 $$(VBOX_PATH_SRC_VMM)/VMMAll/IEMAllInstCommon.cpp.h \ 154 $$(VBOX_PATH_SRC_VMM)/VMMAll/IEMAllInstOneByte.cpp.h \ 155 $$(VBOX_PATH_SRC_VMM)/VMMAll/IEMAllInstTwoByte0f.cpp.h \ 156 $$(VBOX_PATH_SRC_VMM)/VMMAll/IEMAllInstThree0f38.cpp.h \ 157 $$(VBOX_PATH_SRC_VMM)/VMMAll/IEMAllInstThree0f3a.cpp.h \ 158 $$(VBOX_PATH_SRC_VMM)/VMMAll/IEMAllInstVexMap1.cpp.h \ 159 $$(VBOX_PATH_SRC_VMM)/VMMAll/IEMAllInstVexMap2.cpp.h \ 160 $$(VBOX_PATH_SRC_VMM)/VMMAll/IEMAllInstVexMap3.cpp.h \ 161 $$(VBOX_PATH_SRC_VMM)/VMMAll/IEMAllInst3DNow.cpp.h 162 $$(QUIET)$(call MSG_GENERATE,$(1),$$@,VMMAll/IEMAllInst*.cpp.h) 163 $$(QUIET)$$(RM) -f -- "$$@.tmp" "$$@.tmp" "$$@.sorted" 164 $$(QUIET)$$(MKDIR) -p -- "$$(dir $$@)" 165 $$(call KB_FN_AUTO_CMD_DEPS_COMMANDS) 166 $$(QUIET)$$(SED) \ 167 -e '/IEMOP_MNEMONIC\(\|[01234]\|[01234]EX\)(/!d' \ 168 -e '/^ *# *define *IEMOP_MNEMONIC/d' \ 169 -e ':look-for-end-of-invocation' \ 170 -e '/)/bend-of-invocation' \ 171 -e 'N' \ 172 -e 'blook-for-end-of-invocation' \ 173 -e ':end-of-invocation' \ 174 -e 's/\n/ /g' \ 175 -e 's/ */ /g' \ 176 -e 's/^.*IEMOP_MNEMONIC\(\|[01234]\|[01234]EX\)(/IEM_DO_INSTR_STAT\1(/' \ 177 -e 's/;.*$$(DOLLAR)//' \ 178 --output "$$@.tmp" $$(filter %.cpp.h,$$^) 179 # Windows sort does some kind of seeking. So, we must use a temporary file and kmk_cat to define and undefine our macros. 180 $$(QUIET)$$(REDIRECT) -wto "$$@.sorted" -- sort "$$@.tmp" 181 $$(QUIET)$$(APPEND) -nt "$$@" \ 182 '/* Warning autogenerated by VMM/Makefile.kmk. */ ' \ 183 '#define IEM_DO_INSTR_STAT0(f,u,l,fd,fi) IEM_DO_INSTR_STAT(l, #l)' \ 184 '#define IEM_DO_INSTR_STAT1(f,u,l,o1,fd,fi) IEM_DO_INSTR_STAT(l ## _ ## o1, #l " " #o1)' \ 185 '#define IEM_DO_INSTR_STAT2(f,u,l,o1,o2,fd,fi) IEM_DO_INSTR_STAT(l ## _ ## o1 ## _ ## o2, #l " " #o1 "," #o2)' \ 186 '#define IEM_DO_INSTR_STAT3(f,u,l,o1,o2,o3,fd,fi) IEM_DO_INSTR_STAT(l ## _ ## o1 ## _ ## o2 ## _ ## o3, #l " " #o1 "," #o2 "," #o3)' \ 187 '#define IEM_DO_INSTR_STAT4(f,u,l,o1,o2,o3,o4,fd,fi) IEM_DO_INSTR_STAT(l ## _ ## o1 ## _ ## o2 ## _ ## o3 ## _ ## o4, #l " " #o1 "," #o2 "," #o3 "," #o4)' \ 188 '#define IEM_DO_INSTR_STAT0EX(s,m,f,u,l,fd,fi) IEM_DO_INSTR_STAT(s,m)' \ 189 '#define IEM_DO_INSTR_STAT1EX(s,m,f,u,l,o1,fd,fi) IEM_DO_INSTR_STAT(s,m)' \ 190 '#define IEM_DO_INSTR_STAT2EX(s,m,f,u,l,o1,o2,fd,fi) IEM_DO_INSTR_STAT(s,m)' \ 191 '#define IEM_DO_INSTR_STAT3EX(s,m,f,u,l,o1,o2,o3,fd,fi) IEM_DO_INSTR_STAT(s,m)' \ 192 '#define IEM_DO_INSTR_STAT4EX(s,m,f,u,l,o1,o2,o3,o4,fd,fi) IEM_DO_INSTR_STAT(s,m)' \ 193 '' 194 $$(QUIET)$$(REDIRECT) -ato "$$@" -- $$(CAT_EXT) "$$@.sorted" 195 $$(QUIET)$$(APPEND) -n "$$@" \ 196 '' \ 197 '#undef IEM_DO_INSTR_STAT0' \ 198 '#undef IEM_DO_INSTR_STAT1' \ 199 '#undef IEM_DO_INSTR_STAT2' \ 200 '#undef IEM_DO_INSTR_STAT3' \ 201 '#undef IEM_DO_INSTR_STAT4' \ 202 '#undef IEM_DO_INSTR_STAT0EX' \ 203 '#undef IEM_DO_INSTR_STAT1EX' \ 204 '#undef IEM_DO_INSTR_STAT2EX' \ 205 '#undef IEM_DO_INSTR_STAT3EX' \ 206 '#undef IEM_DO_INSTR_STAT4EX' \ 207 '' 208 $$(QUIET)$$(RM) -f -- "$$@.tmp" "$$@.sorted" 209 $$(QUIET)$$(CP) -v -f --changed -- "$$@" "$$(patsubst %.ts,%,$$@)" 210 211 endef -
trunk/src/VBox/VMM/Makefile.kmk
r104672 r104947 526 526 endif 527 527 528 529 # 530 # Generate macro template for IEM instruction statistics. 531 # 532 $(call KB_FN_DO_PASS0_ON_TARGET,VBoxVMM) # Set VBoxVMM_0_OUTDIR 533 VBoxVMM_INTERMEDIATES += $(VBoxVMM_0_OUTDIR)/CommonGenIncs/IEMInstructionStatisticsTmpl.h 534 VBoxVMM_CLEAN += \ 535 $(VBoxVMM_0_OUTDIR)/CommonGenIncs/IEMInstructionStatisticsTmpl.h.ts \ 536 $(VBoxVMM_0_OUTDIR)/CommonGenIncs/IEMInstructionStatisticsTmpl.h 537 $(call KB_FN_AUTO_CMD_DEPS,$(VBoxVMM_0_OUTDIR)/CommonGenIncs/IEMInstructionStatisticsTmpl.h.ts) 538 $(VBoxVMM_0_OUTDIR)/CommonGenIncs/IEMInstructionStatisticsTmpl.h.ts \ 539 +| $(VBoxVMM_0_OUTDIR)/CommonGenIncs/IEMInstructionStatisticsTmpl.h: \ 540 $(PATH_SUB_CURRENT)/VMMAll/IEMAllInstCommon.cpp.h \ 541 $(PATH_SUB_CURRENT)/VMMAll/IEMAllInstOneByte.cpp.h \ 542 $(PATH_SUB_CURRENT)/VMMAll/IEMAllInstTwoByte0f.cpp.h \ 543 $(PATH_SUB_CURRENT)/VMMAll/IEMAllInstThree0f38.cpp.h \ 544 $(PATH_SUB_CURRENT)/VMMAll/IEMAllInstThree0f3a.cpp.h \ 545 $(PATH_SUB_CURRENT)/VMMAll/IEMAllInstVexMap1.cpp.h \ 546 $(PATH_SUB_CURRENT)/VMMAll/IEMAllInstVexMap2.cpp.h \ 547 $(PATH_SUB_CURRENT)/VMMAll/IEMAllInstVexMap3.cpp.h \ 548 $(PATH_SUB_CURRENT)/VMMAll/IEMAllInst3DNow.cpp.h 549 $(QUIET)$(call MSG_GENERATE,VBoxVMM,$@,VMMAll/IEMAllInst*.cpp.h) 550 $(QUIET)$(RM) -f -- "$@.tmp" "$@.tmp" "$@.sorted" 551 $(QUIET)$(MKDIR) -p -- "$(dir $@)" 552 $(call KB_FN_AUTO_CMD_DEPS_COMMANDS) 553 $(QUIET)$(SED) \ 554 -e '/IEMOP_MNEMONIC\(\|[01234]\|[01234]EX\)(/!d' \ 555 -e '/^ *# *define *IEMOP_MNEMONIC/d' \ 556 -e ':look-for-end-of-invocation' \ 557 -e '/)/bend-of-invocation' \ 558 -e 'N' \ 559 -e 'blook-for-end-of-invocation' \ 560 -e ':end-of-invocation' \ 561 -e 's/\n/ /g' \ 562 -e 's/ */ /g' \ 563 -e 's/^.*IEMOP_MNEMONIC\(\|[01234]\|[01234]EX\)(/IEM_DO_INSTR_STAT\1(/' \ 564 -e 's/;.*$(DOLLAR)//' \ 565 --output "$@.tmp" $(filter %.cpp.h,$^) 566 # Windows sort does some kind of seeking. So, we must use a temporary file and kmk_cat to define and undefine our macros. 567 $(QUIET)$(REDIRECT) -wto "$@.sorted" -- sort "$@.tmp" 568 $(QUIET)$(APPEND) -nt "$@" \ 569 '/* Warning autogenerated by VMM/Makefile.kmk. */ ' \ 570 '#define IEM_DO_INSTR_STAT0(f,u,l,fd,fi) IEM_DO_INSTR_STAT(l, #l)' \ 571 '#define IEM_DO_INSTR_STAT1(f,u,l,o1,fd,fi) IEM_DO_INSTR_STAT(l ## _ ## o1, #l " " #o1)' \ 572 '#define IEM_DO_INSTR_STAT2(f,u,l,o1,o2,fd,fi) IEM_DO_INSTR_STAT(l ## _ ## o1 ## _ ## o2, #l " " #o1 "," #o2)' \ 573 '#define IEM_DO_INSTR_STAT3(f,u,l,o1,o2,o3,fd,fi) IEM_DO_INSTR_STAT(l ## _ ## o1 ## _ ## o2 ## _ ## o3, #l " " #o1 "," #o2 "," #o3)' \ 574 '#define IEM_DO_INSTR_STAT4(f,u,l,o1,o2,o3,o4,fd,fi) IEM_DO_INSTR_STAT(l ## _ ## o1 ## _ ## o2 ## _ ## o3 ## _ ## o4, #l " " #o1 "," #o2 "," #o3 "," #o4)' \ 575 '#define IEM_DO_INSTR_STAT0EX(s,m,f,u,l,fd,fi) IEM_DO_INSTR_STAT(s,m)' \ 576 '#define IEM_DO_INSTR_STAT1EX(s,m,f,u,l,o1,fd,fi) IEM_DO_INSTR_STAT(s,m)' \ 577 '#define IEM_DO_INSTR_STAT2EX(s,m,f,u,l,o1,o2,fd,fi) IEM_DO_INSTR_STAT(s,m)' \ 578 '#define IEM_DO_INSTR_STAT3EX(s,m,f,u,l,o1,o2,o3,fd,fi) IEM_DO_INSTR_STAT(s,m)' \ 579 '#define IEM_DO_INSTR_STAT4EX(s,m,f,u,l,o1,o2,o3,o4,fd,fi) IEM_DO_INSTR_STAT(s,m)' \ 580 '' 581 $(QUIET)$(REDIRECT) -ato "$@" -- $(CAT_EXT) "$@.sorted" 582 $(QUIET)$(APPEND) -n "$@" \ 583 '' \ 584 '#undef IEM_DO_INSTR_STAT0' \ 585 '#undef IEM_DO_INSTR_STAT1' \ 586 '#undef IEM_DO_INSTR_STAT2' \ 587 '#undef IEM_DO_INSTR_STAT3' \ 588 '#undef IEM_DO_INSTR_STAT4' \ 589 '#undef IEM_DO_INSTR_STAT0EX' \ 590 '#undef IEM_DO_INSTR_STAT1EX' \ 591 '#undef IEM_DO_INSTR_STAT2EX' \ 592 '#undef IEM_DO_INSTR_STAT3EX' \ 593 '#undef IEM_DO_INSTR_STAT4EX' \ 594 '' 595 $(QUIET)$(RM) -f -- "$@.tmp" "$@.sorted" 596 $(QUIET)$(CP) -v -f --changed -- "$@" "$(patsubst %.ts,%,$@)" 597 528 $(call KB_FN_DO_PASS0_ON_TARGET,VBoxVMM) 529 $(evalcall2 def_VBoxGenIEMInstructionStatisticsTmpl_Header,VBoxVMM,$(VBoxVMM_0_OUTDIR)/CommonGenIncs) 598 530 foobar: $(VBoxVMM_0_OUTDIR)/CommonGenIncs/IEMInstructionStatisticsTmpl.h 531 599 532 600 533 ifdef VBOX_WITH_IEM_RECOMPILER -
trunk/src/VBox/VMM/include/IEMInternal.h
r104941 r104947 261 261 #ifndef RT_IN_ASSEMBLER /* ASM-NOINC-START - the rest of the file */ 262 262 263 # if !defined(I N_TSTVMSTRUCT) && !defined(DOXYGEN_RUNNING)263 # if !defined(IEM_WITHOUT_INSTRUCTION_STATS) && !defined(DOXYGEN_RUNNING) 264 264 /** Instruction statistics. */ 265 265 typedef struct IEMINSTRSTATS … … 517 517 | IEMTLBE_F_PHYS_REV ) 518 518 519 /** The TLB size (power of two). 520 * We initially chose 256 because that way we can obtain the result directly 521 * from a 8-bit register without an additional AND instruction. 522 * See also @bugref{10687}. */ 523 #define IEMTLB_ENTRY_COUNT 256 524 #define IEMTLB_ENTRY_COUNT_AS_POWER_OF_TWO 8 525 AssertCompile(RT_BIT_32(IEMTLB_ENTRY_COUNT_AS_POWER_OF_TWO) == IEMTLB_ENTRY_COUNT); 519 526 520 527 /** … … 572 579 uint32_t au32Padding[6]; 573 580 574 /** The TLB entries. 575 * We've choosen 256 because that way we can obtain the result directly from a 576 * 8-bit register without an additional AND instruction. */ 577 IEMTLBENTRY aEntries[256]; 581 /** The TLB entries. */ 582 IEMTLBENTRY aEntries[IEMTLB_ENTRY_COUNT]; 578 583 } IEMTLB; 579 584 AssertCompileSizeAlignment(IEMTLB, 64); … … 607 612 * @param a_uTag Value returned by IEMTLB_CALC_TAG. 608 613 */ 609 #define IEMTLB_TAG_TO_INDEX(a_uTag) ( (uint8_t)(a_uTag) ) 614 #if IEMTLB_ENTRY_COUNT == 256 615 # define IEMTLB_TAG_TO_INDEX(a_uTag) ( (uint8_t)(a_uTag) ) 616 #else 617 # define IEMTLB_TAG_TO_INDEX(a_uTag) ( (a_uTag) & (IEMTLB_ENTRY_COUNT - 1U) ) 618 AssertCompile(RT_IS_POWER_OF_TWO(IEMTLB_ENTRY_COUNT)); 619 #endif 610 620 /** 611 621 * Converts a TLB tag value into a TLB index. … … 2164 2174 uint32_t aStatInts[256]; 2165 2175 2166 #if defined(VBOX_WITH_STATISTICS) && !defined( IN_TSTVMSTRUCT) && !defined(DOXYGEN_RUNNING)2176 #if defined(VBOX_WITH_STATISTICS) && !defined(DOXYGEN_RUNNING) && !defined(IEM_WITHOUT_INSTRUCTION_STATS) 2167 2177 /** Instruction statistics for ring-0/raw-mode. */ 2168 2178 IEMINSTRSTATS StatsRZ; -
trunk/src/VBox/VMM/include/IEMN8veRecompilerTlbLookup.h
r104148 r104947 631 631 AssertCompile(RTASSERT_OFFSET_OF(IEMTLB, uTlbPhysRev) < RTASSERT_OFFSET_OF(IEMTLB, aEntries)); 632 632 AssertCompile(RTASSERT_OFFSET_OF(VMCPUCC, iem.s.DataTlb.aEntries) < _64K); 633 AssertCompile(RTASSERT_OFFSET_OF(VMCPUCC, iem.s.CodeTlb.aEntries) < _64K); /* if larger do: ADD x3, x27, x3, LSL #y */ 634 pCodeBuf[off++] = Armv8A64MkInstrMovZ(pTlbState->idxReg4, offVCpuTlb + RT_UOFFSETOF(IEMTLB, aEntries)); 635 pCodeBuf[off++] = Armv8A64MkInstrAddReg(pTlbState->idxReg4, IEMNATIVE_REG_FIXED_PVMCPU, pTlbState->idxReg4); 633 if (offVCpuTlb + RT_UOFFSETOF(IEMTLB, aEntries) < _64K) 634 { 635 pCodeBuf[off++] = Armv8A64MkInstrMovZ(pTlbState->idxReg4, offVCpuTlb + RT_UOFFSETOF(IEMTLB, aEntries)); 636 pCodeBuf[off++] = Armv8A64MkInstrAddReg(pTlbState->idxReg4, IEMNATIVE_REG_FIXED_PVMCPU, pTlbState->idxReg4); 637 } 638 else 639 { 640 AssertCompileMemberAlignment(VMCPUCC, iem.s.CodeTlb.aEntries, 64); 641 AssertCompileMemberAlignment(IEMTLB, aEntries, 64); 642 AssertCompile(RTASSERT_OFFSET_OF(VMCPUCC, iem.s.CodeTlb.aEntries) < _64K*64U); 643 pCodeBuf[off++] = Armv8A64MkInstrMovZ(pTlbState->idxReg4, (offVCpuTlb + RT_UOFFSETOF(IEMTLB, aEntries)) >> 6); 644 pCodeBuf[off++] = Armv8A64MkInstrAddReg(pTlbState->idxReg4, IEMNATIVE_REG_FIXED_PVMCPU, pTlbState->idxReg4, 645 true /*64Bit*/, false /*fSetFlags*/, 6 /*cShift*/, kArmv8A64InstrShift_Lsl); 646 } 636 647 pCodeBuf[off++] = Armv8A64MkInstrLdPairGpr(pTlbState->idxReg3, pTlbState->idxReg5, pTlbState->idxReg4, 637 648 (RT_OFFSETOF(IEMTLB, uTlbRevision) - RT_OFFSETOF(IEMTLB, aEntries)) / 8); … … 649 660 # endif 650 661 # if defined(RT_ARCH_AMD64) 662 # if IEMTLB_ENTRY_COUNT == 256 651 663 /* movzx reg2, byte reg1 */ 652 664 off = iemNativeEmitLoadGprFromGpr8Ex(pCodeBuf, off, pTlbState->idxReg2, pTlbState->idxReg1); 665 # else 666 /* mov reg2, reg1 */ 667 off = iemNativeEmitLoadGprFromGpr32Ex(pCodeBuf, off, pTlbState->idxReg2, pTlbState->idxReg1); 668 /* and reg2, IEMTLB_ENTRY_COUNT - 1U */ 669 off = iemNativeEmitAndGpr32ByImmEx(pCodeBuf, off, pTlbState->idxReg2, IEMTLB_ENTRY_COUNT - 1U); 670 # endif 653 671 /* shl reg2, 5 ; reg2 *= sizeof(IEMTLBENTRY) */ 654 672 AssertCompileSize(IEMTLBENTRY, 32); … … 666 684 667 685 # elif defined(RT_ARCH_ARM64) 668 /* reg2 = (reg1 & 0xff) << 5 */669 pCodeBuf[off++] = Armv8A64MkInstrUbfiz(pTlbState->idxReg2, pTlbState->idxReg1, 5, 8);686 /* reg2 = (reg1 & tlbmask) << 5 */ 687 pCodeBuf[off++] = Armv8A64MkInstrUbfiz(pTlbState->idxReg2, pTlbState->idxReg1, 5, IEMTLB_ENTRY_COUNT_AS_POWER_OF_TWO); 670 688 # ifdef IEMNATIVE_WITH_TLB_LOOKUP_LOAD_STORE_PAIR 671 689 /* reg2 += &pVCpu->iem.s.DataTlb.aEntries / CodeTlb.aEntries */ -
trunk/src/VBox/VMM/testcase/Makefile.kmk
r104326 r104947 175 175 tstVMStructSize_INCS = \ 176 176 $(VBOX_PATH_VMM_SRC)/include \ 177 $( VBOX_PATH_VMM_SRC)/PATM\177 $(tstVMStructSize_0_OUTDIR) \ 178 178 $(VBOX_VMM_TESTCASE_OUT_DIR) 179 179 tstVMStructSize_SOURCES = tstVMStructSize.cpp … … 184 184 tstVMStructSize_DEFS += VBOX_WITH_R0_LOGGING 185 185 endif 186 $(call KB_FN_DO_PASS0_ON_TARGET,tstVMStructSize) 187 $(evalcall2 def_VBoxGenIEMInstructionStatisticsTmpl_Header,tstVMStructSize,$(tstVMStructSize_0_OUTDIR)) 186 188 187 189 tstAsmStructs_TEMPLATE = VBoxR3AutoTest … … 239 241 # Testcase for checking the C (IEMAllAImplC.cpp) and assembly (IEMAllAImpl.asm) 240 242 # instruction emulation helpers. 241 #242 # Note! The IN_TSTVMSTRUCT define is for avoiding IEMInstructionStatisticsTmpl.h.243 243 # 244 244 TSTIEMAIMPL_TEST_DATA_DEPS := \ … … 654 654 655 655 tstIEMAImpl_TEMPLATE = VBoxR3TstExe 656 tstIEMAImpl_DEFS = $(VMM_COMMON_DEFS) IEM_WITHOUT_ASSEMBLY I N_TSTVMSTRUCT656 tstIEMAImpl_DEFS = $(VMM_COMMON_DEFS) IEM_WITHOUT_ASSEMBLY IEM_WITHOUT_INSTRUCTION_STATS 657 657 tstIEMAImpl_SDKS = VBoxSoftFloatR3Shared 658 658 tstIEMAImpl_INCS = ../include . … … 676 676 tstIEMAImplAsm_TEMPLATE := VBoxR3TstExe 677 677 tstIEMAImplAsm_SDKS := VBoxSoftFloatR3Shared 678 tstIEMAImplAsm_DEFS = $(VMM_COMMON_DEFS) IEM_WITH_ASSEMBLY I N_TSTVMSTRUCTTSTIEMAIMPL_WITH_GENERATOR678 tstIEMAImplAsm_DEFS = $(VMM_COMMON_DEFS) IEM_WITH_ASSEMBLY IEM_WITHOUT_INSTRUCTION_STATS TSTIEMAIMPL_WITH_GENERATOR 679 679 tstIEMAImplAsm_ASFLAGS.amd64 := -Werror 680 680 tstIEMAImplAsm_ASFLAGS.x86 := -Werror … … 700 700 tstIEMCheckMc_TEMPLATE = VBoxR3TstExe 701 701 tstIEMCheckMc_SOURCES = tstIEMCheckMc.cpp 702 tstIEMCheckMc_DEFS = $(VMM_COMMON_DEFS) 702 tstIEMCheckMc_DEFS = $(VMM_COMMON_DEFS) IEM_WITHOUT_INSTRUCTION_STATS 703 703 tstIEMCheckMc_LIBS = $(LIB_RUNTIME) 704 704 ifeq ($(KBUILD_TARGET),win) … … 974 974 || defined(VBOX_WITH_DTRACE_RC)) 975 975 tstVMStructDTrace_TEMPLATE = VBoxR3AutoTest 976 tstVMStructDTrace_DEFS = VBOX_IN_VMM IN_VMM_R3 IN_DIS $(VMM_COMMON_DEFS) 976 tstVMStructDTrace_DEFS = VBOX_IN_VMM IN_VMM_R3 IN_DIS $(VMM_COMMON_DEFS) IEM_WITHOUT_INSTRUCTION_STATS 977 977 ifdef VBOX_WITH_RAW_MODE 978 978 tstVMStructDTrace_DEFS += VBOX_WITH_RAW_MODE
Note:
See TracChangeset
for help on using the changeset viewer.

