Changeset 86115 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Sep 14, 2020 6:52:26 AM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 140348
- Location:
- trunk/src/VBox/VMM/VMMR3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/NEMR3.cpp
r86056 r86115 83 83 "Enabled" 84 84 "|Allow64BitGuests" 85 "|LovelyMesaDrvWorkaround" 85 86 #ifdef RT_OS_WINDOWS 86 87 "|UseRing0Runloop" … … 107 108 pVM->nem.s.fAllow64BitGuests = false; 108 109 #endif 110 111 /** @cfgm{/HM/LovelyMesaDrvWorkaround,bool} 112 * Workaround for mesa vmsvga 3d driver making incorrect assumptions about 113 * the hypervisor it is running under. */ 114 bool f; 115 rc = CFGMR3QueryBoolDef(pCfgNem, "LovelyMesaDrvWorkaround", &f, false); 116 AssertLogRelRCReturn(rc, rc); 117 for (VMCPUID idCpu = 0; idCpu < pVM->cCpus; idCpu++) 118 { 119 PVMCPU pVCpu = pVM->apCpusR3[idCpu]; 120 pVCpu->nem.s.fTrapXcptGpForLovelyMesaDrv = f; 121 } 109 122 110 123 #ifdef RT_OS_WINDOWS -
trunk/src/VBox/VMM/VMMR3/NEMR3Native-win.cpp
r85121 r86115 1357 1357 | RT_BIT_64(WHvX64ExceptionTypeBreakpointTrap) 1358 1358 | RT_BIT_64(WHvX64ExceptionTypeInvalidOpcodeFault); 1359 1360 /* Intercept #GP to workaround the buggy mesa vmwgfx driver. */ 1361 PVMCPU pVCpu = pVM->apCpusR3[0]; /** @todo In theory per vCPU, in practice same for all. */ 1362 if (pVCpu->nem.s.fTrapXcptGpForLovelyMesaDrv) 1363 Property.ExceptionExitBitmap |= RT_BIT_64(WHvX64ExceptionTypeGeneralProtectionFault); 1364 1359 1365 hrc = WHvSetPartitionProperty(hPartition, WHvPartitionPropertyCodeExceptionExitBitmap, &Property, sizeof(Property)); 1360 1366 if (FAILED(hrc)) … … 1419 1425 for (VMCPUID idCpu = 0; idCpu < pVM->cCpus; idCpu++) 1420 1426 { 1421 PVMCPUpVCpu = pVM->apCpusR3[idCpu];1427 pVCpu = pVM->apCpusR3[idCpu]; 1422 1428 1423 1429 pVCpu->nem.s.hNativeThreadHandle = (RTR3PTR)RTThreadGetNativeHandle(VMR3GetThreadHandle(pVCpu->pUVCpu));
Note:
See TracChangeset
for help on using the changeset viewer.