mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-03-02 16:14:48 -07:00
hw/xen: use qemu_create_nic_bus_devices() to instantiate Xen NICs
When instantiating XenBus itself, for each NIC which is configured with either the model unspecified, or set to to "xen" or "xen-net-device", create a corresponding xen-net-device for it. Now we can revert the previous more hackish version which relied on the platform code explicitly registering the NICs on its own XenBus, having returned the BusState* from xen_bus_init() itself. This also fixes the setup for Xen PV guests, which was previously broken in various ways and never actually managed to peer with the netdev. Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Reviewed-by: Paul Durrant <paul@xen.org>
This commit is contained in:
parent
8d39f9ba14
commit
7d6eff13b3
9 changed files with 10 additions and 54 deletions
|
|
@ -33,7 +33,6 @@ typedef struct PCMachineState {
|
|||
|
||||
/* Pointers to devices and objects: */
|
||||
PCIBus *bus;
|
||||
BusState *xenbus;
|
||||
I2CBus *smbus;
|
||||
PFlashCFI01 *flash[2];
|
||||
ISADevice *pcspk;
|
||||
|
|
@ -185,8 +184,7 @@ void pc_basic_device_init(struct PCMachineState *pcms,
|
|||
void pc_cmos_init(PCMachineState *pcms,
|
||||
BusState *ide0, BusState *ide1,
|
||||
ISADevice *s);
|
||||
void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus,
|
||||
BusState *xen_bus);
|
||||
void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus);
|
||||
|
||||
void pc_i8259_create(ISABus *isa_bus, qemu_irq *i8259_irqs);
|
||||
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ struct XenBusClass {
|
|||
OBJECT_DECLARE_TYPE(XenBus, XenBusClass,
|
||||
XEN_BUS)
|
||||
|
||||
BusState *xen_bus_init(void);
|
||||
void xen_bus_init(void);
|
||||
|
||||
void xen_device_backend_set_state(XenDevice *xendev,
|
||||
enum xenbus_state state);
|
||||
|
|
|
|||
|
|
@ -81,7 +81,6 @@ extern struct XenDevOps xen_usb_ops; /* xen-usb.c */
|
|||
|
||||
/* configuration (aka xenbus setup) */
|
||||
void xen_config_cleanup(void);
|
||||
int xen_config_dev_nic(NICInfo *nic);
|
||||
int xen_config_dev_vfb(int vdev, const char *type);
|
||||
int xen_config_dev_vkbd(int vdev);
|
||||
int xen_config_dev_console(int vdev);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue