- Timestamp:
- Oct 30, 2018 10:51:36 AM (6 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/Makefile.kmk
r74242 r75173 34 34 ifeq ($(KBUILD_TARGET_ARCH),x86) 35 35 ifeq ($(KBUILD_TARGET),darwin) 36 36 $(error 32-bit darwin is no longer a supported VirtualBox host. Go back to 4.3 or older for 32-bit support.) 37 37 else ifeq ($(KBUILD_TARGET),solaris) 38 38 $(error 32-bit solaris is no longer a supported VirtualBox host. Go back to 4.2 or older for 32-bit support.) 39 39 endif 40 40 endif … … 53 53 ## @todo eliminate IN_GMM_R3 54 54 ifdef VBOX_WITH_PREALLOC_RAM_BY_DEFAULT 55 VBoxVMM_DEFS+= VBOX_WITH_PREALLOC_RAM_BY_DEFAULT55 VBoxVMM_DEFS += VBOX_WITH_PREALLOC_RAM_BY_DEFAULT 56 56 endif 57 57 ifdef VBOX_WITH_VUSB 58 VBoxVMM_DEFS+= VBOX_WITH_USB58 VBoxVMM_DEFS += VBOX_WITH_USB 59 59 endif 60 60 ifdef VBOX_WITH_PDM_ASYNC_COMPLETION 61 VBoxVMM_DEFS+= VBOX_WITH_PDM_ASYNC_COMPLETION61 VBoxVMM_DEFS += VBOX_WITH_PDM_ASYNC_COMPLETION 62 62 endif 63 63 ifdef VBOX_WITH_NETSHAPER 64 VBoxVMM_DEFS+= VBOX_WITH_NETSHAPER64 VBoxVMM_DEFS += VBOX_WITH_NETSHAPER 65 65 endif 66 66 ifdef VBOX_WITH_RAW_MODE 67 VBoxVMM_DEFS+= VBOX_WITH_RAW_MODE VBOX_WITH_RAW_MODE_NOT_R067 VBoxVMM_DEFS += VBOX_WITH_RAW_MODE VBOX_WITH_RAW_MODE_NOT_R0 68 68 endif 69 69 ifdef VBOX_WITH_VMM_R0_SWITCH_STACK 70 VBoxVMM_DEFS+= VMM_R0_SWITCH_STACK70 VBoxVMM_DEFS += VMM_R0_SWITCH_STACK 71 71 endif 72 72 if "$(KBUILD_TYPE)" == "debug" && "$(USERNAME)" == "bird" 73 VBoxVMM_DEFS+= RTMEM_WRAP_TO_EF_APIS73 VBoxVMM_DEFS += RTMEM_WRAP_TO_EF_APIS 74 74 endif 75 75 VBoxVMM_DEFS.darwin = VMM_R0_SWITCH_STACK … … 214 214 ,) 215 215 ifdef VBOX_WITH_VUSB 216 216 VBoxVMM_SOURCES += VMMR3/PDMUsb.cpp 217 217 endif 218 218 ifdef VBOX_WITH_PDM_ASYNC_COMPLETION 219 220 221 222 223 219 VBoxVMM_SOURCES += \ 220 VMMR3/PDMAsyncCompletion.cpp \ 221 VMMR3/PDMAsyncCompletionFile.cpp \ 222 VMMR3/PDMAsyncCompletionFileFailsafe.cpp \ 223 VMMR3/PDMAsyncCompletionFileNormal.cpp 224 224 endif 225 225 ifdef VBOX_WITH_NETSHAPER 226 227 228 226 VBoxVMM_SOURCES += \ 227 VMMR3/PDMNetShaper.cpp \ 228 VMMAll/PDMAllNetShaper.cpp 229 229 endif 230 230 ifdef VBOX_WITH_REM 231 231 VBoxVMM_SOURCES += \ 232 232 VMMAll/REMAll.cpp 233 233 endif 234 234 ifdef VBOX_WITH_RAW_MODE 235 VBoxVMM_SOURCES.x86 += \236 VMMSwitcher/32BitTo32Bit.asm \237 VMMSwitcher/32BitToPAE.asm \238 VMMSwitcher/PAETo32Bit.asm \239 VMMSwitcher/PAEToPAE.asm240 VBoxVMM_SOURCES.amd64 = \241 VMMSwitcher/AMD64To32Bit.asm \242 VMMSwitcher/AMD64ToPAE.asm243 endif244 235 VBoxVMM_SOURCES.x86 += \ 245 VMMSwitcher/32BitToAMD64.asm \ 246 VMMSwitcher/PAEToAMD64.asm \ 236 VMMSwitcher/32BitTo32Bit.asm \ 237 VMMSwitcher/32BitToPAE.asm \ 238 VMMSwitcher/PAETo32Bit.asm \ 239 VMMSwitcher/PAEToPAE.asm 240 VBoxVMM_SOURCES.amd64 = \ 241 VMMSwitcher/AMD64To32Bit.asm \ 242 VMMSwitcher/AMD64ToPAE.asm 243 endif 244 VBoxVMM_SOURCES.x86 += \ 245 VMMSwitcher/32BitToAMD64.asm \ 246 VMMSwitcher/PAEToAMD64.asm \ 247 247 VMMSwitcher/X86Stub.asm 248 248 VBoxVMM_SOURCES.amd64 += \ … … 250 250 251 251 ifdef VBOX_WITH_NATIVE_NEM 252 253 254 255 256 257 258 252 VBoxVMM_SOURCES.win.amd64 += VMMR3/NEMR3Native-win.cpp 253 VBoxVMM_DEFS.win.amd64 += VBOX_WITH_NATIVE_NEM 254 VBoxVMM_SDKS.win += VBOX_NTDLL 255 VMMR3/NEMR3Native-win.cpp_DEFS.amd64 = _AMD64_ 256 VMMR3/NEMR3Native-win.cpp_INCS = \ 257 $(KBUILD_DEVTOOLS)/win.x86/sdk/v10.0.17134.0/include/10.0.17134.0/um \ 258 $(KBUILD_DEVTOOLS)/win.x86/sdk/v10.0.17134.0/include/10.0.17134.0/shared 259 259 endif 260 260 … … 262 262 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB) 263 263 ifdef VBOX_WITH_DEBUGGER 264 265 264 VBoxVMM_LIBS += \ 265 $(PATH_STAGE_LIB)/Debugger$(VBOX_SUFF_LIB) 266 266 endif 267 267 VBoxVMM_LIBS += \ … … 281 281 282 282 ifdef VBOX_WITH_GCC_SANITIZER 283 283 VMMR3/PGMPool.cpp_CXXFLAGS.linux += -fno-sanitize=address 284 284 endif 285 285 … … 291 291 292 292 if "$(USERNAME)" == "bird" && "$(KBUILD_TARGET)" == "win" 293 294 295 296 293 VBoxVMM_VMMAll/IEMAll.cpp_CXXFLAGS = /FAcs /Fa$(subst /,\\,$(outbase).cod) 294 VBoxVMM_VMMAll/IEMAllAImplC.cpp_CXXFLAGS = /FAcs /Fa$(subst /,\\,$(outbase).cod) 295 VBoxVMM_VMMAll/PGMAll.cpp_CXXFLAGS = /FAcs /Fa$(subst /,\\,$(outbase).cod) 296 VBoxVMM_VMMAll/PDMAllCritSect.cpp_CXXFLAGS = /FAcs /Fa$(subst /,\\,$(outbase).cod) 297 297 endif 298 298 … … 326 326 $(QUIET)$(SED) \ 327 327 -e '/IEMOP_MNEMONIC\(\|[01234]\|[01234]EX\)(/!d' \ 328 329 330 331 332 333 334 335 336 328 -e ':look-for-end-of-invocation' \ 329 -e '/)/bend-of-invocation' \ 330 -e 'N' \ 331 -e 'blook-for-end-of-invocation' \ 332 -e ':end-of-invocation' \ 333 -e 's/\n/ /g' \ 334 -e 's/ */ /g' \ 335 -e 's/^.*IEMOP_MNEMONIC\(\|[01234]\|[01234]EX\)(/IEM_DO_INSTR_STAT\1(/' \ 336 -e 's/;.*$(DOLLAR)//' \ 337 337 --output "[email protected]" $(filter %.cpp.h,$^) 338 338 # Windows sort does some kind of seeking. So, we must use a temporary file and kmk_cat to define and undefine our macros. 339 339 $(QUIET)$(REDIRECT) -wto "[email protected]" -- sort "[email protected]" 340 340 $(QUIET)$(APPEND) -nt "$@" \ 341 341 '/* Warning autogenerated by VMM/Makefile.kmk. */ ' \ 342 342 '#define IEM_DO_INSTR_STAT0(f,u,l,fd,fi) IEM_DO_INSTR_STAT(l, #l)' \ 343 343 '#define IEM_DO_INSTR_STAT1(f,u,l,o1,fd,fi) IEM_DO_INSTR_STAT(l ## _ ## o1, #l " " #o1)' \ … … 353 353 $(QUIET)$(REDIRECT) -ato "$@" -- $(CAT_EXT) "[email protected]" 354 354 $(QUIET)$(APPEND) -n "$@" \ 355 355 '' \ 356 356 '#undef IEM_DO_INSTR_STAT0' \ 357 357 '#undef IEM_DO_INSTR_STAT1' \ … … 364 364 '#undef IEM_DO_INSTR_STAT3EX' \ 365 365 '#undef IEM_DO_INSTR_STAT4EX' \ 366 366 '' 367 367 $(QUIET)$(RM) -f -- "[email protected]" "[email protected]" 368 368 $(QUIET)$(CP) -v -f --changed -- "$@" "$(patsubst %.ts,%,$@)" … … 371 371 372 372 if "$(KBUILD_TARGET)" == "win" && !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS) 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 373 # 374 # Debug type info hack for VMCPU, VM and similar. 375 # 376 # The microsoft linker seems to be using the last occurence of the structures 377 # when writing the module PDB file. So, we put the fully complete structures 378 # in a library which is at the end of the library list. 379 # 380 VBoxVMM_LIBS += $(VBoxVMMPdbTypeHack_1_TARGET) 381 VBoxVMM_LDFLAGS += /Export:PdbTypeHack 382 383 LIBRARIES += VBoxVMMPdbTypeHack 384 VBoxVMMPdbTypeHack_TEMPLATE = $(VBoxVMM_TEMPLATE) 385 VBoxVMMPdbTypeHack_SOURCES = VMMAll/AllPdbTypeHack.cpp 386 VBoxVMMPdbTypeHack_DEFS = $(VBoxVMM_DEFS) 387 VBoxVMMPdbTypeHack_DEFS.win = $(VBoxVMM_DEFS.win) 388 VBoxVMMPdbTypeHack_DEFS.win.x86 = $(VBoxVMM_DEFS.win.x86) 389 VBoxVMMPdbTypeHack_DEFS.win.amd64 = $(VBoxVMM_DEFS.win.amd64) 390 VBoxVMMPdbTypeHack_INCS = $(VBoxVMM_INCS) 391 VBoxVMMPdbTypeHack_INTERMEDIATES = $(VBoxVMM_INTERMEDIATES) 392 392 endif 393 393 … … 395 395 if defined(VBOX_WITH_RAW_MODE) && $(intersects $(VBOX_LDR_FMT32), pe lx) 396 396 397 398 399 400 401 397 # 398 # VMMRCBuiltin.lib 399 # 400 LIBRARIES += VMMRCBuiltin 401 VMMRCBuiltin_TEMPLATE = VBoxRc 402 402 ifeq ($(VBOX_LDR_FMT32),pe) 403 403 VMMRCBuiltin_SOURCES = VMMRC/VMMRCBuiltin.def 404 404 endif 405 405 ifeq ($(VBOX_LDR_FMT32),lx) 406 407 406 VMMRCBuiltin_SOURCES = $(VMMRCBuiltin_0_OUTDIR)/VMMRCBuiltin.def 407 $$(VMMRCBuiltin_0_OUTDIR)/VMMRCBuiltin.def: $(PATH_SUB_CURRENT)/VMMRC/VMMRCBuiltin.def | $$(dir $$@) 408 408 $(SED) -e '/not-os2/d' -e 's/^[ \t][ \t]*\([a-zA-Z]\)/ _\1/' -e 's/[ \t]DATA[ \t]*/ /' --output $@ $< 409 409 endif 410 410 411 411 412 413 414 415 416 417 418 419 420 421 422 412 # 413 # VMMRCImp.lib 414 # 415 LIBRARIES += VMMRCImp 416 VMMRCImp_TEMPLATE = VBoxRc 417 VMMRCImp_SOURCES = $(VMMRCImp_0_OUTDIR)/VMMRC.def 418 VMMRCImp_CLEAN = $(VMMRCImp_0_OUTDIR)/VMMRC.def 419 $(call KB_FN_DO_PASS0_ON_TARGET,VMMRCImp) 420 421 $(call KB_FN_AUTO_CMD_DEPS,$(VMMRCImp_0_OUTDIR)/VMMRC.def) 422 $(VMMRCImp_0_OUTDIR)/VMMRC.def: $(VMMRCImp_DEFPATH)/VMMRC/VMMRC.def | $$(dir $$@) 423 423 $(call KB_FN_AUTO_CMD_DEPS_COMMANDS) 424 424 ifeq ($(VBOX_LDR_FMT32),lx) … … 442 442 443 443 if1of ($(VBOX_LDR_FMT), pe lx) 444 445 446 447 448 449 450 444 # 445 # VMMR0Imp.lib 446 # 447 LIBRARIES += VMMR0Imp 448 VMMR0Imp_TEMPLATE = VBoxR0 449 VMMR0Imp_SOURCES = $(VMMR0Imp_0_OUTDIR)/VMMR0.def 450 VMMR0Imp_CLEAN = $(VMMR0Imp_0_OUTDIR)/VMMR0.def 451 451 ifeq ($(KBUILD_TARGET),win) # Experiment: Let's see how blunt the ones messing our NULL_THUNK_DATA entries on W10 are. 452 453 endif 454 455 456 457 452 VMMR0Imp_POST_CMDS = $(KLIBTWEAKER_EXT) --clear-timestamps --fill-null_thunk_data $(out) 453 endif 454 $(call KB_FN_DO_PASS0_ON_TARGET,VMMR0Imp) 455 456 $(call KB_FN_AUTO_CMD_DEPS,$(VMMR0Imp_0_OUTDIR)/VMMR0.def) 457 $(VMMR0Imp_0_OUTDIR)/VMMR0.def: $(VMMR0Imp_DEFPATH)/VMMR0/VMMR0.def | $$(dir $$@) 458 458 $(call KB_FN_AUTO_CMD_DEPS_COMMANDS) 459 459 ifeq ($(VBOX_LDR_FMT),lx) … … 482 482 483 483 ifneq ($(VBOX_LIB_VMM_LAZY),$(LIB_VMM)) 484 485 486 487 488 489 490 491 492 493 494 495 484 # 485 # VMMR3LazyImp.lib (experimental) 486 # 487 LIBRARIES += VMMR3LazyImp 488 VMMR3LazyImp_TEMPLATE = VBoxR3Dll 489 VMMR3LazyImp_INST = $(INST_LIB) 490 VMMR3LazyImp_SOURCES = $(VMMR3LazyImp_0_OUTDIR)/VMMR3LazyLoad.asm 491 VMMR3LazyImp_CLEAN = $(VMMR3LazyImp_0_OUTDIR)/VMMR3LazyLoad.asm 492 $(call KB_FN_DO_PASS0_ON_TARGET,VMMR3LazyImp) 493 494 $(call KB_FN_AUTO_CMD_DEPS,$(VMMR3LazyImp_0_OUTDIR)/VMMR3LazyLoad.asm) 495 $(VMMR3LazyImp_0_OUTDIR)/VMMR3LazyLoad.asm: $(VMMR3LazyImp_DEFPATH)/VMMR3/VMMR3.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@) 496 496 $(call KB_FN_AUTO_CMD_DEPS_COMMANDS) 497 497 $(VBOX_DEF_2_LAZY_LOAD) --output $@ --library VBoxVMM $(VMMR3LazyImp_DEFPATH)/VMMR3/VMMR3.def … … 500 500 501 501 if defined(VBOX_WITH_RAW_MODE) && !defined(VBOX_ONLY_EXTPACKS) 502 503 504 505 506 507 508 509 510 511 VMMRC_DEFS:= $(filter-out VBOX_WITH_NESTED_HWVIRT_SVM VBOX_WITH_NESTED_HWVIRT_VMX,$(VMMRC_DEFS))502 # 503 # VMMRC.rc 504 # 505 SYSMODS += VMMRC 506 VMMRC_TEMPLATE = VBoxRc 507 VMMRC_NAME = VMMRC 508 509 VMMRC_DEFS = IN_VMM_RC IN_RT_RC IN_DIS DIS_CORE_ONLY VBOX_WITH_RAW_MODE VBOX_WITH_RAW_MODE_NOT_R0 IN_SUP_RC \ 510 $(VMM_COMMON_DEFS) 511 VMMRC_DEFS := $(filter-out VBOX_WITH_NESTED_HWVIRT_SVM VBOX_WITH_NESTED_HWVIRT_VMX,$(VMMRC_DEFS)) 512 512 ifdef VBOX_WITH_VMM_R0_SWITCH_STACK 513 VMMRC_DEFS+= VMM_R0_SWITCH_STACK514 endif 515 516 517 518 519 520 521 522 523 524 525 513 VMMRC_DEFS += VMM_R0_SWITCH_STACK 514 endif 515 516 VMMRC_INCS = \ 517 include \ 518 VMMRC \ 519 $(if-expr defined(VBOX_WITH_RAW_MODE),PATM,) \ 520 $(VBoxVMM_0_OUTDIR)/CommonGenIncs 521 522 VMMRC_LIBS = \ 523 $(PATH_STAGE_LIB)/DisasmRC$(VBOX_SUFF_LIB) \ 524 $(PATH_STAGE_LIB)/RuntimeRC$(VBOX_SUFF_LIB) \ 525 $(PATH_STAGE_LIB)/SUPRC$(VBOX_SUFF_LIB) 526 526 ifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),) 527 VMMRC_LIBS+= \528 529 endif 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 527 VMMRC_LIBS += \ 528 $(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB) 529 endif 530 531 VMMRC_SOURCES = \ 532 VBoxVMM.d \ 533 VMMRC/VMMRC0.asm \ 534 VMMRC/VMMRCDeps.cpp \ 535 VMMRC/CPUMRC.cpp \ 536 VMMRC/CPUMRCA.asm \ 537 VMMRC/CPUMRCPatchHlp.asm \ 538 VMMRC/EMRCA.asm \ 539 VMMRC/IOMRC.cpp \ 540 VMMRC/MMRamRC.cpp \ 541 VMMRC/MMRamRCA.asm \ 542 VMMRC/PDMRCDevice.cpp \ 543 VMMRC/PGMRC.cpp \ 544 VMMRC/SELMRC.cpp \ 545 VMMRC/TRPMRC.cpp \ 546 VMMRC/TRPMRCHandlers.cpp \ 547 VMMRC/TRPMRCHandlersA.asm \ 548 VMMRC/VMMRC.cpp \ 549 VMMRC/VMMRCA.asm \ 550 $(if-expr defined(VBOX_WITH_RAW_MODE), \ 551 VMMRC/CSAMRC.cpp \ 552 VMMRC/PATMRC.cpp \ 553 ,) \ 554 VMMRZ/CPUMRZ.cpp \ 555 VMMRZ/CPUMRZA.asm \ 556 VMMRZ/DBGFRZ.cpp \ 557 VMMRZ/PGMRZDynMap.cpp \ 558 VMMRZ/VMMRZ.cpp \ 559 VMMAll/APICAll.cpp \ 560 VMMAll/CPUMAllRegs.cpp \ 561 VMMAll/CPUMAllMsrs.cpp \ 562 VMMAll/DBGFAll.cpp \ 563 VMMAll/IEMAll.cpp \ 564 VMMAll/IEMAllAImpl.asm \ 565 VMMAll/IEMAllAImplC.cpp \ 566 VMMAll/IOMAll.cpp \ 567 VMMAll/IOMAllMMIO.cpp \ 568 VMMAll/EMAll.cpp \ 569 VMMAll/FTMAll.cpp \ 570 VMMAll/GIMAll.cpp \ 571 VMMAll/GIMAllHv.cpp \ 572 VMMAll/GIMAllKvm.cpp \ 573 VMMAll/HMAll.cpp \ 574 VMMAll/HMSVMAll.cpp \ 575 VMMAll/HMVMXAll.cpp \ 576 VMMAll/MMAll.cpp \ 577 VMMAll/MMAllHyper.cpp \ 578 VMMAll/PDMAll.cpp \ 579 VMMAll/PDMAllCritSect.cpp \ 580 VMMAll/PDMAllCritSectRw.cpp \ 581 VMMAll/PDMAllCritSectBoth.cpp \ 582 VMMAll/PDMAllQueue.cpp \ 583 VMMAll/PGMAll.cpp \ 584 VMMAll/PGMAllHandler.cpp \ 585 VMMAll/PGMAllMap.cpp \ 586 VMMAll/PGMAllPhys.cpp \ 587 VMMAll/PGMAllPool.cpp \ 588 VMMAll/SELMAll.cpp \ 589 VMMAll/TMAll.cpp \ 590 VMMAll/TMAllCpu.cpp \ 591 VMMAll/TMAllReal.cpp \ 592 VMMAll/TMAllVirtual.cpp \ 593 VMMAll/TRPMAll.cpp \ 594 VMMAll/VMAll.cpp \ 595 VMMAll/VMMAll.cpp \ 596 VMMAll/VMMAllA.asm \ 597 $(if-expr defined(VBOX_WITH_RAW_MODE), \ 598 VMMAll/CSAMAll.cpp \ 599 VMMAll/PATMAll.cpp \ 600 ,) 601 601 ifeq ($(VBOX_LDR_FMT32),pe) 602 602 VMMRC_SOURCES += VMMRC/VMMRC.def 603 603 endif 604 604 ifeq ($(VBOX_LDR_FMT32),lx) 605 605 VMMRC_SOURCES += $(VMMRCImp_0_OUTDIR)/VMMRC.def 606 606 endif 607 607 ifdef VBOX_WITH_REM 608 609 610 endif 611 612 613 614 615 616 617 618 608 VMMRC_SOURCES += \ 609 VMMAll/REMAll.cpp 610 endif 611 612 # The very last one. 613 VMMRC_SOURCES += \ 614 VMMRC/VMMRC99.asm 615 616 VMMRC/VMMRCDeps.cpp_CXXFLAGS.win = -Oi- -TC ## @todo rename VMMRCDeps.cpp to .c 617 618 $(call VBOX_SET_VER_INFO_RC,VMMRC,VirtualBox VMM - raw-mode context parts) # Version info / description. 619 619 620 620 if "$(USERNAME)" == "bird" && "$(KBUILD_TARGET)" == "win" 621 622 623 624 endif 625 626 621 VMMRC_VMMAll/IEMAll.cpp_CXXFLAGS = /FAcs /Fa$(subst /,\\,$(outbase).cod) 622 VMMRC_VMMAll/IEMAllAImplC.cpp_CXXFLAGS = /FAcs /Fa$(subst /,\\,$(outbase).cod) 623 VMMRC_VMMAll/PGMAll.cpp_CXXFLAGS = /FAcs /Fa$(subst /,\\,$(outbase).cod) 624 endif 625 626 VMMRC_INTERMEDIATES += $(VBoxVMM_0_OUTDIR)/CommonGenIncs/IEMInstructionStatisticsTmpl.h 627 627 628 628 if "$(KBUILD_TARGET)" == "win" 629 630 631 632 633 634 635 636 637 638 639 640 641 629 # Debug type info hack for VMCPU, VM and similar. See VBoxVMM for details. 630 VMMRC_LIBS += $(VMMRCPdbTypeHack_1_TARGET) 631 VMMRC_LDFLAGS += /Export:PdbTypeHack 632 633 LIBRARIES += VMMRCPdbTypeHack 634 VMMRCPdbTypeHack_TEMPLATE = $(VMMRC_TEMPLATE) 635 VMMRCPdbTypeHack_SOURCES = VMMAll/AllPdbTypeHack.cpp 636 VMMRCPdbTypeHack_DEFS = $(VMMRC_DEFS) 637 VMMRCPdbTypeHack_DEFS.win = $(VMMRC_DEFS.win) 638 VMMRCPdbTypeHack_DEFS.win.x86 = $(VMMRC_DEFS.win.x86) 639 VMMRCPdbTypeHack_DEFS.win.amd64 = $(VMMRC_DEFS.win.amd64) 640 VMMRCPdbTypeHack_INCS = $(VMMRC_INCS) 641 VMMRCPdbTypeHack_INTERMEDIATES = $(VMMRC_INTERMEDIATES) 642 642 endif 643 643 … … 646 646 647 647 ifndef VBOX_ONLY_EXTPACKS 648 649 650 651 652 653 654 655 656 657 648 # 649 # VMMR0.r0 650 # 651 SYSMODS += VMMR0 652 VMMR0_TEMPLATE = VBoxR0 653 VMMR0_SYSSUFF = .r0 654 655 VMMR0_DEFS = IN_VMM_R0 IN_RT_R0 IN_DIS DIS_CORE_ONLY IN_GVMM_R0 IN_GMM_R0 IN_INTNET_R0 \ 656 $(VMM_COMMON_DEFS) RTASSERT_HAVE_SHOULD_PANIC 657 ## @todo eliminate IN_GVMM_R0 IN_GMM_R0 658 658 ifdef VBOX_WITH_PCI_PASSTHROUGH 659 VMMR0_DEFS+= IN_PCIRAW_R0659 VMMR0_DEFS += IN_PCIRAW_R0 660 660 endif 661 661 ifdef VBOX_WITH_TRIPLE_FAULT_HACK 662 VMMR0_DEFS+= VBOX_WITH_TRIPLE_FAULT_HACK662 VMMR0_DEFS += VBOX_WITH_TRIPLE_FAULT_HACK 663 663 endif 664 664 ifdef VBOX_WITH_RAW_MODE 665 VMMR0_DEFS+= VBOX_WITH_RAW_MODE665 VMMR0_DEFS += VBOX_WITH_RAW_MODE 666 666 endif 667 667 ifdef VBOX_WITH_VMM_R0_SWITCH_STACK 668 VMMR0_DEFS+= VMM_R0_SWITCH_STACK668 VMMR0_DEFS += VMM_R0_SWITCH_STACK 669 669 endif 670 670 if1of ($(KBUILD_TARGET), darwin linux win) 671 VMMR0_DEFS+= VMM_R0_TOUCH_FPU672 endif 673 674 671 VMMR0_DEFS += VMM_R0_TOUCH_FPU 672 endif 673 VMMR0_DEFS.darwin = VMM_R0_SWITCH_STACK 674 VMMR0_DEFS.win.amd64 = VBOX_WITH_KERNEL_USING_XMM 675 675 676 676 ifeq ($(VBOX_LDR_FMT),elf) 677 678 endif 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 677 VMMR0_CXXFLAGS += -Wunused -Wunused-variable -Wno-unused-parameter 678 endif 679 680 VMMR0_INCS = \ 681 include \ 682 $(if-expr defined(VBOX_WITH_RAW_MODE),PATM,) \ 683 $(VBoxVMM_0_OUTDIR)/CommonGenIncs 684 685 VMMR0_SOURCES = \ 686 VBoxVMM.d \ 687 VMMR0/CPUMR0.cpp \ 688 VMMR0/CPUMR0A.asm \ 689 VMMR0/GIMR0.cpp \ 690 VMMR0/GIMR0Hv.cpp \ 691 VMMR0/GIMR0Kvm.cpp \ 692 VMMR0/GMMR0.cpp \ 693 VMMR0/GVMMR0.cpp \ 694 VMMR0/EMR0.cpp \ 695 VMMR0/HMR0.cpp \ 696 VMMR0/HMR0A.asm \ 697 VMMR0/HMVMXR0.cpp \ 698 VMMR0/HMSVMR0.cpp \ 699 VMMR0/PDMR0Device.cpp \ 700 VMMR0/PDMR0Driver.cpp \ 701 VMMR0/PGMR0.cpp \ 702 VMMR0/PGMR0SharedPage.cpp \ 703 VMMR0/TRPMR0.cpp \ 704 VMMR0/TRPMR0A.asm \ 705 VMMR0/VMMR0.cpp \ 706 VMMRZ/CPUMRZ.cpp \ 707 VMMRZ/CPUMRZA.asm \ 708 VMMRZ/DBGFRZ.cpp \ 709 VMMRZ/VMMRZ.cpp \ 710 VMMAll/APICAll.cpp \ 711 VMMAll/CPUMAllRegs.cpp \ 712 VMMAll/CPUMAllMsrs.cpp \ 713 VMMAll/CPUMStack.cpp \ 714 VMMAll/DBGFAll.cpp \ 715 VMMAll/EMAll.cpp \ 716 VMMAll/FTMAll.cpp \ 717 VMMAll/GIMAll.cpp \ 718 VMMAll/GIMAllHv.cpp \ 719 VMMAll/GIMAllKvm.cpp \ 720 VMMAll/HMAll.cpp \ 721 VMMAll/HMSVMAll.cpp \ 722 VMMAll/HMVMXAll.cpp \ 723 VMMAll/IEMAll.cpp \ 724 VMMAll/IEMAllAImpl.asm \ 725 VMMAll/IEMAllAImplC.cpp \ 726 VMMAll/IOMAll.cpp \ 727 VMMAll/IOMAllMMIO.cpp \ 728 VMMAll/MMAll.cpp \ 729 VMMAll/MMAllHyper.cpp \ 730 VMMAll/MMAllPagePool.cpp \ 731 731 VMMAll/NEMAll.cpp \ 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 732 VMMAll/PDMAll.cpp \ 733 VMMAll/PDMAllCritSect.cpp \ 734 VMMAll/PDMAllCritSectRw.cpp \ 735 VMMAll/PDMAllCritSectBoth.cpp \ 736 VMMAll/PDMAllQueue.cpp \ 737 VMMAll/PGMAll.cpp \ 738 VMMAll/PGMAllHandler.cpp \ 739 VMMAll/PGMAllMap.cpp \ 740 VMMAll/PGMAllPhys.cpp \ 741 VMMAll/PGMAllPool.cpp \ 742 VMMAll/SELMAll.cpp \ 743 VMMAll/TMAll.cpp \ 744 VMMAll/TMAllCpu.cpp \ 745 VMMAll/TMAllReal.cpp \ 746 VMMAll/TMAllVirtual.cpp \ 747 VMMAll/TRPMAll.cpp \ 748 VMMAll/VMAll.cpp \ 749 VMMAll/VMMAll.cpp \ 750 VMMAll/VMMAllA.asm 751 751 if1of ($(VBOX_LDR_FMT), pe lx) 752 752 VMMR0_SOURCES += $(VMMR0Imp_0_OUTDIR)/VMMR0.def 753 753 endif 754 754 ifdef VBOX_WITH_TRIPLE_FAULT_HACK 755 756 757 755 VMMR0_SOURCES += \ 756 VMMR0/VMMR0TripleFaultHack.cpp \ 757 VMMR0/VMMR0TripleFaultHackA.asm 758 758 endif 759 759 ifdef VBOX_WITH_NETSHAPER 760 761 760 VMMR0_SOURCES += \ 761 VMMAll/PDMAllNetShaper.cpp 762 762 endif 763 763 ifdef VBOX_WITH_REM 764 765 766 endif 767 768 769 770 771 772 773 774 775 764 VMMR0_SOURCES += \ 765 VMMAll/REMAll.cpp 766 endif 767 VMMR0_SOURCES.amd64 = \ 768 VMMR0/VMMR0JmpA-amd64.asm 769 VMMR0_SOURCES.x86 = \ 770 VMMR0/VMMR0JmpA-x86.asm 771 772 VMMR0_LIBS = \ 773 $(PATH_STAGE_LIB)/ServicesR0$(VBOX_SUFF_LIB) \ 774 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \ 775 $(PATH_STAGE_LIB)/DisasmR0$(VBOX_SUFF_LIB) 776 776 ifneq ($(filter pe lx,$(VBOX_LDR_FMT)),) 777 778 777 VMMR0_LIBS += \ 778 $(PATH_STAGE_LIB)/SUPR0$(VBOX_SUFF_LIB) 779 779 endif 780 780 ifdef VBOX_WITH_NATIVE_NEM 781 782 783 784 endif 785 786 781 VMMR0_SOURCES.win.amd64 += VMMR0/NEMR0Native-win.cpp 782 VMMR0_DEFS.win.amd64 += VBOX_WITH_NATIVE_NEM VBOX_WITH_NEM_R0 783 VMMR0/NEMR0Native-win.cpp_SDKS.win = ReorderCompilerIncs $(VBOX_WINDDK) $(VBOX_WINPSDK)INCS 784 endif 785 786 $(call VBOX_SET_VER_INFO_R0,VMMR0,VirtualBox VMM - ring-0 context parts) # Version info / description. 787 787 788 788 if "$(USERNAME)" == "bird" && "$(KBUILD_TARGET)" == "win" 789 790 791 792 endif 793 794 789 VMMR0_VMMAll/IEMAll.cpp_CXXFLAGS = /FAcs /Fa$(subst /,\\,$(outbase).cod) 790 VMMR0_VMMAll/IEMAllAImplC.cpp_CXXFLAGS = /FAcs /Fa$(subst /,\\,$(outbase).cod) 791 VMMR0_VMMAll/PGMAll.cpp_CXXFLAGS = /FAcs /Fa$(subst /,\\,$(outbase).cod) 792 endif 793 794 VMMR0_INTERMEDIATES += $(VBoxVMM_0_OUTDIR)/CommonGenIncs/IEMInstructionStatisticsTmpl.h 795 795 796 796 if "$(KBUILD_TARGET)" == "win" 797 798 799 800 801 802 803 804 805 806 807 808 809 797 # Debug type info hack for VMCPU, VM and similar. See VBoxVMM for details. 798 VMMR0_LIBS += $(VMMR0PdbTypeHack_1_TARGET) 799 VMMR0_LDFLAGS += /Export:PdbTypeHack 800 801 LIBRARIES += VMMR0PdbTypeHack 802 VMMR0PdbTypeHack_TEMPLATE = $(VMMR0_TEMPLATE) 803 VMMR0PdbTypeHack_SOURCES = VMMAll/AllPdbTypeHack.cpp 804 VMMR0PdbTypeHack_DEFS = $(VMMR0_DEFS) 805 VMMR0PdbTypeHack_DEFS.win = $(VMMR0_DEFS.win) 806 VMMR0PdbTypeHack_DEFS.win.x86 = $(VMMR0_DEFS.win.x86) 807 VMMR0PdbTypeHack_DEFS.win.amd64 = $(VMMR0_DEFS.win.amd64) 808 VMMR0PdbTypeHack_INCS = $(VMMR0_INCS) 809 VMMR0PdbTypeHack_INTERMEDIATES = $(VMMR0_INTERMEDIATES) 810 810 endif 811 811 … … 815 815 816 816 ifndef VBOX_ONLY_EXTPACKS 817 818 819 820 821 822 823 824 825 826 817 # 818 # SSMStandalone.lib/a for linking with VBoxSVC and other executables. 819 # 820 LIBRARIES += SSMStandalone 821 SSMStandalone_TEMPLATE = VBOXR3EXE 822 SSMStandalone_DEFS = IN_VMM_R3 IN_VMM_STATIC SSM_STANDALONE CPUM_DB_STANDALONE 823 SSMStandalone_INCS = include 824 SSMStandalone_SOURCES = \ 825 VMMR3/SSM.cpp \ 826 VMMR3/CPUMR3Db.cpp 827 827 endif # !VBOX_ONLY_EXTPACKS 828 828 … … 832 832 || defined(VBOX_WITH_DTRACE_R0) \ 833 833 || defined(VBOX_WITH_DTRACE_RC)) 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 834 # 835 # Install the dtrace library files. 836 # 837 INSTALLS += VMMLibDTrace 838 VMMLibDTrace_INST = $(VBOX_INST_DTRACE_LIB)$(KBUILD_TARGET_ARCH)/ 839 VMMLibDTrace_SOURCES = \ 840 dtrace/lib/vbox-types.d \ 841 dtrace/lib/$(KBUILD_TARGET_ARCH)/vbox-arch-types.d \ 842 $(VMMLibDTrace_0_OUTDIR)/vm.d \ 843 $(VMMLibDTrace_0_OUTDIR)/cpumctx.d \ 844 $(VMMLibDTrace_0_OUTDIR)/cpum.d \ 845 $(VMMLibDTrace_0_OUTDIR)/CPUMInternal.d \ 846 $(VMMLibDTrace_0_OUTDIR)/x86.d 847 $(call KB_FN_DO_PASS0_ON_TARGET,VMMLibDTrace) 848 849 850 ## 851 # Turn the header $2 into the DTrace library script $1. 852 # 853 853 define def_vmm_lib_dtrace_preprocess 854 855 854 $$(call KB_FN_AUTO_CMD_DEPS,$$(VMMLibDTrace_0_OUTDIR)/$1) 855 $$(VMMLibDTrace_0_OUTDIR)/$1: $2 $$(VBOX_VBOXCPP) | $$$$(dir $$$$@) 856 856 $$(call KB_FN_AUTO_CMD_DEPS_COMMANDS) 857 857 $$(QUIET)$$(call MSG_GENERATE,VMMLibDTrace,$$@,$2) … … 880 880 $$(QUIET)$$(CHMOD) 644 $$@ 881 881 endef 882 883 884 885 886 882 $(evalcall2 def_vmm_lib_dtrace_preprocess,vm.d,$(PATH_ROOT)/include/VBox/vmm/vm.h) 883 $(evalcall2 def_vmm_lib_dtrace_preprocess,cpumctx.d,$(PATH_ROOT)/include/VBox/vmm/cpumctx.h) 884 $(evalcall2 def_vmm_lib_dtrace_preprocess,cpum.d,$(PATH_ROOT)/include/VBox/vmm/cpum.h) 885 $(evalcall2 def_vmm_lib_dtrace_preprocess,CPUMInternal.d,$(PATH_SUB_CURRENT)/include/CPUMInternal.h) 886 $(evalcall2 def_vmm_lib_dtrace_preprocess,x86.d,$(PATH_ROOT)/include/iprt/x86.h) 887 887 888 888 endif … … 899 899 # 900 900 ifneq ($(KBUILD_TARGET),win) 901 VMMR3/PGMPool.cpp_CXXFLAGS= $(VBOX_GCC_Wno-array_bounds)902 VMMAll/PGMAllPool.cpp_CXXFLAGS= $(VBOX_GCC_Wno-array_bounds)903 VMMAll/PGMAll.cpp_CXXFLAGS= -Wno-unused-function904 VMMAll/IEMAll.cpp_CXXFLAGS= -Wno-unused-function905 VMMR0/GMMR0.cpp_CXXFLAGS= -Wno-unused-value901 VMMR3/PGMPool.cpp_CXXFLAGS = $(VBOX_GCC_Wno-array_bounds) 902 VMMAll/PGMAllPool.cpp_CXXFLAGS = $(VBOX_GCC_Wno-array_bounds) 903 VMMAll/PGMAll.cpp_CXXFLAGS = -Wno-unused-function 904 VMMAll/IEMAll.cpp_CXXFLAGS = -Wno-unused-function 905 VMMR0/GMMR0.cpp_CXXFLAGS = -Wno-unused-value 906 906 endif 907 907 … … 911 911 if $(USERNAME) != "bird" || "$(KBUILD_TYPE)" == "release" #|| "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.amd64" 912 912 if1of ($(KBUILD_TARGET), win) 913 914 915 916 913 # -noover is recognized despite the statement saying otherwise. It silences these warnings: 914 # cl : Command line warning D9025 : overriding '/Od' with '/O2' 915 # cl : Command line warning D9025 : overriding '/Oy-' with '/Oy' 916 VMMAll/IEMAll.cpp_CXXFLAGS += -noover -O2xy 917 917 else 918 919 920 921 918 VMMAll/IEMAll.cpp_CXXFLAGS += -O2 919 #VMMAll/IEMAll.cpp_CXXFLAGS += -fno-align-functions -fno-align-jumps -fno-align-loops # Saves a few of percents, not worth it. 920 #VMMAll/IEMAll.cpp_CXXFLAGS += -fno-reorder-blocks # Saves one or two percent ... never mind. 921 VMMAll/IEMAll.cpp_CXXFLAGS += -fomit-frame-pointer # Omitting the frame pointer results in larger code, but it might be worth it. (esp addressing vs ebp?) 922 922 endif 923 923 endif # bird wants good stacks … … 957 957 # 958 958 if1of ($(SYSMODS),VMMRC) 959 960 961 962 963 959 test-undef-rc:: $(PATH_TARGET)/undef-rc.run 960 OTHERS += $(PATH_TARGET)/undef-rc.run 961 CLEANS += $(PATH_TARGET)/undef-rc.run 962 $(call KB_FN_AUTO_CMD_DEPS,$(PATH_TARGET)/undef-rc.run) 963 $(PATH_TARGET)/undef-rc.run: $$(VMMRC_1_TARGET) 964 964 $(call KB_FN_AUTO_CMD_DEPS_COMMANDS) 965 965 ifn1of ($(KBUILD_TARGET), linux solaris) -
trunk/src/VBox/VMM/testcase/Instructions/Makefile.kmk
r69111 r75173 23 23 # 24 24 ifdef VBOX_WITH_PYLINT 25 25 TESTING += 26 26 endif 27 27 BLDDIRS += $(PATH_TARGET)/pylint -
trunk/src/VBox/VMM/testcase/Makefile.kmk
r74725 r75173 37 37 || defined(VBOX_WITH_DTRACE_R0) \ 38 38 || defined(VBOX_WITH_DTRACE_RC)) 39 40 39 PROGRAMS += tstVMStructDTrace 40 INSTALLS += VMMLibDTraceStructTest 41 41 endif 42 42 ifndef VBOX_ONLY_EXTPACKS_USE_IMPLIBS 43 43 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 44 45 44 PROGRAMS += tstGlobalConfigHardened 45 DLL += tstGlobalConfig 46 46 else 47 47 PROGRAMS += tstGlobalConfig 48 48 endif 49 49 50 50 ifdef VBOX_WITH_RAW_MODE 51 51 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 52 53 52 PROGRAMS += tstVMMHardened 53 DLLS += tstVMM 54 54 else 55 55 PROGRAMS += tstVMM tstVMM-HM 56 56 endif 57 57 ifneq ($(KBUILD_TARGET),win) 58 58 PROGRAMS += tstVMMFork 59 59 endif 60 60 endif 61 61 ifdef VBOX_WITH_TESTCASES 62 62 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 63 64 63 PROGRAMS += tstCFGMHardened tstSSMHardened tstVMREQHardened tstMMHyperHeapHardened tstAnimateHardened 64 DLLS += tstCFGM tstSSM tstVMREQ tstMMHyperHeap tstAnimate 65 65 else 66 66 PROGRAMS += tstCFGM tstSSM tstVMREQ tstMMHyperHeap tstAnimate 67 67 endif 68 69 68 PROGRAMS += \ 69 tstCompressionBenchmark \ 70 70 tstIEMCheckMc \ 71 72 71 tstVMMR0CallHost-1 \ 72 tstVMMR0CallHost-2 \ 73 73 tstX86-FpuSaveRestore 74 74 ifn1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), solaris.x86 solaris.amd64 win.amd64 ) ## TODO: Fix the code. 75 75 PROGRAMS += tstX86-1 76 76 endif 77 77 ifdef VBOX_WITH_RAW_MODE 78 78 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 79 80 79 PROGRAMS += tstMicroHardened 80 DLLS += tstMicro 81 81 else 82 82 PROGRAMS += tstMicro 83 83 endif 84 84 SYSMODS += tstMicroRC 85 85 endif 86 86 ifdef VBOX_WITH_PDM_ASYNC_COMPLETION 87 87 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 88 89 88 PROGRAMS += tstPDMAsyncCompletionHardened tstPDMAsyncCompletionStressHardened 89 DLLS += tstPDMAsyncCompletion tstPDMAsyncCompletionStress 90 90 else 91 91 PROGRAMS += tstPDMAsyncCompletion tstPDMAsyncCompletionStress 92 92 endif 93 93 endif … … 105 105 ifeq ($(KBUILD_TARGET),$(KBUILD_HOST)) 106 106 ifeq ($(filter-out x86.x86 amd64.amd64 x86.amd64, $(KBUILD_TARGET_ARCH).$(KBUILD_HOST_ARCH)),) 107 107 OTHERS += \ 108 108 $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructs.run \ 109 109 $(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructSize.run … … 137 137 # 138 138 ifdef VBOX_WITH_RAW_MODE 139 140 139 tstVMStructRC_TEMPLATE = VBoxRcExe 140 tstVMStructRC_DEFS = IN_VMM_RC IN_DIS IN_RT_RC VBOX_WITH_RAW_MODE $(VMM_COMMON_DEFS) 141 141 ifdef VBOX_WITH_R0_LOGGING 142 tstVMStructRC_DEFS+= VBOX_WITH_R0_LOGGING142 tstVMStructRC_DEFS += VBOX_WITH_R0_LOGGING 143 143 endif 144 144 ifdef VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 145 tstVMStructRC_DEFS+= VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI146 endif 147 148 145 tstVMStructRC_DEFS += VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 146 endif 147 tstVMStructRC_SOURCES = tstVMStructRC.cpp 148 tstVMStructRC_INCS = \ 149 149 $(VBOX_PATH_VMM_SRC)/include \ 150 150 $(VBOX_PATH_VMM_SRC)/PATM … … 154 154 tstVMStructSize_DEFS = IN_VMM_R3 IN_DIS $(VMM_COMMON_DEFS) 155 155 ifdef VBOX_WITH_RAW_MODE 156 tstVMStructSize_DEFS+= VBOX_WITH_RAW_MODE156 tstVMStructSize_DEFS += VBOX_WITH_RAW_MODE 157 157 endif 158 158 tstVMStructSize_INCS = \ … … 162 162 tstVMStructSize_SOURCES = tstVMStructSize.cpp 163 163 ifdef VBOX_WITH_RAW_MODE 164 164 tstVMStructSize.cpp_DEPS= $(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructRC.h 165 165 endif 166 166 ifdef VBOX_WITH_R0_LOGGING 167 tstVMStructSize_DEFS+= VBOX_WITH_R0_LOGGING167 tstVMStructSize_DEFS += VBOX_WITH_R0_LOGGING 168 168 endif 169 169 ifdef VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 170 tstVMStructSize_DEFS+= VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI170 tstVMStructSize_DEFS += VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 171 171 endif 172 172 … … 174 174 tstAsmStructs_DEFS = IN_VMM_R3 IN_DIS $(VMM_COMMON_DEFS) 175 175 ifdef VBOX_WITH_RAW_MODE 176 tstAsmStructs_DEFS+= VBOX_WITH_RAW_MODE176 tstAsmStructs_DEFS += VBOX_WITH_RAW_MODE 177 177 endif 178 178 ifdef VBOX_WITH_R0_LOGGING 179 tstAsmStructs_DEFS+= VBOX_WITH_R0_LOGGING179 tstAsmStructs_DEFS += VBOX_WITH_R0_LOGGING 180 180 endif 181 181 ifdef VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 182 tstAsmStructs_DEFS+= VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI182 tstAsmStructs_DEFS += VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 183 183 endif 184 184 tstAsmStructs_INCS = \ … … 189 189 190 190 ifdef VBOX_WITH_RAW_MODE 191 192 191 tstAsmStructsRC_TEMPLATE= VBoxRcExe 192 tstAsmStructsRC_DEFS = IN_VMM_RC IN_DIS IN_RT_RC VBOX_WITH_RAW_MODE $(VMM_COMMON_DEFS) 193 193 ifdef VBOX_WITH_R0_LOGGING 194 tstAsmStructsRC_DEFS+= VBOX_WITH_R0_LOGGING194 tstAsmStructsRC_DEFS += VBOX_WITH_R0_LOGGING 195 195 endif 196 196 ifdef VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 197 tstAsmStructsRC_DEFS+= VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI198 endif 199 197 tstAsmStructsRC_DEFS += VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 198 endif 199 tstAsmStructsRC_INCS = \ 200 200 $(VBOX_PATH_VMM_SRC)/include \ 201 201 $(VBOX_VMM_TESTCASE_OUT_DIR) 202 203 202 tstAsmStructsRC_SOURCES = tstAsmStructs.cpp 203 tstAsmStructs.cpp_DEPS += $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsRC.h 204 204 endif # VBOX_WITH_RAW_MODE 205 205 … … 209 209 # 210 210 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 211 212 213 214 215 216 else 217 218 endif 219 tstGlobalConfig_SOURCES = tstGlobalConfig.cpp220 tstGlobalConfig_LIBS = $(LIB_RUNTIME)211 tstGlobalConfigHardened_TEMPLATE = VBoxR3HardenedTstExe 212 tstGlobalConfigHardened_NAME = tstGlobalConfig 213 tstGlobalConfigHardened_DEFS = PROGRAM_NAME_STR=\"tstGlobalConfig\" 214 tstGlobalConfigHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp 215 tstGlobalConfig_TEMPLATE = VBoxR3HardenedTstDll 216 else 217 tstGlobalConfig_TEMPLATE = VBOXR3TSTEXE 218 endif 219 tstGlobalConfig_SOURCES = tstGlobalConfig.cpp 220 tstGlobalConfig_LIBS = $(LIB_RUNTIME) 221 221 222 222 # … … 228 228 tstIEMCheckMc_LIBS = $(LIB_RUNTIME) 229 229 ifeq ($(KBUILD_TARGET),win) 230 tstIEMCheckMc_CXXFLAGS= $(VBOX_C_CXX_FLAGS_NO_UNUSED_PARAMETERS) -wd4189 # local variable is initialized but not used.231 else 232 tstIEMCheckMc_CXXFLAGS= $(VBOX_C_CXX_FLAGS_NO_UNUSED_PARAMETERS) -Wno-unused-value -Wno-unused-variable230 tstIEMCheckMc_CXXFLAGS = $(VBOX_C_CXX_FLAGS_NO_UNUSED_PARAMETERS) -wd4189 # local variable is initialized but not used. 231 else 232 tstIEMCheckMc_CXXFLAGS = $(VBOX_C_CXX_FLAGS_NO_UNUSED_PARAMETERS) -Wno-unused-value -Wno-unused-variable 233 233 endif 234 234 … … 237 237 # 238 238 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 239 240 241 242 243 244 else 245 239 tstMMHyperHeapHardened_TEMPLATE = VBoxR3HardenedTstExe 240 tstMMHyperHeapHardened_NAME = tstMMHyperHeap 241 tstMMHyperHeapHardened_DEFS = PROGRAM_NAME_STR=\"tstMMHyperHeap\" 242 tstMMHyperHeapHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp 243 tstMMHyperHeap_TEMPLATE = VBoxR3HardenedTstDll 244 else 245 tstMMHyperHeap_TEMPLATE = VBOXR3TSTEXE 246 246 endif 247 247 tstMMHyperHeap_SOURCES = tstMMHyperHeap.cpp … … 252 252 # 253 253 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 254 255 256 257 258 tstSSM_TEMPLATE= VBoxR3HardenedTstDll259 else 260 tstSSM_TEMPLATE= VBOXR3TSTEXE254 tstSSMHardened_TEMPLATE = VBoxR3HardenedTstExe 255 tstSSMHardened_NAME = tstSSM 256 tstSSMHardened_DEFS = PROGRAM_NAME_STR=\"tstSSM\" 257 tstSSMHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp 258 tstSSM_TEMPLATE = VBoxR3HardenedTstDll 259 else 260 tstSSM_TEMPLATE = VBOXR3TSTEXE 261 261 endif 262 262 tstSSM_INCS = $(VBOX_PATH_VMM_SRC)/include … … 268 268 # 269 269 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 270 271 272 273 274 tstCFGM_TEMPLATE= VBoxR3HardenedTstDll275 else 276 tstCFGM_TEMPLATE= VBOXR3TSTEXE277 endif 278 tstCFGM_SOURCES = tstCFGM.cpp279 tstCFGM_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)270 tstCFGMHardened_TEMPLATE = VBoxR3HardenedTstExe 271 tstCFGMHardened_NAME = tstCFGM 272 tstCFGMHardened_DEFS = PROGRAM_NAME_STR=\"tstCFGM\" 273 tstCFGMHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp 274 tstCFGM_TEMPLATE = VBoxR3HardenedTstDll 275 else 276 tstCFGM_TEMPLATE = VBOXR3TSTEXE 277 endif 278 tstCFGM_SOURCES = tstCFGM.cpp 279 tstCFGM_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 280 280 281 281 # … … 305 305 # 306 306 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 307 308 309 310 311 tstVMREQ_TEMPLATE= VBOXR3312 else 313 tstVMREQ_TEMPLATE= VBOXR3EXE314 endif 315 tstVMREQ_SOURCES = tstVMREQ.cpp316 tstVMREQ_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)307 tstVMREQHardened_TEMPLATE = VBOXR3HARDENEDEXE 308 tstVMREQHardened_NAME = tstVMREQ 309 tstVMREQHardened_DEFS = PROGRAM_NAME_STR=\"tstVMREQ\" 310 tstVMREQHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplate.cpp 311 tstVMREQ_TEMPLATE = VBOXR3 312 else 313 tstVMREQ_TEMPLATE = VBOXR3EXE 314 endif 315 tstVMREQ_SOURCES = tstVMREQ.cpp 316 tstVMREQ_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 317 317 318 318 # … … 320 320 # 321 321 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 322 323 324 325 326 tstAnimate_TEMPLATE= VBOXR3327 else 328 tstAnimate_TEMPLATE= VBOXR3EXE329 endif 330 tstAnimate_SOURCES = tstAnimate.cpp331 tstAnimate_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)332 333 tstX86-1_TEMPLATE 334 tstX86-1_SOURCES 335 tstX86-1_LIBS 336 tstX86-1_LDFLAGS.linux 322 tstAnimateHardened_TEMPLATE = VBOXR3HARDENEDEXE 323 tstAnimateHardened_NAME = tstAnimate 324 tstAnimateHardened_DEFS = PROGRAM_NAME_STR=\"tstAnimate\" 325 tstAnimateHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplate.cpp 326 tstAnimate_TEMPLATE = VBOXR3 327 else 328 tstAnimate_TEMPLATE = VBOXR3EXE 329 endif 330 tstAnimate_SOURCES = tstAnimate.cpp 331 tstAnimate_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 332 333 tstX86-1_TEMPLATE = VBOXR3TSTEXE 334 tstX86-1_SOURCES = tstX86-1.cpp tstX86-1A.asm 335 tstX86-1_LIBS = $(LIB_RUNTIME) 336 tstX86-1_LDFLAGS.linux = $(VBOX_GCC_no-pie) 337 337 338 338 tstX86-FpuSaveRestore_TEMPLATE = VBOXR3TSTEXE … … 346 346 # 347 347 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 348 349 350 351 352 tstVMM_TEMPLATE= VBOXR3348 tstVMMHardened_TEMPLATE = VBOXR3HARDENEDEXE 349 tstVMMHardened_NAME = tstVMM 350 tstVMMHardened_DEFS = PROGRAM_NAME_STR=\"tstVMM\" 351 tstVMMHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplate.cpp 352 tstVMM_TEMPLATE = VBOXR3 353 353 else 354 tstVMM_TEMPLATE= VBOXR3EXE355 endif 356 tstVMM_SOURCES= tstVMM.cpp357 tstVMM_LIBS= $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 354 tstVMM_TEMPLATE = VBOXR3EXE 355 endif 356 tstVMM_SOURCES = tstVMM.cpp 357 tstVMM_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 358 359 # 360 # HM VMM testcase. 361 # 362 tstVMM-HM_TEMPLATE = VBOXR3EXE 363 tstVMM-HM_SOURCES = tstVMM-HM.cpp 364 tstVMM-HM_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 365 366 # 367 # VMM host process fork test case (memory ++). 368 # 369 tstVMMFork_TEMPLATE = VBOXR3EXE 370 tstVMMFork_SOURCES = tstVMMFork.cpp 371 tstVMMFork_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 372 373 # 374 # Raw-mode micro benchmark. 375 # 376 376 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 377 378 379 380 381 tstMicro_TEMPLATE= VBOXR3377 tstMicroHardened_TEMPLATE = VBOXR3HARDENEDEXE 378 tstMicroHardened_NAME = tstMicro 379 tstMicroHardened_DEFS = PROGRAM_NAME_STR=\"tstMicro\" 380 tstMicroHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplate.cpp 381 tstMicro_TEMPLATE = VBOXR3 382 382 else 383 tstMicro_TEMPLATE= VBOXR3EXE384 endif 385 tstMicro_SOURCES= tstMicro.cpp386 tstMicro_LIBS= $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)387 tstMicro_DEFS= $(if $(VBOX_WITH_RAW_MODE),VBOX_WITH_RAW_MODE,)388 389 tstMicroRC_TEMPLATE= VBoxRc390 tstMicroRC_SOURCES= tstMicroRC.cpp tstMicroRCA.asm391 tstMicroRC_DEFS= $(if $(VBOX_WITH_RAW_MODE),VBOX_WITH_RAW_MODE,)392 tstMicroRC_INCS= $(VBOX_PATH_VMM_SRC)/testcase383 tstMicro_TEMPLATE = VBOXR3EXE 384 endif 385 tstMicro_SOURCES = tstMicro.cpp 386 tstMicro_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 387 tstMicro_DEFS = $(if $(VBOX_WITH_RAW_MODE),VBOX_WITH_RAW_MODE,) 388 389 tstMicroRC_TEMPLATE = VBoxRc 390 tstMicroRC_SOURCES = tstMicroRC.cpp tstMicroRCA.asm 391 tstMicroRC_DEFS = $(if $(VBOX_WITH_RAW_MODE),VBOX_WITH_RAW_MODE,) 392 tstMicroRC_INCS = $(VBOX_PATH_VMM_SRC)/testcase 393 393 ifeq ($(VBOX_LDR_FMT32),pe) 394 tstMicroRC_LDFLAGS= -Entry:tstMicroRC395 endif 396 tstMicroRC_SYSSUFF= .gc397 tstMicroRC_LIBS= \398 399 394 tstMicroRC_LDFLAGS = -Entry:tstMicroRC 395 endif 396 tstMicroRC_SYSSUFF = .gc 397 tstMicroRC_LIBS = \ 398 $(PATH_STAGE_LIB)/DisasmRC$(VBOX_SUFF_LIB) \ 399 $(PATH_STAGE_LIB)/RuntimeRC$(VBOX_SUFF_LIB) 400 400 ifeq ($(filter-out pe lx,$(VBOX_LDR_FMT32)),) 401 tstMicroRC_LIBS+= \402 403 404 endif 405 401 tstMicroRC_LIBS += \ 402 $(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB) \ 403 $(LIB_VMMRC) 404 endif 405 tstMicroRC_SOURCES.win = tstMicroRC.def 406 406 407 407 endif # VBOX_WITH_RAW_MODE … … 409 409 410 410 if !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS) 411 412 413 411 # 412 # Special NEM host testcase. 413 # 414 414 if ("$(KBUILD_TARGET_ARCH).$(KBUILD_TARGET_ARCH)" == "darwin.amd64" && (defined(VBOX_WITH_NATIVE_NEM) || "$(USERNAME)" == "bird")) \ 415 415 || ("$(KBUILD_TARGET_ARCH).$(KBUILD_TARGET_ARCH)" == "linux.amd64" && (defined(VBOX_WITH_NATIVE_NEM) || "$(USERNAME)" == "bird")) \ 416 416 || ("$(KBUILD_TARGET_ARCH).$(KBUILD_TARGET_ARCH)" == "win.amd64" && defined(VBOX_WITH_NATIVE_NEM)) 417 418 419 420 421 422 423 424 425 426 427 428 429 430 417 PROGRAMS += NemRawBench-1 418 NemRawBench-1_TEMPLATE = VBoxR3Static 419 NemRawBench-1_SOURCES = NemRawBench-1.cpp 420 NemRawBench-1_BLD_TYPE = release 421 NemRawBench-1_INCS.win = \ 422 $(KBUILD_DEVTOOLS)/win.x86/sdk/v10.0.17134.0/include/10.0.17134.0/um \ 423 $(KBUILD_DEVTOOLS)/win.x86/sdk/v10.0.17134.0/include/10.0.17134.0/shared 424 NemRawBench-1_CXXFLAGS.darwin = \ 425 -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform//Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks 426 #NemRawBench-1_LDFLAGS.darwin = \ 427 # -F/System/Library/Frameworks \ 428 # -framework Hypervisor 429 NemRawBench-1_LDFLAGS.darwin = \ 430 /System/Library/Frameworks/Hypervisor.framework/Hypervisor 431 431 endif 432 432 endif … … 434 434 435 435 ifdef VBOX_WITH_PDM_ASYNC_COMPLETION 436 437 438 436 # 437 # PDM asynchronous completation test. 438 # 439 439 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 440 441 442 443 444 tstPDMAsyncCompletion_TEMPLATE= VBOXR3440 tstPDMAsyncCompletionHardened_TEMPLATE = VBOXR3HARDENEDEXE 441 tstPDMAsyncCompletionHardened_NAME = tstPDMAsyncCompletion 442 tstPDMAsyncCompletionHardened_DEFS = PROGRAM_NAME_STR=\"tstPDMAsyncCompletion\" 443 tstPDMAsyncCompletionHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplate.cpp 444 tstPDMAsyncCompletion_TEMPLATE = VBOXR3 445 445 else 446 tstPDMAsyncCompletion_TEMPLATE= VBOXR3EXE447 endif 448 449 450 451 452 453 454 446 tstPDMAsyncCompletion_TEMPLATE = VBOXR3EXE 447 endif 448 tstPDMAsyncCompletion_INCS = $(VBOX_PATH_VMM_SRC)/include 449 tstPDMAsyncCompletion_SOURCES = tstPDMAsyncCompletion.cpp 450 tstPDMAsyncCompletion_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 451 452 # 453 # PDM asynchronous completation stress test. 454 # 455 455 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win" 456 457 458 459 460 tstPDMAsyncCompletionStress_TEMPLATE= VBOXR3456 tstPDMAsyncCompletionStressHardened_TEMPLATE = VBOXR3HARDENEDEXE 457 tstPDMAsyncCompletionStressHardened_NAME = tstPDMAsyncCompletionStress 458 tstPDMAsyncCompletionStressHardened_DEFS = PROGRAM_NAME_STR=\"tstPDMAsyncCompletionStress\" 459 tstPDMAsyncCompletionStressHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplate.cpp 460 tstPDMAsyncCompletionStress_TEMPLATE = VBOXR3 461 461 else 462 tstPDMAsyncCompletionStress_TEMPLATE= VBOXR3EXE463 endif 464 465 466 462 tstPDMAsyncCompletionStress_TEMPLATE = VBOXR3EXE 463 endif 464 tstPDMAsyncCompletionStress_INCS = $(VBOX_PATH_VMM_SRC)/include 465 tstPDMAsyncCompletionStress_SOURCES = tstPDMAsyncCompletionStress.cpp 466 tstPDMAsyncCompletionStress_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 467 467 endif 468 468 … … 482 482 || defined(VBOX_WITH_DTRACE_R0) \ 483 483 || defined(VBOX_WITH_DTRACE_RC)) 484 tstVMStructDTrace_TEMPLATE= VBOXR3AUTOTST485 tstVMStructDTrace_DEFS= IN_VMM_R3 IN_DIS $(VMM_COMMON_DEFS)484 tstVMStructDTrace_TEMPLATE = VBOXR3AUTOTST 485 tstVMStructDTrace_DEFS = IN_VMM_R3 IN_DIS $(VMM_COMMON_DEFS) 486 486 ifdef VBOX_WITH_RAW_MODE 487 tstVMStructDTrace_DEFS+= VBOX_WITH_RAW_MODE488 endif 489 tstVMStructDTrace_INCS= \490 491 492 493 tstVMStructDTrace_SOURCES= tstVMStructDTrace.cpp487 tstVMStructDTrace_DEFS += VBOX_WITH_RAW_MODE 488 endif 489 tstVMStructDTrace_INCS = \ 490 $(VBOX_PATH_VMM_SRC)/include \ 491 $(VBOX_PATH_VMM_SRC)/PATM \ 492 $(VBOX_VMM_TESTCASE_OUT_DIR) 493 tstVMStructDTrace_SOURCES = tstVMStructDTrace.cpp 494 494 ifdef VBOX_WITH_R0_LOGGING 495 tstVMStructDTrace_DEFS+= VBOX_WITH_R0_LOGGING495 tstVMStructDTrace_DEFS += VBOX_WITH_R0_LOGGING 496 496 endif 497 497 ifdef VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 498 tstVMStructDTrace_DEFS+= VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI499 endif 500 501 502 503 498 tstVMStructDTrace_DEFS += VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 499 endif 500 501 502 VMMLibDTraceStructTest_INST = $(VBOX_INST_DTRACE_TST)$(KBUILD_TARGET_ARCH)/ 503 VMMLibDTraceStructTest_SOURCES = \ 504 504 $(tstVMStructDTrace_0_OUTDIR)/vbox-vm-struct-test.d 505 505 506 506 $$(tstVMStructDTrace_0_OUTDIR)/vbox-vm-struct-test.d: \ 507 507 $$(tstVMStructDTrace_1_STAGE_TARGET) | $$(dir $$@) 508 508 $(QUIET)$(RM) -f $@ -
trunk/src/VBox/VMM/tools/Makefile.kmk
r69654 r75173 1 2 1 # $Id$ 3 2 ## @file … … 25 24 # 26 25 ifdef VBOX_WITH_HARDENING 27 28 26 PROGRAMS += VBoxVMMPreloadHardened 27 DLLS += VBoxVMMPreload 29 28 else 30 29 PROGRAMS += VBoxVMMPreload 31 30 endif 32 31 … … 47 46 VBoxVMMPreload_LIBS = $(LIB_RUNTIME) 48 47 ifdef VBOX_WITH_HARDENING 49 48 VBoxVMMPreload_LDFLAGS.darwin += -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxVMMPreload.dylib 50 49 endif 51 50
Note:
See TracChangeset
for help on using the changeset viewer.