- Timestamp:
- Jun 9, 2015 11:06:39 AM (9 years ago)
- Location:
- trunk
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/vmm.h
r55863 r56286 535 535 * @{ 536 536 */ 537 VMMRCDECL(int) VMM GCEntry(PVM pVM, unsigned uOperation, unsigned uArg, ...);538 VMMRCDECL(void) VMM GCGuestToHost(PVM pVM, int rc);539 VMMRCDECL(void) VMM GCLogFlushIfFull(PVM pVM);537 VMMRCDECL(int) VMMRCEntry(PVM pVM, unsigned uOperation, unsigned uArg, ...); 538 VMMRCDECL(void) VMMRCGuestToHost(PVM pVM, int rc); 539 VMMRCDECL(void) VMMRCLogFlushIfFull(PVM pVM); 540 540 /** @} */ 541 541 #endif /* IN_RC */ -
trunk/src/VBox/VMM/VMMR0/VMMR0.cpp
r56047 r56286 78 78 /** Drag in necessary library bits. 79 79 * The runtime lives here (in VMMR0.r0) and VBoxDD*R0.r0 links against us. */ 80 PFNRT g_VMM GCDeps[] =80 PFNRT g_VMMR0Deps[] = 81 81 { 82 82 (PFNRT)RTCrc32, -
trunk/src/VBox/VMM/VMMR3/MM.cpp
r55489 r56286 53 53 00000000a0523000-00000000a0536000 00002aaab3d0c000 LOCKED autofree alloc once (PDM_DEVICE) 54 54 00000000a0522000-00000000a0523000 DYNAMIC fence 55 00000000a051e000-00000000a0522000 00002aaab36f5000 LOCKED autofree VBoxDD2 GC.gc55 00000000a051e000-00000000a0522000 00002aaab36f5000 LOCKED autofree VBoxDD2RC.rc 56 56 00000000a051d000-00000000a051e000 DYNAMIC fence 57 00000000a04eb000-00000000a051d000 00002aaab36c3000 LOCKED autofree VBoxDD GC.gc57 00000000a04eb000-00000000a051d000 00002aaab36c3000 LOCKED autofree VBoxDDRC.rc 58 58 00000000a04ea000-00000000a04eb000 DYNAMIC fence 59 59 00000000a04e9000-00000000a04ea000 00002aaab36c2000 LOCKED autofree ram range (High ROM Region) 60 60 00000000a04e8000-00000000a04e9000 DYNAMIC fence 61 00000000a040e000-00000000a04e8000 00002aaab2e6d000 LOCKED autofree VMM GC.gc61 00000000a040e000-00000000a04e8000 00002aaab2e6d000 LOCKED autofree VMMRC.rc 62 62 00000000a0208000-00000000a040e000 00002aaab2c67000 LOCKED autofree alloc once (PATM) 63 63 00000000a01f7000-00000000a0208000 00002aaaab92d000 LOCKED autofree alloc once (SELM) -
trunk/src/VBox/VMM/VMMR3/TRPM.cpp
r56052 r56286 636 636 * Get the trap handler addresses. 637 637 * 638 * If VMM GC.gc is screwed, so are we. We'll assert here since it elsewise638 * If VMMRC.rc is screwed, so are we. We'll assert here since it elsewise 639 639 * would make init order impossible if we should assert the presence of these 640 640 * exports in TRPMR3Init(). … … 643 643 RT_ZERO(aRCPtrs); 644 644 int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "TRPMGCHandlerInterupt", &aRCPtrs[TRPM_HANDLER_INT]); 645 AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerInterupt in VMM GC.gc!\n"));645 AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerInterupt in VMMRC.rc!\n")); 646 646 647 647 rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "TRPMGCHandlerGeneric", &aRCPtrs[TRPM_HANDLER_TRAP]); 648 AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerGeneric in VMM GC.gc!\n"));648 AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerGeneric in VMMRC.rc!\n")); 649 649 650 650 rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "TRPMGCHandlerTrap08", &aRCPtrs[TRPM_HANDLER_TRAP_08]); 651 AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerTrap08 in VMM GC.gc!\n"));651 AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerTrap08 in VMMRC.rc!\n")); 652 652 653 653 rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "TRPMGCHandlerTrap12", &aRCPtrs[TRPM_HANDLER_TRAP_12]); 654 AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerTrap12 in VMM GC.gc!\n"));654 AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerTrap12 in VMMRC.rc!\n")); 655 655 656 656 RTSEL SelCS = CPUMGetHyperCS(pVCpu); … … 1181 1181 1182 1182 rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "TRPMGCHandlerInterupt", &aGCPtrs[TRPM_HANDLER_INT]); 1183 AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerInterupt in VMM GC.gc!\n"));1183 AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerInterupt in VMMRC.rc!\n")); 1184 1184 1185 1185 if ( iTrap < TRPM_HANDLER_INT_BASE -
trunk/src/VBox/VMM/VMMR3/VMM.cpp
r56051 r56286 568 568 569 569 /* 570 * Call VMM GCInit():570 * Call VMMRCInit(): 571 571 * -# resolve the address. 572 572 * -# setup stackframe and EIP to use the trampoline. … … 574 574 */ 575 575 RTRCPTR RCPtrEP; 576 int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMM GCEntry", &RCPtrEP);576 int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMRCEntry", &RCPtrEP); 577 577 if (RT_SUCCESS(rc)) 578 578 { … … 583 583 CPUMPushHyper(pVCpu, vmmGetBuildType()); /* Param 3: Version argument. */ 584 584 CPUMPushHyper(pVCpu, VMMGetSvnRev()); /* Param 2: Version argument. */ 585 CPUMPushHyper(pVCpu, VMM GC_DO_VMMGC_INIT); /* Param 1: Operation. */585 CPUMPushHyper(pVCpu, VMMRC_DO_VMMRC_INIT); /* Param 1: Operation. */ 586 586 CPUMPushHyper(pVCpu, pVM->pVMRC); /* Param 0: pVM */ 587 587 CPUMPushHyper(pVCpu, 6 * sizeof(RTRCPTR)); /* trampoline param: stacksize. */ -
trunk/src/VBox/VMM/VMMR3/VMMTests.cpp
r56051 r56286 192 192 * @param uVariation The testcase variation id. 193 193 */ 194 static int vmmR3DoGCTest(PVM pVM, VMM GCOPERATION enmTestcase, unsigned uVariation)194 static int vmmR3DoGCTest(PVM pVM, VMMRCOPERATION enmTestcase, unsigned uVariation) 195 195 { 196 196 PVMCPU pVCpu = &pVM->aCpus[0]; 197 197 198 198 RTRCPTR RCPtrEP; 199 int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMM GCEntry", &RCPtrEP);199 int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMRCEntry", &RCPtrEP); 200 200 if (RT_FAILURE(rc)) 201 201 return rc; … … 253 253 254 254 RTRCPTR RCPtrEP; 255 int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMM GCEntry", &RCPtrEP);255 int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMRCEntry", &RCPtrEP); 256 256 if (RT_FAILURE(rc)) 257 257 return rc; … … 260 260 vmmR3TestClearStack(pVCpu); 261 261 CPUMPushHyper(pVCpu, uVariation); 262 CPUMPushHyper(pVCpu, u8Trap + VMM GC_DO_TESTCASE_TRAP_FIRST);262 CPUMPushHyper(pVCpu, u8Trap + VMMRC_DO_TESTCASE_TRAP_FIRST); 263 263 CPUMPushHyper(pVCpu, pVM->pVMRC); 264 264 CPUMPushHyper(pVCpu, 3 * sizeof(RTRCPTR)); /* stack frame size */ … … 346 346 347 347 /* 348 * Setup stack for calling VMM GCEntry().348 * Setup stack for calling VMMRCEntry(). 349 349 */ 350 350 RTRCPTR RCPtrEP; 351 rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMM GCEntry", &RCPtrEP);351 rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMRCEntry", &RCPtrEP); 352 352 if (RT_SUCCESS(rc)) 353 353 { 354 RTPrintf("VMM: VMM GCEntry=%RRv\n", RCPtrEP);354 RTPrintf("VMM: VMMRCEntry=%RRv\n", RCPtrEP); 355 355 356 356 /* … … 369 369 # endif 370 370 { 371 /* see triple fault warnings in SELM and VMM GC.cpp. */371 /* see triple fault warnings in SELM and VMMRC.cpp. */ 372 372 vmmR3DoTrapTest(pVM, 0x8, 1, VERR_TRPM_PANIC, 0x00000000, "vmmGCTestTrap8_FaultEIP", "#DF [#PG] WP"); 373 373 SELMR3Relocate(pVM); /* this resets the busy flag of the Trap 08 TSS */ … … 391 391 * Set a debug register and perform a context switch. 392 392 */ 393 rc = vmmR3DoGCTest(pVM, VMM GC_DO_TESTCASE_NOP, 0);393 rc = vmmR3DoGCTest(pVM, VMMRC_DO_TESTCASE_NOP, 0); 394 394 if (rc != VINF_SUCCESS) 395 395 { … … 405 405 rc = DBGFR3BpSetReg(pUVM, &Addr, 0, ~(uint64_t)0, X86_DR7_RW_EO, 1, &iBp0); 406 406 AssertReleaseRC(rc); 407 rc = vmmR3DoGCTest(pVM, VMM GC_DO_TESTCASE_NOP, 0);407 rc = vmmR3DoGCTest(pVM, VMMRC_DO_TESTCASE_NOP, 0); 408 408 if (rc != VINF_SUCCESS) 409 409 { … … 412 412 } 413 413 414 /* a bad one at VMM GCEntry */415 RTPrintf("VMM: testing hardware bp at VMM GCEntry (hit)\n");414 /* a bad one at VMMRCEntry */ 415 RTPrintf("VMM: testing hardware bp at VMMRCEntry (hit)\n"); 416 416 DBGFR3AddrFromFlat(pUVM, &Addr, RCPtrEP); 417 417 RTUINT iBp1; 418 418 rc = DBGFR3BpSetReg(pUVM, &Addr, 0, ~(uint64_t)0, X86_DR7_RW_EO, 1, &iBp1); 419 419 AssertReleaseRC(rc); 420 rc = vmmR3DoGCTest(pVM, VMM GC_DO_TESTCASE_NOP, 0);420 rc = vmmR3DoGCTest(pVM, VMMRC_DO_TESTCASE_NOP, 0); 421 421 if (rc != VINF_EM_DBG_HYPER_BREAKPOINT) 422 422 { 423 RTPrintf("VMM: DR1=VMM GCEntry test failed with rc=%Rrc! expected VINF_EM_RAW_BREAKPOINT_HYPER\n", rc);423 RTPrintf("VMM: DR1=VMMRCEntry test failed with rc=%Rrc! expected VINF_EM_RAW_BREAKPOINT_HYPER\n", rc); 424 424 return RT_FAILURE(rc) ? rc : VERR_IPE_UNEXPECTED_INFO_STATUS; 425 425 } … … 436 436 437 437 /* engage the breakpoint again and try single stepping. */ 438 RTPrintf("VMM: testing hardware bp at VMM GCEntry + stepping\n");439 rc = vmmR3DoGCTest(pVM, VMM GC_DO_TESTCASE_NOP, 0);438 RTPrintf("VMM: testing hardware bp at VMMRCEntry + stepping\n"); 439 rc = vmmR3DoGCTest(pVM, VMMRC_DO_TESTCASE_NOP, 0); 440 440 if (rc != VINF_EM_DBG_HYPER_BREAKPOINT) 441 441 { 442 RTPrintf("VMM: DR1=VMM GCEntry test failed with rc=%Rrc! expected VINF_EM_RAW_BREAKPOINT_HYPER\n", rc);442 RTPrintf("VMM: DR1=VMMRCEntry test failed with rc=%Rrc! expected VINF_EM_RAW_BREAKPOINT_HYPER\n", rc); 443 443 return RT_FAILURE(rc) ? rc : VERR_IPE_UNEXPECTED_INFO_STATUS; 444 444 } … … 474 474 return VERR_GENERAL_FAILURE; 475 475 } 476 rc = vmmR3DoGCTest(pVM, VMM GC_DO_TESTCASE_NOP, 0);476 rc = vmmR3DoGCTest(pVM, VMMRC_DO_TESTCASE_NOP, 0); 477 477 if (rc != VINF_SUCCESS) 478 478 { … … 488 488 { 489 489 uint64_t StartTick = ASMReadTSC(); 490 rc = vmmR3DoGCTest(pVM, VMM GC_DO_TESTCASE_INTERRUPT_MASKING, 0);490 rc = vmmR3DoGCTest(pVM, VMMRC_DO_TESTCASE_INTERRUPT_MASKING, 0); 491 491 if (rc != VINF_SUCCESS) 492 492 { … … 504 504 CPUMSetHyperState(pVCpu, pVM->vmm.s.pfnCallTrampolineRC, pVCpu->vmm.s.pbEMTStackBottomRC, 0, 0); 505 505 CPUMPushHyper(pVCpu, 0); 506 CPUMPushHyper(pVCpu, VMM GC_DO_TESTCASE_HYPER_INTERRUPT);506 CPUMPushHyper(pVCpu, VMMRC_DO_TESTCASE_HYPER_INTERRUPT); 507 507 CPUMPushHyper(pVCpu, pVM->pVMRC); 508 508 CPUMPushHyper(pVCpu, 3 * sizeof(RTRCPTR)); /* stack frame size */ … … 566 566 CPUMSetHyperState(pVCpu, pVM->vmm.s.pfnCallTrampolineRC, pVCpu->vmm.s.pbEMTStackBottomRC, 0, 0); 567 567 CPUMPushHyper(pVCpu, 0); 568 CPUMPushHyper(pVCpu, VMM GC_DO_TESTCASE_NOP);568 CPUMPushHyper(pVCpu, VMMRC_DO_TESTCASE_NOP); 569 569 CPUMPushHyper(pVCpu, pVM->pVMRC); 570 570 CPUMPushHyper(pVCpu, 3 * sizeof(RTRCPTR)); /* stack frame size */ … … 608 608 } 609 609 else 610 AssertMsgFailed(("Failed to resolved VMM GC.gc::VMMGCEntry(), rc=%Rrc\n", rc));610 AssertMsgFailed(("Failed to resolved VMMRC.rc::VMMRCEntry(), rc=%Rrc\n", rc)); 611 611 #endif 612 612 return rc; … … 676 676 677 677 /* 678 * Setup stack for calling VMM GCEntry().678 * Setup stack for calling VMMRCEntry(). 679 679 */ 680 680 RTRCPTR RCPtrEP; 681 rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMM GCEntry", &RCPtrEP);681 rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMRCEntry", &RCPtrEP); 682 682 if (RT_SUCCESS(rc)) 683 683 { 684 RTPrintf("VMM: VMM GCEntry=%RRv\n", RCPtrEP);684 RTPrintf("VMM: VMMRCEntry=%RRv\n", RCPtrEP); 685 685 686 686 pHyperCtx = CPUMGetHyperCtxPtr(pVCpu); … … 707 707 CPUMSetHyperState(pVCpu, pVM->vmm.s.pfnCallTrampolineRC, pVCpu->vmm.s.pbEMTStackBottomRC, 0, 0); 708 708 CPUMPushHyper(pVCpu, 0); 709 CPUMPushHyper(pVCpu, VMM GC_DO_TESTCASE_HM_NOP);709 CPUMPushHyper(pVCpu, VMMRC_DO_TESTCASE_HM_NOP); 710 710 CPUMPushHyper(pVCpu, pVM->pVMRC); 711 711 CPUMPushHyper(pVCpu, 3 * sizeof(RTRCPTR)); /* stack frame size */ … … 751 751 } 752 752 else 753 AssertMsgFailed(("Failed to resolved VMM GC.gc::VMMGCEntry(), rc=%Rrc\n", rc));753 AssertMsgFailed(("Failed to resolved VMMRC.rc::VMMRCEntry(), rc=%Rrc\n", rc)); 754 754 755 755 return rc; -
trunk/src/VBox/VMM/VMMRC/TRPMRC.cpp
r56013 r56286 85 85 LogFlow(("TRPMGCHyperReturnToHost: rc=%Rrc\n", rc)); 86 86 TRPMResetTrap(pVCpu); 87 VMM GCGuestToHost(pVM, rc);87 VMMRCGuestToHost(pVM, rc); 88 88 AssertReleaseFailed(); 89 89 } -
trunk/src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp
r56047 r56286 121 121 *******************************************************************************/ 122 122 RT_C_DECLS_BEGIN 123 /** Defined in VMM GC0.asm or VMMGC99.asm.123 /** Defined in VMMRC0.asm or VMMRC99.asm. 124 124 * @{ */ 125 125 extern const TRPMGCHYPER g_aTrap0bHandlers[1]; -
trunk/src/VBox/VMM/VMMRC/VMMRC.cpp
r54308 r56286 58 58 * @returns VBox status code. 59 59 * @param pVM Pointer to the VM. 60 * @param uOperation Which operation to execute (VMM GCOPERATION).60 * @param uOperation Which operation to execute (VMMRCOPERATION). 61 61 * @param uArg Argument to that operation. 62 62 */ 63 VMMRCDECL(int) VMM GCEntry(PVM pVM, unsigned uOperation, unsigned uArg, ...)63 VMMRCDECL(int) VMMRCEntry(PVM pVM, unsigned uOperation, unsigned uArg, ...) 64 64 { 65 65 /* todo */ … … 69 69 * Init RC modules. 70 70 */ 71 case VMM GC_DO_VMMGC_INIT:71 case VMMRC_DO_VMMRC_INIT: 72 72 { 73 73 /* … … 92 92 93 93 int rc = RTRCInit(u64TS); 94 Log(("VMM GCEntry: VMMGC_DO_VMMGC_INIT - uArg=%u (svn revision) u64TS=%RX64; rc=%Rrc\n", uArg, u64TS, rc));94 Log(("VMMRCEntry: VMMRC_DO_VMMRC_INIT - uArg=%u (svn revision) u64TS=%RX64; rc=%Rrc\n", uArg, u64TS, rc)); 95 95 AssertRCReturn(rc, rc); 96 96 … … 107 107 * It spins for a while with interrupts enabled. 108 108 */ 109 case VMM GC_DO_TESTCASE_HYPER_INTERRUPT:109 case VMMRC_DO_TESTCASE_HYPER_INTERRUPT: 110 110 { 111 111 uint32_t volatile i = 0; … … 121 121 * profiling of the switcher. 122 122 */ 123 case VMM GC_DO_TESTCASE_NOP:123 case VMMRC_DO_TESTCASE_NOP: 124 124 return 0; 125 125 … … 127 127 * Testcase executes a privileged instruction to force a world switch. (in both SVM & VMX) 128 128 */ 129 case VMM GC_DO_TESTCASE_HM_NOP:129 case VMMRC_DO_TESTCASE_HM_NOP: 130 130 ASMRdMsr_Low(MSR_IA32_SYSENTER_CS); 131 131 return 0; … … 134 134 * Delay for ~100us. 135 135 */ 136 case VMM GC_DO_TESTCASE_INTERRUPT_MASKING:136 case VMMRC_DO_TESTCASE_INTERRUPT_MASKING: 137 137 { 138 138 uint64_t u64MaxTicks = (SUPGetCpuHzFromGip(g_pSUPGlobalInfoPage) != ~(uint64_t)0 … … 162 162 */ 163 163 default: 164 if ( uOperation >= VMM GC_DO_TESTCASE_TRAP_FIRST165 && uOperation < VMM GC_DO_TESTCASE_TRAP_LAST)164 if ( uOperation >= VMMRC_DO_TESTCASE_TRAP_FIRST 165 && uOperation < VMMRC_DO_TESTCASE_TRAP_LAST) 166 166 return vmmGCTest(pVM, uOperation, uArg); 167 167 return VERR_INVALID_PARAMETER; … … 192 192 * @param pVM Pointer to the VM. 193 193 */ 194 VMMRCDECL(void) VMM GCLogFlushIfFull(PVM pVM)194 VMMRCDECL(void) VMMRCLogFlushIfFull(PVM pVM) 195 195 { 196 196 if ( pVM->vmm.s.pRCLoggerRC … … 210 210 * @param rc The status code. 211 211 */ 212 VMMRCDECL(void) VMM GCGuestToHost(PVM pVM, int rc)212 VMMRCDECL(void) VMMRCGuestToHost(PVM pVM, int rc) 213 213 { 214 214 pVM->vmm.s.pfnRCToHost(rc); … … 273 273 switch (uOperation) 274 274 { 275 //case VMM GC_DO_TESTCASE_TRAP_0:276 //case VMM GC_DO_TESTCASE_TRAP_1:277 //case VMM GC_DO_TESTCASE_TRAP_2:278 279 case VMM GC_DO_TESTCASE_TRAP_3:275 //case VMMRC_DO_TESTCASE_TRAP_0: 276 //case VMMRC_DO_TESTCASE_TRAP_1: 277 //case VMMRC_DO_TESTCASE_TRAP_2: 278 279 case VMMRC_DO_TESTCASE_TRAP_3: 280 280 { 281 281 if (uArg <= 1) … … 284 284 } 285 285 286 //case VMM GC_DO_TESTCASE_TRAP_4:287 //case VMM GC_DO_TESTCASE_TRAP_5:288 //case VMM GC_DO_TESTCASE_TRAP_6:289 //case VMM GC_DO_TESTCASE_TRAP_7:290 291 case VMM GC_DO_TESTCASE_TRAP_8:286 //case VMMRC_DO_TESTCASE_TRAP_4: 287 //case VMMRC_DO_TESTCASE_TRAP_5: 288 //case VMMRC_DO_TESTCASE_TRAP_6: 289 //case VMMRC_DO_TESTCASE_TRAP_7: 290 291 case VMMRC_DO_TESTCASE_TRAP_8: 292 292 { 293 293 #ifndef DEBUG_bird /** @todo dynamic check that this won't triple fault... */ … … 300 300 } 301 301 302 //VMM GC_DO_TESTCASE_TRAP_9,303 //VMM GC_DO_TESTCASE_TRAP_0A,304 //VMM GC_DO_TESTCASE_TRAP_0B,305 //VMM GC_DO_TESTCASE_TRAP_0C,306 307 case VMM GC_DO_TESTCASE_TRAP_0D:302 //VMMRC_DO_TESTCASE_TRAP_9, 303 //VMMRC_DO_TESTCASE_TRAP_0A, 304 //VMMRC_DO_TESTCASE_TRAP_0B, 305 //VMMRC_DO_TESTCASE_TRAP_0C, 306 307 case VMMRC_DO_TESTCASE_TRAP_0D: 308 308 { 309 309 if (uArg <= 1) … … 312 312 } 313 313 314 case VMM GC_DO_TESTCASE_TRAP_0E:314 case VMMRC_DO_TESTCASE_TRAP_0E: 315 315 { 316 316 if (uArg <= 1) -
trunk/src/VBox/VMM/VMMRC/VMMRC.mac
r55028 r56286 1 1 ; $Id$ 2 2 ;; @file 3 ; VMM GC - Raw-mode Context Assembly Macros.3 ; VMMRC - Raw-mode Context Assembly Macros. 4 4 ; 5 5 6 6 ; 7 ; Copyright (C) 2006-201 2Oracle Corporation7 ; Copyright (C) 2006-2015 Oracle Corporation 8 8 ; 9 9 ; This file is part of VirtualBox Open Source Edition (OSE), as … … 16 16 ; 17 17 18 %ifndef __VMM GC_mac__19 %define __VMM GC_mac__18 %ifndef __VMMRC_mac__ 19 %define __VMMRC_mac__ 20 20 21 21 %include "VBox/asmdefs.mac" -
trunk/src/VBox/VMM/VMMRC/VMMRCA.asm
r49893 r56286 1 1 ; $Id$ 2 2 ;; @file 3 ; VMM GC - Raw-mode Context Virtual Machine Monitor assembly routines.4 ; 5 6 ; 7 ; Copyright (C) 2006-201 2Oracle Corporation3 ; VMMRC - Raw-mode Context Virtual Machine Monitor assembly routines. 4 ; 5 6 ; 7 ; Copyright (C) 2006-2015 Oracle Corporation 8 8 ; 9 9 ; This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/VMM/VMMRC/VMMRCDeps.cpp
r44528 r56286 1 1 /* $Id$ */ 2 2 /** @file 3 * VMM GC Runtime Dependencies.3 * VMMRC Runtime Dependencies. 4 4 */ 5 5 … … 26 26 #endif // RT_OS_SOLARIS || RT_OS_FREEBSD 27 27 28 PFNRT g_VMM GCDeps[] =28 PFNRT g_VMMRCDeps[] = 29 29 { 30 30 (PFNRT)memset, -
trunk/src/VBox/VMM/include/CPUMInternal.mac
r55229 r56286 62 62 %define CPUM_HANDLER_TYPEMASK 0ffh 63 63 %define CPUM_HANDLER_CTXCORE_IN_EBP RT_BIT(31) 64 65 %define VMMGCRET_USED_FPU 040000000h66 64 67 65 -
trunk/src/VBox/VMM/include/VMMInternal.h
r56047 r56286 465 465 466 466 /** 467 * The VMM GCEntry() codes.468 */ 469 typedef enum VMM GCOPERATION467 * The VMMRCEntry() codes. 468 */ 469 typedef enum VMMRCOPERATION 470 470 { 471 471 /** Do GC module init. */ 472 VMM GC_DO_VMMGC_INIT = 1,472 VMMRC_DO_VMMRC_INIT = 1, 473 473 474 474 /** The first Trap testcase. */ 475 VMM GC_DO_TESTCASE_TRAP_FIRST = 0x0dead000,475 VMMRC_DO_TESTCASE_TRAP_FIRST = 0x0dead000, 476 476 /** Trap 0 testcases, uArg selects the variation. */ 477 VMM GC_DO_TESTCASE_TRAP_0 = VMMGC_DO_TESTCASE_TRAP_FIRST,477 VMMRC_DO_TESTCASE_TRAP_0 = VMMRC_DO_TESTCASE_TRAP_FIRST, 478 478 /** Trap 1 testcases, uArg selects the variation. */ 479 VMM GC_DO_TESTCASE_TRAP_1,479 VMMRC_DO_TESTCASE_TRAP_1, 480 480 /** Trap 2 testcases, uArg selects the variation. */ 481 VMM GC_DO_TESTCASE_TRAP_2,481 VMMRC_DO_TESTCASE_TRAP_2, 482 482 /** Trap 3 testcases, uArg selects the variation. */ 483 VMM GC_DO_TESTCASE_TRAP_3,483 VMMRC_DO_TESTCASE_TRAP_3, 484 484 /** Trap 4 testcases, uArg selects the variation. */ 485 VMM GC_DO_TESTCASE_TRAP_4,485 VMMRC_DO_TESTCASE_TRAP_4, 486 486 /** Trap 5 testcases, uArg selects the variation. */ 487 VMM GC_DO_TESTCASE_TRAP_5,487 VMMRC_DO_TESTCASE_TRAP_5, 488 488 /** Trap 6 testcases, uArg selects the variation. */ 489 VMM GC_DO_TESTCASE_TRAP_6,489 VMMRC_DO_TESTCASE_TRAP_6, 490 490 /** Trap 7 testcases, uArg selects the variation. */ 491 VMM GC_DO_TESTCASE_TRAP_7,491 VMMRC_DO_TESTCASE_TRAP_7, 492 492 /** Trap 8 testcases, uArg selects the variation. */ 493 VMM GC_DO_TESTCASE_TRAP_8,493 VMMRC_DO_TESTCASE_TRAP_8, 494 494 /** Trap 9 testcases, uArg selects the variation. */ 495 VMM GC_DO_TESTCASE_TRAP_9,495 VMMRC_DO_TESTCASE_TRAP_9, 496 496 /** Trap 0a testcases, uArg selects the variation. */ 497 VMM GC_DO_TESTCASE_TRAP_0A,497 VMMRC_DO_TESTCASE_TRAP_0A, 498 498 /** Trap 0b testcases, uArg selects the variation. */ 499 VMM GC_DO_TESTCASE_TRAP_0B,499 VMMRC_DO_TESTCASE_TRAP_0B, 500 500 /** Trap 0c testcases, uArg selects the variation. */ 501 VMM GC_DO_TESTCASE_TRAP_0C,501 VMMRC_DO_TESTCASE_TRAP_0C, 502 502 /** Trap 0d testcases, uArg selects the variation. */ 503 VMM GC_DO_TESTCASE_TRAP_0D,503 VMMRC_DO_TESTCASE_TRAP_0D, 504 504 /** Trap 0e testcases, uArg selects the variation. */ 505 VMM GC_DO_TESTCASE_TRAP_0E,505 VMMRC_DO_TESTCASE_TRAP_0E, 506 506 /** The last trap testcase (exclusive). */ 507 VMM GC_DO_TESTCASE_TRAP_LAST,507 VMMRC_DO_TESTCASE_TRAP_LAST, 508 508 /** Testcase for checking interrupt forwarding. */ 509 VMM GC_DO_TESTCASE_HYPER_INTERRUPT,509 VMMRC_DO_TESTCASE_HYPER_INTERRUPT, 510 510 /** Switching testing and profiling stub. */ 511 VMM GC_DO_TESTCASE_NOP,511 VMMRC_DO_TESTCASE_NOP, 512 512 /** Testcase for checking interrupt masking.. */ 513 VMM GC_DO_TESTCASE_INTERRUPT_MASKING,513 VMMRC_DO_TESTCASE_INTERRUPT_MASKING, 514 514 /** Switching testing and profiling stub. */ 515 VMM GC_DO_TESTCASE_HM_NOP,515 VMMRC_DO_TESTCASE_HM_NOP, 516 516 517 517 /** The usual 32-bit hack. */ 518 VMM GC_DO_32_BIT_HACK = 0x7fffffff519 } VMM GCOPERATION;518 VMMRC_DO_32_BIT_HACK = 0x7fffffff 519 } VMMRCOPERATION; 520 520 521 521 … … 551 551 /** 552 552 * World switcher assembly routine. 553 * It will call VMM GCEntry().554 * 555 * @returns return code from VMM GCEntry().553 * It will call VMMRCEntry(). 554 * 555 * @returns return code from VMMRCEntry(). 556 556 * @param pVM Pointer to the VM. 557 * @param uArg See VMM GCEntry().557 * @param uArg See VMMRCEntry(). 558 558 * @internal 559 559 */
Note:
See TracChangeset
for help on using the changeset viewer.