Skip to content
Snippets Groups Projects
  1. Feb 07, 2017
    • Julian Brown's avatar
      Fix Thumb-1 BE32 execution and disassembly. · f7478a92
      Julian Brown authored
      
      Thumb-1 code has some issues in BE32 mode (as currently implemented). In
      short, since bytes are swapped within words at load time for BE32
      executables, this also swaps pairs of adjacent Thumb-1 instructions.
      
      This patch un-swaps those pairs of instructions again, both for execution,
      and for disassembly. (The previous version of the patch always read four
      bytes in arm_read_memory_func and then extracted the proper two bytes,
      in a probably misguided attempt to match the behaviour of actual hardware
      as described by e.g. the ARM9TDMI TRM, section 3.3 "Endian effects for
      instruction fetches". It's less complicated to just read the correct
      two bytes though.)
      
      Signed-off-by: default avatarJulian Brown <julian@codesourcery.com>
      Message-id: ca20462a044848000370318a8bd41dd0a4ed273f.1484929304.git.julian@codesourcery.com
      Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      f7478a92
  2. Jan 23, 2017
  3. Sep 15, 2016
    • Thomas Huth's avatar
      Remove remainders of HPPA backend · d41f3c3c
      Thomas Huth authored
      
      The HPPA backend has been removed by the following commit:
      
          802b5081
          tcg-hppa: Remove tcg backend
      
      But some small pieces of the HPPA backend still survived until
      today. Since we also do not have support for a HPPA target in
      QEMU, we can nowadays safely remove the remaining HPPA parts
      (like the disassembler code, or the detection of HPPA in the
      configure script).
      
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
      d41f3c3c
  4. Feb 04, 2016
    • Peter Maydell's avatar
      all: Clean up includes · d38ea87a
      Peter Maydell authored
      
      Clean up includes so that osdep.h is included first and headers
      which it implies are not included manually.
      
      This commit was created with scripts/clean-includes.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1454089805-5470-16-git-send-email-peter.maydell@linaro.org
      d38ea87a
  5. Oct 22, 2015
  6. Sep 25, 2015
  7. Aug 14, 2015
  8. Jul 09, 2015
  9. Jun 22, 2015
    • Peter Crosthwaite's avatar
      disas: Remove uses of CPU env · d49190c4
      Peter Crosthwaite authored
      
      disas does not need to access the CPU env for any reason. Change the
      APIs to accept CPU pointers instead. Small change pattern needs to be
      applied to all target translate.c. This brings us closer to making
      disas.o a common-obj and less architecture specific in general.
      
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Eduardo Habkost <ehabkost@redhat.com>
      Cc: Michael Walle <michael@walle.cc>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: Leon Alrae <leon.alrae@imgtec.com>
      Cc: Jia Liu <proljc@gmail.com>
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
      Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Reviewed-by: default avatarRichard Henderson <rth@twiddle.net>
      Reviewed-by: default avatarEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: default avatarPeter Crosthwaite <crosthwaite.peter@gmail.com>
      Acked-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      d49190c4
  10. Jun 16, 2014
  11. Feb 08, 2014
    • Claudio Fontana's avatar
      disas: Implement disassembly output for A64 · 999b53ec
      Claudio Fontana authored
      
      Use libvixl to implement disassembly output in debug
      logs for A64, for use with both AArch64 hosts and targets.
      
      Signed-off-by: default avatarClaudio Fontana <claudio.fontana@linaro.org>
      [PMM:
       * added support for target disassembly
       * switched to custom QEMUDisassembler so the output format
         matches what QEMU expects
       * make sure we correctly fall back to "just print hex"
         if we didn't build the AArch64 disassembler because of
         lack of a C++ compiler
       * rename from 'aarch64' to 'arm-a64' because this is a
         disassembler for the A64 instruction set
       * merge aarch64.c and aarch64-cxx.cc into one C++ file
       * simplify the aarch64.c<->aarch64-cxx.cc interface]
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      999b53ec
  12. Aug 24, 2013
  13. Jul 23, 2013
  14. Apr 26, 2013
  15. Apr 15, 2013
  16. Mar 23, 2013
  17. Dec 19, 2012
  18. Nov 10, 2012
  19. Sep 21, 2012
  20. Jul 14, 2012
    • Peter Maydell's avatar
      disas: Fix printing of addresses in disassembly · 636bd289
      Peter Maydell authored
      
      In our disassembly code, the bfd_vma type is always 64 bits,
      even if the target's virtual address width is only 32 bits. This
      means that when we print out addresses we need to truncate them
      to 32 bits, to avoid odd output which has incorrectly sign-extended
      a value to 64 bits, for instance this ARM example:
          0x80479a60:  e59f4088     ldr  r4, [pc, #136]  ; 0xffffffff80479a4f
      
      (It would also be possible to truncate before passing the address
      to info->print_address_func(), but truncating in the final print
      function is the same approach that binutils takes to this problem.)
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarAndreas Färber <afaerber@suse.de>
      Signed-off-by: default avatarBlue Swirl <blauwirbel@gmail.com>
      636bd289
  21. May 14, 2012
    • Jim Meyering's avatar
      fix some common typos · a31f0531
      Jim Meyering authored
      These were identified using: http://github.com/lyda/misspell-check
      
      
      and run like this to create a bourne shell script using GNU sed's
      -i option:
      
      git ls-files|grep -vF .bin | misspellings -f - |grep -v '^ERROR:' |perl \
      -pe 's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
      
      Manually eliding the FP, "rela->real" and resolving "addres" to
      address (not "adders") we get this:
      
        sed -i '450s!thru!through!' Changelog
        sed -i '260s!neccessary!necessary!' coroutine-sigaltstack.c
        sed -i '54s!miniscule!minuscule!' disas.c
        sed -i '1094s!thru!through!' hw/usb/hcd-ehci.c
        sed -i '1095s!thru!through!' hw/usb/hcd-ehci.c
        sed -i '21s!unecessary!unnecessary!' qapi-schema-guest.json
        sed -i '307s!explictly!explicitly!' qemu-ga.c
        sed -i '490s!preceeding!preceding!' qga/commands-posix.c
        sed -i '792s!addres!address!' qga/commands-posix.c
        sed -i '6s!beeing!being!' tests/tcg/test-mmap.c
      
      Also, manually fix "arithmentic", spotted by Peter Maydell:
      
        sed -i 's!arithmentic!arithmetic!' coroutine-sigaltstack.c
      
      Signed-off-by: default avatarJim Meyering <meyering@redhat.com>
      Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      a31f0531
  22. Apr 15, 2012
  23. Apr 06, 2012
    • Paul Brook's avatar
      Userspace ARM BE8 support · d8fd2954
      Paul Brook authored
      
      Add support for ARM BE8 userspace binaries.
      i.e. big-endian data and little-endian code.
      In principle LE8 mode is also possible, but AFAIK has never actually
      been implemented/used.
      
      System emulation doesn't have any useable big-endian board models,
      but should in principle work once you fix that.
      Dynamic endianness switching requires messing with data accesses,
      preferably with TCG cooperation, and is orthogonal to BE8 support.
      
      Signed-off-by: default avatarPaul Brook <paul@codesourcery.com>
      [PMM: various changes, mostly as per my suggestions in code review:
       * rebase
       * use EF_ defines rather than hardcoded constants
       * make bswap_code a bool for future VMSTATE macro compatibility
       * update comment in cpu.h about TB flags bit field usage
       * factor out load-code-and-swap into arm_ld*_code functions and
         get_user_code* macros
       * fix stray trailing space at end of line
       * added braces in disas.c to satisfy checkpatch
      ]
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: default avatarRiku Voipio <riku.voipio@linaro.org>
      d8fd2954
  24. Apr 01, 2012
  25. Mar 14, 2012
  26. Oct 31, 2011
  27. Aug 25, 2011
Loading