summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/util/vm/QemuMetaData.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/util/vm/QemuMetaData.java')
-rw-r--r--src/main/java/org/openslx/util/vm/QemuMetaData.java93
1 files changed, 65 insertions, 28 deletions
diff --git a/src/main/java/org/openslx/util/vm/QemuMetaData.java b/src/main/java/org/openslx/util/vm/QemuMetaData.java
index 8855f9c..814bfa4 100644
--- a/src/main/java/org/openslx/util/vm/QemuMetaData.java
+++ b/src/main/java/org/openslx/util/vm/QemuMetaData.java
@@ -51,8 +51,19 @@ class QemuSoundCardMeta {
value = val;
}
}
+class QemuUSBMeta {
-public final class QemuMetaData extends VmMetaData<QemuSoundCardMeta, QemuDDAccelMeta, QemuHWVersionMeta, QemuEthernetDevTypeMeta> {
+ public final String value;
+ public final int speed;
+
+ public QemuUSBMeta(String value, int speed) {
+
+ this.value = value;
+ this.speed = speed;
+ }
+}
+
+public final class QemuMetaData extends VmMetaData<QemuSoundCardMeta, QemuDDAccelMeta, QemuHWVersionMeta, QemuEthernetDevTypeMeta, QemuUSBMeta> {
private static final Logger LOGGER = Logger.getLogger(QemuMetaData.class);
@@ -288,6 +299,7 @@ public final class QemuMetaData extends VmMetaData<QemuSoundCardMeta, QemuDDAcce
@Override
public void setEthernetDevType(int cardIndex, VmMetaData.EthernetDevType type) {
+ /*
//TODO
QemuEthernetDevTypeMeta dev = networkCards.get(type);
header = new LinkedHashMap<>();
@@ -297,6 +309,7 @@ public final class QemuMetaData extends VmMetaData<QemuSoundCardMeta, QemuDDAcce
//option.put("netdev", "net" + cardIndex);
config.set(header, option);
netdevCounter++;
+ */
}
@Override
@@ -363,25 +376,45 @@ public final class QemuMetaData extends VmMetaData<QemuSoundCardMeta, QemuDDAcce
return virtualizer;
}
- @Override
- public void enableUsb(boolean enabled) {
- option = new TreeMap<>();
- if (enabled) {
- option.put("usb", "on");
- } else {
- option.put("usb", "off");
- }
-
- header = new LinkedHashMap<>();
- header.put(MACHINE.getHeader(), MACHINE.getID());
- config.set(header, option);
- }
-
- @Override
- public boolean disableSuspend() {
- return false;
- }
-
+// @Override
+// public void enableUsb(boolean enabled) {
+// option = new TreeMap<>();
+// if (enabled) {
+// option.put("usb", "on");
+// } else {
+// option.put("usb", "off");
+// }
+//
+// header = new LinkedHashMap<>();
+// header.put(MACHINE.getHeader(), MACHINE.getID());
+// config.set(header, option);
+// }
+
+// @Override
+// public boolean disableSuspend() {
+// return false;
+// }
+ @Override
+ public boolean tweakForNonPersistent() {
+ return false;
+ }
+ public void setMaxUsbSpeed( VmMetaData.UsbSpeed speed )
+ {
+ // TODO: Actual speed setting?
+ if ( speed == null || speed == VmMetaData.UsbSpeed.NONE ) {
+ option.remove( "usb" );
+ } else {
+ option.put( "usb", "" );
+ }
+ }
+
+ @Override
+ public VmMetaData.UsbSpeed getMaxUsbSpeed()
+ {
+ if (option.containsKey( "usb" ) )
+ return VmMetaData.UsbSpeed.USB2_0; // TODO
+ return VmMetaData.UsbSpeed.NONE;
+ }
@Override
public void registerVirtualHW() {
soundCards.put(VmMetaData.SoundCardType.NONE, new QemuSoundCardMeta(false, null));
@@ -390,16 +423,20 @@ public final class QemuMetaData extends VmMetaData<QemuSoundCardMeta, QemuDDAcce
soundCards.put(VmMetaData.SoundCardType.ES, new QemuSoundCardMeta(true, "es1370"));
soundCards.put(VmMetaData.SoundCardType.SOUND_BLASTER, new QemuSoundCardMeta(true, "sb16"));
- ddacc.put(DDAcceleration.OFF, new QemuDDAccelMeta(false));
- ddacc.put(DDAcceleration.ON, new QemuDDAccelMeta(true));
+ ddacc.put(VmMetaData.DDAcceleration.OFF, new QemuDDAccelMeta(false));
+ ddacc.put(VmMetaData.DDAcceleration.ON, new QemuDDAccelMeta(true));
- hwversion.put(HWVersion.DEFAULT, new QemuHWVersionMeta(0));
+ hwversion.put(VmMetaData.HWVersion.DEFAULT, new QemuHWVersionMeta(0));
- networkCards.put(EthernetDevType.VIRTIO, new QemuEthernetDevTypeMeta("virtio-net-pci"));
- networkCards.put(EthernetDevType.E1000, new QemuEthernetDevTypeMeta("e1000"));
- networkCards.put(EthernetDevType.PCNET32, new QemuEthernetDevTypeMeta("pcnet"));
- networkCards.put(EthernetDevType.RTL8139, new QemuEthernetDevTypeMeta("rtl8139"));
+ usbSpeeds.put(VmMetaData.UsbSpeed.NONE, new QemuUSBMeta(null, 0));
+ usbSpeeds.put(VmMetaData.UsbSpeed.USB1_1, new QemuUSBMeta("usb", 1));
+ usbSpeeds.put(VmMetaData.UsbSpeed.USB2_0, new QemuUSBMeta("ehci", 2));
+ usbSpeeds.put(VmMetaData.UsbSpeed.USB3_0, new QemuUSBMeta("usb_xhci", 3));
- }
+ //networkCards.put(VmMetaData.EthernetDevType.VIRTIO, new QemuEthernetDevTypeMeta("virtio-net-pci"));
+ networkCards.put(VmMetaData.EthernetDevType.E1000, new QemuEthernetDevTypeMeta("e1000"));
+ networkCards.put(VmMetaData.EthernetDevType.PCNET32, new QemuEthernetDevTypeMeta("pcnet"));
+ //networkCards.put(VmMetaData.EthernetDevType.RTL8139, new QemuEthernetDevTypeMeta("rtl8139"));
+ }
}