1. 15 7月, 2015 11 次提交
  2. 14 7月, 2015 14 次提交
  3. 13 7月, 2015 6 次提交
  4. 10 7月, 2015 2 次提交
    • P
      Update version for v2.4.0-rc0 release · 6169b602
      Peter Maydell 提交于
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      6169b602
    • P
      tci: Fix compile failure by including qemu-common.h · 16c1321b
      Peter Maydell 提交于
      Compilation of TCI was accidentally broken by the recent disassembler
      changes:
      
        CC    x86_64-softmmu/arch_init.o
      In file included from target-i386/cpu-qom.h:23:0,
                       from target-i386/cpu.h:986,
                       from include/qemu-common.h:122,
                       from include/disas/bfd.h:12,
                       from disas/tci.c:20:
      include/qom/cpu.h:178:43: error: unknown type name ‘disassemble_info’
           void (*disas_set_info)(CPUState *cpu, disassemble_info *info);
                                                 ^
      include/qom/cpu.h:179:1: error:
      no semicolon at end of struct or union [-Werror]
       } CPUClass;
       ^
      cc1: all warnings being treated as errors
      
      The underlying cause of this is an include loop:
       bfd.h -> qemu-common.h -> target-arm/cpu.h ->  target-arm/cpu-qom.h
        -> qom/cpu.h -> bfd.h
      
      which means that if bfd.h is included first then qom/cpu.h doesn't
      get the definition of the disassemble_info type that it wanted.
      The easiest fix for this is to include qemu-common.h from tci.c
      before including disas/bfd.h.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      16c1321b
  5. 09 7月, 2015 7 次提交
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · a9dc4cf9
      Peter Maydell 提交于
      Fixes for two bad bugs.  For 2.4-rc0.
      
      # gpg: Signature made Thu Jul  9 15:54:19 2015 BST using RSA key ID 78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
      # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
      # gpg:          It is not certain that the signature belongs to the owner.
      # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
      #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
      
      * remotes/bonzini/tags/for-upstream:
        crypto: fix builtin qcrypto_cipher_free
        migration: fix RCU deadlock
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      a9dc4cf9
    • P
      crypto: fix builtin qcrypto_cipher_free · 4f4f6976
      Paolo Bonzini 提交于
      This was dereferencing a pointer before checking if it was NULL.
      Reported-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Reported-by: NAurelien Jarno <aurelien@aurel32.net>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      4f4f6976
    • P
      Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-peter' into staging · 03262486
      Peter Maydell 提交于
      QOM CPUState and X86CPU
      
      * Further QOM'ification of CPU initialization
      * Propagation of CPUState arguments and elimination of ENV_GET_CPU() usage
      * cpu_set_pc() abstraction
      * CPUClass::disas_set_info() hook
      
      # gpg: Signature made Thu Jul  9 14:23:12 2015 BST using RSA key ID 3E7E013F
      # gpg: Good signature from "Andreas Färber <afaerber@suse.de>"
      # gpg:                 aka "Andreas Färber <afaerber@suse.com>"
      
      * remotes/afaerber/tags/qom-cpu-for-peter: (22 commits)
        disas: cris: QOMify target specific disas setup
        disas: cris: Fix 0 buffer length case
        disas: microblaze: QOMify target specific disas setup
        disas: arm: QOMify target specific disas setup
        disas: arm-a64: Make printfer and stream variable
        disas: QOMify target specific setup
        disas: Add print_insn to disassemble info
        microblaze: boot: Use cpu_set_pc()
        hw/arm/boot: Use cpu_set_pc()
        gdbstub: Use cpu_set_pc() helper
        cpu: Add wrapper for the set_pc() hook
        cpu-exec: Purge all uses of ENV_GET_CPU()
        cpu: Change cpu_exec_init() arg to cpu, not env
        cpu: Change tcg_cpu_exec() arg to cpu, not env
        gdbstub: Change gdbserver_fork() to accept cpu instead of env
        translate-all: Change tb_flush() env argument to cpu
        target-ppc: Move cpu_exec_init() call to realize function
        cpu: Convert cpu_index into a bitmap
        cpu: Add Error argument to cpu_exec_init()
        cpu: Reorder cpu->as, cpu->thread_id, cpu->memory_dispatch init
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      03262486
    • P
      disas: cris: QOMify target specific disas setup · 6b625fde
      Peter Crosthwaite 提交于
      Move the target_disas() cris specifics to the QOM disas_set_info() hook
      and delete the cris specific code in disas.c.
      
      This also now adds support for monitor_disas() to cris.
      
      E.g.
      (qemu) xp 0x40004000
      0000000040004000: 0x1e6f25f0
      
      And before this patch:
      (qemu) xp/i 0x40004000
      0x40004000: Asm output not supported on this arch
      
      After:
      (qemu) xp/i 0x40004000
      0x40004000:  di
      (qemu) xp/i 0x40004002
      0x40004002:  move.d 0xb003c004,$r1
      
      Note: second example is 6-byte misaligned instruction!
      Reviewed-by: NEdgar E. Iglesias <edgar.iglesias@xilinx.com>
      Signed-off-by: NPeter Crosthwaite <crosthwaite.peter@gmail.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      6b625fde
    • P
      disas: cris: Fix 0 buffer length case · 51d373cf
      Peter Crosthwaite 提交于
      Cris has the complication of variable length instructions and has
      a check in place to clamp memory reads in case the disas request
      doesn't have enough bytes for the instruction being disas'd. This
      breaks down in the case where disassembling for the monitor where
      the buffer length is defaulted to 0.
      
      The buffer length should never be zero for a regular target_disas,
      so we can safely assume the 0 case is for the monitor in which case
      consider the buffer length to be the max for cris instructions.
      Reviewed-by: NEdgar E. Iglesias <edgar.iglesias@xilinx.com>
      Signed-off-by: NPeter Crosthwaite <crosthwaite.peter@gmail.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      51d373cf
    • P
      disas: microblaze: QOMify target specific disas setup · efc6674b
      Peter Crosthwaite 提交于
      Move the target_disas() MB specifics to the QOM disas_set_info hook
      and delete the MB specific code in disas.c.
      
      This also now adds support for monitor_disas() to Microblaze.
      
      E.g.
      (qemu) xp 0x90000000
      0000000090000000: 0x94208001
      
      And before this patch:
      (qemu) xp/i 0x90000000
      0x90000000: Asm output not supported on this arch
      
      After:
      (qemu) xp/i 0x90000000
      0x90000000:  mfs    r1, rmsr
      Reviewed-by: NEdgar E. Iglesias <edgar.iglesias@xilinx.com>
      Signed-off-by: NPeter Crosthwaite <crosthwaite.peter@gmail.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      efc6674b
    • P
      disas: arm: QOMify target specific disas setup · 48440620
      Peter Crosthwaite 提交于
      Move the target_disas() ARM specifics to the QOM disas_set_info hook
      and delete the ARM specific code in disas.c.
      
      This has the extra advantage of the more fully featured target_disas()
      implementation now applying to monitor_disas().
      
      Currently, target_disas() has multi-endian, thumb and AArch64
      support whereas the existing monitor_disas() support only has vanilla
      AA32 support.
      
      E.G. Running an AA64 linux kernel the following -d in_asm disas happens
      (taget_disas()):
      
      IN:
      0x0000000040000000:  580000c0      ldr x0, pc+24 (addr 0x40000018)
      0x0000000040000004:  aa1f03e1      mov x1, xzr
      
      However before this patch, disasing the same from the monitor:
      
      (qemu) xp/i 0x40000000
      0x0000000040000000:  580000c0      stmdapl  r0, {r6, r7}
      
      After this patch:
      (qemu) xp/i 0x40000000
      0x0000000040000000:  580000c0      ldr x0, pc+24 (addr 0x40000018)
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Crosthwaite <crosthwaite.peter@gmail.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      48440620