[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 05/46] hw/i386/pc: use qemu_get_nic_info() and pci_init_ni
From: |
David Woodhouse |
Subject: |
Re: [PATCH v3 05/46] hw/i386/pc: use qemu_get_nic_info() and pci_init_nic_devices() |
Date: |
Fri, 26 Jan 2024 11:25:19 +0000 |
User-agent: |
Evolution 3.44.4-0ubuntu2 |
On Fri, 2024-01-26 at 12:20 +0100, Thomas Huth wrote:
> On 26/01/2024 12.13, David Woodhouse wrote:
> > On Fri, 2024-01-26 at 11:43 +0100, Thomas Huth wrote:
> > > On 08/01/2024 21.26, David Woodhouse wrote:
> > > > From: David Woodhouse <dwmw@amazon.co.uk>
> > > >
> > > > Eliminate direct access to nd_table[] and nb_nics by processing the the
> > > > Xen and ISA NICs first and then calling pci_init_nic_devices() for the
> > > > rest.
> > > >
> > > > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> > > > Reviewed-by: Paul Durrant <paul@xen.org>
> > > > ---
> > > > hw/i386/pc.c | 26 ++++++++++++++++----------
> > > > include/hw/net/ne2000-isa.h | 2 --
> > > > 2 files changed, 16 insertions(+), 12 deletions(-)
> > > >
> > > > diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> > > > index 496498df3a..d80c536d88 100644
> > > > --- a/hw/i386/pc.c
> > > > +++ b/hw/i386/pc.c
> > > > @@ -658,8 +658,11 @@ static void pc_init_ne2k_isa(ISABus *bus, NICInfo
> > > > *nd)
> > > > {
> > > > static int nb_ne2k = 0;
> > > >
> > > > - if (nb_ne2k == NE2000_NB_MAX)
> > > > + if (nb_ne2k == NE2000_NB_MAX) {
> > > > + error_setg(&error_fatal,
> > > > + "maximum number of ISA NE2000 devices exceeded");
> > > > return;
> > > > + }
> > >
> > > error_setg(&error_fatal, ...) quits QEMU, so the "return;" does not make
> > > much sense anymore.
> > > Now, according to include/qapi/error.h :
> > >
> > > * Please don't error_setg(&error_fatal, ...), use error_report() and
> > > * exit(), because that's more obvious.
> > >
> > > So I'd suggest to do that instead.
> >
> > It's going slightly in the opposite direction to what's requested in
> > https://lore.kernel.org/qemu-devel/34e2c0c6-4e04-486a-8e1f-4afdc461a5d4@linaro.org/
> >
> > I was thinking that a future patch would let the &error_fatal be an
> > Error** passed in by the caller, and not actually hard-coded to be
> > fatal at all.
> >
> > But sure, unless Philippe objects I'm happy to do it as you show above.
>
> Now that you mention it, I'd also prefer having an Error** parameter to the
> function instead, that's certainly cleaner. So if you don't mind, please
> follow Philippe's suggestion instead!
Right. There's a whole bunch of functions to untangle, that take an
Error** but don't return success/failure independently as they should.
Or don't even take the Error**.
Rather than trying to fix that as part of this series, this was my
compromise — making it easy to switch that explicit &error_fatal out
for a function parameter, but not trying to shave that part of the yak
myself just yet.
smime.p7s
Description: S/MIME cryptographic signature
- [PATCH v3 43/46] net: remove qemu_check_nic_model(), (continued)
[PATCH v3 33/46] hw/m68k/q800: use qemu_find_nic_info(), David Woodhouse, 2024/01/08
[PATCH v3 46/46] net: make nb_nics and nd_table[] static in net/net.c, David Woodhouse, 2024/01/08
[PATCH v3 44/46] hw/pci: remove pci_nic_init_nofail(), David Woodhouse, 2024/01/08
[PATCH v3 26/46] hw/net/lan9118: use qemu_configure_nic_device(), David Woodhouse, 2024/01/08
[PATCH v3 25/46] hw/net/smc91c111: use qemu_configure_nic_device(), David Woodhouse, 2024/01/08
[PATCH v3 08/46] hw/arm/sbsa-ref: use pci_init_nic_devices(), David Woodhouse, 2024/01/08