From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:58271) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SSeYs-0008NN-CX for qemu-devel@nongnu.org; Thu, 10 May 2012 21:22:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SSeYp-0006Bu-RH for qemu-devel@nongnu.org; Thu, 10 May 2012 21:22:25 -0400 Received: from cantor2.suse.de ([195.135.220.15]:51803 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SSeYp-0006Bc-I1 for qemu-devel@nongnu.org; Thu, 10 May 2012 21:22:23 -0400 Message-ID: <4FAC69C7.6030401@suse.de> Date: Fri, 11 May 2012 03:22:15 +0200 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1335558083-26196-1-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1335558083-26196-1-git-send-email-mdroth@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v5 0/7] add fixed-width visitors and serialization tests/fixes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Roth , Luiz Capitulino Cc: pbonzini@redhat.com, aliguori@us.ibm.com, qemu-devel@nongnu.org, Markus Armbruster Am 27.04.2012 22:21, schrieb Michael Roth: > These patches apply on top of qemu.git master, and can also be obtained= from: > git://github.com/mdroth/qemu.git visitor-fixed-width-v5 >=20 > Some of these were being carried as part of Paolo's realize series due = to some > conflicts, but that looks to be targetted for 1.2 now, and there's a QM= P > visitor bug and a small issue with String visitor that were caught by t= he test > infrastructure introduced here and fixed as part of this series, so I'd= like to > get this in for 1.1 Thanks, I've applied v6 to qom-next (as usual massaging the commit messages a bit, in particular extending the last one): http://repo.or.cz/w/qemu/afaerber.git/shortlog/refs/heads/qom-next Reasoning: This series has been around since end of February. v3 fixed a breakage reported by Anthony (use of signed rather than unsigned visitors); since then changes were mostly rebasing, and v5/v6 pass make check and my smoke tests. While this is not strictly a QOM series, I am picking it as a prerequisite since Paolo had picked up patches 1, 6, 7 for his Object properties movement and because patch 1 is handy for newly added properties such as of the x86 CPU. Further, Paolo agreed to rebase onto this series. However, it is my understanding that patches 2 and 4 are independent bugfixes and as such should go into 1.1. Luiz, should I send Anthony a PULL for 1.1-rc2 including those two? Can you ack then? Or do you want to cherry-pick them from qom-next yourself? Andreas > CHANGES SINCE v4: > - Rebased on master (a8b69b8e2431edfcb6c4cfb069787e9071d6235b) and re-= tested > - Re-ordered patches so visitor bugs are applied before the test cases= that > that trigger them. >=20 > CHANGES SINCE V3: > - Rebased on master and re-tested >=20 > CHANGES SINCE V2: > - Fix qemu-test errors due to now-strict bounds-checking we doing assi= gnment > between signed/unsigned types. > - uint* property getters/setters no longer use int* getters/setters. > - valid devfn range is now explicitly enforced. >=20 > CHANGES SINCE V1: > - unit tests: covert QmpOutputVisitor qobject to json before passing i= t 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 >=20 > These patches add fixed-width visitor interfaces and switches all qdev = users > over to using them. >=20 > We also add a test suite which covers these interfaces, and also does s= ome > sanity checking on Visitors (Qmp/String currently, with a pluggable int= erface > for future implementations) to ensure Visitor input/output handling rem= ain > self-consistent, which is not covered by the current visitor tests whic= h mostly > test input/output seperately. Maintaining this invariant is necessary t= o ensure > that visitors can be used for serialization/deserialization in the futu= re. >=20 > hw/mc146818rtc.c | 7 - > hw/pci.c | 2 +- > hw/pci.h | 2 +- > hw/qdev-addr.c | 4 +- > hw/qdev-properties.c | 161 +++++--- > 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 +- > tests/Makefile | 4 +- > tests/test-string-output-visitor.c | 2 +- > tests/test-visitor-serialization.c | 784 ++++++++++++++++++++++++++++= ++++++++ > 13 files changed, 1049 insertions(+), 85 deletions(-) --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg