* [PULL v2 00/47] nic-config-2 queue @ 2024-02-02 16:38 David Woodhouse 2024-02-02 16:38 ` [PULL v2 38/47] hw/net/lasi_i82596: use qemu_create_nic_device() David Woodhouse 2024-02-02 18:56 ` [PULL v2 00/47] nic-config-2 queue Peter Maydell 0 siblings, 2 replies; 3+ messages in thread From: David Woodhouse @ 2024-02-02 16:38 UTC (permalink / raw) To: Peter Maydell; +Cc: qemu-devel From: David Woodhouse <dwmw@amazon.co.uk> The following changes since commit c3709fde5955d13f6d4f86ab46ef3cc2288ca65e: Merge tag 'pull-aspeed-20240201' of https://github.com/legoater/qemu into staging (2024-02-01 14:42:11 +0000) are available in the Git repository at: git://git.infradead.org/users/dwmw2/qemu.git tags/pull-nic-config-2-20240202 for you to fetch changes up to e8c5c4525cbbd7207c085732cfd1e67d8f3d662a: net: make nb_nics and nd_table[] static in net/net.c (2024-02-02 16:23:48 +0000) ---------------------------------------------------------------- Rework matching of network devices to -nic options (v2) ---------------------------------------------------------------- David Woodhouse (47): net: add qemu_{configure,create}_nic_device(), qemu_find_nic_info() net: report list of available models according to platform net: add qemu_create_nic_bus_devices() hw/pci: add pci_init_nic_devices(), pci_init_nic_in_slot() hw/i386/pc: use qemu_get_nic_info() and pci_init_nic_devices() hw/xen: use qemu_create_nic_bus_devices() to instantiate Xen NICs hw/alpha/dp264: use pci_init_nic_devices() hw/arm/sbsa-ref: use pci_init_nic_devices() hw/arm/virt: use pci_init_nic_devices() hw/hppa: use pci_init_nic_devices() hw/loongarch: use pci_init_nic_devices() hw/mips/fuloong2e: use pci_init_nic_devices() hw/mips/malta: use pci_init_nic_devices() hw/mips/loongson3_virt: use pci_init_nic_devices() hw/ppc/prep: use pci_init_nic_devices() hw/ppc/spapr: use qemu_get_nic_info() and pci_init_nic_devices() hw/ppc: use pci_init_nic_devices() hw/sh4/r2d: use pci_init_nic_devices() hw/sparc64/sun4u: use pci_init_nic_devices() hw/xtensa/virt: use pci_init_nic_devices() hw/arm/allwinner: use qemu_configure_nic_device() hw/arm/aspeed: use qemu_configure_nic_device() hw/arm/exynos4: use qemu_create_nic_device() hw/arm/fsl: use qemu_configure_nic_device() hw/net/smc91c111: use qemu_configure_nic_device() hw/net/lan9118: use qemu_configure_nic_device() hw/arm/highbank: use qemu_create_nic_device() hw/arm/npcm7xx: use qemu_configure_nic_device, allow emc0/emc1 as aliases hw/arm/stellaris: use qemu_find_nic_info() hw/arm: use qemu_configure_nic_device() hw/net/etraxfs-eth: use qemu_configure_nic_device() hw/m68k/mcf5208: use qemu_create_nic_device() hw/m68k/q800: use qemu_find_nic_info() hw/microblaze: use qemu_configure_nic_device() hw/mips/mipssim: use qemu_create_nic_device() hw/mips/jazz: use qemu_find_nic_info() hw/net/lasi_i82596: Re-enable build hw/net/lasi_i82596: use qemu_create_nic_device() hw/openrisc/openrisc_sim: use qemu_create_nic_device() hw/riscv: use qemu_configure_nic_device() hw/s390x/s390-virtio-ccw: use qemu_create_nic_device() hw/sparc/sun4m: use qemu_find_nic_info() hw/xtensa/xtfpga: use qemu_create_nic_device() net: remove qemu_check_nic_model() hw/pci: remove pci_nic_init_nofail() net: remove qemu_show_nic_models(), qemu_find_nic_model() net: make nb_nics and nd_table[] static in net/net.c hw/alpha/dp264.c | 4 +- hw/arm/allwinner-a10.c | 6 +- hw/arm/allwinner-h3.c | 6 +- hw/arm/allwinner-r40.c | 27 +--- hw/arm/aspeed.c | 9 +- hw/arm/exynos4_boards.c | 6 +- hw/arm/fsl-imx25.c | 2 +- hw/arm/fsl-imx6.c | 2 +- hw/arm/fsl-imx6ul.c | 2 +- hw/arm/fsl-imx7.c | 2 +- hw/arm/gumstix.c | 6 +- hw/arm/highbank.c | 12 +- hw/arm/integratorcp.c | 5 +- hw/arm/kzm.c | 4 +- hw/arm/mainstone.c | 3 +- hw/arm/mps2-tz.c | 8 +- hw/arm/mps2.c | 2 +- hw/arm/msf2-soc.c | 6 +- hw/arm/musicpal.c | 3 +- hw/arm/npcm7xx.c | 16 +- hw/arm/realview.c | 25 ++- hw/arm/sbsa-ref.c | 4 +- hw/arm/stellaris.c | 30 +++- hw/arm/versatilepb.c | 15 +- hw/arm/vexpress.c | 4 +- hw/arm/virt.c | 4 +- hw/arm/xilinx_zynq.c | 11 +- hw/arm/xlnx-versal.c | 7 +- hw/arm/xlnx-zynqmp.c | 8 +- hw/cris/axis_dev88.c | 9 +- hw/hppa/machine.c | 12 +- hw/i386/pc.c | 38 +++-- hw/i386/pc_piix.c | 2 +- hw/i386/pc_q35.c | 2 +- hw/loongarch/virt.c | 4 +- hw/m68k/mcf5208.c | 19 +-- hw/m68k/q800.c | 29 ++-- hw/microblaze/petalogix_ml605_mmu.c | 3 +- hw/microblaze/petalogix_s3adsp1800_mmu.c | 3 +- hw/mips/fuloong2e.c | 16 +- hw/mips/jazz.c | 15 +- hw/mips/loongson3_virt.c | 4 +- hw/mips/malta.c | 15 +- hw/mips/mipssim.c | 13 +- hw/net/etraxfs_eth.c | 5 +- hw/net/lan9118.c | 5 +- hw/net/lasi_i82596.c | 13 +- hw/net/meson.build | 2 +- hw/net/smc91c111.c | 5 +- hw/openrisc/openrisc_sim.c | 18 +-- hw/pci/pci.c | 73 +++------ hw/ppc/e500.c | 4 +- hw/ppc/mac_newworld.c | 4 +- hw/ppc/mac_oldworld.c | 4 +- hw/ppc/ppc440_bamboo.c | 14 +- hw/ppc/prep.c | 8 +- hw/ppc/spapr.c | 18 +-- hw/riscv/microchip_pfsoc.c | 14 +- hw/riscv/sifive_u.c | 7 +- hw/s390x/s390-virtio-ccw.c | 11 +- hw/sh4/r2d.c | 6 +- hw/sparc/sun4m.c | 20 ++- hw/sparc64/sun4u.c | 27 +--- hw/xen/xen-bus.c | 6 +- hw/xen/xen_devconfig.c | 25 --- hw/xenpv/xen_machine_pv.c | 9 -- hw/xtensa/virt.c | 4 +- hw/xtensa/xtfpga.c | 13 +- include/hw/cris/etraxfs.h | 2 +- include/hw/i386/pc.h | 4 +- include/hw/net/lan9118.h | 2 +- include/hw/net/lasi_82596.h | 4 +- include/hw/net/ne2000-isa.h | 2 - include/hw/net/smc91c111.h | 2 +- include/hw/pci/pci.h | 7 +- include/hw/xen/xen-bus.h | 2 +- include/hw/xen/xen-legacy-backend.h | 1 - include/net/net.h | 70 ++++++++- net/net.c | 253 +++++++++++++++++++++++++------ system/globals.c | 2 - tests/qtest/npcm7xx_emc-test.c | 18 +-- 81 files changed, 547 insertions(+), 560 deletions(-) ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PULL v2 38/47] hw/net/lasi_i82596: use qemu_create_nic_device() 2024-02-02 16:38 [PULL v2 00/47] nic-config-2 queue David Woodhouse @ 2024-02-02 16:38 ` David Woodhouse 2024-02-02 18:56 ` [PULL v2 00/47] nic-config-2 queue Peter Maydell 1 sibling, 0 replies; 3+ messages in thread From: David Woodhouse @ 2024-02-02 16:38 UTC (permalink / raw) To: Peter Maydell; +Cc: qemu-devel From: David Woodhouse <dwmw@amazon.co.uk> Create the device only if there is a corresponding NIC config for it. Remove the explicit check on nd_table[0].used from hw/hppa/machine.c which (since commit d8a3220005d7) tries to do the same thing. The lasi_82596 support has been disabled since it was first introduced, since enable_lasi_lan() has always been zero. This allows the user to enable it by explicitly requesting a NIC model 'lasi_82596' or just using the alias 'lasi'. Otherwise, it defaults to a PCI NIC as before. Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Reviewed-by: Thomas Huth <thuth@redhat.com> --- hw/hppa/machine.c | 9 ++++----- hw/net/lasi_i82596.c | 12 +++++++----- include/hw/net/lasi_82596.h | 4 ++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c index a1045b48cc..eb78c46ff1 100644 --- a/hw/hppa/machine.c +++ b/hw/hppa/machine.c @@ -362,14 +362,13 @@ static void machine_HP_common_init_tail(MachineState *machine, PCIBus *pci_bus, } /* Network setup. */ - if (nd_table[0].used && enable_lasi_lan()) { + if (lasi_dev) { lasi_82596_init(addr_space, translate(NULL, LASI_LAN_HPA), - qdev_get_gpio_in(lasi_dev, LASI_IRQ_LAN_HPA)); + qdev_get_gpio_in(lasi_dev, LASI_IRQ_LAN_HPA), + enable_lasi_lan()); } - if (!enable_lasi_lan()) { - pci_init_nic_devices(pci_bus, mc->default_nic); - } + pci_init_nic_devices(pci_bus, mc->default_nic); /* BMC board: HP Powerbar SP2 Diva (with console only) */ pci_dev = pci_new(-1, "pci-serial"); diff --git a/hw/net/lasi_i82596.c b/hw/net/lasi_i82596.c index 09e830ba5f..fcf7fae941 100644 --- a/hw/net/lasi_i82596.c +++ b/hw/net/lasi_i82596.c @@ -118,19 +118,21 @@ static void lasi_82596_realize(DeviceState *dev, Error **errp) i82596_common_init(dev, s, &net_lasi_82596_info); } -SysBusI82596State *lasi_82596_init(MemoryRegion *addr_space, - hwaddr hpa, qemu_irq lan_irq) +SysBusI82596State *lasi_82596_init(MemoryRegion *addr_space, hwaddr hpa, + qemu_irq lan_irq, gboolean match_default) { DeviceState *dev; SysBusI82596State *s; static const MACAddr HP_MAC = { .a = { 0x08, 0x00, 0x09, 0xef, 0x34, 0xf6 } }; - qemu_check_nic_model(&nd_table[0], TYPE_LASI_82596); - dev = qdev_new(TYPE_LASI_82596); + dev = qemu_create_nic_device(TYPE_LASI_82596, match_default, "lasi"); + if (!dev) { + return NULL; + } + s = SYSBUS_I82596(dev); s->state.irq = lan_irq; - qdev_set_nic_properties(dev, &nd_table[0]); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); s->state.conf.macaddr = HP_MAC; /* set HP MAC prefix */ diff --git a/include/hw/net/lasi_82596.h b/include/hw/net/lasi_82596.h index 3ef2f47ba2..439356ec19 100644 --- a/include/hw/net/lasi_82596.h +++ b/include/hw/net/lasi_82596.h @@ -25,7 +25,7 @@ struct SysBusI82596State { int val_index:1; }; -SysBusI82596State *lasi_82596_init(MemoryRegion *addr_space, - hwaddr hpa, qemu_irq irq); +SysBusI82596State *lasi_82596_init(MemoryRegion *addr_space, hwaddr hpa, + qemu_irq irq, gboolean match_default); #endif -- 2.43.0 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PULL v2 00/47] nic-config-2 queue 2024-02-02 16:38 [PULL v2 00/47] nic-config-2 queue David Woodhouse 2024-02-02 16:38 ` [PULL v2 38/47] hw/net/lasi_i82596: use qemu_create_nic_device() David Woodhouse @ 2024-02-02 18:56 ` Peter Maydell 1 sibling, 0 replies; 3+ messages in thread From: Peter Maydell @ 2024-02-02 18:56 UTC (permalink / raw) To: David Woodhouse; +Cc: qemu-devel On Fri, 2 Feb 2024 at 16:38, David Woodhouse <dwmw2@infradead.org> wrote: > > From: David Woodhouse <dwmw@amazon.co.uk> > > The following changes since commit c3709fde5955d13f6d4f86ab46ef3cc2288ca65e: > > Merge tag 'pull-aspeed-20240201' of https://github.com/legoater/qemu into staging (2024-02-01 14:42:11 +0000) > > are available in the Git repository at: > > git://git.infradead.org/users/dwmw2/qemu.git tags/pull-nic-config-2-20240202 > > for you to fetch changes up to e8c5c4525cbbd7207c085732cfd1e67d8f3d662a: > > net: make nb_nics and nd_table[] static in net/net.c (2024-02-02 16:23:48 +0000) > > ---------------------------------------------------------------- > Rework matching of network devices to -nic options (v2) > Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/9.0 for any user-visible changes. -- PMM ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-02-02 18:57 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-02-02 16:38 [PULL v2 00/47] nic-config-2 queue David Woodhouse 2024-02-02 16:38 ` [PULL v2 38/47] hw/net/lasi_i82596: use qemu_create_nic_device() David Woodhouse 2024-02-02 18:56 ` [PULL v2 00/47] nic-config-2 queue Peter Maydell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).