#ifdef TARGET_I386
static void mloop_evhandle_kbd_add(char *name)
{
+ QDict *qdict;
+
TRACE("mloop_evhandle_kbd_add\n");
if (name == NULL) {
return;
}
- if (strcmp(name, "keyboard") == 0) {
- QDict *qdict = qdict_new();
-
- qdict_put(qdict, "pci_addr", qstring_from_str("auto"));
- qdict_put(qdict, "type", qstring_from_str(name));
-
- TRACE("hot_add keyboard device.\n");
- hostkbd = pci_device_hot_add(cur_mon, qdict);
-
- if (hostkbd) {
- TRACE("virtio-keyboard device: domain %d, bus %d, slot %d, function %d\n",
- pci_find_domain(hostkbd->bus), pci_bus_num(hostkbd->bus),
- PCI_SLOT(hostkbd->devfn), PCI_FUNC(hostkbd->devfn));
- } else {
- ERR("failed to hot_add keyboard device.\n");
- }
+ qdict = qdict_new();
+ qdict_put(qdict, "pci_addr", qstring_from_str("auto"));
+ qdict_put(qdict, "type", qstring_from_str(name));
- QDECREF(qdict);
+ hostkbd = pci_device_hot_add(cur_mon, qdict);
+ if (hostkbd) {
+ INFO("hot_add keyboard device.\n");
+ TRACE("virtio-keyboard device: domain %d, bus %d, slot %d, function %d\n",
+ pci_find_domain(hostkbd->bus), pci_bus_num(hostkbd->bus),
+ PCI_SLOT(hostkbd->devfn), PCI_FUNC(hostkbd->devfn));
} else {
- WARN("There is no %s device.\n", name);
+ ERR("failed to hot_add keyboard device.\n");
}
+
+ QDECREF(qdict);
}
-static void mloop_evhandle_kbd_del(char *name)
+static void mloop_evhandle_kbd_del(void)
{
- TRACE("mloop_evhandle_kbd_del\n");
+ QDict *qdict;
+ int slot = 0;
+ char slotbuf[4] = {0,};
- if (name == NULL) {
- ERR("packet data is NULL.\n");
- return;
- }
+ TRACE("mloop_evhandle_kbd_del\n");
if (!hostkbd) {
ERR("Failed to remove a keyboard device "
return;
}
- if (strcmp(name, "keyboard") == 0) {
- QDict *qdict = qdict_new();
- int slot = 0;
- char slotbuf[4] = {0,};
-
- if (hostkbd) {
- slot = PCI_SLOT(hostkbd->devfn);
- snprintf(slotbuf, sizeof(slotbuf), "%x", slot);
- TRACE("virtio-keyboard slot %s.\n", slotbuf);
- }
+ slot = PCI_SLOT(hostkbd->devfn);
+ snprintf(slotbuf, sizeof(slotbuf), "%x", slot);
+ TRACE("virtio-keyboard slot %s.\n", slotbuf);
- qdict_put(qdict, "pci_addr", qstring_from_str(slotbuf));
+ qdict = qdict_new();
+ qdict_put(qdict, "pci_addr", qstring_from_str(slotbuf));
- TRACE("hot_remove keyboard.\n");
- do_pci_device_hot_remove(cur_mon, qdict);
+ do_pci_device_hot_remove(cur_mon, qdict);
+ INFO("hot_remove keyboard.\n");
- hostkbd = NULL;
+ hostkbd = NULL;
- QDECREF(qdict);
- } else {
- WARN("There is no %s device.\n", name);
- }
+ QDECREF(qdict);
}
static void mloop_evhandle_sdcard_attach(char *name)
qdict_put(qdict, "opts", qstring_from_str(opts));
virtio_sdcard = pci_device_hot_add(cur_mon, qdict);
+ if (virtio_sdcard) {
+ INFO("hot add virtio storage device with [%s]\n", opts);
+ INFO("virtio-sdcard device: domain %d, bus %d, slot %d, function %d\n",
+ pci_find_domain(virtio_sdcard->bus), pci_bus_num(virtio_sdcard->bus),
+ PCI_SLOT(virtio_sdcard->devfn), PCI_FUNC(virtio_sdcard->devfn));
+ } else {
+ ERR("failed to hot_add sdcard device.\n");
- INFO("hot add virtio storage device with [%s]\n", opts);
- INFO("virtio-sdcard device: domain %d, bus %d, slot %d, function %d\n",
- pci_find_domain(virtio_sdcard->bus), pci_bus_num(virtio_sdcard->bus),
- PCI_SLOT(virtio_sdcard->devfn), PCI_FUNC(virtio_sdcard->devfn));
-
+ }
QDECREF(qdict);
}
-static void mloop_evhandle_sdcard_detach(char *name)
+static void mloop_evhandle_sdcard_detach(void)
{
INFO("mloop_evhandle_sdcard_detach\n");
- if (name == NULL) {
- ERR("packet data is NULL.\n");
- return;
- }
-
if (!virtio_sdcard) {
ERR("sdcard is not attached yet.\n");
return;
mloop_evhandle_kbd_add(pack.data);
break;
case MLOOP_EVTYPE_KBD_DEL:
- mloop_evhandle_kbd_del(pack.data);
+ mloop_evhandle_kbd_del();
break;
#endif
case MLOOP_EVTYPE_RAMDUMP:
mloop_evhandle_sdcard_attach(pack.data);
break;
case MLOOP_EVTYPE_SDCARD_DETACH:
- mloop_evhandle_sdcard_detach(pack.data);
+ mloop_evhandle_sdcard_detach();
break;
#endif
default: