qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 00/14] ahci-test preliminary refactoring


From: John Snow
Subject: [Qemu-devel] [PATCH 00/14] ahci-test preliminary refactoring
Date: Mon, 12 Jan 2015 22:34:25 -0500

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.

John Snow (14):
  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: 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           |   7 +-
 tests/ahci-test.c        | 894 ++++++++---------------------------------------
 tests/libqos/ahci.c      | 270 ++++++++++++++
 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    |  25 ++
 tests/libqos/malloc.h    |   3 +
 11 files changed, 1021 insertions(+), 762 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

-- 
1.9.3




reply via email to

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