From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56518) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGDKZ-00027H-RT for qemu-devel@nongnu.org; Tue, 27 Jan 2015 16:05:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGDKU-0005F5-Sd for qemu-devel@nongnu.org; Tue, 27 Jan 2015 16:05:51 -0500 Received: from mx1.redhat.com ([209.132.183.28]:41045) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGDKU-0005Es-Ka for qemu-devel@nongnu.org; Tue, 27 Jan 2015 16:05:46 -0500 Message-ID: <54C7FDA6.40102@redhat.com> Date: Tue, 27 Jan 2015 16:05:42 -0500 From: John Snow MIME-Version: 1.0 References: <1421698563-6977-1-git-send-email-jsnow@redhat.com> In-Reply-To: <1421698563-6977-1-git-send-email-jsnow@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 00/15] ahci-test preliminary refactoring List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, marc.mari.barcelo@gmail.com, armbru@redhat.com, mreitz@redhat.com, stefanha@redhat.com, pbonzini@redhat.com Ping: Waiting for reviews on patches #6 (Marc?), and re-reviews for=20 patches #12 and #15 (Paolo?) Thanks --JS On 01/19/2015 03:15 PM, John Snow wrote: > This series aims to do two main things: > > (1) Eliminate global state out of the ahci-test file so that > the tests are more functional. This will allow me to write > migration tests more easily. These tests are already written > and will be submitted upstream after these refactor series. > > (2) With global state removed from ahci-test, factor out functions > that would be useful to manipulate ahci devices into libqos/ahci.o= , > to allow other testwriters to capitalize on the functional > refactoring. > > So, as an overview, we do a few things: > > - Clean up the malloc interface to have a clear pc-specific interface > that uses an architecture independent core. > > - Add some new structures to help keep track of AHCI and libqos state. > > - Rewrite existing AHCI helpers and routines to use the new structure= s > and helper routines. > > - Excise any commonly valuable code to libqos/ahci.h and libqos/ahci.= c. > > This series therefore introduces no new functionality itself, but I was > trying to keep the series small and reviewable. The real necessity here > in jumbling malloc and ahci functions around is to create a functional > interface that can be bundled into a single structure to help facilitat= e > migration testing inside of qtests, for which I intend to export to all > of qtests to be re-used for other tests. > > From this point forward, the churn to my AHCI refactor series should b= e > significantly reduced and more pleasant to read. > > Thanks, > John. > > V2: > - #6 Made QGuestAllocator object opaque, in a new patch. > - Created page_size setter method. > - #7 Renamed "QOSOperations" to "QOSOps" and added Paolo's R-b. > - #12 Dropped GCC attributes from static inline helpers (ahci.h) > - #15 Adjusted assertion to not compare void ptr to int 0 > - #15 Share ahci.o with libqos-obj-pc-y instead of only ahci-test > * ahci.o is pc-only for now. > > John Snow (15): > libqos: Split apart pc_alloc_init > qtest/ahci: Create ahci.h > libqos: create libqos.c > libqos: add qtest_vboot > libqos: add alloc_init_flags > libqos: Update QGuestAllocator to be opaque > libqos: add pc specific interface > qtest/ahci: Store hba_base in AHCIQState > qtest/ahci: finalize AHCIQState consolidation > qtest/ahci: remove pcibus global > qtest/ahci: remove guest_malloc global > libqos/ahci: Functional register helpers > qtest/ahci: remove getter/setter macros > qtest/ahci: Bookmark FB and CLB pointers > libqos/ahci: create libqos/ahci.c > > tests/Makefile | 5 +- > tests/ahci-test.c | 894 ++++++++------------------------------= --------- > tests/libqos/ahci.c | 269 ++++++++++++++ > tests/libqos/ahci.h | 435 +++++++++++++++++++++++ > tests/libqos/libqos-pc.c | 24 ++ > tests/libqos/libqos-pc.h | 9 + > tests/libqos/libqos.c | 63 ++++ > tests/libqos/libqos.h | 33 ++ > tests/libqos/malloc-pc.c | 20 +- > tests/libqos/malloc.c | 86 ++++- > tests/libqos/malloc.h | 25 +- > 11 files changed, 1068 insertions(+), 795 deletions(-) > create mode 100644 tests/libqos/ahci.c > create mode 100644 tests/libqos/ahci.h > create mode 100644 tests/libqos/libqos-pc.c > create mode 100644 tests/libqos/libqos-pc.h > create mode 100644 tests/libqos/libqos.c > create mode 100644 tests/libqos/libqos.h > --=20 =97js