* [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).