From: John Snow <jsnow@redhat.com>
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,
jsnow@redhat.com
Subject: [Qemu-devel] [PATCH v2 00/15] ahci-test preliminary refactoring
Date: Mon, 19 Jan 2015 15:15:48 -0500 [thread overview]
Message-ID: <1421698563-6977-1-git-send-email-jsnow@redhat.com> (raw)
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
--
1.9.3
next reply other threads:[~2015-01-19 20:16 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-19 20:15 John Snow [this message]
2015-01-19 20:15 ` [Qemu-devel] [PATCH v2 01/15] libqos: Split apart pc_alloc_init John Snow
2015-01-19 20:15 ` [Qemu-devel] [PATCH v2 02/15] qtest/ahci: Create ahci.h John Snow
2015-01-19 20:15 ` [Qemu-devel] [PATCH v2 03/15] libqos: create libqos.c John Snow
2015-01-19 20:15 ` [Qemu-devel] [PATCH v2 04/15] libqos: add qtest_vboot John Snow
2015-01-19 20:15 ` [Qemu-devel] [PATCH v2 05/15] libqos: add alloc_init_flags John Snow
2015-01-19 20:15 ` [Qemu-devel] [PATCH v2 06/15] libqos: Update QGuestAllocator to be opaque John Snow
2015-01-27 21:22 ` Marc Marí
2015-01-19 20:15 ` [Qemu-devel] [PATCH v2 07/15] libqos: add pc specific interface John Snow
2015-01-19 20:15 ` [Qemu-devel] [PATCH v2 08/15] qtest/ahci: Store hba_base in AHCIQState John Snow
2015-01-19 20:15 ` [Qemu-devel] [PATCH v2 09/15] qtest/ahci: finalize AHCIQState consolidation John Snow
2015-01-19 20:15 ` [Qemu-devel] [PATCH v2 10/15] qtest/ahci: remove pcibus global John Snow
2015-01-19 20:15 ` [Qemu-devel] [PATCH v2 11/15] qtest/ahci: remove guest_malloc global John Snow
2015-01-19 20:16 ` [Qemu-devel] [PATCH v2 12/15] libqos/ahci: Functional register helpers John Snow
2015-01-28 10:26 ` Paolo Bonzini
2015-01-19 20:16 ` [Qemu-devel] [PATCH v2 13/15] qtest/ahci: remove getter/setter macros John Snow
2015-01-19 20:16 ` [Qemu-devel] [PATCH v2 14/15] qtest/ahci: Bookmark FB and CLB pointers John Snow
2015-01-19 20:16 ` [Qemu-devel] [PATCH v2 15/15] libqos/ahci: create libqos/ahci.c John Snow
2015-01-28 10:26 ` Paolo Bonzini
2015-01-27 21:05 ` [Qemu-devel] [PATCH v2 00/15] ahci-test preliminary refactoring John Snow
2015-02-12 15:51 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1421698563-6977-1-git-send-email-jsnow@redhat.com \
--to=jsnow@redhat.com \
--cc=armbru@redhat.com \
--cc=kwolf@redhat.com \
--cc=marc.mari.barcelo@gmail.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).