1. 15 Jul, 2013 3 commits
    • Kevin Wolf's avatar
      block: Don't parse protocol from file.filename · 98289620
      Kevin Wolf authored
      
      
      One of the major reasons for doing something new for -blockdev and
      blockdev-add was that the old block layer code parses filenames instead
      of just taking them literally. So we should really leave it untouched
      when it's passing using the new interfaces (like -drive
      file.filename=...).
      
      This allows opening relative file names that contain a colon.
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      98289620
    • Stefan Hajnoczi's avatar
      block: add drive_backup HMP command · de90930a
      Stefan Hajnoczi authored
      
      
      Make "drive_backup" available on the HMP monitor:
      
        drive_backup [-n] [-f] device target [format]
      
      The -n flag requests QEMU to reuse the image found in new-image-file,
      instead of recreating it from scratch.
      
      The -f flag requests QEMU to copy the whole disk, so that the result
      does not need a backing file.  Note that this flag *must* currently be
      passed since the other sync modes ('none' and 'top') have not been
      implemented yet.  Requiring it ensures that "drive_backup" behaves like
      "drive_mirror".
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      de90930a
    • Stefan Hajnoczi's avatar
      blockdev: add sync mode to drive-backup QMP command · b53169ea
      Stefan Hajnoczi authored
      
      
      The drive-backup command is similar to the drive-mirror command, except
      no guest data written after the command executes gets copied.  Add a
      sync mode argument which determines whether the entire disk is copied,
      just allocated clusters, or only clusters being written to by the guest.
      
      Currently only sync mode 'full' is supported - it copies the entire disk.
      For read-only point-in-time snapshots we may only need sync mode 'none'
      since the target can be a qcow2 file using the guest's disk as its
      backing file (no need to copy the entire disk).  Finally, sync mode
      'top' is useful if we wish to preserve the backing chain.
      
      Note that this patch just adds the sync mode argument to drive-backup.
      It does not implement sync modes 'top' or 'none'.  This patch is
      necessary so we can add a drive-backup HMP command that behaves like the
      existing drive-mirror HMP command and takes a sync mode.
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      b53169ea
  2. 12 Jul, 2013 2 commits
    • Anthony Liguori's avatar
      ioport: remove LITTLE_ENDIAN mark for portio · c3cb8e77
      Anthony Liguori authored
      
      
      Setting it to LE forces a byte swap when host != guest endian but
      this makes no sense at all.
      
      Herve made the suggestion upon observing that word writes/reads
      were broken into byte writes/reads in such a way as to assume
      devices are interpret registers as LE.
      
      However, even if this were a problem, marking the region as LE is
      not useful because what's essentially happening here is that LE is
      open coded.  So by marking it LE in MemoryRegionOps, we're doing a
      superflous swap.
      
      Now, the portio code is suspicious to begin with.  The dispatch
      layer really has no purpose in splitting I/O requests in the first
      place...
      
      Cc: Hervé Poussineau <hpoussin@reactos.org>
      Cc: Alex Graf <agraf@suse.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      c3cb8e77
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging · 25ca6a1f
      Anthony Liguori authored
      
      
      # By Alexander Graf (16) and others
      # Via Alexander Graf
      * agraf/ppc-for-upstream: (22 commits)
        PPC: dbdma: Support more multi-issue DMA requests
        PPC: Add timer handler for newworld mac-io
        PPC: dbdma: Support unaligned DMA access
        PPC: dbdma: Wait for DMA until we have data
        PPC: dbdma: Move processing to io
        PPC: dbdma: macio: Add DMA callback
        PPC: dbdma: Move static bh variable to device struct
        PPC: dbdma: Introduce kick function
        PPC: dbdma: Move defines into header file
        PPC: dbdma: Allow new commands in RUN state
        PPC: dbdma: Fix debug print
        PPC: Mac: Add debug prints in macio and dbdma code
        PPC: dbdma: Replace tabs with spaces
        PPC: Macio: Replace tabs with spaces
        PPC: g3beige: Move secondary IDE bus to mac-io
        PPC: Mac: Fix guest exported tbfreq values
        target-ppc: Add POWER8 v1.0 CPU model
        pseries: move interrupt controllers to hw/intc/
        spapr: Respect -bios command line option for SLOF
        spapr: Use named enum for function remove_hpte
        ...
      
      Message-id: 1373562085-29728-1-git-send-email-agraf@suse.de
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      25ca6a1f
  3. 11 Jul, 2013 22 commits
  4. 10 Jul, 2013 11 commits
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'luiz/queue/qmp' into staging · c170a23c
      Anthony Liguori authored
      
      
      # By Kevin Wolf (4) and others
      # Via Luiz Capitulino
      * luiz/queue/qmp:
        add timestamp to error_report()
        qapi-schema: Use existing type for drive-backup arguments
        qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync
        qapi.py: Allow top-level type reference for command definitions
        qapi.py: Avoid code duplication
        qemu-char: Fix ringbuf option size
      
      Message-id: 1373478767-20965-1-git-send-email-lcapitulino@redhat.com
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      c170a23c
    • Seiji Aguchi's avatar
      add timestamp to error_report() · 5e2ac519
      Seiji Aguchi authored
      
      
      [Issue]
      When we offer a customer support service and a problem happens
      in a customer's system, we try to understand the problem by
      comparing what the customer reports with message logs of the
      customer's system.
      
      In this case, we often need to know when the problem happens.
      
      But, currently, there is no timestamp in qemu's error messages.
      Therefore, we may not be able to understand the problem based on
      error messages.
      
      [Solution]
      Add a timestamp to qemu's error message logged by
      error_report() with g_time_val_to_iso8601().
      Signed-off-by: default avatarSeiji Aguchi <seiji.aguchi@hds.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      5e2ac519
    • Kevin Wolf's avatar
      qapi-schema: Use existing type for drive-backup arguments · f53cae50
      Kevin Wolf authored
      
      
      This removes duplicated definitions and documentation by reusing the
      existing data type.
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      f53cae50
    • Kevin Wolf's avatar
      qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync · 852ad1a9
      Kevin Wolf authored
      
      
      We don't have to duplicate the definition any more now that we may refer
      to a type instead.
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      852ad1a9
    • Kevin Wolf's avatar
      qapi.py: Allow top-level type reference for command definitions · b35284ea
      Kevin Wolf authored
      
      
      If 'data' for a command definition isn't a dict, but a string, it is
      taken as a (struct) type name and the fields of this struct are directly
      used as parameters.
      
      This is useful for transactionable commands that can use the same type
      definition for both the transaction action and the arguments of the
      standalone command.
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      b35284ea
    • Kevin Wolf's avatar
      qapi.py: Avoid code duplication · bd9927fe
      Kevin Wolf authored
      
      
      The code that interprets the read JSON expression and appends types to
      the respective global variables was duplicated. We can avoid that by
      splitting off the part that reads from the file.
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      bd9927fe
    • Markus Armbruster's avatar
      qemu-char: Fix ringbuf option size · 0f953051
      Markus Armbruster authored
      Any attempt to use it trips an "opt->desc->type == QEMU_OPT_NUMBER"
      assertion.  Broken in commit 1da48c65
      
      .
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      0f953051
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging · 51455c59
      Anthony Liguori authored
      QOM CPUState refactorings
      
      * Fix for OpenRISCCPU subclasses
      * Fix for gdbstub CPU selection
      * Move linux-user CPU functions into new header
      * CPUState part 10 refactoring: first_cpu, next_cpu, cpu_single_env et al.
      * Fix some targets to consistently inline TCG code generation
      * Centrally log CPU reset
      
      # gpg: Signature made Wed 10 Jul 2013 07:52:39 AM CDT using RSA key ID 3E7E013F
      # gpg: Can't check signature: public key not found
      
      # By Andreas Färber (41) and others
      # Via Andreas Färber
      * afaerber/tags/qom-cpu-for-anthony: (43 commits)
        cpu: Move reset logging to CPUState
        target-ppc: Change LOG_MMU_STATE() argument to CPUState
        target-i386: Change LOG_PCALL_STATE() argument to CPUState
        log: Change log_cpu_state[_mask]() argument to CPUState
        target-i386: Change do_smm_enter() argument to X86CPU
        target-i386: Change do_interrupt_all() argument to X86CPU
        target-xtensa: Change gen_intermediate_code_internal() arg to XtensaCPU
        target-unicore32: Change gen_intermediate_code_internal() signature
        target-sparc: Change gen_intermediate_code_internal() argument to SPARCCPU
        target-sh4: Change gen_intermediate_code_internal() argument to SuperHCPU
        target-s390x: Change gen_intermediate_code_internal() argument to S390CPU
        target-ppc: Change gen_intermediate_code_internal() argument to PowerPCCPU
        target-mips: Change gen_intermediate_code_internal() argument to MIPSCPU
        target-microblaze: Change gen_intermediate_code_internal() argument types
        target-m68k: Change gen_intermediate_code_internal() argument to M68kCPU
        target-lm32: Change gen_intermediate_code_internal() argument to LM32CPU
        target-i386: Change gen_intermediate_code_internal() argument to X86CPU
        target-cris: Change gen_intermediate_code_internal() argument to CRISCPU
        target-arm: Change gen_intermediate_code_internal() argument to ARMCPU
        target-alpha: Change gen_intermediate_code_internal() argument to AlphaCPU
        ...
      51455c59
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging · 9f9a03b9
      Anthony Liguori authored
      
      
      # By Andreas Schwab (2) and others
      # Via Riku Voipio
      * riku/linux-user-for-upstream:
        linux-user: Do not ignore mmap failure from host
        linux-user: improve target_to_host_sock_type conversion
        user-exec.c: Set is_write correctly in the ARM cpu_signal_handler()
        linux-user: Fix sys_utimensat (would not compile on old glibc)
        linux-user: fix signal number range check
        linux-user: add SIOCADDRT/SIOCDELRT support
        linux-user: handle /proc/$$ like /proc/self
      
      Message-id: cover.1373051589.git.riku.voipio@linaro.org
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      9f9a03b9
    • Anthony Liguori's avatar
      Merge remote-tracking branch 'rth/tcg-next' into staging · 6272d17c
      Anthony Liguori authored
      
      
      # By Richard Henderson
      # Via Richard Henderson
      * rth/tcg-next:
        tcg-arm: Implement tcg_register_jit
        tcg-i386: Use QEMU_BUILD_BUG_ON instead of assert for frame size
        tcg: Move the CIE and FDE header definitions to common code
        tcg: Fix high_pc fields in .debug_info
        tcg-arm: Use AT_PLATFORM to detect the host ISA
        tcg-arm: Simplify logic in detecting the ARM ISA in use
        tcg-arm: Rename use_armv5_instructions to use_armvt5_instructions
        tcg-arm: Make use of conditional availability of opcodes for divide
        tcg: Simplify logic using TCG_OPF_NOT_PRESENT
        tcg: Allow non-constant control macros
        tcg-ppc64: Don't implement rem
        tcg-ppc: Don't implement rem
        tcg-arm: Don't implement rem
        tcg: Split rem requirement from div requirement
        tcg: Add myself to general TCG maintainership
      
      Message-id: 1373379515-28596-1-git-send-email-rth@twiddle.net
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      6272d17c
    • Peter Crosthwaite's avatar
      qom: Fix class cast of NULL classes · 9d6a3d58
      Peter Crosthwaite authored
      
      
      Its clear from the implementation that class casting is supposed to work
      with a NULL class argument. Guard all dereferences of the class argument
      against NULL accordingly.
      Signed-off-by: default avatarPeter Crosthwaite <peter.crosthwaite@xilinx.com>
      Message-id: 94cd5ba46b74eea289a7e582635820c1c54e66fa.1371546907.git.peter.crosthwaite@xilinx.com
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      9d6a3d58
  5. 09 Jul, 2013 2 commits