aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2022-12-01 13:11:24 +0100
committerMarkus Armbruster <armbru@redhat.com>2022-12-19 16:21:56 +0100
commit6be4ddffd09a3b184338ecb07ce3539732e00ba1 (patch)
treee818f2423a2b7ac369bd1a3bebe7316de9e7ea87 /hw
parent5ef4a0cb63231845bd2a7d749ed2335a1ce35091 (diff)
downloadqemu-6be4ddffd09a3b184338ecb07ce3539732e00ba1.zip
qemu-6be4ddffd09a3b184338ecb07ce3539732e00ba1.tar.gz
qemu-6be4ddffd09a3b184338ecb07ce3539732e00ba1.tar.bz2
pci: Make query-pci stub consistent with the real one
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: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20221201121133.3813857-5-armbru@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/pci/pci-hmp-cmds.c8
-rw-r--r--hw/pci/pci-stub.c3
2 files changed, 1 insertions, 10 deletions
diff --git a/hw/pci/pci-hmp-cmds.c b/hw/pci/pci-hmp-cmds.c
index e5e07ea..f8d67bb 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 3a027c4..f29ecc9 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;
}