This series moves all qerrors we have today to qapi-schema-errors.json and generates the QERR_ macros and the qerror_table[] from it.
With this series, one doesn't have to manually add an error macro and the matching table entry anymore. He or she just have to add the new error to qapi-schema-errors.json. There's only one small problem: the matching between error class name and the (generated) error macro may not be clear for those not familirized with qerrors. There are two possible solutions to this: 1. Add the generated macro name along with the error class name in qapi-schema-json-errors.json; and/or 2. add docs/qapi-errors.txt to explain this in detail This series is my first step on improving our error API. o v2 - Small qapi-errors.py improvements - Fix QERR_DEVICE_ENCRYPTED and QERR_AMBIGUOUS_PATH desc message Makefile | 8 +- hw/qdev-properties.c | 2 +- migration-tcp.c | 6 +- monitor.c | 2 +- qapi-schema-errors.json | 616 +++++++++++++++++++++++++++++++++++++++++++++++ qapi/qmp-dispatch.c | 2 +- qapi/qmp-input-visitor.c | 2 +- qemu-sockets.c | 22 +- qerror.c | 310 +----------------------- qerror.h | 220 +---------------- scripts/check-qerror.sh | 6 +- scripts/qapi-errors.py | 177 ++++++++++++++ scripts/qapi.py | 4 +- 13 files changed, 824 insertions(+), 553 deletions(-)