qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 04/12] pci: Make query-pci stub consistent with the real one


From: Dr. David Alan Gilbert
Subject: Re: [PATCH 04/12] pci: Make query-pci stub consistent with the real one
Date: Tue, 29 Nov 2022 12:03:31 +0000
User-agent: Mutt/2.2.7 (2022-08-07)

* Markus Armbruster (armbru@redhat.com) wrote:
> QMP query-pci and HMP info pci can behave differently when there are
> no PCI devices.  They can report nothing, like this:
> 
>     qemu-system-aarch64 -S -M spitz -display none -monitor stdio
>     QEMU 7.1.91 monitor - type 'help' for more information
>     (qemu) info pci
> 
> Or they can fail, like this:
> 
>     qemu-system-microblaze -M petalogix-s3adsp1800 -display none -monitor 
> stdio
>     QEMU 7.1.91 monitor - type 'help' for more information
>     (qemu) info pci
>     PCI devices not supported
> 
> They fail when none of the target's machines supports PCI, i.e. when
> we're using qmp_query_pci() from hw/pci/pci-stub.c.
> 
> The error is not useful, and reporting nothing makes sense, so do that
> in pci-stub.c, too.
> 
> Now qmp_query_pci() can't fail anymore.  Drop the dead error handling
> from hmp_info_pci().
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> ---
>  hw/pci/pci-hmp-cmds.c | 8 +-------
>  hw/pci/pci-stub.c     | 3 ---
>  2 files changed, 1 insertion(+), 10 deletions(-)
> 
> diff --git a/hw/pci/pci-hmp-cmds.c b/hw/pci/pci-hmp-cmds.c
> index 5adfe4f57f..e915fb9fe7 100644
> --- a/hw/pci/pci-hmp-cmds.c
> +++ b/hw/pci/pci-hmp-cmds.c
> @@ -105,14 +105,8 @@ static void hmp_info_pci_device(Monitor *mon, const 
> PciDeviceInfo *dev)
>  void hmp_info_pci(Monitor *mon, const QDict *qdict)
>  {
>      PciInfoList *info_list, *info;
> -    Error *err = NULL;
>  
> -    info_list = qmp_query_pci(&err);
> -    if (err) {
> -        monitor_printf(mon, "PCI devices not supported\n");
> -        error_free(err);
> -        return;
> -    }
> +    info_list = qmp_query_pci(&error_abort);
>  
>      for (info = info_list; info; info = info->next) {
>          PciDeviceInfoList *dev;
> diff --git a/hw/pci/pci-stub.c b/hw/pci/pci-stub.c
> index 3a027c42e4..f29ecc999e 100644
> --- a/hw/pci/pci-stub.c
> +++ b/hw/pci/pci-stub.c
> @@ -21,9 +21,7 @@
>  #include "qemu/osdep.h"
>  #include "sysemu/sysemu.h"
>  #include "monitor/monitor.h"
> -#include "qapi/error.h"
>  #include "qapi/qapi-commands-pci.h"
> -#include "qapi/qmp/qerror.h"
>  #include "hw/pci/pci.h"
>  #include "hw/pci/msi.h"
>  #include "hw/pci/msix.h"
> @@ -33,7 +31,6 @@ bool pci_available;
>  
>  PciInfoList *qmp_query_pci(Error **errp)
>  {
> -    error_setg(errp, QERR_UNSUPPORTED);
>      return NULL;
>  }
>  
> -- 
> 2.37.3
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK




reply via email to

[Prev in Thread] Current Thread [Next in Thread]