]> www.infradead.org Git - users/dwmw2/qemu.git/commit
hw/i386/pc: support '-nic' for xen-net-device
authorDavid Woodhouse <dwmw@amazon.co.uk>
Tue, 17 Oct 2023 16:53:58 +0000 (17:53 +0100)
committerDavid Woodhouse <dwmw@amazon.co.uk>
Tue, 7 Nov 2023 08:54:20 +0000 (08:54 +0000)
commitc10b4b3c0dcae2fe1836e534059b69e8bfce0e9f
treea21fefee4003d6587405cfd4b9e9da133f912a9a
parent25967ff69f61461cedf3289d5dafd1f6980cc894
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>
hw/i386/pc.c
hw/i386/pc_piix.c
hw/i386/pc_q35.c
hw/xen/xen-bus.c
include/hw/i386/pc.h
include/hw/xen/xen-bus.h