qemu-e2k/hw/pci
Denis V. Lunev 18613dc6d9 qmp, hmp: make subsystem/system-vendor identities optional
According to PCI specification, subsystem id and subsystem vendor id
are present only in type 0 and type 2 headers (at different offsets),
but not in type 1 headers.

Thus we should make this data optional in struct PciDeviceId and skip
reporting them via HMP if the information is not available.

Additional (wrong information) about PCI bridges (Type1 devices) has been
added in 5383a705 and fortunately not released. This patch fixes that
problem. The problem was spotted by Markus.

Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
CC: Eric Blake <eblake@redhat.com>
CC: Markus Armbruster <armbru@redhat.com>
Message-Id: <20181002135538.12113-1-den@openvz.org>
Reported-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2018-10-11 19:58:26 +01:00
..
Makefile.objs pci-hotplug-old: Has been dead for five major releases, bury 2015-03-01 12:37:54 +01:00
msi.c pci: Replace pci_add_capability2() with pci_add_capability() 2017-07-03 22:29:49 +03:00
msix.c msix: use DIV_ROUND_UP 2017-08-31 12:29:07 +02:00
pci-stub.c qapi: Empty out qapi-schema.json 2018-03-02 13:45:50 -06:00
pci.c qmp, hmp: make subsystem/system-vendor identities optional 2018-10-11 19:58:26 +01:00
pci_bridge.c hw/pci: factor PCI reserve resources to a separate structure 2018-09-07 17:05:18 -04:00
pci_host.c pci: Clean up includes 2016-01-29 15:07:24 +00:00
pcie.c pci: Eliminate redundant PCIDevice::bus pointer 2017-12-05 19:13:45 +02:00
pcie_aer.c Drop superfluous includes of qapi/qmp/qjson.h 2018-02-09 13:52:15 +01:00
pcie_host.c PCI: PCIe access should always be little endian 2017-10-15 05:54:42 +03:00
pcie_port.c pci: Clean up includes 2016-01-29 15:07:24 +00:00
shpc.c pci/shpc: Move function to generic header file 2018-01-18 21:52:38 +02:00
slotid_cap.c pci: Convert shpc_init() to Error 2017-07-03 22:29:49 +03:00
trace-events trace-events: fix code style: %# -> 0x% 2017-08-01 12:13:07 +01:00