From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45979) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W0fAZ-0003yY-Gr for qemu-devel@nongnu.org; Tue, 07 Jan 2014 17:30:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W0fAU-0006V0-Lm for qemu-devel@nongnu.org; Tue, 07 Jan 2014 17:30:43 -0500 Received: from [2a03:4000:1::4e2f:c7ac:d] (port=57075 helo=v220110690675601.yourvserver.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W0fAU-0006Uu-Dt for qemu-devel@nongnu.org; Tue, 07 Jan 2014 17:30:38 -0500 Message-ID: <52CC8006.9030305@weilnetz.de> Date: Tue, 07 Jan 2014 23:30:30 +0100 From: Stefan Weil MIME-Version: 1.0 References: <1389113488-18005-1-git-send-email-peter.maydell@linaro.org> In-Reply-To: <1389113488-18005-1-git-send-email-peter.maydell@linaro.org> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/4] disas: add libvixl to support A64 disassembly List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell , qemu-devel@nongnu.org Cc: patches@linaro.org, Alexander Graf , Blue Swirl , Claudio Fontana , Aurelien Jarno , Anthony Liguori , =?ISO-8859-15?Q?Alex_Benn=E9e?= , kvmarm@lists.cs.columbia.edu, Christoffer Dall , Richard Henderson Am 07.01.2014 17:51, schrieb Peter Maydell: > 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. > > 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 Hi, here are some first annotations. --- Git complains because patch 3 adds blank lines at EOF: Applying: disas: add libvixl source code for AArch64 A64 disassembler /home/stefan/src/qemu/qemu.org/a64-vixl/.git/rebase-apply/patch:1382: new blank line at EOF. + /home/stefan/src/qemu/qemu.org/a64-vixl/.git/rebase-apply/patch:11354: new blank line at EOF. + warning: 2 lines add whitespace errors. --- I'd prefer one file disas/aarch64.cc instead of these two files: disas/aarch64-cxx.cc | 80 +++++++++++++++++++++++++++++++++++++++++++ disas/aarch64.c | 39 +++++++++++++++++++++ This would also allow removing the extern statement in the C++ code (and use a local function). --- Spelling bugs: disas/libvixl/src/a64/constants-a64.h:/* Add/substract extend */ substract ==> subtract --- Compiler warnings (w32, w64): CXX disas/aarch64-cxx.o In file included from /home/stefan/src/qemu/qemu.org/a64-vixl/disas/libvixl/src/a64/simulator-a64.h:32:0, from /home/stefan/src/qemu/qemu.org/a64-vixl/disas/aarch64-cxx.cc:25: /home/stefan/src/qemu/qemu.org/a64-vixl/disas/libvixl/src/a64/instructions-a64.h:60:36: warning: left shift coun t >= width of type [enabled by default] (more of that kind for disas/libvixl/src/a64/instructions-a64.o) These warnings are caused by Windows sizeof(long) == 4, so 1L has to be replaced by 1LL or 1ULL to represent a 64 bit value, or use a type cast like (int64_t)1. --- I tested cross compilation for w32 and w64 (see comments below) and started the w32 executable (wine bin/debug/i686-w64-mingw32/aarch64-softmmu/qemu-system-aarch64 -L pc-bios --sdl). Regards Stefan