Changeset 3750 in vbox
- Timestamp:
- Jul 20, 2007 4:38:23 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 23058
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp
r3301 r3750 156 156 uint64_t val; 157 157 158 /* Turn on SVM in the EFER MSR.*/159 val = ASMRdMsr(MSR_K 6_EFER);160 if (!(val & MSR_K 6_EFER_SVME))158 /* Check if SVM is disabled */ 159 val = ASMRdMsr(MSR_K8_VM_CR); 160 if (!(val & MSR_K8_VM_CR_SVM_DISABLE)) 161 161 { 162 ASMWrMsr(MSR_K6_EFER, val | MSR_K6_EFER_SVME); 163 } 164 /* Paranoia. */ 165 val = ASMRdMsr(MSR_K6_EFER); 166 if (val & MSR_K6_EFER_SVME) 167 { 168 /* Query AMD features. */ 169 ASMCpuId(0x8000000A, &pVM->hwaccm.s.svm.u32Rev, &pVM->hwaccm.s.svm.u32MaxASID, &u32Dummy, &u32Dummy); 170 171 pVM->hwaccm.s.svm.fSupported = true; 162 /* Turn on SVM in the EFER MSR. */ 163 val = ASMRdMsr(MSR_K6_EFER); 164 if (!(val & MSR_K6_EFER_SVME)) 165 { 166 ASMWrMsr(MSR_K6_EFER, val | MSR_K6_EFER_SVME); 167 } 168 /* Paranoia. */ 169 val = ASMRdMsr(MSR_K6_EFER); 170 if (val & MSR_K6_EFER_SVME) 171 { 172 /* Query AMD features. */ 173 ASMCpuId(0x8000000A, &pVM->hwaccm.s.svm.u32Rev, &pVM->hwaccm.s.svm.u32MaxASID, &u32Dummy, &u32Dummy); 174 175 pVM->hwaccm.s.svm.fSupported = true; 176 } 177 else 178 { 179 pVM->hwaccm.s.ulLastError = VERR_SVM_ILLEGAL_EFER_MSR; 180 AssertFailed(); 181 } 172 182 } 173 183 else 174 { 175 pVM->hwaccm.s.ulLastError = VERR_SVM_ILLEGAL_EFER_MSR; 176 AssertFailed(); 177 } 184 pVM->hwaccm.s.ulLastError = VERR_SVM_DISABLED; 178 185 } 179 186 else
Note:
See TracChangeset
for help on using the changeset viewer.