From: Alexander Spyridakis <a.spyridakis@virtualopensystems.com>
To: qemu-devel@nongnu.org
Cc: mttcg@listserver.greensocs.com, jani.kokkonen@huawei.com,
tech@virtualopensystems.com, claudio.fontana@huawei.com
Subject: [Qemu-devel] [PATCH RFC 0/2] virt bare-metal payload infrastructure with atomic test case
Date: Thu, 7 May 2015 13:31:40 +0200 [thread overview]
Message-ID: <1430998302-31502-1-git-send-email-a.spyridakis@virtualopensystems.com> (raw)
This series implements a bare-metal test payload for the ARM and AARCH64 virt
machine models. With the new direction of TCG to finally get multi-threaded
capabilities, simple and easily deployed tests are needed, to reproduce race
conditions and intuitively debug QEMU's TCG internals.
The goal of the series is to provide an easy way to create SMP guest test cases
with minimal initialization. In its current state the provided features are,
SMP functionality through PSCI calls, a simple spinlock test-case, and
a minimal printf implementation based on the multiboot test. Parts of this
payload have been also tested with normal hosts, as well as KVM guests.
For the example spinlock test, racing errors could not be reproduced in
the default single-threaded TCG, even with a non-atomic lock. In KVM the
expected behaviour of no errors with regular locks, and some errors with
a non-atomic lock was observed. Next steps are to test multi-threaded TCG
with this kind of payloads, extend the infrastructure to more complex and
sensitive test cases, as well as support different architectures.
This work has been sponsored by Huawei Technologies Dusseldorf GmbH.
Alexander Spyridakis (2):
atomic-test: Implement ARM and AARCH64 basic bare-metal infrastructure
atomic-test: Add spinlock test case
tests/atomic-test/Makefile | 66 +++++++++++++++++++
tests/atomic-test/helpers.c | 105 +++++++++++++++++++++++++++++
tests/atomic-test/helpers.h | 48 ++++++++++++++
tests/atomic-test/link.ld.S | 19 ++++++
tests/atomic-test/main.c | 65 ++++++++++++++++++
tests/atomic-test/printf.c | 157 ++++++++++++++++++++++++++++++++++++++++++++
tests/atomic-test/start.S | 54 +++++++++++++++
7 files changed, 514 insertions(+)
create mode 100644 tests/atomic-test/Makefile
create mode 100644 tests/atomic-test/helpers.c
create mode 100644 tests/atomic-test/helpers.h
create mode 100644 tests/atomic-test/link.ld.S
create mode 100644 tests/atomic-test/main.c
create mode 100644 tests/atomic-test/printf.c
create mode 100644 tests/atomic-test/start.S
--
2.1.4
next reply other threads:[~2015-05-07 11:32 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-07 11:31 Alexander Spyridakis [this message]
2015-05-07 11:31 ` [Qemu-devel] [PATCH RFC 1/2] atomic-test: Implement ARM and AARCH64 basic bare-metal infrastructure Alexander Spyridakis
2015-05-07 11:31 ` [Qemu-devel] [PATCH 2/2] atomic-test: Add spinlock test case Alexander Spyridakis
2015-05-11 10:17 ` Andrew Jones
2015-05-11 10:41 ` Alexander Spyridakis
2015-05-07 12:55 ` [Qemu-devel] [PATCH RFC 0/2] virt bare-metal payload infrastructure with atomic " Paolo Bonzini
2015-05-11 10:58 ` Alexander Spyridakis
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=1430998302-31502-1-git-send-email-a.spyridakis@virtualopensystems.com \
--to=a.spyridakis@virtualopensystems.com \
--cc=claudio.fontana@huawei.com \
--cc=jani.kokkonen@huawei.com \
--cc=mttcg@listserver.greensocs.com \
--cc=qemu-devel@nongnu.org \
--cc=tech@virtualopensystems.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).