We need to be able to check machine type after its definition. It's necessary when using complicated inheritance of compatible features. For instance, this tool can help to find bugs in the machine type definition if the name of the device has been changed. Also, this tool was created to help with MTs of other projects such as vz branches.
Maxim Davydov (9): qmp: Add dump machine type compatible properties pci: add null-pointer check mem: appropriate handling getting mem region msmouse: add appropriate unregister handler wctablet: add appropriate unregister handler chardev: add appropriate getting address colo-compare: safe finalization qom: add command to print initial properties scripts: printing machine type compat properties chardev/char-socket.c | 9 ++ chardev/msmouse.c | 4 +- chardev/wctablet.c | 4 +- hw/core/machine-qmp-cmds.c | 25 +++- hw/i386/sgx-epc.c | 5 +- hw/mem/nvdimm.c | 6 + hw/mem/pc-dimm.c | 5 + hw/pci-host/i440fx.c | 17 ++- hw/pci-host/q35.c | 17 ++- net/colo-compare.c | 25 ++-- qapi/machine.json | 58 +++++++- qapi/qom.json | 69 +++++++++ qom/qom-qmp-cmds.c | 121 ++++++++++++++++ scripts/print_MT.py | 274 ++++++++++++++++++++++++++++++++++++ tests/qtest/fuzz/qos_fuzz.c | 2 +- 15 files changed, 613 insertions(+), 28 deletions(-) create mode 100755 scripts/print_MT.py -- 2.31.1