From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:55644) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SSrco-0007on-6M for qemu-devel@nongnu.org; Fri, 11 May 2012 11:19:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SSrcj-0002Ua-5J for qemu-devel@nongnu.org; Fri, 11 May 2012 11:19:21 -0400 Received: from mail-ob0-f173.google.com ([209.85.214.173]:37801) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SSrci-0002U1-RF for qemu-devel@nongnu.org; Fri, 11 May 2012 11:19:17 -0400 Received: by obbwd20 with SMTP id wd20so4004667obb.4 for ; Fri, 11 May 2012 08:19:14 -0700 (PDT) Sender: fluxion Date: Fri, 11 May 2012 10:19:09 -0500 From: Michael Roth Message-ID: <20120511151909.GA29449@illuin> References: <1335558083-26196-1-git-send-email-mdroth@linux.vnet.ibm.com> <4FAC69C7.6030401@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4FAC69C7.6030401@suse.de> 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: Andreas =?iso-8859-1?Q?F=E4rber?= Cc: pbonzini@redhat.com, aliguori@us.ibm.com, qemu-devel@nongnu.org, Markus Armbruster , Luiz Capitulino On Fri, May 11, 2012 at 03:22:15AM +0200, Andreas Färber wrote: > 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 > > > > 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 QMP > > visitor bug and a small issue with String visitor that were caught by the 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. Agreed, my intention as well. Thanks for taking these in! > > 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. > > > > CHANGES SINCE V3: > > - Rebased on master and re-tested > > > > 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 interfaces and switches all qdev users > > over to using them. > > > > We also add a test suite which covers these interfaces, and also does some > > sanity checking on Visitors (Qmp/String currently, with a pluggable interface > > for future implementations) to ensure Visitor input/output handling remain > > self-consistent, which is not covered by the current visitor tests which mostly > > test input/output seperately. Maintaining this invariant is necessary to ensure > > that visitors can be used for serialization/deserialization in the future. > > > > 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(-) > > -- > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg >