qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 0/2] disas/libvixl: Update to VIXL 1.7


From: Peter Maydell
Subject: [Qemu-devel] [PATCH 0/2] disas/libvixl: Update to VIXL 1.7
Date: Mon, 26 Jan 2015 12:19:37 +0000

This patchseries brings our copy of libvixl up to upstream's
1.7 release. Patch 1 is the usual straight copy of upstream's
files into our tree (note that this includes a fix for the compile
warnings we previously dealt with locally in commit 94cc44a9e5).
Patch 2 uses a new-in-1.7 feature to correct our disassembly of
target addresses for relative jumps and offsets:

    Previous disassembly:
    
    0x0000000040000000:  580000c0      ldr x0, pc+24 (addr 0x7f6cb7020434)
    0x0000000040000004:  aa1f03e1      mov x1, xzr
    0x0000000040000008:  aa1f03e2      mov x2, xzr
    0x000000004000000c:  aa1f03e3      mov x3, xzr
    0x0000000040000010:  58000084      ldr x4, pc+16 (addr 0x7f6cb702042c)
    0x0000000040000014:  d61f0080      br x4
    
    Fixed disassembly:
    0x0000000040000000:  580000c0      ldr x0, pc+24 (addr 0x40000018)
    0x0000000040000004:  aa1f03e1      mov x1, xzr
    0x0000000040000008:  aa1f03e2      mov x2, xzr
    0x000000004000000c:  aa1f03e3      mov x3, xzr
    0x0000000040000010:  58000084      ldr x4, pc+16 (addr 0x40000020)
    0x0000000040000014:  d61f0080      br x4

(previous versions of vixl assumed that the host address of the
instruction was the address the ARM CPU would see, since the primary
usecase was disassembly of code generated by JITs targeting AArch64.)

Peter Maydell (2):
  disas/libvixl: Update to upstream VIXL 1.7
  disas/arm-a64.cc: Tell libvixl correct code addresses

 disas/arm-a64.cc                      |   9 +-
 disas/libvixl/README                  |   2 +-
 disas/libvixl/a64/assembler-a64.h     | 290 +++++++++++++++++++++-------------
 disas/libvixl/a64/constants-a64.h     |  61 +++++--
 disas/libvixl/a64/decoder-a64.h       |   2 +-
 disas/libvixl/a64/disasm-a64.cc       | 142 ++++++++++++++---
 disas/libvixl/a64/disasm-a64.h        |  48 ++++--
 disas/libvixl/a64/instructions-a64.cc |  63 ++++++++
 disas/libvixl/a64/instructions-a64.h  | 110 ++++++++-----
 disas/libvixl/globals.h               |   2 +-
 disas/libvixl/utils.cc                |  13 ++
 disas/libvixl/utils.h                 |  14 +-
 12 files changed, 543 insertions(+), 213 deletions(-)

-- 
1.9.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]