Changeset 22264 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Aug 14, 2009 3:23:54 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/HWACCM.cpp
r22263 r22264 327 327 * Check CFGM options. 328 328 */ 329 PCFGMNODE pRoot = CFGMR3GetRoot(pVM); 330 331 char *pszOSType = NULL; 332 rc = CFGMR3QueryStringAlloc(pRoot, "OSType", &pszOSType); 333 AssertRC(rc); 334 335 pVM->hwaccm.s.fTRPPatchingAllowed = false; 336 if (pszOSType) 337 { 338 /* @todo Not exactly pretty to check strings; VBOXOSTYPE would be better, but that requires quite a bit of API change in Main. */ 339 if ( !RTStrCmp(pszOSType, "WindowsNT4") 340 || !RTStrCmp(pszOSType, "WindowsNT") 341 || !RTStrCmp(pszOSType, "Windows 2000") 342 || !RTStrCmp(pszOSType, "WindowsXP") 343 || !RTStrCmp(pszOSType, "Windows 2003")) 344 { 345 /* Only allow TPR patching for NT, Win2k, XP and Windows Server 2003. (32 bits mode) 346 * (IO-APIC presence is checked later on in HWACCMR3InitFinalizeR0) 347 * 348 * We may want to consider adding more guest OSes (Solaris) later on. 349 */ 350 pVM->hwaccm.s.fTRPPatchingAllowed = true; 351 } 352 MMR3HeapFree(pszOSType); 353 } 354 329 PCFGMNODE pRoot = CFGMR3GetRoot(pVM); 355 330 PCFGMNODE pHWVirtExt = CFGMR3GetChild(pRoot, "HWVirtExt/"); 356 331 /* Nested paging: disabled by default. */ … … 364 339 /* HWACCM support must be explicitely enabled in the configuration file. */ 365 340 rc = CFGMR3QueryBoolDef(pHWVirtExt, "Enabled", &pVM->hwaccm.s.fAllowed, false); 341 AssertRC(rc); 342 343 /* TPR patching for 32 bits (Windows) guests with IO-APIC: disabled by default. */ 344 rc = CFGMR3QueryBoolDef(pRoot, "TPRPatchingEnabled", &pVM->hwaccm.s.fTRPPatchingAllowed, false); 366 345 AssertRC(rc); 367 346 … … 671 650 672 651 pVM->hwaccm.s.fHasIoApic = PDMHasIoApic(pVM); 673 /* No TPR patching is required when the IO-APIC is not enabled for this VM. */652 /* No TPR patching is required when the IO-APIC is not enabled for this VM. (Main should have taken care of this already) */ 674 653 if (!pVM->hwaccm.s.fHasIoApic) 654 { 655 Assert(pVM->hwaccm.s.fTRPPatchingAllowed); /* paranoia */ 675 656 pVM->hwaccm.s.fTRPPatchingAllowed = false; 657 } 676 658 677 659 if (pVM->hwaccm.s.vmx.fSupported)
Note:
See TracChangeset
for help on using the changeset viewer.