From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57648) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zekk8-0005Nz-0a for qemu-devel@nongnu.org; Wed, 23 Sep 2015 10:10:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zekk4-0004k4-Kf for qemu-devel@nongnu.org; Wed, 23 Sep 2015 10:09:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60228) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zekk4-0004jo-DJ for qemu-devel@nongnu.org; Wed, 23 Sep 2015 10:09:52 -0400 From: Markus Armbruster Date: Wed, 23 Sep 2015 16:09:42 +0200 Message-Id: <1443017389-7869-1-git-send-email-armbru@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v2 0/7] Fix device introspection regressions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: armbru@redhat.com, thuth@redhat.com, afaerber@suse.de, stefanha@redhat.com, ehabkost@redhat.com QMP command device-list-properties regressed in 2.1: it can crash or leave dangling pointers behind. -device FOO,help regressed in 2.2: it no longer works for non-pluggable devices. I tried to fix that some time ago[*], but my fix failed review. This is my second, more comprehensive try. PATCH 1,2 are preliminaries, PATCH 3 adds tests to demonstrate the bugs, PATCH 4-6 fix them to a degree (see PATCH 5 for limitations), and PATCH 7 cleans up. [*] [PATCH] qdev: Make -device FOO,help help again when FOO is not pluggable https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg03459.html Message-Id: <1426527232-15044-1-git-send-email-armbru@redhat.com> v2: * PATCH 1: New, made from old PATCH 7 and relevant Makefile parts of old PATCH 3, with a much improved commit message [Andreas] * PATCH 3: Fix hmp() [Eric] * PATCH 4: Tweak commit message and comments [Eric] * PATCH 6: Mark only the CPUs that are actually broken [Eduardo] Markus Armbruster (7): tests: Fix how qom-test is run libqtest: Clean up unused QTestState member sigact_old libqtest: New hmp() & friends device-introspect-test: New, covering device introspection qmp: Fix device-list-properties not to crash for abstract device qdev: Protect device-list-properties against broken devices Revert "qdev: Use qdev_get_device_class() for -device ,help" hw/arm/allwinner-a10.c | 2 + hw/arm/digic.c | 2 + hw/arm/fsl-imx25.c | 2 + hw/arm/fsl-imx31.c | 2 + hw/arm/xlnx-zynqmp.c | 2 + hw/pci-host/versatile.c | 11 ++++ hw/pcmcia/pxa2xx.c | 9 ++++ hw/s390x/event-facility.c | 3 ++ hw/s390x/sclp.c | 3 ++ include/hw/qdev-core.h | 13 +++++ qdev-monitor.c | 9 ++-- qmp.c | 11 ++++ target-alpha/cpu.c | 7 +++ target-arm/cpu.c | 7 +++ target-cris/cpu.c | 7 +++ target-i386/cpu.c | 8 +++ target-lm32/cpu.c | 7 +++ target-m68k/cpu.c | 7 +++ target-microblaze/cpu.c | 6 +++ target-mips/cpu.c | 7 +++ target-moxie/cpu.c | 7 +++ target-openrisc/cpu.c | 7 +++ target-ppc/kvm.c | 4 ++ target-s390x/cpu.c | 7 +++ target-sh4/cpu.c | 7 +++ target-sparc/cpu.c | 7 +++ target-tricore/cpu.c | 6 +++ target-unicore32/cpu.c | 7 +++ target-xtensa/cpu.c | 7 +++ tests/Makefile | 20 ++++--- tests/device-introspect-test.c | 117 +++++++++++++++++++++++++++++++++++= ++++++ tests/drive_del-test.c | 22 +++----- tests/ide-test.c | 8 +-- tests/libqtest.c | 38 ++++++++++++- tests/libqtest.h | 33 ++++++++++++ 35 files changed, 388 insertions(+), 34 deletions(-) create mode 100644 tests/device-introspect-test.c --=20 2.4.3