qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 00/15] ahci-test preliminary refactoring


From: John Snow
Subject: Re: [Qemu-devel] [PATCH v2 00/15] ahci-test preliminary refactoring
Date: Tue, 27 Jan 2015 16:05:42 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0

Ping: Waiting for reviews on patches #6 (Marc?), and re-reviews for 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 structures
    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 facilitate
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 be
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


--
—js



reply via email to

[Prev in Thread] Current Thread [Next in Thread]