Re: [PATCH 0/4] disas: add libvixl to support A64 disassembly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux