1. 18 7月, 2016 20 次提交
  2. 15 7月, 2016 3 次提交
    • P
      Merge remote-tracking branch 'remotes/mcayland/tags/qemu-openbios-signed' into staging · 6b92bbfe
      Peter Maydell 提交于
      Update OpenBIOS images
      
      # gpg: Signature made Fri 15 Jul 2016 15:22:36 BST
      # gpg:                using RSA key 0x5BC2C56FAE0F321F
      # gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>"
      # Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F
      
      * remotes/mcayland/tags/qemu-openbios-signed:
        Update OpenBIOS images to b747b6a built from submodule.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      6b92bbfe
    • M
    • P
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20160714' into staging · 14c7d993
      Peter Maydell 提交于
      target-arm queue:
       * add virtio-mmio transport base address to device path
         (avoid an assertion failure with multiple virtio-scsi-devices)
       * revert hw/ptimer commit 5a50307b which causes regressions on
         SPARC guests
       * use Neon to accelerate zero-page checking on AArch64 hosts
       * set the MPIDR for TCG to match how KVM does it (and fit with
         GICv2/GICv3 restrictions on SGI target lists)
       * add some missing AArch32 TLBI hypervisor TLB operations
       * m25p80: Fix QIOR/DIOR handling for Winbond
       * hw/misc: fix typo in Aspeed SCU hw-strap2 property name
       * ast2400: pretend DMAs are done for U-boot
       * ast2400: some minor code cleanups
      
      # gpg: Signature made Thu 14 Jul 2016 17:21:30 BST
      # gpg:                using RSA key 0x3C2525ED14360CDE
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>"
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>"
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>"
      # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE
      
      * remotes/pmaydell/tags/pull-target-arm-20160714:
        ast2400: externalize revision numbers
        ast2400: pretend DMAs are done for U-boot
        ast2400: replace aspeed_smc_is_implemented()
        hw/misc: fix typo in Aspeed SCU hw-strap2 property name
        m25p80: Fix QIOR/DIOR handling for Winbond
        target-arm: Add missed AArch32 TLBI sytem registers
        hw/arm/virt: tcg: adjust MPIDR like KVM
        gic: provide defines for v2/v3 targetlist sizes
        target-arm: Use Neon for zero checking
        Revert "hw/ptimer: Perform counter wrap around if timer already expired"
        virtio-mmio: format transport base address in BusClass.get_dev_path
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      14c7d993
  3. 14 7月, 2016 17 次提交
    • C
      ast2400: externalize revision numbers · 79a9f323
      Cédric Le Goater 提交于
      AST2400_A0_SILICON_REV is defined twice. Fix this by including the
      definition in the header file as well as the routine to check if a
      silicon revision is supported. It will useful to reuse in other
      controllers.
      
      Let's add also AST2500_A0_SILICON_REV for future use.
      Signed-off-by: NCédric Le Goater <clg@kaod.org>
      Message-id: 1467994016-11678-5-git-send-email-clg@kaod.org
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      79a9f323
    • C
      ast2400: pretend DMAs are done for U-boot · 2e1f0502
      Cédric Le Goater 提交于
      U-boot does SPI timing calibration using DMA tranfers. To let the
      initialization continue, we fake success by setting the DMA status of
      the Interrupt Control Register.
      
      For the moment, DMA support is not required as it is not used in
      normal operation.
      Signed-off-by: NCédric Le Goater <clg@kaod.org>
      Message-id: 1467994016-11678-4-git-send-email-clg@kaod.org
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      2e1f0502
    • C
      ast2400: replace aspeed_smc_is_implemented() · 97c2ed5d
      Cédric Le Goater 提交于
      aspeed_smc_is_implemented() filters invalid registers in a peculiar
      way. Let's remove it and open code the if conditions. It serves the
      same purpose, the aesthetic is better, and new registers can easily be
      added.
      Signed-off-by: NCédric Le Goater <clg@kaod.org>
      Message-id: 1467994016-11678-3-git-send-email-clg@kaod.org
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      97c2ed5d
    • C
      hw/misc: fix typo in Aspeed SCU hw-strap2 property name · 2ddfa281
      Cédric Le Goater 提交于
      Signed-off-by: NCédric Le Goater <clg@kaod.org>
      Message-id: 1467994016-11678-2-git-send-email-clg@kaod.org
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      2ddfa281
    • M
      m25p80: Fix QIOR/DIOR handling for Winbond · fe847705
      Marcin Krzeminski 提交于
      Winbond also support continuous read mode, but as an opposite for other
      flash type read mode clock cycles are included to dummy cycles number.
      This path add proper handling of read mode byte and update needed
      dummy cycles. QPI mode and dummy cycles configuration are not supported.
      Signed-off-by: NMarcin Krzeminski <marcin.krzeminski@nokia.com>
      Reviewed-by: NCédric Le Goater <clg@kaod.org>
      Message-id: 1467809036-6986-1-git-send-email-marcin.krzeminski@nokia.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      fe847705
    • S
      target-arm: Add missed AArch32 TLBI sytem registers · 541ef8c2
      Sergey Sorokin 提交于
      Some PL2 related TLBI system registers are missed in AArch32
      implementation. The patch fixes it.
      Signed-off-by: NSergey Sorokin <afarallax@yandex.ru>
      Message-id: 1468328885-3217862-1-git-send-email-afarallax@yandex.ru
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      541ef8c2
    • A
      hw/arm/virt: tcg: adjust MPIDR like KVM · 95eb49c8
      Andrew Jones 提交于
      KVM adjusts the MPIDR of guest vcpus based on the architecture of
      the host, 32-bit vs. 64-bit, and, for 64-bit, also on the type of
      GIC the guest is using. To be consistent and improve SGI efficiency
      we make the same adjustments for TCG as 64-bit KVM hosts. We neglect
      to add consistency with 32-bit KVM hosts, as that would reduce SGI
      efficiency and KVM is expected to change.
      
      As MPIDR is a system register, and thus guest visible, we only make
      adjustments for current and later versioned machines.
      Signed-off-by: NAndrew Jones <drjones@redhat.com>
      Message-id: 1467378129-23302-3-git-send-email-drjones@redhat.com
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      95eb49c8
    • A
      gic: provide defines for v2/v3 targetlist sizes · c8efd802
      Andrew Jones 提交于
      Signed-off-by: NAndrew Jones <drjones@redhat.com>
      Message-id: 1467378129-23302-2-git-send-email-drjones@redhat.com
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      c8efd802
    • V
      target-arm: Use Neon for zero checking · 7069532e
      Vijay 提交于
      Use Neon instructions to perform zero checking of
      buffer. This is helps in reducing total migration time.
      
      Use case: Idle VM live migration with 4 VCPUS and 8GB ram
      running CentOS 7.
      
      Without Neon, the Total migration time is 3.5 Sec
      
      Migration status: completed
      total time: 3560 milliseconds
      downtime: 33 milliseconds
      setup: 5 milliseconds
      transferred ram: 297907 kbytes
      throughput: 685.76 mbps
      remaining ram: 0 kbytes
      total ram: 8519872 kbytes
      duplicate: 2062760 pages
      skipped: 0 pages
      normal: 69808 pages
      normal bytes: 279232 kbytes
      dirty sync count: 3
      
      With Neon, the total migration time is 2.9 Sec
      
      Migration status: completed
      total time: 2960 milliseconds
      downtime: 65 milliseconds
      setup: 4 milliseconds
      transferred ram: 299869 kbytes
      throughput: 830.19 mbps
      remaining ram: 0 kbytes
      total ram: 8519872 kbytes
      duplicate: 2064313 pages
      skipped: 0 pages
      normal: 70294 pages
      normal bytes: 281176 kbytes
      dirty sync count: 3
      Signed-off-by: NVijaya Kumar K <vijayak@cavium.com>
      Signed-off-by: NSuresh <ksuresh@cavium.com>
      Acked-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1467190029-694-2-git-send-email-vijayak@cavium.com
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      7069532e
    • D
      Revert "hw/ptimer: Perform counter wrap around if timer already expired" · 56215da3
      Dmitry Osipenko 提交于
      Software should see timer counter wraparound only after IRQ being triggered.
      This fixes regression introduced by the commit 5a50307b ("hw/ptimer: Perform
      counter wrap around if timer already expired"), resulting in monotonic timer
      jumping backwards on SPARC emulated machine running NetBSD guest OS, as
      reported by Mark Cave-Ayland.
      Signed-off-by: NDmitry Osipenko <digetx@gmail.com>
      Message-id: 20160708132206.2080-1-digetx@gmail.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      56215da3
    • L
      virtio-mmio: format transport base address in BusClass.get_dev_path · f58b39d2
      Laszlo Ersek 提交于
      At the moment the following QEMU command line triggers an assertion
      failure (minimal reproducer by Cole):
      
        qemu-system-aarch64 \
          -machine virt-2.6,accel=tcg \
          -nodefaults \
          -no-user-config \
          -nographic -monitor stdio \
          -device virtio-scsi-device,id=scsi0 \
          -device virtio-scsi-device,id=scsi1 \
          -drive file=foo.img,format=raw,if=none,id=d0 \
          -device scsi-hd,bus=scsi0.0,drive=d0 \
          -drive file=foo.img,format=raw,if=none,id=d1 \
          -device scsi-hd,bus=scsi1.0,drive=d1
      
        qemu-system-aarch64: migration/savevm.c:615:
        vmstate_register_with_alias_id:
        Assertion `!se->compat || se->instance_id == 0' failed.
      
      The reason is that the vmstate sections for the two scsi-hd devices are
      not uniquely identifiable by name.
      
      The direct parent buses of the scsi-hd devices -- scsi0.0 and scsi1.0 --
      support the BusClass.get_dev_path member function. scsibus_get_dev_path()
      formats a device path prefix with the help of its topologically parent
      bus, and then appends the chan:id:lun triplet to it. For both scsi-hd
      devices, this triplet is 0:0:0.
      
      (Here we use "device path" in the QEMU migration sense, for vmstate
      section identification, not in the OFW or UEFI device path senses.)
      
      The virtio-scsi HBA is plugged into the virtio-mmio bus (implemented by
      the internal VirtIOMMIOProxy device). This bus class
      (TYPE_VIRTIO_MMIO_BUS) inherits, as its get_dev_path() member function,
      the virtio_bus_get_dev_path() method from its parent class
      (TYPE_VIRTIO_BUS).
      
      virtio_bus_get_dev_path() does not format any kind of device address on
      its own; "virtio addresses" are transport-specific. Therefore
      virtio_bus_get_dev_path() asks the topologically parent bus of the proxy
      object (implementing the specific virtio transport) to format the address
      of the proxy object.
      
      (For virtio-pci devices (where the proxy is an instance of VirtIOPCIProxy,
      plugged into a PCI bus), this ends up in pcibus_get_dev_path().)
      
      However, VirtIOMMIOProxy is usually (in practice: always) plugged into
      "main-system-bus", the singleton TYPE_SYSTEM_BUS object. This BusClass
      does not support formatting QEMU vmstate device paths at all (as
      SysBusDevice objects can have zero or more IO ports and zero or more MMIO
      regions). Hence the formatting request delegated from
      virtio_bus_get_dev_path() gets answered with NULL.
      
      The end result is that the two scsi-hd devices end up with the same device
      path "0:0:0", which triggers the assert.
      
      We can solve this by recognizing that virtio-mmio transports are
      distinguished from each other by their base addresses in MMIO address
      space. Implement virtio_mmio_bus_get_dev_path() as follows:
      
      (1) The virtio device whose devpath is to be formatted resides on a
          virtio-mmio bus that is implemented by a VirtIOMMIOProxy object. Ask
          the parent bus of VirtIOMMIOProxy to format the device path of
          VirtIOMMIOProxy, as a path prefix. (This is identical to what
          virtio_bus_get_dev_path() does.)
      
      (2) Append the base address of VirtIOMMIOProxy to the device path, such
          as:
          - virtio-mmio@000000000a003e00,
          - virtio-mmio@000000000a003c00.
      
      Given that these device paths are placed in the migration stream, step (2)
      above, if done unconditionally, would break migration. So make that step
      conditional on a new VirtIOMMIOProxy property, which is enabled for 2.7
      machine types and later.
      
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: Cole Robinson <crobinso@redhat.com>
      Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
      Cc: Kevin Zhao <kevin.zhao@linaro.org>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Tom Hanson <thomas.hanson@linaro.org>
      Reported-by: NKevin Zhao <kevin.zhao@linaro.org>
      Reviewed-by: NAndrew Jones <drjones@redhat.com>
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Message-id: 1467739394-28357-1-git-send-email-lersek@redhat.com
      Fixes: https://bugs.launchpad.net/qemu/+bug/1594239Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      f58b39d2
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream-fwcfg' into staging · 1c8e93fb
      Peter Maydell 提交于
      * Updated fw_cfg option ROM to include DMA support
      
      # gpg: Signature made Thu 14 Jul 2016 14:51:06 BST
      # gpg:                using RSA key 0xBFFBD25F78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
      # 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-fwcfg:
        Add optionrom compatible with fw_cfg DMA version
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      1c8e93fb
    • P
      Merge remote-tracking branch 'remotes/xtensa/tags/20160714-xtensa' into staging · 22e28174
      Peter Maydell 提交于
      Xtensa-related fixes:
      
      - fix FLASH interface width for XTFPGA boards.
      
      # gpg: Signature made Thu 14 Jul 2016 12:00:05 BST
      # gpg:                using RSA key 0x51F9CC91F83FA044
      # gpg: Good signature from "Max Filippov <max.filippov@cogentembedded.com>"
      # gpg:                 aka "Max Filippov <jcmvbkbc@gmail.com>"
      # Primary key fingerprint: 2B67 854B 98E5 327D CDEB  17D8 51F9 CC91 F83F A044
      
      * remotes/xtensa/tags/20160714-xtensa:
        target-xtensa: xtfpga: fix FLASH interface width
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      22e28174
    • M
      Add optionrom compatible with fw_cfg DMA version · b2a575a1
      Marc Marí 提交于
      This optionrom is based on linuxboot.S.
      Signed-off-by: NMarc Marí <markmb@redhat.com>
      Signed-off-by: NRichard W.M. Jones <rjones@redhat.com>
      Message-Id: <1464027093-24073-2-git-send-email-rjones@redhat.com>
      [Add -fno-toplevel-reorder, support clang without -m16. - Paolo]
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      b2a575a1
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · 190c93c9
      Peter Maydell 提交于
      * SCSI scanner support
      * fixes to qemu-char and net exit
      * FreeBSD fixes
      * Other small bugfixes
      
      # gpg: Signature made Wed 13 Jul 2016 12:30:11 BST
      # gpg:                using RSA key 0xBFFBD25F78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
      # 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:
        hostmem: detect host backend memory is being used properly
        hostmem: fix QEMU crash by 'info memdev'
        char: do not use atexit cleanup handler
        net: do not use atexit for cleanup
        slirp: use exit notifier for slirp_smb_cleanup
        tap: use an exit notifier to call down_script
        util: Fix MIN_NON_ZERO
        qemu-sockets: use qapi_free_SocketAddress in cleanup
        disas: avoid including everything in headers compiled from C++
        json-streamer: fix double-free on exiting during a parse
        main-loop: check return value before using pointer
        Use "-s" instead of "--quiet" to resolve non-fatal build error on FreeBSD.
        scsi-bus: Use longer sense buffer with scanners
        scsi-bus: Add SCSI scanner support
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      190c93c9
    • M
      target-xtensa: xtfpga: fix FLASH interface width · f9a555e4
      Max Filippov 提交于
      FLASH chip on XTFPGA boards is connected with 16-bit-wide interface.
      Latest U-Boot can see the difference and does not work correctly with
      32-bit-wide interface.
      Set FLASH chip 'width' property to 2.
      Signed-off-by: NMax Filippov <jcmvbkbc@gmail.com>
      f9a555e4
    • P
      Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging · 9358450e
      Peter Maydell 提交于
      Block layer patches
      
      # gpg: Signature made Wed 13 Jul 2016 12:46:17 BST
      # gpg:                using RSA key 0x7F09B272C88F2FD6
      # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>"
      # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6
      
      * remotes/kevin/tags/for-upstream: (34 commits)
        iotests: Make 157 actually format-agnostic
        vvfat: Fix qcow write target driver specification
        hmp: show all of snapshot info on every block dev in output of 'info snapshots'
        hmp: use snapshot name to determine whether a snapshot is 'fully available'
        qemu-iotests: Test naming of throttling groups
        blockdev: Fix regression with the default naming of throttling groups
        vmdk: fix metadata write regression
        Improve block job rate limiting for small bandwidth values
        qcow2: Fix qcow2_get_cluster_offset()
        qemu-io: Use correct range limitations
        qcow2: Avoid making the L1 table too big
        qemu-img: Use strerror() for generic resize error
        block: Remove BB options from blockdev-add
        qemu-iotests: Test setting WCE with qdev
        block/qdev: Allow configuring rerror/werror with qdev properties
        commit: Fix use of error handling policy
        block/qdev: Allow configuring WCE with qdev properties
        block/qdev: Allow node name for drive properties
        coroutine: move entry argument to qemu_coroutine_create
        test-coroutine: prepare for the next patch
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      9358450e