Revision 53c25cea hw/virtio-console.c
b/hw/virtio-console.c | ||
---|---|---|
123 | 123 |
return 0; |
124 | 124 |
} |
125 | 125 |
|
126 |
static void virtio_console_init(PCIDevice *pci_dev)
|
|
126 |
VirtIODevice *virtio_console_init(DeviceState *dev)
|
|
127 | 127 |
{ |
128 | 128 |
VirtIOConsole *s; |
129 |
s = (VirtIOConsole *)virtio_init_pci(pci_dev, "virtio-console", |
|
130 |
PCI_VENDOR_ID_REDHAT_QUMRANET, |
|
131 |
PCI_DEVICE_ID_VIRTIO_CONSOLE, |
|
132 |
PCI_VENDOR_ID_REDHAT_QUMRANET, |
|
133 |
VIRTIO_ID_CONSOLE, |
|
134 |
PCI_CLASS_DISPLAY_OTHER, 0x00, |
|
135 |
0); |
|
129 |
s = (VirtIOConsole *)virtio_common_init("virtio-console", |
|
130 |
VIRTIO_ID_CONSOLE, |
|
131 |
0, sizeof(VirtIOConsole)); |
|
136 | 132 |
s->vdev.get_features = virtio_console_get_features; |
137 | 133 |
|
138 | 134 |
s->ivq = virtio_add_queue(&s->vdev, 128, virtio_console_handle_input); |
139 | 135 |
s->dvq = virtio_add_queue(&s->vdev, 128, virtio_console_handle_output); |
140 | 136 |
|
141 |
s->chr = qdev_init_chardev(&pci_dev->qdev);
|
|
137 |
s->chr = qdev_init_chardev(dev); |
|
142 | 138 |
qemu_chr_add_handlers(s->chr, vcon_can_read, vcon_read, vcon_event, s); |
143 | 139 |
|
144 | 140 |
register_savevm("virtio-console", -1, 1, virtio_console_save, virtio_console_load, s); |
145 |
} |
|
146 | 141 |
|
147 |
static void virtio_console_register_devices(void) |
|
148 |
{ |
|
149 |
pci_qdev_register("virtio-console", sizeof(VirtIOConsole), |
|
150 |
virtio_console_init); |
|
142 |
return &s->vdev; |
|
151 | 143 |
} |
152 |
|
|
153 |
device_init(virtio_console_register_devices) |
Also available in: Unified diff