Revision 97b15621 hw/syborg_virtio.c
b/hw/syborg_virtio.c | ||
---|---|---|
65 | 65 |
qemu_irq irq; |
66 | 66 |
uint32_t int_enable; |
67 | 67 |
uint32_t id; |
68 |
NICConf nic; |
|
68 | 69 |
} SyborgVirtIOProxy; |
69 | 70 |
|
70 | 71 |
static uint32_t syborg_virtio_readl(void *opaque, target_phys_addr_t offset) |
... | ... | |
273 | 274 |
VirtIODevice *vdev; |
274 | 275 |
SyborgVirtIOProxy *proxy = FROM_SYSBUS(SyborgVirtIOProxy, dev); |
275 | 276 |
|
276 |
vdev = virtio_net_init(&dev->qdev); |
|
277 |
vdev = virtio_net_init(&dev->qdev, &proxy->nic);
|
|
277 | 278 |
return syborg_virtio_init(proxy, vdev); |
278 | 279 |
} |
279 | 280 |
|
281 |
static SysBusDeviceInfo syborg_virtio_net_info = { |
|
282 |
.init = syborg_virtio_net_init, |
|
283 |
.qdev.name = "syborg,virtio-net", |
|
284 |
.qdev.size = sizeof(SyborgVirtIOProxy), |
|
285 |
.qdev.props = (Property[]) { |
|
286 |
DEFINE_NIC_PROPERTIES(SyborgVirtIOProxy, nic), |
|
287 |
DEFINE_PROP_END_OF_LIST(), |
|
288 |
} |
|
289 |
}; |
|
290 |
|
|
280 | 291 |
static void syborg_virtio_register_devices(void) |
281 | 292 |
{ |
282 |
sysbus_register_dev("syborg,virtio-net", sizeof(SyborgVirtIOProxy), |
|
283 |
syborg_virtio_net_init); |
|
293 |
sysbus_register_withprop(&syborg_virtio_net_info); |
|
284 | 294 |
} |
285 | 295 |
|
286 | 296 |
device_init(syborg_virtio_register_devices) |
Also available in: Unified diff