From: joserz@linux.vnet.ibm.com
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: peter.maydell@linaro.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RISU PATCH v3 00/10] Record/payback patches
Date: Thu, 22 Dec 2016 23:41:04 -0200 [thread overview]
Message-ID: <20161223014104.GA17985@pacoca> (raw)
In-Reply-To: <20161209114830.9158-1-alex.bennee@linaro.org>
On Fri, Dec 09, 2016 at 11:48:20AM +0000, Alex Bennée wrote:
> Hi,
>
> I did a bunch of tweaking to see if I could abstract the hackage for
> record/replay a bit more. With a little bit of light re-factoring of
> the send and recv functions I can move all the specific send/recv
> logic into the main risu.c file and avoid having copy and pasted
> functions for each architecture.
>
> I've also introduced a header which makes tracking where you are in
> the recorded stream a little easier when debugging.
>
> It should be noted the functions:
>
> int send_register_info(write_fn write_fn, void *uc);
> int recv_and_compare_register_info(read_fn read_fn, respond_fn respond, void *uc);
>
> are pretty identical for each arch. I did consider folding even more
> of the logic into the common code but I wasn't sure if that would
> loose flexibility in the future for other architectures so I left it
> as is.
>
> I've make the same changes to ppc64 although I've been compiling and
> testing under a qemu linux-user environment which might explain why
> I'm seeing crashes when I try and run it. I would appreciate the PPC
> guys trying it on real hardware and debugging if needed.
Sure, I'm starting working on it. I'll try the real hardware, softmmu, and linux-user. I have an idea about what leads to the crash (already have a fix for it). As soon as I have your feature working for ppc I'll send the patches here.
Thanks Alex!
>
> For reference I'm using a linux-user powered docker image (built with
> the debian-bootstrap recipe in the qemu.git tree) for cross compiling:
>
> docker run --rm -it -v /home/alex/lsrc/qemu/risu.git:/src --user=alex:alex -w /src debian:ppc64el make
>
> There have been some minor clean-ups to the helper scripts mainly to
> aid testing by allowing the override of the RISU binary (I have
> risu-arm, risu-arm64 and risu-ppc64 in my development directory).
> Notes in the --- comments on each patch.
>
> Alex Bennée (10):
> risu: a bit more verbosity when running
> aarch64: add hand-coded risu skeleton for directed testing
> risu: paramterise send/receive functions
> risu: add simple trace and replay support
> risu: add support compressed tracefiles
> risu_aarch64: it's -> it is
> risugen: remove grocer's apostrophe from REs
> new: generate_all.sh script
> new: record_traces.sh helper script
> new: run_risu.sh script
>
> Makefile | 10 +-
> aarch64_simd_handcoded.risu.S | 208 ++++++++++++++++++++++++++++++++++++++++++
> configure | 55 +++++++++++
> generate_all.sh | 55 +++++++++++
> record_traces.sh | 20 ++++
> risu.c | 139 ++++++++++++++++++++++++----
> risu.h | 14 ++-
> risu_aarch64.c | 119 +++++++++++++++---------
> risu_arm.c | 148 +++++++++++++++++++-----------
> risu_ppc64le.c | 127 ++++++++++++++++----------
> risu_reginfo_aarch64.h | 7 ++
> risu_reginfo_arm.h | 6 ++
> risu_reginfo_ppc64le.h | 6 ++
> risugen | 2 +-
> run_risu.sh | 53 +++++++++++
> 15 files changed, 805 insertions(+), 164 deletions(-)
> create mode 100644 aarch64_simd_handcoded.risu.S
> create mode 100755 generate_all.sh
> create mode 100755 record_traces.sh
> create mode 100755 run_risu.sh
>
> --
> 2.11.0
>
prev parent reply other threads:[~2016-12-23 1:41 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-09 11:48 [Qemu-devel] [RISU PATCH v3 00/10] Record/payback patches Alex Bennée
2016-12-09 11:48 ` [Qemu-devel] [RISU PATCH v3 01/10] risu: a bit more verbosity when running Alex Bennée
2016-12-16 18:27 ` Peter Maydell
2016-12-09 11:48 ` [Qemu-devel] [RISU PATCH v3 02/10] aarch64: add hand-coded risu skeleton for directed testing Alex Bennée
2016-12-16 18:33 ` Peter Maydell
2016-12-09 11:48 ` [Qemu-devel] [RISU PATCH v3 03/10] risu: paramterise send/receive functions Alex Bennée
2016-12-16 18:54 ` Peter Maydell
2016-12-09 11:48 ` [Qemu-devel] [RISU PATCH v3 04/10] risu: add simple trace and replay support Alex Bennée
2016-12-16 19:00 ` Peter Maydell
2016-12-09 11:48 ` [Qemu-devel] [RISU PATCH v3 05/10] risu: add support compressed tracefiles Alex Bennée
2016-12-16 19:06 ` Peter Maydell
2016-12-09 11:48 ` [Qemu-devel] [RISU PATCH v3 06/10] risu_aarch64: it's -> it is Alex Bennée
2016-12-16 18:36 ` Peter Maydell
2016-12-09 11:48 ` [Qemu-devel] [RISU PATCH v3 07/10] risugen: remove grocer's apostrophe from REs Alex Bennée
2016-12-16 18:37 ` Peter Maydell
2016-12-09 11:48 ` [Qemu-devel] [RISU PATCH v3 08/10] new: generate_all.sh script Alex Bennée
2016-12-09 11:48 ` [Qemu-devel] [RISU PATCH v3 09/10] new: record_traces.sh helper script Alex Bennée
2016-12-09 11:48 ` [Qemu-devel] [RISU PATCH v3 10/10] new: run_risu.sh script Alex Bennée
2016-12-16 19:09 ` [Qemu-devel] [RISU PATCH v3 00/10] Record/payback patches Peter Maydell
2016-12-23 1:41 ` joserz [this message]
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=20161223014104.GA17985@pacoca \
--to=joserz@linux.vnet.ibm.com \
--cc=alex.bennee@linaro.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.