These patches apply on top of qemu.git master, and can also be obtained from: git://github.com/mdroth/qemu.git visitor-fixed-width-v3
CHANGES SINCE V2: - Fix qemu-test errors due to now-strict bounds-checking we doing assignment between signed/unsigned types. - uint* property getters/setters no longer use int* getters/setters. - valid devfn range is now explicitly enforced. CHANGES SINCE V1: - unit tests: covert QmpOutputVisitor qobject to json before passing it to QmpInputVisitor*. I.e., actually do the serialization :) - QmpInputVisitor, add handling for when a serialized QFloat gets read back as a QInt - unit tests: add coverage for String visitor - StringOutputVisitor: use %f for float representation These patches add fixed-width visitor types and switches all qdev users over to them. We also add a test suite which covers these, as well as does some sanity checking on Visitors to verify their usability/capabilities for data serialization. hw/mc146818rtc.c | 7 - hw/pci.c | 2 +- hw/pci.h | 2 +- hw/qdev-addr.c | 4 +- hw/qdev-properties.c | 151 +++++---- hw/qdev.h | 2 +- qapi/qapi-visit-core.c | 139 ++++++++ qapi/qapi-visit-core.h | 16 + qapi/qmp-input-visitor.c | 9 +- qapi/string-output-visitor.c | 2 +- test-string-output-visitor.c | 2 +- test-visitor-serialization.c | 784 ++++++++++++++++++++++++++++++++++++++++++ tests/Makefile | 6 +- 13 files changed, 1047 insertions(+), 79 deletions(-)