Changeset 7989 in vbox
- Timestamp:
- Apr 15, 2008 1:30:41 PM (17 years ago)
- Location:
- trunk/src/VBox
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VBoxManage/VBoxManage.cpp
r7988 r7989 326 326 " [-acpi on|off]\n" 327 327 " [-ioapic on|off]\n" 328 " [-pae on|off]\n"329 328 " [-hwvirtex on|off|default]\n" 330 329 " [-monitorcount <number>]\n" … … 920 919 else 921 920 RTPrintf("IOAPIC: %s\n", ioapicEnabled ? "on" : "off"); 922 923 BOOL PAEEnabled;924 machine->COMGETTER(PAEEnabled)(&PAEEnabled);925 if (details == VMINFO_MACHINEREADABLE)926 RTPrintf("pae=\"%s\"\n", PAEEnabled ? "on" : "off");927 else928 RTPrintf("PAE: %s\n", PAEEnabled ? "on" : "off");929 921 930 922 LONG64 timeOffset; … … 3722 3714 char *acpi = NULL; 3723 3715 char *hwvirtex = NULL; 3724 char *pae = NULL;3725 3716 char *ioapic = NULL; 3726 3717 int monitorcount = -1; … … 3859 3850 hwvirtex = argv[i]; 3860 3851 } 3861 else if (strcmp(argv[i], "-pae") == 0)3862 {3863 if (argc <= i + 1)3864 {3865 return errorArgument("Missing argument to '%s'", argv[i]);3866 }3867 i++;3868 pae = argv[i];3869 }3870 3852 else if (strcmp(argv[i], "-monitorcount") == 0) 3871 3853 { … … 4551 4533 { 4552 4534 errorArgument("Invalid -hwvirtex argument '%s'", hwvirtex); 4553 rc = E_FAIL;4554 break;4555 }4556 }4557 if (pae)4558 {4559 if (strcmp(pae, "on") == 0)4560 {4561 CHECK_ERROR(machine, COMSETTER(PAEEnabled)(true));4562 }4563 else if (strcmp(pae, "off") == 0)4564 {4565 CHECK_ERROR(machine, COMSETTER(PAEEnabled)(false));4566 }4567 else4568 {4569 errorArgument("Invalid -pae argument '%s'", ioapic);4570 4535 rc = E_FAIL; 4571 4536 break; -
trunk/src/VBox/Main/ConsoleImpl2.cpp
r7988 r7989 167 167 } 168 168 #endif 169 170 /* Physical Address Extension (PAE) */171 BOOL fEnablePAE = false;172 hrc = pMachine->COMGETTER(PAEEnabled)(&fEnablePAE); H();173 rc = CFGMR3InsertInteger(pRoot, "EnablePAE", fEnablePAE); RC_CHECK();174 169 175 170 BOOL fIOAPIC; -
trunk/src/VBox/Main/MachineDebuggerImpl.cpp
r7988 r7989 510 510 511 511 /** 512 * Returns the current PAE flag.513 *514 * @returns COM status code515 * @param enabled address of result variable516 */517 STDMETHODIMP MachineDebugger::COMGETTER(PAEEnabled)(BOOL *enabled)518 {519 if (!enabled)520 return E_POINTER;521 522 AutoLock lock(this);523 CHECK_READY();524 525 Console::SafeVMPtrQuiet pVM (mParent);526 if (pVM.isOk())527 {528 uint64_t cr4 = CPUMGetGuestCR4(pVM.raw());529 *enabled = !!(cr4 & X86_CR4_PAE);530 }531 else532 *enabled = false;533 return S_OK;534 }535 536 /**537 512 * Returns the current virtual time rate. 538 513 * -
trunk/src/VBox/Main/MachineImpl.cpp
r7988 r7989 173 173 mMonitorCount = 1; 174 174 mHWVirtExEnabled = TSBool_False; 175 mPAEEnabled = false;176 175 177 176 /* default boot order: floppy - DVD - HDD */ … … 200 199 mMonitorCount != that.mMonitorCount || 201 200 mHWVirtExEnabled != that.mHWVirtExEnabled || 202 mPAEEnabled != that.mPAEEnabled ||203 201 mClipboardMode != that.mClipboardMode) 204 202 return false; … … 1114 1112 mHWData.backup(); 1115 1113 mHWData->mHWVirtExEnabled = enable; 1116 1117 return S_OK;1118 }1119 1120 STDMETHODIMP Machine::COMGETTER(PAEEnabled)(BOOL *enabled)1121 {1122 if (!enabled)1123 return E_POINTER;1124 1125 AutoCaller autoCaller (this);1126 CheckComRCReturnRC (autoCaller.rc());1127 1128 AutoReaderLock alock (this);1129 1130 *enabled = mHWData->mPAEEnabled;1131 1132 return S_OK;1133 }1134 1135 STDMETHODIMP Machine::COMSETTER(PAEEnabled)(BOOL enable)1136 {1137 AutoCaller autoCaller (this);1138 CheckComRCReturnRC (autoCaller.rc());1139 1140 AutoLock alock (this);1141 1142 HRESULT rc = checkStateDependency (MutableStateDep);1143 CheckComRCReturnRC (rc);1144 1145 /** @todo check validity! */1146 1147 mHWData.backup();1148 mHWData->mPAEEnabled = enable;1149 1114 1150 1115 return S_OK; … … 4280 4245 /* default value in case the node is not there */ 4281 4246 mHWData->mHWVirtExEnabled = TSBool_Default; 4282 mHWData->mPAEEnabled = false;4283 4247 4284 4248 Key cpuNode = aNode.findKey ("CPU"); … … 4296 4260 mHWData->mHWVirtExEnabled = TSBool_Default; 4297 4261 } 4298 /* PAE (optional, default is false) */4299 mHWData->mPAEEnabled = cpuNode.value <BOOL> ("PAE");4300 4262 } 4301 4263 } … … 5653 5615 case TSBool_Default: 5654 5616 value = "default"; 5655 break; 5656 } 5657 cpuNode.setStringValue ("enabled", value); 5658 5659 /* PAE (optional, default is false) */ 5660 cpuNode.setValue <BOOL> ("PAE", mHWData->mPAEEnabled); 5617 } 5618 hwVirtExNode.setStringValue ("enabled", value); 5661 5619 } 5662 5620 -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r7988 r7989 2484 2484 <interface 2485 2485 name="IMachine" extends="$unknown" 2486 uuid=" f95c0793-7737-49a1-85d9-6da81097173b"2486 uuid="4f6b4977-95fd-40b1-8391-fc165c040635" 2487 2487 wsmap="managed" 2488 2488 > … … 2707 2707 </attribute> 2708 2708 2709 <attribute name="PAEEnabled" type="boolean" default="false">2710 <desc>2711 This setting determines whether VirtualBox will expose the Physical Address2712 Extension (PAE) feature of the host CPU to the guest. Note that in case PAE2713 is not available, it will not be reported.2714 </desc>2715 </attribute>2716 2717 2709 <attribute name="snapshotFolder" type="wstring"> 2718 2710 <desc> … … 8566 8558 </desc> 8567 8559 </attribute> 8568 8569 <attribute name="PAEEnabled" type="boolean" readonly="yes">8570 <desc>8571 Flag indicating whether the VM is currently making use of the Physical8572 Address Extension CPU feature.8573 </desc>8574 </attribute>8575 8560 8576 8561 <attribute name="virtualTimeRate" type="unsigned long"> -
trunk/src/VBox/Main/include/MachineDebuggerImpl.h
r7988 r7989 63 63 STDMETHOD(COMSETTER(LogEnabled))(BOOL enable); 64 64 STDMETHOD(COMGETTER(HWVirtExEnabled))(BOOL *enabled); 65 STDMETHOD(COMGETTER(PAEEnabled))(BOOL *enabled);66 65 STDMETHOD(COMGETTER(VirtualTimeRate))(ULONG *pct); 67 66 STDMETHOD(COMSETTER(VirtualTimeRate))(ULONG pct); -
trunk/src/VBox/Main/include/MachineImpl.h
r7988 r7989 231 231 ULONG mMonitorCount; 232 232 TSBool_T mHWVirtExEnabled; 233 BOOL mPAEEnabled;234 233 235 234 DeviceType_T mBootOrder [SchemaDefs::MaxBootPosition]; … … 460 459 STDMETHOD(COMGETTER(HWVirtExEnabled))(TSBool_T *enabled); 461 460 STDMETHOD(COMSETTER(HWVirtExEnabled))(TSBool_T enabled); 462 STDMETHOD(COMGETTER(PAEEnabled))(BOOL *enabled);463 STDMETHOD(COMSETTER(PAEEnabled))(BOOL enabled);464 461 STDMETHOD(COMGETTER(SnapshotFolder))(BSTR *aSavedStateFolder); 465 462 STDMETHOD(COMSETTER(SnapshotFolder))(INPTR BSTR aSavedStateFolder); -
trunk/src/VBox/Main/xml/VirtualBox-settings-common.xsd
r7984 r7989 410 410 <xsd:sequence> 411 411 <xsd:element name="HardwareVirtEx" type="THWVirtExType" minOccurs="0"/> 412 <xsd:element name="PAE" type="xsd:boolean" default="false"/>413 412 </xsd:sequence> 414 413 </xsd:complexType> -
trunk/src/VBox/VMM/CPUM.cpp
r7988 r7989 407 407 408 408 /* Check if PAE was explicitely enabled by the user. */ 409 bool fEnable = false; 410 int rc = CFGMR3QueryBool(CFGMR3GetRoot(pVM), "EnablePAE", &fEnable); 411 if (VBOX_SUCCESS(rc) && fEnable) 412 CPUMSetGuestCpuIdFeature(pVM, CPUMCPUIDFEATURE_PAE); 409 PCFGMNODE pNode = CFGMR3GetChildF(CFGMR3GetRoot(pVM), "CPUM/CPUID"); 410 if (pNode) 411 { 412 bool fEnable; 413 int rc = CFGMR3QueryBool(pNode, "EnablePAE", &fEnable); 414 if (VBOX_SUCCESS(rc) && fEnable) 415 CPUMSetGuestCpuIdFeature(pVM, CPUMCPUIDFEATURE_PAE); 416 } 413 417 414 418 /*
Note:
See TracChangeset
for help on using the changeset viewer.