Changeset 57482 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Aug 20, 2015 4:48:33 PM (9 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/HMAll.cpp
r57470 r57482 59 59 * @returns VBox status code. 60 60 * @param pVCpu Pointer to the VMCPU. 61 * @param GCVirt Page to invalidate 61 * @param GCVirt Page to invalidate. 62 62 */ 63 63 static void hmQueueInvlPage(PVMCPU pVCpu, RTGCPTR GCVirt) … … 76 76 * @returns VBox status code. 77 77 * @param pVCpu Pointer to the VMCPU. 78 * @param GCVirt Page to invalidate 78 * @param GCVirt Page to invalidate. 79 79 */ 80 80 VMM_INT_DECL(int) HMInvalidatePage(PVMCPU pVCpu, RTGCPTR GCVirt) … … 122 122 return; 123 123 } 124 124 125 125 126 /** … … 357 358 } 358 359 359 /** 360 * Invalidates a guest page by physical address 361 * 362 * NOTE: Assumes the current instruction references this physical page though a virtual address!! 360 361 /** 362 * Invalidates a guest page by physical address. 363 363 * 364 364 * @returns VBox status code. 365 365 * @param pVM Pointer to the VM. 366 * @param GCPhys Page to invalidate 366 * @param GCPhys Page to invalidate. 367 * 368 * @remarks Assumes the current instruction references this physical page 369 * though a virtual address! 367 370 */ 368 371 VMM_INT_DECL(int) HMInvalidatePhysPage(PVM pVM, RTGCPHYS GCPhys) -
trunk/src/VBox/VMM/VMMR3/HM.cpp
r57479 r57482 311 311 static DECLCALLBACK(int) hmR3Save(PVM pVM, PSSMHANDLE pSSM); 312 312 static DECLCALLBACK(int) hmR3Load(PVM pVM, PSSMHANDLE pSSM, uint32_t uVersion, uint32_t uPass); 313 static int hmR3InitCPU(PVM pVM);314 static int hmR3InitFinalizeR0(PVM pVM);315 static int hmR3InitFinalizeR0Intel(PVM pVM);316 static int hmR3InitFinalizeR0Amd(PVM pVM);317 static int hmR3TermCPU(PVM pVM);313 static int hmR3InitCPU(PVM pVM); 314 static int hmR3InitFinalizeR0(PVM pVM); 315 static int hmR3InitFinalizeR0Intel(PVM pVM); 316 static int hmR3InitFinalizeR0Amd(PVM pVM); 317 static int hmR3TermCPU(PVM pVM); 318 318 319 319 … … 453 453 * The pause-filter exiting window in TSC ticks. When the number of ticks 454 454 * between the current PAUSE instruction and first PAUSE of a loop exceeds 455 * VmxPleWindow, a VM-exit is trig erred.455 * VmxPleWindow, a VM-exit is triggered. 456 456 * 457 457 * Setting VmxPleGap and VmxPleGap to 0 disables pause-filter exiting. … … 1064 1064 1065 1065 /* 1066 * Do the vendor specific init alization .1066 * Do the vendor specific initialization . 1067 1067 * . 1068 1068 * Note! We disable release log buffering here since we're doing relatively . … … 1648 1648 pVCpu->hm.s.vmx.fWasInRealMode = true; 1649 1649 } 1650 1651 /** @todo r=ramshankar: Disabling for now. If nothing breaks remove it1652 * eventually. (Test platforms that use the cache ofc). */1653 #if 01654 #ifdef VMX_USE_CACHED_VMCS_ACCESSES1655 /* Reset the contents of the read cache. */1656 PVMCSCACHE pCache = &pVCpu->hm.s.vmx.VMCSCache;1657 for (unsigned j = 0; j < pCache->Read.cValidEntries; j++)1658 pCache->Read.aFieldVal[j] = 0;1659 #endif1660 #endif1661 1650 } 1662 1651 … … 2466 2455 * we also treat segments with all the attributes cleared as unusable. 2467 2456 */ 2468 /** @todo r=bird: actually all zero s isn't gonna cut it... SS.DPL == CPL. */2457 /** @todo r=bird: actually all zeroes isn't gonna cut it... SS.DPL == CPL. */ 2469 2458 if (pSel->Attr.n.u1Unusable || !pSel->Attr.u) 2470 2459 return true; … … 2933 2922 uint32_t u32Val = 0; 2934 2923 2935 rcStrict = IOMIOPortRead(pVM, pVCpu, pVCpu->hm.s.PendingIO.s.Port.uPort, 2936 &u32Val, 2924 rcStrict = IOMIOPortRead(pVM, pVCpu, pVCpu->hm.s.PendingIO.s.Port.uPort, &u32Val, 2937 2925 pVCpu->hm.s.PendingIO.s.Port.cbSize); 2938 2926 if (IOM_SUCCESS(rcStrict)) -
trunk/src/VBox/VMM/VMMR3/VMM.cpp
r57470 r57482 120 120 #include <iprt/ctype.h> 121 121 #include <iprt/x86.h> 122 123 122 124 123 … … 735 734 * Terminate the VMM bits. 736 735 * 737 * @returns V INF_SUCCESS.736 * @returns VBox status code. 738 737 * @param pVM Pointer to the VM. 739 738 */ … … 1134 1133 * @returns VBox status 1135 1134 * @param pVM Pointer to the VM. 1136 * @param pszSymbol Symbol to resolv 1135 * @param pszSymbol Symbol to resolve. 1137 1136 * @param pRCPtrValue Where to store the symbol value. 1138 1137 * … … 1384 1383 } 1385 1384 1385 1386 1386 /** 1387 1387 * VCPU worker for VMMSendSipi. 1388 1388 * 1389 1389 * @param pVM Pointer to the VM. 1390 * @param idCpu Virtual CPU to perform SIPI on 1391 * @param uVector SIPI vector 1390 * @param idCpu Virtual CPU to perform SIPI on. 1391 * @param uVector SIPI vector. 1392 1392 */ 1393 1393 static DECLCALLBACK(int) vmmR3SendSipi(PVM pVM, VMCPUID idCpu, uint32_t uVector) … … 1422 1422 } 1423 1423 1424 1424 1425 static DECLCALLBACK(int) vmmR3SendInitIpi(PVM pVM, VMCPUID idCpu) 1425 1426 { … … 1440 1441 } 1441 1442 1443 1442 1444 /** 1443 1445 * Sends SIPI to the virtual CPU by setting CS:EIP into vector-dependent state 1444 * and unhalting processor 1446 * and unhalting processor. 1445 1447 * 1446 1448 * @param pVM Pointer to the VM. 1447 * @param idCpu Virtual CPU to perform SIPI on 1448 * @param uVector SIPI vector 1449 * @param idCpu Virtual CPU to perform SIPI on. 1450 * @param uVector SIPI vector. 1449 1451 */ 1450 1452 VMMR3_INT_DECL(void) VMMR3SendSipi(PVM pVM, VMCPUID idCpu, uint32_t uVector) … … 1456 1458 } 1457 1459 1460 1458 1461 /** 1459 1462 * Sends init IPI to the virtual CPU. 1460 1463 * 1461 1464 * @param pVM Pointer to the VM. 1462 * @param idCpu Virtual CPU to perform int IPI on 1465 * @param idCpu Virtual CPU to perform int IPI on. 1463 1466 */ 1464 1467 VMMR3_INT_DECL(void) VMMR3SendInitIpi(PVM pVM, VMCPUID idCpu) … … 1470 1473 } 1471 1474 1472 /** 1473 * Registers the guest memory range that can be used for patching 1475 1476 /** 1477 * Registers the guest memory range that can be used for patching. 1474 1478 * 1475 1479 * @returns VBox status code. 1476 1480 * @param pVM Pointer to the VM. 1477 * @param pPatchMem Patch memory range 1478 * @param cbPatchMem Size of the memory range 1481 * @param pPatchMem Patch memory range. 1482 * @param cbPatchMem Size of the memory range. 1479 1483 */ 1480 1484 VMMR3DECL(int) VMMR3RegisterPatchMemory(PVM pVM, RTGCPTR pPatchMem, unsigned cbPatchMem) … … 1487 1491 } 1488 1492 1489 /** 1490 * Deregisters the guest memory range that can be used for patching 1493 1494 /** 1495 * Deregisters the guest memory range that can be used for patching. 1491 1496 * 1492 1497 * @returns VBox status code. 1493 1498 * @param pVM Pointer to the VM. 1494 * @param pPatchMem Patch memory range 1495 * @param cbPatchMem Size of the memory range 1499 * @param pPatchMem Patch memory range. 1500 * @param cbPatchMem Size of the memory range. 1496 1501 */ 1497 1502 VMMR3DECL(int) VMMR3DeregisterPatchMemory(PVM pVM, RTGCPTR pPatchMem, unsigned cbPatchMem) … … 2138 2143 * @param pVM Pointer to the VM. 2139 2144 * @param pVCpu Pointer to the VMCPU. 2140 * @remark 2145 * @remarks Careful with critsects. 2141 2146 */ 2142 2147 static int vmmR3ServiceCallRing3Request(PVM pVM, PVMCPU pVCpu)
Note:
See TracChangeset
for help on using the changeset viewer.