This is an alternative approach to simplifying the crash information patches.
Currently, crash information is exposed twice, through a QOM property and through a method. This is because accessing QOM properties with QAPI struct types is a huge pain in the neck. Patch 1 fixes this by providing a simple and well-tested API, that takes care of integrating the QOM->QObject->QAPI steps into a single function. Patch 2 then eliminates the get_crash_info method. Patch 3 finally cleans up qemu_system_guest_panicked by passing a CPUState* argument instead of a GuestPanicInformation struct. Paolo Paolo Bonzini (3): qom-qobject: introduce object_property_{g,s}et_ptr cpu: implement get_crash_info through QOM properties vl: pass CPUState to qemu_system_guest_panicked include/qom/cpu.h | 1 - include/qom/qom-qobject.h | 68 ++++++++++++ include/sysemu/sysemu.h | 2 +- kvm-all.c | 2 +- qom/cpu.c | 11 +- qom/qom-qobject.c | 49 +++++++++ target/i386/cpu.c | 2 +- tests/Makefile.include | 2 +- tests/check-qom-proplist.c | 185 +++++++++++++++++++++++++++++++- tests/qapi-schema/qapi-schema-test.json | 8 ++ vl.c | 13 ++- 11 files changed, 326 insertions(+), 17 deletions(-) -- 2.9.3