- Timestamp:
- Jul 18, 2014 6:37:32 AM (11 years ago)
- Location:
- trunk/src/VBox
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElements.cpp
r51988 r52090 342 342 if (machine().GetCPUProperty(KCPUPropertyType_PAE)) 343 343 acceleration << QApplication::translate("UIGDetails", "PAE/NX", "details (system)"); 344 switch (machine().GetParavirtProvider()) 345 { 346 case KParavirtProvider_Default: acceleration << QApplication::translate("UIGDetails", "Default Paravirtualization", "details (system)"); break; 347 case KParavirtProvider_Legacy: acceleration << QApplication::translate("UIGDetails", "Legacy Paravirtualization", "details (system)"); break; 344 switch (machine().GetEffectiveParavirtProvider()) 345 { 348 346 case KParavirtProvider_Minimal: acceleration << QApplication::translate("UIGDetails", "Minimal Paravirtualization", "details (system)"); break; 349 347 case KParavirtProvider_HyperV: acceleration << QApplication::translate("UIGDetails", "Hyper-V Paravirtualization", "details (system)"); break; -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r52064 r52090 4206 4206 <interface 4207 4207 name="IMachine" extends="$unknown" 4208 uuid=" 45b0357d-28f4-4f90-b02c-13f2940efdda"4208 uuid="5cabbce0-6565-4713-a7fd-1f8c70e51797" 4209 4209 wsmap="managed" 4210 4210 wrap-hint-server-addinterfaces="IInternalMachineControl" … … 7200 7200 <desc> 7201 7201 Status of the CPU. 7202 </desc> 7203 </param> 7204 </method> 7205 7206 <method name="getEffectiveParavirtProvider" const="yes"> 7207 <desc> 7208 Returns the effective paravirtualization provider for this VM. 7209 </desc> 7210 <param name="paravirtProvider" type="ParavirtProvider" dir="return"> 7211 <desc> 7212 The effective paravirtualization provider for this VM. 7202 7213 </desc> 7203 7214 </param> -
trunk/src/VBox/Main/include/MachineImpl.h
r51498 r52090 1114 1114 HRESULT getCPUStatus(ULONG aCpu, 1115 1115 BOOL *aAttached); 1116 HRESULT getEffectiveParavirtProvider(ParavirtProvider_T *aParavirtProvider); 1116 1117 HRESULT queryLogFilename(ULONG aIdx, 1117 1118 com::Utf8Str &aFilename); -
trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp
r52082 r52090 874 874 875 875 ParavirtProvider_T paravirtProvider; 876 hrc = pMachine-> COMGETTER(ParavirtProvider)(¶virtProvider);H();876 hrc = pMachine->GetEffectiveParavirtProvider(¶virtProvider); H(); 877 877 878 878 ChipsetType_T chipsetType; … … 1163 1163 fGimDeviceNeeded = false; 1164 1164 break; 1165 1166 case ParavirtProvider_Default:1167 {1168 if (fOsXGuest)1169 {1170 pcszParavirtProvider = "Minimal";1171 fGimDeviceNeeded = false;1172 }1173 #if 0 /* Activate this soon. */1174 else if ( osTypeId == "Windows7"1175 || osTypeId == "Windows7_64"1176 || osTypeId == "Windows8"1177 || osTypeId == "Windows8_64"1178 || osTypeId == "Windows81"1179 || osTypeId == "Windows81_64")1180 {1181 pcszParavirtProvider = "HyperV";1182 }1183 #endif1184 else1185 {1186 pcszParavirtProvider = "None";1187 fGimDeviceNeeded = false;1188 }1189 break;1190 }1191 1192 case ParavirtProvider_Legacy:1193 {1194 if (fOsXGuest)1195 pcszParavirtProvider = "Minimal";1196 else1197 pcszParavirtProvider = "None";1198 fGimDeviceNeeded = false;1199 break;1200 }1201 1165 1202 1166 case ParavirtProvider_Minimal: -
trunk/src/VBox/Main/src-server/MachineImpl.cpp
r51903 r52090 1237 1237 } 1238 1238 1239 return S_OK; 1240 } 1241 1242 HRESULT Machine::getEffectiveParavirtProvider(ParavirtProvider_T *aParavirtProvider) 1243 { 1244 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 1245 1246 *aParavirtProvider = mHWData->mParavirtProvider; 1247 switch (mHWData->mParavirtProvider) 1248 { 1249 case ParavirtProvider_None: 1250 case ParavirtProvider_HyperV: 1251 case ParavirtProvider_Minimal: 1252 break; 1253 1254 /* Resolve dynamic provider types to the effective types. */ 1255 default: 1256 { 1257 ComPtr<IGuestOSType> ptrGuestOSType; 1258 HRESULT hrc2 = mParent->GetGuestOSType(Bstr(mUserData->s.strOsType).raw(), ptrGuestOSType.asOutParam()); 1259 AssertMsgReturn(SUCCEEDED(hrc2), ("Failed to get guest OS type. hrc2=%Rhrc\n", hrc2), hrc2); 1260 1261 Bstr guestTypeFamilyId; 1262 hrc2 = ptrGuestOSType->COMGETTER(FamilyId)(guestTypeFamilyId.asOutParam()); 1263 AssertMsgReturn(SUCCEEDED(hrc2), ("Failed to get guest family. hrc2=%Rhrc\n", hrc2), hrc2); 1264 BOOL fOsXGuest = guestTypeFamilyId == Bstr("MacOS"); 1265 1266 switch (mHWData->mParavirtProvider) 1267 { 1268 case ParavirtProvider_Legacy: 1269 { 1270 if (fOsXGuest) 1271 *aParavirtProvider = ParavirtProvider_Minimal; 1272 else 1273 *aParavirtProvider = ParavirtProvider_None; 1274 break; 1275 } 1276 1277 case ParavirtProvider_Default: 1278 { 1279 if (fOsXGuest) 1280 *aParavirtProvider = ParavirtProvider_Minimal; 1281 #if 0 /* Activate this soon. */ 1282 else if ( mUserData->s.strOsType == "Windows81" 1283 || mUserData->s.strOsType == "Windows81_64" 1284 || mUserData->s.strOsType == "Windows8" 1285 || mUserData->s.strOsType == "Windows8_64" 1286 || mUserData->s.strOsType == "Windows7" 1287 || mUserData->s.strOsType == "Windows7_64" 1288 || mUserData->s.strOsType == "WindowsVista" 1289 || mUserData->s.strOsType == "WindowsVista_64" 1290 || mUserData->s.strOsType == "Windows2012" 1291 || mUserData->s.strOsType == "Windows2012_64" 1292 || mUserData->s.strOsType == "Windows2008" 1293 || mUserData->s.strOsType == "Windows2008_64") 1294 { 1295 *aParavirtProvider = ParavirtProvider_HyperV; 1296 } 1297 #endif 1298 else 1299 *aParavirtProvider = ParavirtProvider_None; 1300 break; 1301 } 1302 } 1303 break; 1304 } 1305 } 1306 1307 Assert( *aParavirtProvider == ParavirtProvider_None 1308 || *aParavirtProvider == ParavirtProvider_Minimal 1309 || *aParavirtProvider == ParavirtProvider_HyperV); 1239 1310 return S_OK; 1240 1311 }
Note:
See TracChangeset
for help on using the changeset viewer.