diff options
author | David Woodhouse <dwmw@amazon.co.uk> | 2023-10-17 17:53:58 +0100 |
---|---|---|
committer | David Woodhouse <dwmw@amazon.co.uk> | 2023-11-07 08:54:20 +0000 |
commit | c10b4b3c0dcae2fe1836e534059b69e8bfce0e9f (patch) | |
tree | a21fefee4003d6587405cfd4b9e9da133f912a9a /hw/xen | |
parent | 25967ff69f61461cedf3289d5dafd1f6980cc894 (diff) | |
download | qemu-c10b4b3c0dcae2fe1836e534059b69e8bfce0e9f.zip qemu-c10b4b3c0dcae2fe1836e534059b69e8bfce0e9f.tar.gz qemu-c10b4b3c0dcae2fe1836e534059b69e8bfce0e9f.tar.bz2 |
hw/i386/pc: support '-nic' for xen-net-device
The default NIC creation seems a bit hackish to me. I don't understand
why each platform has to call pci_nic_init_nofail() from a point in the
code where it actually has a pointer to the PCI bus, and then we have
the special cases for things like ne2k_isa.
If qmp_device_add() can *find* the appropriate bus and instantiate
the device on it, why can't we just do that from generic code for
creating the default NICs too?
But that isn't a yak I want to shave today. Add a xenbus field to the
PCMachineState so that it can make its way from pc_basic_device_init()
to pc_nic_init() and be handled as a special case like ne2k_isa is.
Now we can launch emulated Xen guests with '-nic user'.
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
Diffstat (limited to 'hw/xen')
-rw-r--r-- | hw/xen/xen-bus.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c index cc6f1b3..4973e7d 100644 --- a/hw/xen/xen-bus.c +++ b/hw/xen/xen-bus.c @@ -1133,11 +1133,13 @@ static void xen_register_types(void) type_init(xen_register_types) -void xen_bus_init(void) +BusState *xen_bus_init(void) { DeviceState *dev = qdev_new(TYPE_XEN_BRIDGE); BusState *bus = qbus_new(TYPE_XEN_BUS, dev, NULL); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); qbus_set_bus_hotplug_handler(bus); + + return bus; } |