From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Peter Crosthwaite" <peter.crosthwaite@xilinx.com>,
patches@linaro.org, "Michael Matz" <matz@suse.de>,
"Alexander Graf" <agraf@suse.de>,
"Claudio Fontana" <claudio.fontana@linaro.org>,
"Dirk Mueller" <dmueller@suse.de>,
"Will Newton" <will.newton@linaro.org>,
"Laurent Desnogues" <laurent.desnogues@gmail.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
kvmarm@lists.cs.columbia.edu,
"Christoffer Dall" <christoffer.dall@linaro.org>,
"Richard Henderson" <rth@twiddle.net>
Subject: [Qemu-devel] [PATCH v3 0/5] disas: add libvixl to support A64 disassembly
Date: Wed, 5 Feb 2014 17:28:32 +0000 [thread overview]
Message-ID: <1391621317-7866-1-git-send-email-peter.maydell@linaro.org> (raw)
Hi. This is a rebased and mildly cleaned up version of Claudio's
RFC patchset from last year to add libvixl to QEMU and use it
for A64 disassembly.
Since this has now got review and the only change is adding
the README I'm planning to put it in my next target-arm pull
request.
Paolo: just a heads-up: I have a feeling the rules.mak changes
clash slightly with the ones in your modules patches.
NOTE NOTE NOTE
* we now link with g++, not gcc (even if the target doesn't
happen to need the A64 disassembler, since it's a bit hard
to tell whether there's a C++-source .o file in the link)
* I've tested Linux (including static link of linux-user) and
MacOS hosts, but not Windows
Changes v2 -> v3:
* added a README clarifying that libvixl's disassembly support
is not complete and that contributions should go to libvixl
upstream first for preference
Changes v1 -> v2:
* fixed minor libvixl bugs that meant it didn't build on 32 bit
hosts or on Windows
* only import the files we need from libvixl, rather than
pulling in 10000 lines of code we never even compile
* merge aarch64-cxx.cc and aarch64.c into one file
* rename 'aarch64' to 'A64' since the instruction set we're
disassembling here is named A64, not AArch64
* tidied the makefiles a little so we only apply the libvixl
specific flags to those files
Changes RFC -> v1:
* some support for C++ compilation is already in master, so
the rules.mak changes are smaller and simpler
* I've fixed the output to better fit in a qemu debug log trace
* I simplified the interface between aarch64-cxx.cc and aarch64.c
a little bit
* correctly handle the "no C++ compiler, so no A64 disassembler"
build case
* added support for using this as a disassembler for A64 targets
as well as hosts
You can find a git tree here:
git://git.linaro.org/people/peter.maydell/qemu-arm.git a64-vixl
web UI:
https://git.linaro.org/people/peter.maydell/qemu-arm.git/shortlog/refs/heads/a64-vixl
Claudio Fontana (1):
disas: Implement disassembly output for A64
Peter Maydell (4):
rules.mak: Support .cc as a C++ source file suffix
rules.mak: Link with C++ if we have a C++ compiler
disas: Add subset of libvixl sources for A64 disassembler
disas/libvixl: Fix upstream libvixl compilation issues
configure | 4 +
disas.c | 14 +-
disas/Makefile.objs | 5 +
disas/arm-a64.cc | 87 ++
disas/libvixl/LICENCE | 30 +
disas/libvixl/Makefile.objs | 8 +
disas/libvixl/README | 12 +
disas/libvixl/a64/assembler-a64.h | 1784 +++++++++++++++++++++++++++++++++
disas/libvixl/a64/constants-a64.h | 1104 ++++++++++++++++++++
disas/libvixl/a64/cpu-a64.h | 56 ++
disas/libvixl/a64/decoder-a64.cc | 712 +++++++++++++
disas/libvixl/a64/decoder-a64.h | 198 ++++
disas/libvixl/a64/disasm-a64.cc | 1678 +++++++++++++++++++++++++++++++
disas/libvixl/a64/disasm-a64.h | 109 ++
disas/libvixl/a64/instructions-a64.cc | 238 +++++
disas/libvixl/a64/instructions-a64.h | 344 +++++++
disas/libvixl/globals.h | 65 ++
disas/libvixl/platform.h | 43 +
disas/libvixl/utils.cc | 120 +++
disas/libvixl/utils.h | 126 +++
include/disas/bfd.h | 1 +
rules.mak | 14 +-
target-arm/translate-a64.c | 2 +-
23 files changed, 6748 insertions(+), 6 deletions(-)
create mode 100644 disas/arm-a64.cc
create mode 100644 disas/libvixl/LICENCE
create mode 100644 disas/libvixl/Makefile.objs
create mode 100644 disas/libvixl/README
create mode 100644 disas/libvixl/a64/assembler-a64.h
create mode 100644 disas/libvixl/a64/constants-a64.h
create mode 100644 disas/libvixl/a64/cpu-a64.h
create mode 100644 disas/libvixl/a64/decoder-a64.cc
create mode 100644 disas/libvixl/a64/decoder-a64.h
create mode 100644 disas/libvixl/a64/disasm-a64.cc
create mode 100644 disas/libvixl/a64/disasm-a64.h
create mode 100644 disas/libvixl/a64/instructions-a64.cc
create mode 100644 disas/libvixl/a64/instructions-a64.h
create mode 100644 disas/libvixl/globals.h
create mode 100644 disas/libvixl/platform.h
create mode 100644 disas/libvixl/utils.cc
create mode 100644 disas/libvixl/utils.h
--
1.8.5
next reply other threads:[~2014-02-05 17:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-05 17:28 Peter Maydell [this message]
2014-02-05 17:28 ` [Qemu-devel] [PATCH v3 1/5] rules.mak: Support .cc as a C++ source file suffix Peter Maydell
2014-02-05 17:28 ` [Qemu-devel] [PATCH v3 2/5] rules.mak: Link with C++ if we have a C++ compiler Peter Maydell
2014-02-05 17:28 ` [Qemu-devel] [PATCH v3 3/5] disas: Add subset of libvixl sources for A64 disassembler Peter Maydell
2014-02-05 17:28 ` [Qemu-devel] [PATCH v3 4/5] disas/libvixl: Fix upstream libvixl compilation issues Peter Maydell
2014-02-05 17:28 ` [Qemu-devel] [PATCH v3 5/5] disas: Implement disassembly output for A64 Peter Maydell
2014-02-06 13:45 ` [Qemu-devel] [PATCH v3 0/5] disas: add libvixl to support A64 disassembly Michael Matz
2014-02-06 13:51 ` Peter Maydell
2014-02-06 13:54 ` Michael Matz
2014-02-06 14:04 ` Christopher Covington
2014-02-06 14:20 ` Michael Matz
2014-02-06 14:05 ` Peter Maydell
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=1391621317-7866-1-git-send-email-peter.maydell@linaro.org \
--to=peter.maydell@linaro.org \
--cc=agraf@suse.de \
--cc=alex.bennee@linaro.org \
--cc=christoffer.dall@linaro.org \
--cc=claudio.fontana@linaro.org \
--cc=dmueller@suse.de \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=laurent.desnogues@gmail.com \
--cc=matz@suse.de \
--cc=patches@linaro.org \
--cc=pbonzini@redhat.com \
--cc=peter.crosthwaite@xilinx.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=will.newton@linaro.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 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).