1. 03 2月, 2016 19 次提交
  2. 02 2月, 2016 19 次提交
    • P
      Merge remote-tracking branch 'remotes/berrange/tags/pull-qcrypto-next-2016-02-02-1' into staging · d2ea854c
      Peter Maydell 提交于
      Merge qcrypto-next 2016/2/2 v1
      
      # gpg: Signature made Tue 02 Feb 2016 13:13:05 GMT using RSA key ID 15104FDF
      # gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>"
      # gpg:                 aka "Daniel P. Berrange <berrange@redhat.com>"
      
      * remotes/berrange/tags/pull-qcrypto-next-2016-02-02-1:
        crypto: ensure qcrypto_hash_digest_len is always defined
        crypto: register properties against the class instead of object
        crypto: fix description of @errp parameter initialization
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      d2ea854c
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20160202-1' into staging · baa3f638
      Peter Maydell 提交于
      ui: gtk vc fix, adaptive sdl refresh.
      
      # gpg: Signature made Tue 02 Feb 2016 13:06:07 GMT using RSA key ID D3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
      
      * remotes/kraxel/tags/pull-ui-20160202-1:
        sdl: shorten the GUI refresh interval when mouse or keyboard is active
        gtk: use qemu_chr_alloc() to allocate CharDriverState
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      baa3f638
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-audio-20160202-1' into staging · 958e3693
      Peter Maydell 提交于
      audio: Clean up includes
      
      # gpg: Signature made Tue 02 Feb 2016 12:58:06 GMT using RSA key ID D3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
      
      * remotes/kraxel/tags/pull-audio-20160202-1:
        audio: Clean up includes
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      958e3693
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-fwcfg-20160202-1' into staging · dce0238c
      Peter Maydell 提交于
      nvme: generate OpenFirmware device path in the "bootorder" fw_cfg file
      
      # gpg: Signature made Tue 02 Feb 2016 12:54:04 GMT using RSA key ID D3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
      
      * remotes/kraxel/tags/pull-fwcfg-20160202-1:
        nvme: generate OpenFirmware device path in the "bootorder" fw_cfg file
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      dce0238c
    • P
      Merge remote-tracking branch 'remotes/elmarco/tags/ivshmem-pull-request' into staging · 074d1ccb
      Peter Maydell 提交于
      # gpg: Signature made Tue 02 Feb 2016 12:43:03 GMT using RSA key ID 75969CE5
      # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>"
      # gpg:                 aka "Marc-André Lureau <marcandre.lureau@gmail.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: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5
      
      * remotes/elmarco/tags/ivshmem-pull-request:
        char: remove qemu_chr_open_eventfd
        ivshmem: use a single eventfd callback, get rid of CharDriver
        ivshmem: generalize ivshmem_setup_interrupts
        ivshmem-test: test both msi & irq cases
        libqos: remove some leaks
        ivshmem-test: leak fixes
        ivshmem: remove redundant assignment, fix crash with msi=off
        ivshmem: no need for opaque argument
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      074d1ccb
    • J
    • D
      gtk: use qemu_chr_alloc() to allocate CharDriverState · 919e11f3
      Daniel P. Berrange 提交于
      The gd_vc_handler() callback is using g_malloc0() to
      allocate the CharDriverState struct. As a result the
      logfd field is getting initialized to 0, instead of
      -1 when no logfile is requested.
      
      The result is that when running
      
       $ qemu-system-i386 -nodefaults -chardev vc,id=mon0 -mon chardev=mon0
      
      qemu duplicates all monitor output to stdout as well
      as the GTK window.
      
      Not using qemu_chr_alloc() was already a bug, but harmless
      until this commit
      
        commit d0d7708b
        Author: Daniel P. Berrange <berrange@redhat.com>
        Date:   Mon Jan 11 12:44:41 2016 +0000
      
          qemu-char: add logfile facility to all chardev backends
      
      which exposed the problem as a behaviour regression
      Reported-by: NHervé Poussineau <hpoussin@reactos.org>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Tested-by: NHervé Poussineau <hpoussin@reactos.org>
      Message-id: 1453377386-10190-1-git-send-email-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      919e11f3
    • D
      crypto: ensure qcrypto_hash_digest_len is always defined · c0377a7c
      Daniel P. Berrange 提交于
      The qcrypto_hash_digest_len method was accidentally inside
      a CONFIG_GNUTLS_HASH block, even though it doesn't depend
      on gnutls. Re-arrange it to be unconditionally defined.
      Reviewed-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      c0377a7c
    • P
      audio: Clean up includes · 6086a565
      Peter Maydell 提交于
      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: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1453138432-8324-1-git-send-email-peter.maydell@linaro.org
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      6086a565
    • M
      char: remove qemu_chr_open_eventfd · 6db26255
      Marc-André Lureau 提交于
      Broken since d0d7708b, since the backend is NULL.
      
      And now no longer needed by ivshmem.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      6db26255
    • M
      ivshmem: use a single eventfd callback, get rid of CharDriver · 9940c323
      Marc-André Lureau 提交于
      Simplify the interrupt handling by having a single callback on irq&msi
      cases. Remove usage of CharDriver, replace it with
      qemu_set_fd_handler(). Use event_notifier_test_and_clear() to read the
      eventfd.
      
      Before this patch, ivshmem writes the first byte received to
      s->intrstatus. But ivshmem_device_spec.txt says "The status register is
      set to 1 when an interrupt occurs." Fortunately, the byte usually comes
      from another ivshmem device, and those always write 1.
      
      After this commit, follows the specification, set to 1 when an interrupt
      occurs.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Acked-by: NMarkus Armbruster <armbru@redhat.com>
      9940c323
    • M
      ivshmem: generalize ivshmem_setup_interrupts · fd47bfe5
      Marc-André Lureau 提交于
      Call ivshmem_setup_interrupts() with or without MSI, always allocate
      msi_vectors that is going to be used in all case in the following patch.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      fd47bfe5
    • M
      ivshmem-test: test both msi & irq cases · 00ffc3c1
      Marc-André Lureau 提交于
      Recent commit 660c97ee introduced a regression in irq case, make
      sure this code path is also tested.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      00ffc3c1
    • M
      libqos: remove some leaks · ea53854a
      Marc-André Lureau 提交于
      qpci_device_find() returns allocated data, don't leak it.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      ea53854a
    • M
      ivshmem-test: leak fixes · 1760048a
      Marc-André Lureau 提交于
      Add a cleanup_vm() function to free QPCIDevice & QPCIBus when cleaning
      up the IVState.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      1760048a
    • M
      ivshmem: remove redundant assignment, fix crash with msi=off · 47213eb1
      Marc-André Lureau 提交于
      Fix crash when msi=false introduced in 660c97ee (msi_vectors is NULL in
      this case)
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      47213eb1
    • M
    • L
      nvme: generate OpenFirmware device path in the "bootorder" fw_cfg file · a907ec52
      Laszlo Ersek 提交于
      Background on QEMU boot indices
      -------------------------------
      
      Normally, the "bootindex" property is configured for bootable devices
      with:
      
        DEVICE_instance_init()
          device_add_bootindex_property(..., "bootindex", ...)
            object_property_add(..., device_get_bootindex,
                                device_set_bootindex, ...)
      
      and when the bootindex is set on the QEMU command line, with
      
        -device DEVICE,...,bootindex=N
      
      the setter that was configured above is invoked:
      
        device_set_bootindex()
          /* parse boot index */
          visit_type_int32()
      
          /* verify unicity */
          check_boot_index()
      
          /* store parsed boot index */
          ...
      
          /* insert device path to boot order */
          add_boot_device_path()
      
      In the last step, add_boot_device_path() ensures that an OpenFirmware
      device path will show up in the "bootorder" fw_cfg file, at a position
      corresponding to the device's boot index. Thus guest firmware (SeaBIOS and
      OVMF) can try to boot off the device with the right priority.
      
      NVMe boot index
      ---------------
      
      In QEMU commit 33739c71,
      
        nvma: ide: add bootindex to qom property
      
      the following generic setters / getters:
      - device_set_bootindex()
      - device_get_bootindex()
      
      were open-coded for NVMe, under the names
      - nvme_set_bootindex()
      - nvme_get_bootindex()
      
      Plus nvme_instance_init() was added to configure the "bootindex" property
      manually, designating the open-coded getter & setter, rather than calling
      device_add_bootindex_property().
      
      Crucially, nvme_set_bootindex() avoided the final add_boot_device_path()
      call. This fact is spelled out in the message of commit 33739c71, and
      it was presumably the entire reason for all of the code duplication.
      
      Now, Vladislav filed an RFE for OVMF
      <https://github.com/tianocore/edk2/issues/48>; OVMF should boot off NVMe
      devices. It is simple to build edk2's existent NvmExpressDxe driver into
      OVMF, but the boot order matching logic in OVMF can only handle NVMe if
      the "bootorder" fw_cfg file includes such devices.
      
      Therefore this patch converts the NVMe device model to
      device_set_bootindex() all the way.
      
      Device paths
      ------------
      
      device_set_bootindex() accepts an optional parameter called "suffix". When
      present, it is expected to take the form of an OpenFirmware device path
      node, and it gets appended as last node to the otherwise auto-generated
      OFW path.
      
      For NVMe, the auto-generated part is
      
        /pci@i0cf8/pci8086,5845@6[,1]
             ^     ^            ^  ^
             |     |            PCI slot and (present when nonzero)
             |     |            function of the NVMe controller, both hex
             |     "driver name" component, built from PCI vendor & device IDs
             PCI root at system bus port, PIO
      
      to which here we append the suffix
      
        /namespace@1,0
                   ^ ^
                   | big endian (MSB at lowest address) numeric interpretation
                   | of the 64-bit IEEE Extended Unique Identifier, aka EUI-64,
                   | hex
                   32-bit NVMe namespace identifier, aka NSID, hex
      
      resulting in the OFW device path
      
        /pci@i0cf8/pci8086,5845@6[,1]/namespace@1,0
      
      The reason for including the NSID and the EUI-64 is that an NVMe device
      can in theory produce several different namespaces (distinguished by
      NSID). Additionally, each of those may (optionally) have an EUI-64 value.
      
      For now, QEMU only provides namespace 1.
      
      Furthermore, QEMU doesn't even represent the EUI-64 as a standalone field;
      it is embedded (and left unused) inside the "NvmeIdNs.res30" array, at the
      last eight bytes. (Which is fine, since EUI-64 can be left zero-filled if
      unsupported by the device.)
      
      Based on the above, we set the "unit address" part of the last
      ("namespace") node to fixed "1,0".
      
      OVMF will then map the above OFW device path to the following UEFI device
      path fragment, for boot order processing:
      
        PciRoot(0x0)/Pci(0x6,0x1)/NVMe(0x1,00-00-00-00-00-00-00-00)
                ^        ^   ^    ^    ^   ^
                |        |   |    |    |   octets of the EUI-64 in address order
                |        |   |    |    NSID
                |        |   |    NVMe namespace messaging device path node
                |        PCI slot and function
                PCI root bridge
      
      Cc: Keith Busch <keith.busch@intel.com> (supporter:nvme)
      Cc: Kevin Wolf <kwolf@redhat.com> (supporter:Block layer core)
      Cc: qemu-block@nongnu.org (open list:nvme)
      Cc: Gonglei <arei.gonglei@huawei.com>
      Cc: Vladislav Vovchenko <vladislav.vovchenko@sk.com>
      Cc: Feng Tian <feng.tian@intel.com>
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: Kevin O'Connor <kevin@koconnor.net>
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Acked-by: NGonglei <arei.gonglei@huawei.com>
      Acked-by: NKeith Busch <keith.busch@intel.com>
      Tested-by: NVladislav Vovchenko <vladislav.vovchenko@sk.com>
      Message-id: 1453850483-27511-1-git-send-email-lersek@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      a907ec52
    • P
      Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.6-20160201' into staging · 10ae9d76
      Peter Maydell 提交于
      ppc patch queue for 2016-02-01
      
      Currently accumulated patches for target-ppc, pseries machine type and
      related devices.
        * Cleanup of error handling code in spapr
        * A number of fixes for Macintosh devices for the benefit of MacOS 9 and X
        * Remove some abuses of the RTAS memory access functions in spapr
        * Fixes for the gdbstub (and monitor debug) for VMX and VSX extensions.
        * Fix pseries machine hotplug memory under TCG
        * Clean up and extend handling of multiple page sizes with 64-bit hash MMUs
        * Fix to the TCG implementation of mcrfs
      
      # gpg: Signature made Mon 01 Feb 2016 02:28:34 GMT using RSA key ID 20D9B392
      # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
      # gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>"
      # gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
      # 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: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392
      
      * remotes/dgibson/tags/ppc-for-2.6-20160201: (40 commits)
        target-ppc: mcrfs should always update FEX/VX and only clear exception bits
        target-ppc: Make every FPSCR_ macro have a corresponding FP_ macro
        target-ppc: Allow more page sizes for POWER7 & POWER8 in TCG
        target-ppc: Helper to determine page size information from hpte alone
        target-ppc: Add new TLB invalidate by HPTE call for hash64 MMUs
        target-ppc: Split 44x tlbiva from ppc_tlb_invalidate_one()
        target-ppc: Remove unused mmu models from ppc_tlb_invalidate_one
        target-ppc: Use actual page size encodings from HPTE
        target-ppc: Rework SLB page size lookup
        target-ppc: Rework ppc_store_slb
        target-ppc: Convert mmu-hash{32,64}.[ch] from CPUPPCState to PowerPCCPU
        target-ppc: Remove unused kvmppc_read_segment_page_sizes() stub
        uninorth.c: add support for UniNorth kMacRISCPCIAddressSelect (0x48) register
        cuda.c: return error for unknown commands
        pseries: Allow TCG h_enter to work with hotplugged memory
        target-ppc: gdbstub: Add VSX support
        target-ppc: gdbstub: fix spe registers for little-endian guests
        target-ppc: gdbstub: fix altivec registers for little-endian guests
        target-ppc: gdbstub: introduce avr_need_swap()
        target-ppc: gdbstub: fix float registers for little-endian guests
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      10ae9d76
  3. 01 2月, 2016 2 次提交