1. 01 2月, 2019 2 次提交
  2. 31 1月, 2019 17 次提交
    • P
      Merge remote-tracking branch 'remotes/vivier2/tags/trivial-branch-pull-request' into staging · e8977901
      Peter Maydell 提交于
      - add device category (edu, i8042, sd memory card)
      - code clean-up
      - LGPL information clean-up
      - fix typo (acpi)
      
      # gpg: Signature made Wed 30 Jan 2019 13:21:50 GMT
      # gpg:                using RSA key F30C38BD3F2FBE3C
      # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
      # gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
      # gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full]
      # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C
      
      * remotes/vivier2/tags/trivial-branch-pull-request:
        virtio-blk: remove duplicate definition of VirtIOBlock *s pointer
        hw/block: clean up stale xen_disk trace entries
        target/m68k: Fix LGPL information in the file headers
        target/s390x: Fix LGPL version in the file header comments
        tcg: Fix LGPL version number
        target/tricore: Fix LGPL version number
        target/openrisc: Fix LGPL version number
        COPYING.LIB: Synchronize the LGPL 2.1 with the version from gnu.org
        Don't talk about the LGPL if the file is licensed under the GPL
        hw: sd: set category of the sd memory card
        hw: input: set category of the i8042 device
        typo: apci->acpi
        hw: edu: set category of the edu device
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      e8977901
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/usb-20190130-pull-request' into staging · aefcd283
      Peter Maydell 提交于
      usb: xhci: fix iso transfers.
      usb: mtp: break up writes, bugfixes.
      usb: fix lgpl info in headers.
      usb: hid: unique serials.
      
      # gpg: Signature made Wed 30 Jan 2019 07:33:21 GMT
      # gpg:                using RSA key 4CB6D8EED3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/usb-20190130-pull-request:
        usb-mtp: replace the homebrew write with qemu_write_full
        usb-mtp: breakup MTP write into smaller chunks
        usb-mtp: Reallocate buffer in multiples of MTP_WRITE_BUF_SZ
        usb: implement XHCI underrun/overrun events
        usb: XHCI shall not halt isochronous endpoints
        hw/usb: Fix LGPL information in the file headers
        usb: dev-mtp: close fd in usb_mtp_object_readdir()
        usb: assign unique serial numbers to hid devices
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      aefcd283
    • P
      Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging · 460da100
      Peter Maydell 提交于
      Pull request
      
      User-visible changes:
       * The new qemu-trace-stap script makes it convenient to collect traces without
         writing SystemTap scripts.  See "man qemu-trace-stap" for details.
      
      # gpg: Signature made Wed 30 Jan 2019 03:17:57 GMT
      # gpg:                using RSA key 9CA4ABB381AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
      # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8
      
      * remotes/stefanha/tags/tracing-pull-request:
        trace: rerun tracetool after ./configure changes
        trace: improve runstate tracing
        trace: add ability to do simple printf logging via systemtap
        trace: forbid use of %m in trace event format strings
        trace: enforce that every trace-events file has a final newline
        display: ensure qxl log_buf is a nul terminated string
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      460da100
    • P
      Merge remote-tracking branch 'remotes/ehabkost/tags/machine-next-pull-request' into staging · 006dce5f
      Peter Maydell 提交于
      Machine queue, 2019-01-28
      
      * Fix small leak on NUMA code
      * Improve memory backend error messages
      
      # gpg: Signature made Mon 28 Jan 2019 19:42:40 GMT
      # gpg:                using RSA key 2807936F984DC5A6
      # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full]
      # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6
      
      * remotes/ehabkost/tags/machine-next-pull-request:
        hostmem: add more information in error messages
        numa: Fixed the memory leak of numa error message
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      006dce5f
    • M
      iotests: Allow 147 to be run concurrently · 908b3016
      Max Reitz 提交于
      To do this, we need to allow creating the NBD server on various ports
      instead of a single one (which may not even work if you run just one
      instance, because something entirely else might be using that port).
      
      So we just pick a random port in [32768, 32768 + 1024) and try to create
      a server there.  If that fails, we just retry until something sticks.
      
      For the IPv6 test, we need a different range, though (just above that
      one).  This is because "localhost" resolves to both 127.0.0.1 and ::1.
      This means that if you bind to it, it will bind to both, if possible, or
      just one if the other is already in use.  Therefore, if the IPv6 test
      has already taken [::1]:some_port and we then try to take
      localhost:some_port, that will work -- only the second server will be
      bound to 127.0.0.1:some_port alone and not [::1]:some_port in addition.
      So we have two different servers on the same port, one for IPv4 and one
      for IPv6.
      
      But when we then try to connect to the server through
      localhost:some_port, we will always end up at the IPv6 one (as long as
      it is up), and this may not be the one we want.
      
      Thus, we must make sure not to create an IPv6-only NBD server on the
      same port as a normal "dual-stack" NBD server -- which is done by using
      distinct port ranges, as explained above.
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      Message-id: 20181221234750.23577-4-mreitz@redhat.com
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      908b3016
    • M
      iotests: Bind qemu-nbd to localhost in 147 · dfadac9a
      Max Reitz 提交于
      By default, qemu-nbd binds to 0.0.0.0.  However, we then proceed to
      connect to "localhost".  Usually, this works out fine; but if this test
      is run concurrently, some other test function may have bound a different
      server to ::1 (on the same port -- you can bind different serves to the
      same port, as long as one is on IPv4 and the other on IPv6).
      
      So running qemu-nbd works, it can bind to 0.0.0.0:NBD_PORT.  But
      potentially a concurrent test has successfully taken [::1]:NBD_PORT.  In
      this case, trying to connect to "localhost" will lead us to the IPv6
      instance, where we do not want to end up.
      
      Fix this by just binding to "localhost".  This will make qemu-nbd error
      out immediately and not give us cryptic errors later.
      
      (Also, it will allow us to just try a different port as of a future
      patch.)
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      Message-id: 20181221234750.23577-3-mreitz@redhat.com
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      dfadac9a
    • M
      iotests.py: Add qemu_nbd_pipe() · e1e6eccd
      Max Reitz 提交于
      In some cases, we may want to deal with qemu-nbd errors (e.g. by
      launching it in a different configuration until it no longer throws
      any).  In that case, we do not want its output ending up in the test
      output.
      
      It may still be useful for handling the error, though, so add a new
      function that works basically like qemu_nbd(), only that it returns the
      qemu-nbd output instead of making it end up in the log.  In contrast to
      qemu_img_pipe(), it does still return the exit code as well, though,
      because that is even more important for error handling.
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      Message-id: 20181221234750.23577-2-mreitz@redhat.com
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      e1e6eccd
    • L
      nvme: use pci_dev directly in nvme_realize · a3d25ddd
      Li Qiang 提交于
      There is no need to make another reference.
      Signed-off-by: NLi Qiang <liq3ea@163.com>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-id: 20190120055558.32984-4-liq3ea@163.com
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      a3d25ddd
    • L
      nvme: ensure the num_queues is not zero · 2410e133
      Li Qiang 提交于
      When it is zero, it causes segv.
      Using following command:
      
      "-drive file=//home/test/test1.img,if=none,id=id0
      -device nvme,drive=id0,serial=test,num_queues=0"
      causes following Backtrack:
      
      Thread 4 "qemu-system-x86" received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 0x7fffe9735700 (LWP 30952)]
      0x0000555555a7a77c in nvme_start_ctrl (n=0x5555577473f0) at hw/block/nvme.c:825
      825	    if (unlikely(n->cq[0])) {
      (gdb) bt
      0  0x0000555555a7a77c in nvme_start_ctrl (n=0x5555577473f0)
          at hw/block/nvme.c:825
      1  0x0000555555a7af7f in nvme_write_bar (n=0x5555577473f0, offset=20,
          data=4587521, size=4) at hw/block/nvme.c:969
      2  0x0000555555a7b81a in nvme_mmio_write (opaque=0x5555577473f0, addr=20,
          data=4587521, size=4) at hw/block/nvme.c:1163
      3  0x0000555555869236 in memory_region_write_accessor (mr=0x555557747cd0,
          addr=20, value=0x7fffe97320f8, size=4, shift=0, mask=4294967295, attrs=...)
          at /home/test/qemu1/qemu/memory.c:502
      4  0x0000555555869446 in access_with_adjusted_size (addr=20,
          value=0x7fffe97320f8, size=4, access_size_min=2, access_size_max=8,
          access_fn=0x55555586914d <memory_region_write_accessor>,
          mr=0x555557747cd0, attrs=...) at /home/test/qemu1/qemu/memory.c:568
      5  0x000055555586c479 in memory_region_dispatch_write (mr=0x555557747cd0,
          addr=20, data=4587521, size=4, attrs=...)
          at /home/test/qemu1/qemu/memory.c:1499
      6  0x00005555558030af in flatview_write_continue (fv=0x7fffe0061130,
          addr=4273930260, attrs=..., buf=0x7ffff7ff0028 "\001", len=4, addr1=20,
          l=4, mr=0x555557747cd0) at /home/test/qemu1/qemu/exec.c:3234
      7  0x00005555558031f9 in flatview_write (fv=0x7fffe0061130, addr=4273930260,
          attrs=..., buf=0x7ffff7ff0028 "\001", len=4)
          at /home/test/qemu1/qemu/exec.c:3273
      8  0x00005555558034ff in address_space_write (
      ---Type <return> to continue, or q <return> to quit---
          as=0x555556758480 <address_space_memory>, addr=4273930260, attrs=...,
          buf=0x7ffff7ff0028 "\001", len=4) at /home/test/qemu1/qemu/exec.c:3363
      9  0x0000555555803550 in address_space_rw (
          as=0x555556758480 <address_space_memory>, addr=4273930260, attrs=...,
          buf=0x7ffff7ff0028 "\001", len=4, is_write=true)
          at /home/test/qemu1/qemu/exec.c:3374
      10 0x00005555558884a1 in kvm_cpu_exec (cpu=0x555556920e40)
          at /home/test/qemu1/qemu/accel/kvm/kvm-all.c:2031
      11 0x000055555584cd9d in qemu_kvm_cpu_thread_fn (arg=0x555556920e40)
          at /home/test/qemu1/qemu/cpus.c:1281
      12 0x0000555555dbaf6d in qemu_thread_start (args=0x5555569438a0)
          at util/qemu-thread-posix.c:502
      13 0x00007ffff5dc86db in start_thread (arg=0x7fffe9735700)
          at pthread_create.c:463
      14 0x00007ffff5af188f in clone ()
          at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      Signed-off-by: NLi Qiang <liq3ea@163.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-id: 20190120055558.32984-3-liq3ea@163.com
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      2410e133
    • L
      nvme: use TYPE_NVME instead of constant string · 08db59e1
      Li Qiang 提交于
      Signed-off-by: NLi Qiang <liq3ea@163.com>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-id: 20190120055558.32984-2-liq3ea@163.com
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      08db59e1
    • R
      qemu-io: Add generic function for reinitializing optind. · d339d766
      Richard W.M. Jones 提交于
      On FreeBSD 11.2:
      
        $ nbdkit memory size=1M --run './qemu-io -f raw -c "aio_write 0 512" $nbd'
        Parsing error: non-numeric argument, or extraneous/unrecognized suffix -- aio_write
      
      After main option parsing, we reinitialize optind so we can parse each
      command.  However reinitializing optind to 0 does not work on FreeBSD.
      What happens when you do this is optind remains 0 after the option
      parsing loop, and the result is we try to parse argv[optind] ==
      argv[0] == "aio_write" as if it was the first parameter.
      
      The FreeBSD manual page says:
      
        In order to use getopt() to evaluate multiple sets of arguments, or to
        evaluate a single set of arguments multiple times, the variable optreset
        must be set to 1 before the second and each additional set of calls to
        getopt(), and the variable optind must be reinitialized.
      
      (From the rest of the man page it is clear that optind must be
      reinitialized to 1).
      
      The glibc man page says:
      
        A program that scans multiple argument vectors,  or  rescans  the  same
        vector  more than once, and wants to make use of GNU extensions such as
        '+' and '-' at  the  start  of  optstring,  or  changes  the  value  of
        POSIXLY_CORRECT  between scans, must reinitialize getopt() by resetting
        optind to 0, rather than the traditional value of 1.  (Resetting  to  0
        forces  the  invocation  of  an  internal  initialization  routine that
        rechecks POSIXLY_CORRECT and checks for GNU extensions in optstring.)
      
      This commit introduces an OS-portability function called
      qemu_reset_optind which provides a way of resetting optind that works
      on FreeBSD and platforms that use optreset, while keeping it the same
      as now on other platforms.
      
      Note that the qemu codebase sets optind in many other places, but in
      those other places it's setting a local variable and not using getopt.
      This change is only needed in places where we are using getopt and the
      associated global variable optind.
      Signed-off-by: NRichard W.M. Jones <rjones@redhat.com>
      Message-id: 20190118101114.11759-2-rjones@redhat.com
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      d339d766
    • L
      block/sheepdog: Convert from DPRINTF() macro to trace events · 70018a14
      Laurent Vivier 提交于
      Signed-off-by: NLaurent Vivier <lvivier@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-id: 20181213162727.17438-5-lvivier@redhat.com
      [mreitz: Fixed sheepdog_snapshot_create_inode's format string to use
               PRIx32 for uint32_ts]
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      70018a14
    • L
      block/file-posix: Convert from DPRINTF() macro to trace events · 4f7d28d7
      Laurent Vivier 提交于
      Signed-off-by: NLaurent Vivier <lvivier@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-id: 20181213162727.17438-4-lvivier@redhat.com
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      4f7d28d7
    • L
      block/curl: Convert from DPRINTF() macro to trace events · ed2a66de
      Laurent Vivier 提交于
      Signed-off-by: NLaurent Vivier <lvivier@redhat.com>
      Reviewed-by: NRichard W.M. Jones <rjones@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-id: 20181213162727.17438-3-lvivier@redhat.com
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      ed2a66de
    • L
      block/ssh: Convert from DPRINTF() macro to trace events · 023908a2
      Laurent Vivier 提交于
      Signed-off-by: NLaurent Vivier <lvivier@redhat.com>
      Reviewed-by: NRichard W.M. Jones <rjones@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-id: 20181213162727.17438-2-lvivier@redhat.com
      [mreitz: Fixed type of ssh_{read,write}_return's parameter to be ssize_t
               instead of size_t]
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      023908a2
    • V
      scripts: add render_block_graph function for QEMUMachine · dc2b651a
      Vladimir Sementsov-Ogievskiy 提交于
      Render block nodes graph with help of graphviz. This new function is
      for debugging, so there is no sense to put it into qemu.py as a method
      of QEMUMachine. Let's instead put it separately.
      Signed-off-by: NVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Acked-by: NEduardo Habkost <ehabkost@redhat.com>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Message-id: 20181221170909.25584-3-vsementsov@virtuozzo.com
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      dc2b651a
    • V
      qapi: add x-debug-query-block-graph · 5d3b4e99
      Vladimir Sementsov-Ogievskiy 提交于
      Add a new command, returning block nodes (and their users) graph.
      Signed-off-by: NVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Message-id: 20181221170909.25584-2-vsementsov@virtuozzo.com
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      5d3b4e99
  3. 30 1月, 2019 21 次提交