Changeset 20222 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Jun 3, 2009 9:04:49 AM (16 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/CPUM.cpp
r20158 r20222 387 387 pCPUM->aGuestCpuIdStd[1].ebx &= 0x0000ffff; 388 388 #ifdef VBOX_WITH_MULTI_CORE 389 /* Set the Maximum number of addressable IDs for logical processors in this physical package (bits 16-23) */390 pCPUM->aGuestCpuIdStd[1].ebx |= ((pVM->cCPUs - 1) << 16);391 392 389 if (pVM->cCPUs > 1) 390 { 391 /* Set the Maximum number of addressable IDs for logical processors in this physical package (bits 16-23) */ 392 pCPUM->aGuestCpuIdStd[1].ebx |= ((pVM->cCPUs - 1) << 16); 393 393 pCPUM->aGuestCpuIdStd[1].edx |= X86_CPUID_FEATURE_EDX_HTT; /* necessary for hyper-threading *or* multi-core CPUs */ 394 } 394 395 #endif 395 396 … … 421 422 pCPUM->aGuestCpuIdStd[4].eax = pCPUM->aGuestCpuIdStd[4].ebx = 0; 422 423 #ifdef VBOX_WITH_MULTI_CORE 423 if (pVM->cpum.s.enmCPUVendor == CPUMCPUVENDOR_INTEL) 424 if ( pVM->cCPUs > 1 425 && pVM->cpum.s.enmCPUVendor == CPUMCPUVENDOR_INTEL) 424 426 { 425 427 AssertReturn(pVM->cCPUs <= 64, VERR_TOO_MANY_CPUS); … … 507 509 pCPUM->aGuestCpuIdExt[8].ecx = 0; 508 510 #ifdef VBOX_WITH_MULTI_CORE 509 if (pVM->cpum.s.enmCPUVendor == CPUMCPUVENDOR_AMD) 511 if ( pVM->cCPUs > 1 512 && pVM->cpum.s.enmCPUVendor == CPUMCPUVENDOR_AMD) 510 513 { 511 514 /* Legacy method to determine the number of cores. */ -
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r20142 r20222 2518 2518 RTHCUINTREG uOldEFlags; 2519 2519 2520 /* @todo This code is not guest SMP safe (hyper stack ) */2521 AssertReturn(pVM->cCPUs == 1, VERR_ ACCESS_DENIED);2520 /* @todo This code is not guest SMP safe (hyper stack and switchers) */ 2521 AssertReturn(pVM->cCPUs == 1, VERR_TOO_MANY_CPUS); 2522 2522 Assert(pfnHandler); 2523 2523 -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r20142 r20222 4137 4137 RTHCPHYS pPageCpuPhys; 4138 4138 4139 /* @todo This code is not guest SMP safe (hyper stack ) */4140 AssertReturn(pVM->cCPUs == 1, VERR_ ACCESS_DENIED);4139 /* @todo This code is not guest SMP safe (hyper stack and switchers) */ 4140 AssertReturn(pVM->cCPUs == 1, VERR_TOO_MANY_CPUS); 4141 4141 AssertReturn(pVM->hwaccm.s.pfnHost32ToGuest64R0, VERR_INTERNAL_ERROR); 4142 4142 Assert(pVCpu->hwaccm.s.vmx.VMCSCache.Write.cValidEntries <= RT_ELEMENTS(pVCpu->hwaccm.s.vmx.VMCSCache.Write.aField));
Note:
See TracChangeset
for help on using the changeset viewer.