提交 2d72c572 编写于 作者: P Paul Brook

Virtio-balloon qdev conversion

Signed-off-by: NPaul Brook <paul@codesourcery.com>
上级 07e3af9a
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
#include "boards.h" #include "boards.h"
#include "monitor.h" #include "monitor.h"
#include "fw_cfg.h" #include "fw_cfg.h"
#include "virtio-balloon.h"
#include "virtio-console.h" #include "virtio-console.h"
#include "hpet_emul.h" #include "hpet_emul.h"
#include "watchdog.h" #include "watchdog.h"
...@@ -1141,8 +1140,9 @@ static void pc_init1(ram_addr_t ram_size, ...@@ -1141,8 +1140,9 @@ static void pc_init1(ram_addr_t ram_size,
} }
/* Add virtio balloon device */ /* Add virtio balloon device */
if (pci_enabled) if (pci_enabled) {
virtio_balloon_init(pci_bus); pci_create_simple(pci_bus, -1, "virtio-balloon");
}
/* Add virtio console devices */ /* Add virtio console devices */
if (pci_enabled) { if (pci_enabled) {
......
...@@ -169,17 +169,11 @@ static int virtio_balloon_load(QEMUFile *f, void *opaque, int version_id) ...@@ -169,17 +169,11 @@ static int virtio_balloon_load(QEMUFile *f, void *opaque, int version_id)
return 0; return 0;
} }
void *virtio_balloon_init(PCIBus *bus) static void virtio_balloon_init(PCIDevice *pci_dev)
{ {
VirtIOBalloon *s; VirtIOBalloon *s;
PCIDevice *d;
d = pci_register_device(bus, "virtio-balloon", sizeof(VirtIOBalloon), s = (VirtIOBalloon *)virtio_init_pci(pci_dev, "virtio-balloon",
-1, NULL, NULL);
if (!d)
return NULL;
s = (VirtIOBalloon *)virtio_init_pci(d, "virtio-balloon",
PCI_VENDOR_ID_REDHAT_QUMRANET, PCI_VENDOR_ID_REDHAT_QUMRANET,
PCI_DEVICE_ID_VIRTIO_BALLOON, PCI_DEVICE_ID_VIRTIO_BALLOON,
PCI_VENDOR_ID_REDHAT_QUMRANET, PCI_VENDOR_ID_REDHAT_QUMRANET,
...@@ -197,6 +191,12 @@ void *virtio_balloon_init(PCIBus *bus) ...@@ -197,6 +191,12 @@ void *virtio_balloon_init(PCIBus *bus)
qemu_add_balloon_handler(virtio_balloon_to_target, s); qemu_add_balloon_handler(virtio_balloon_to_target, s);
register_savevm("virtio-balloon", -1, 1, virtio_balloon_save, virtio_balloon_load, s); register_savevm("virtio-balloon", -1, 1, virtio_balloon_save, virtio_balloon_load, s);
}
return &s->vdev; static void virtio_balloon_register_devices(void)
{
pci_qdev_register("virtio-balloon", sizeof(VirtIOBalloon),
virtio_balloon_init);
} }
device_init(virtio_balloon_register_devices)
...@@ -37,6 +37,4 @@ struct virtio_balloon_config ...@@ -37,6 +37,4 @@ struct virtio_balloon_config
uint32_t actual; uint32_t actual;
}; };
void *virtio_balloon_init(PCIBus *bus);
#endif #endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册