Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions endpoints/lib/vboxconnector.php
Original file line number Diff line number Diff line change
Expand Up @@ -428,11 +428,11 @@ public function remote_getEvents($args) {

// Machine powered off or client has stale MO reference
if($listener)
try { $listener->releaseRemote(); } catch (Exceptoin $e) {
try { $listener->releaseRemote(); } catch (Exception $e) {
/// pass
}
if($source)
try { $source->releaseRemote(); } catch (Exceptoin $e) {
try { $source->releaseRemote(); } catch (Exception $e) {
// pass
}

Expand Down Expand Up @@ -1856,6 +1856,7 @@ public function remote_machineSave($args) {
if($m->snapshotFolder != $args['snapshotFolder']) $m->snapshotFolder = $args['snapshotFolder'];
$m->RTCUseUTC = ($args['RTCUseUTC'] ? 1 : 0);
$m->setCpuProperty('PAE', ($args['CpuProperties']['PAE'] ? 1 : 0));
$m->setCpuProperty('HWVirt', ($args['CpuProperties']['HWVirt'] ? 1 : 0));
$m->setCPUProperty('LongMode', (strpos($args['OSTypeId'],'_64') > - 1 ? 1 : 0));

// IOAPIC
Expand Down Expand Up @@ -1913,8 +1914,8 @@ public function remote_machineSave($args) {
if(@$this->settings->enableCustomIcons)
$m->setExtraData('phpvb/icon', $args['customIcon']);

$m->VRAMSize = $args['VRAMSize'];
$m->graphicsControllerType = $args['graphicsControllerType'];
$m->GraphicsAdapter->VRAMSize = $args['VRAMSize'];
$m->GraphicsAdapter->graphicsControllerType = $args['graphicsControllerType'];

// Video
$m->GraphicsAdapter->accelerate3DEnabled = $args['accelerate3DEnabled'];
Expand Down Expand Up @@ -3413,7 +3414,8 @@ public function remote_hostGetDetails($args) {
* Supported CPU features?
*/
$response['cpuFeatures'] = array();
foreach(array('HWVirtEx'=>'HWVirtEx','PAE'=>'PAE','NestedPaging'=>'Nested Paging','LongMode'=>'Long Mode (64-bit)') as $k=>$v) {
foreach(array('HWVirtEx'=>'HWVirtEx','PAE'=>'PAE','NestedPaging'=>'Nested Paging','LongMode'=>'Long Mode (64-bit)'
,'UnrestrictedGuest'=>'Unrestricted Guest','NestedHWVirt'=>'Nested Virtualization') as $k=>$v) {
$response['cpuFeatures'][$v] = $host->getProcessorFeature($k);
}

Expand Down Expand Up @@ -3853,8 +3855,8 @@ public function remote_machineCreate($args) {
$this->session->machine->firmwareType = (string)$defaults->recommendedFirmware;
$this->session->machine->chipsetType = (string)$defaults->recommendedChipset;
$this->session->machine->ClipboardMode = 'Disabled';
if(intval($defaults->recommendedVRAM) > 0) $this->session->machine->VRAMSize = intval($defaults->recommendedVRAM);
$this->session->machine->setGraphicsControllerType((string)$defaults->recommendedGraphicsController);
if(intval($defaults->recommendedVRAM) > 0) $this->session->machine->GraphicsAdapter->setVRAMSize(intval($defaults->recommendedVRAM));
$this->session->machine->GraphicsAdapter->setGraphicsControllerType((string)$defaults->recommendedGraphicsController);
$this->session->machine->setCpuProperty('PAE',$defaults->recommendedPAE);

// USB input devices
Expand Down Expand Up @@ -4222,8 +4224,8 @@ private function _machineGetDetails(&$m) {
'CPUCount' => $m->CPUCount,
'HPETEnabled' => $m->HPETEnabled,
'memorySize' => $m->memorySize,
'VRAMSize' => $m->VRAMSize,
'graphicsControllerType' => (string)$m->graphicsControllerType,
'VRAMSize' => $m->GraphicsAdapter->VRAMSize,
'graphicsControllerType' => (string)$m->GraphicsAdapter->graphicsControllerType,
'pointingHIDType' => (string)$m->pointingHIDType,
'keyboardHIDType' => (string)$m->keyboardHIDType,
'accelerate3DEnabled' => $m->GraphicsAdapter->accelerate3DEnabled,
Expand Down Expand Up @@ -4263,7 +4265,7 @@ private function _machineGetDetails(&$m) {
'VPID' => $m->getHWVirtExProperty('VPID')
),
'CpuProperties' => array(
'PAE' => $m->getCpuProperty('PAE')
'PAE' => $m->getCpuProperty('PAE'),'HWVirt' => $m->getCpuProperty('HWVirt')
),
'bootOrder' => $this->_machineGetBootOrder($m),
'chipsetType' => (string)$m->chipsetType,
Expand Down Expand Up @@ -5848,4 +5850,4 @@ private function _util_resultCodeText($c) {

return @$rcodes['0x'.strtoupper(dechex($c))] . ' (0x'.strtoupper(dechex($c)).')';
}
}
}
1 change: 1 addition & 0 deletions js/phpvirtualbox.js
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,7 @@ var vboxVMDetailsSections = {
if(d['HWVirtExProperties'].Enabled) acList[acList.length] = trans('VT-x/AMD-V');
if(d['HWVirtExProperties'].NestedPaging) acList[acList.length] = trans('Nested Paging');
if(d['CpuProperties']['PAE']) acList[acList.length] = trans('PAE/NX');
if(d['CpuProperties']['HWVirt']) acList[acList.length] = trans('Nested Virtualization');
if(d['EffectiveParavirtProvider'] != 'None')
acList[acList.length] = trans(d['EffectiveParavirtProvider'] + ' Paravirtualization');

Expand Down
13 changes: 13 additions & 0 deletions panes/settingsSystem.html
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,10 @@
<th><span class='translate'>Extended Features:</span></th>
<td><label><input type='checkbox' class='vboxCheckbox' name='vboxSettingsSystemPAE' /> <span class='translate'>Enable PAE/NX</span></label></td>
</tr>
<tr id='vboxSettingsSystemNestedVTRow'>
<th></th>
<td><label><input type='checkbox' class='vboxCheckbox' name='vboxSettingsSystemNestedVT' /> <span class='translate'>Enable Nested VT-x/AMD-V</span></label></td>
</tr>
</table>
</div>

Expand Down Expand Up @@ -223,6 +227,13 @@
document.forms['frmVboxSettings'].vboxSettingsSystemPAE.disabled = true;
}

/* Disable Nested HW Virt if it is unsupported */
if(!$('#vboxSettingsDialog').data('vboxHostDetails').cpuFeatures.NestedHWVirt) {
$('vboxSettingsSystemNestedVTRow span').addClass('disabled');
document.forms['frmVboxSettings'].vboxSettingsSystemNestedVT.checked = false;
document.forms['frmVboxSettings'].vboxSettingsSystemNestedVT.disabled = true;
}

/* Set CPUs to 1 and disable if host cpu does not support HWVirtEx */
if(!$('#vboxSettingsDialog').data('vboxHostDetails').cpuFeatures.HWVirtEx) {
var pt = $('#vboxSettingsSystemProcessor').slider('value',1).slider('disable').closest('table');
Expand Down Expand Up @@ -296,6 +307,7 @@
$('#vboxSettingsSystemProcessor').slider('value',parseInt($('#vboxSettingsDialog').data('vboxMachineData').CPUCount));
$('#vboxSettingsSystemProcessorCap').slider('value',parseInt($('#vboxSettingsDialog').data('vboxMachineData').CPUExecutionCap));
document.forms['frmVboxSettings'].vboxSettingsSystemPAE.checked = ($('#vboxSettingsDialog').data('vboxMachineData').CpuProperties.PAE);
document.forms['frmVboxSettings'].vboxSettingsSystemNestedVT.checked = ($('#vboxSettingsDialog').data('vboxMachineData').CpuProperties.HWVirt);
document.forms['frmVboxSettings'].settingsSystemVT.checked = ($('#vboxSettingsDialog').data('vboxMachineData').HWVirtExProperties.Enabled);
document.forms['frmVboxSettings'].settingsSystemPaging.checked = ($('#vboxSettingsDialog').data('vboxMachineData').HWVirtExProperties.NestedPaging);

Expand Down Expand Up @@ -429,6 +441,7 @@
$('#vboxSettingsDialog').data('vboxMachineData').CPUCount = parseInt($('#vboxSettingsSystemProcessor').slider('value'));
$('#vboxSettingsDialog').data('vboxMachineData').CPUExecutionCap = parseInt($('#vboxSettingsSystemProcessorCap').slider('value'));
$('#vboxSettingsDialog').data('vboxMachineData').CpuProperties.PAE = document.forms['frmVboxSettings'].vboxSettingsSystemPAE.checked;
$('#vboxSettingsDialog').data('vboxMachineData').CpuProperties.HWVirt = document.forms['frmVboxSettings'].vboxSettingsSystemNestedVT.checked;
$('#vboxSettingsDialog').data('vboxMachineData').RTCUseUTC = document.forms['frmVboxSettings'].vboxSettingsSystemRTCUseUTC.checked;

/* Only if we had a chipset */
Expand Down