summaryrefslogtreecommitdiffstats
path: root/js/phpvirtualbox.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/phpvirtualbox.js')
-rw-r--r--js/phpvirtualbox.js69
1 files changed, 54 insertions, 15 deletions
diff --git a/js/phpvirtualbox.js b/js/phpvirtualbox.js
index 07d0521..fb1edec 100644
--- a/js/phpvirtualbox.js
+++ b/js/phpvirtualbox.js
@@ -2435,7 +2435,7 @@ var vboxMedia = {
},
/**
- * Return true if a medium format supports
+ * Return true if a medium format supports Split2G
*/
formatSupportsSplit: function(format) {
@@ -2450,6 +2450,23 @@ var vboxMedia = {
}
return false;
},
+
+ /**
+ * Return true if a medium format supports Discard
+ */
+ formatSupportsDiscard: function(format) {
+
+ var format = format.toLowerCase();
+
+ var mfs = $('#vboxPane').data('vboxSystemProperties').mediumFormats;
+
+ for(var i = 0; i < mfs.length; i++) {
+ if(mfs[i].id.toLowerCase() == format) {
+ return (jQuery.inArray('Discard',mfs[i].capabilities) > -1);
+ }
+ }
+ return false;
+ },
/**
* Return printable virtual hard disk variant
@@ -4752,7 +4769,13 @@ var vboxStorage = {
attrib: 'ignoreFlush',
runningEnabled: true,
});
- }
+ };
+ if($('#vboxPane').data('vboxConfig').enableAdvancedConfig&&vboxMedia.formatSupportsDiscard(ma.medium.format)) {
+ opts[opts.length]={
+ label: 'Support Discard (TRIM)',
+ attrib: 'discard',
+ };
+ };
return opts;
case 'DVD':
// Host drive
@@ -4843,7 +4866,7 @@ var vboxStorage = {
},
SCSI: {
- maxPortCount: 16,
+ maxPortCount: 15,
maxDevicesPerPortCount: 1,
driveTypes: ['dvd','disk'],
types: ['LsiLogic','BusLogic'],
@@ -4886,18 +4909,34 @@ var vboxStorage = {
},
USB: {
- maxPortCount: 8,
- maxDevicesPerPortCount: 1,
- types: ['USB'],
- driveTypes: ['dvd','disk'],
- slotName: function(p,d) { return trans('USB Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',p); },
- slots: function() {
- var s = {};
- for(var i = 0; i < 8; i++) {
- s[i+'-0'] = trans('USB Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',i);
- }
- return s;
- }
+ maxPortCount: 8,
+ maxDevicesPerPortCount: 1,
+ types: ['USB'],
+ driveTypes: ['dvd','disk'],
+ slotName: function(p,d) { return trans('USB Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',p); },
+ slots: function() {
+ var s = {};
+ for(var i = 0; i < 8; i++) {
+ s[i+'-0'] = trans('USB Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',i);
+ }
+ return s;
+ }
+ },
+
+ PCIe: {
+ maxPortCount: 255,
+ maxDevicesPerPortCount: 1,
+ types: ['NVMe'],
+ driveTypes: ['disk'],
+ slotName: function(p,d) { return trans('NVMe Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',p); },
+ slots: function() {
+ var s = {};
+ for(var i = 0; i < 8; i++) {
+ s[i+'-0'] = trans('NVMe Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',i);
+ }
+ return s;
+ },
+ displayInherit: 'IDE'
}
};