1. 24 1月, 2017 11 次提交
  2. 23 1月, 2017 9 次提交
  3. 21 1月, 2017 1 次提交
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · 598cf1c8
      Peter Maydell 提交于
      * QOM interface fix (Eduardo)
      * RTC fixes (Gaohuai, Igor)
      * Memory leak fixes (Li Qiang, me)
      * Ctrl-a b regression (Marc-André)
      * Stubs cleanups and fixes (Leif, me)
      * hxtool tweak (me)
      * HAX support (Vincent)
      * QemuThread, exec.c and SCSI fixes (Roman, Xinhua, me)
      * PC_COMPAT_2_8 fix (Marcelo)
      * stronger bitmap assertions (Peter)
      
      # gpg: Signature made Fri 20 Jan 2017 12:49:01 GMT
      # 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: (35 commits)
        pc.h: move x-mach-use-reliable-get-clock compat entry to PC_COMPAT_2_8
        bitmap: assert that start and nr are non negative
        Revert "win32: don't run subprocess tests on Mingw32 platform"
        hax: add Darwin support
        Plumb the HAXM-based hardware acceleration support
        target/i386: Add Intel HAX files
        kvm: move cpu synchronization code
        KVM: PPC: eliminate unnecessary duplicate constants
        ramblock-notifier: new
        char: fix ctrl-a b not working
        exec: Add missing rcu_read_unlock
        x86: ioapic: fix fail migration when irqchip=split
        x86: ioapic: dump version for "info ioapic"
        x86: ioapic: add traces for ioapic
        hxtool: emit Texinfo headings as @subsection
        qemu-thread: fix qemu_thread_set_name() race in qemu_thread_create()
        serial: fix memory leak in serial exit
        scsi-block: fix direction of BYTCHK test for VERIFY commands
        pc: fix crash in rtc_set_memory() if initial cpu is marked as hotplugged
        acpi: filter based on CONFIG_ACPI_X86 rather than TARGET
        ...
      
      # Conflicts:
      #	include/hw/i386/pc.h
      598cf1c8
  4. 20 1月, 2017 19 次提交
    • P
      Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20170120-v2' into staging · d1c82f7c
      Peter Maydell 提交于
      First set of s390x patches for 2.9:
      - rework of the zpci code, giving us proper multibus support
      - introduction of the 2.9 machine
      - fixes and improvements
      
      # gpg: Signature made Fri 20 Jan 2017 09:11:58 GMT
      # gpg:                using RSA key 0xDECF6B93C6F02FAF
      # gpg: Good signature from "Cornelia Huck <huckc@linux.vnet.ibm.com>"
      # gpg:                 aka "Cornelia Huck <cornelia.huck@de.ibm.com>"
      # Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF
      
      * remotes/cohuck/tags/s390x-20170120-v2:
        virtio-ccw: fix ring sizing
        s390x/pci: merge msix init functions
        s390x/pci: handle PCIBridge bus number
        s390x/pci: use hashtable to look up zpci via fh
        s390x/pci: PCI multibus bridge handling
        s390x/pci: optimize calling s390_get_phb()
        s390x/pci: change the device array to a list
        s390x/pci: dynamically allocate iommu
        s390x/pci: make S390PCIIOMMU inherit Object
        s390x/kvm: use kvm_gsi_routing_enabled in flic
        s390x: add compat machine for 2.9
        s390x: remove double compat statement
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      d1c82f7c
    • P
      Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into staging · db655a96
      Peter Maydell 提交于
      # gpg: Signature made Fri 20 Jan 2017 02:58:57 GMT
      # gpg:                using RSA key 0xEF04965B398D6211
      # gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <jasowang@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: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211
      
      * remotes/jasowang/tags/net-pull-request:
        tap: fix memory leak on failure in net_init_tap()
        hw/pci: use-after-free in pci_nic_init_nofail when nic device fails to initialize
        hw/net/dp8393x: Avoid unintentional sign extensions on addresses
        m68k: QOMify the MCF Fast Ethernet Controller device
        net: optimize checksum computation
        docs: Fix description of the sentence
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      db655a96
    • P
      Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging · 4383fa7c
      Peter Maydell 提交于
      virtio, vhost, pc: fixes, features
      
      writeable fw cfg blobs which will be used for guest to host
      communication
      fixes and cleanups all over the place
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Thu 19 Jan 2017 21:08:04 GMT
      # gpg:                using RSA key 0x281F0DB8D28D5469
      # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>"
      # gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>"
      # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17  0970 C350 3912 AFBE 8E67
      #      Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA  8A0D 281F 0DB8 D28D 5469
      
      * remotes/mst/tags/for_upstream:
        virtio: force VIRTIO_F_IOMMU_PLATFORM
        virtio: fix up max size checks
        vhost: drop VHOST_F_DEVICE_IOTLB
        update-linux-headers.sh: support __bitwise
        virtio_crypto: header update
        pci_regs: update to latest linux
        virtio-mmio: switch to linux headers
        virtio_mmio: add standard header file
        virtio: drop an obsolete comment
        fw-cfg: bump "x-file-slots" to 0x20 for 2.9+ machine types
        pc: Add 2.9 machine-types
        fw-cfg: turn FW_CFG_FILE_SLOTS into a device property
        fw-cfg: support writeable blobs
        vhost_net: device IOTLB support
        virtio: disable notifications again after poll succeeded
        Revert "virtio: turn vq->notification into a nested counter"
        virtio-net: enable ioeventfd even if vhost=off
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      4383fa7c
    • P
      Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2017-01-19' into staging · 6ffefe7f
      Peter Maydell 提交于
      Error reporting patches for 2017-01-19
      
      # gpg: Signature made Thu 19 Jan 2017 14:51:17 GMT
      # gpg:                using RSA key 0x3870B400EB918653
      # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
      # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"
      # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653
      
      * remotes/armbru/tags/pull-error-2017-01-19:
        error: Report certain hints on stderr when no monitor
        error: error_setg_errno(): errno gets preserved
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      6ffefe7f
    • M
      pc.h: move x-mach-use-reliable-get-clock compat entry to PC_COMPAT_2_8 · abc62c89
      Marcelo Tosatti 提交于
      As noticed by David Gilbert, commit 6053a86f 'kvmclock: reduce kvmclock
      differences on migration' added 'x-mach-use-reliable-get-clock' and a
      compatibility entry that turns it off; however it got merged after 2.8.0
      was released but the entry has gone into PC_COMPAT_2_7 where it should
      have gone into PC_COMPAT_2_8.
      
      Fix it by moving the entry to PC_COMPAT_2_8.
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      Reviewed-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Message-Id: <20170118175343.GA26873@amt.cnet>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      abc62c89
    • P
      bitmap: assert that start and nr are non negative · e12ed72e
      Peter Lieven 提交于
      commit e1123a3b introduced a data corruption regression
      in the iscsi driver because it passed -1 as nr to bitmap_set
      and bitmap_clear. Add an assertion to catch such flaws earlier.
      Suggested-by: NFam Zheng <famz@redhat.com>
      Reviewed-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      Message-Id: <1484844230-24490-1-git-send-email-pl@kamp.de>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      e12ed72e
    • P
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170120' into staging · 28f5e970
      Peter Maydell 提交于
      target-arm queue:
       * support virtualization in GICv3
       * enable EL2 in AArch64 CPU models
       * allow EL2 to be enabled on 'virt' board via -machine virtualization=on
       * aspeed: SMC improvements
       * m25p80: support die erase command
       * m25p80: Add Quad Page Program 4byte
       * m25p80: Improve 1GiB Micron flash definition
       * arm: Uniquely name imx25 I2C buses
      
      # gpg: Signature made Fri 20 Jan 2017 11:31:53 GMT
      # 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-20170120: (36 commits)
        hw/arm/virt: Add board property to enable EL2
        target-arm: Enable EL2 feature bit on A53 and A57
        target/arm/psci.c: If EL2 implemented, start CPUs in EL2
        hw/arm/virt-acpi-build: use SMC if booting in EL2
        hw/arm/virt: Support using SMC for PSCI
        hw/intc/arm_gicv3: Implement EL2 traps for CPU i/f regs
        hw/intc/arm_gicv3: Implement gicv3_cpuif_virt_update()
        hw/intc/arm_gicv3: Implement ICV_ registers EOIR and IAR
        hw/intc/arm_gicv3: Implement ICV_ HPPIR, DIR and RPR registers
        hw/intc/arm_gicv3: Implement ICV_ registers which are just accessors
        hw/intc/arm_gicv3: Add accessors for ICH_ system registers
        hw/intc/gicv3: Add data fields for virtualization support
        hw/intc/gicv3: Add defines for ICH system register fields
        target-arm: Add ARMCPU fields for GIC CPU i/f config
        hw/arm/virt: Wire VIRQ, VFIQ, maintenance irq lines from GIC to CPU
        target-arm: Expose output GPIO line for VCPU maintenance interrupt
        hw/intc/arm_gic: Add external IRQ lines for VIRQ and VFIQ
        hw/intc/arm_gicv3: Add external IRQ lines for VIRQ and VFIQ
        hw/arm/virt-acpi - reserve ECAM space as PNP0C02 device
        arm: virt: Fix segmentation fault when specifying an unsupported CPU
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      28f5e970
    • P
      hw/arm/virt: Add board property to enable EL2 · f29cacfb
      Peter Maydell 提交于
      Add a board level property to the virt board which will
      enable EL2 on the CPU if the user asks for it. The
      default is not to provide EL2. If EL2 is enabled then
      we will use SMC as our PSCI conduit, and report the
      virtualization support in the GICv3 device tree node
      and the ACPI tables.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NAndrew Jones <drjones@redhat.com>
      Reviewed-by: NEdgar E. Iglesias <edgar.iglesias@xilinx.com>
      Message-id: 1483977924-14522-19-git-send-email-peter.maydell@linaro.org
      f29cacfb
    • P
      target-arm: Enable EL2 feature bit on A53 and A57 · c25bd18a
      Peter Maydell 提交于
      Enable the ARM_FEATURE_EL2 bit on Cortex-A52 and
      Cortex-A57, since this is all now sufficiently implemented
      to work with the GICv3. We provide the usual CPU property
      to disable it for backwards compatibility with the older
      virt boards.
      
      In this commit, we disable the EL2 feature on the
      virt and ZynpMP boards, so there is no overall effect.
      Another commit will expose a board-level property to
      allow the user to enable EL2.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NAndrew Jones <drjones@redhat.com>
      Reviewed-by: NEdgar E. Iglesias <edgar.iglesias@xilinx.com>
      Reviewed-by: NAlistair Francis <alistair.francis@xilinx.com>
      Message-id: 1483977924-14522-18-git-send-email-peter.maydell@linaro.org
      c25bd18a
    • P
      target/arm/psci.c: If EL2 implemented, start CPUs in EL2 · 3f591a20
      Peter Maydell 提交于
      The PSCI spec states that a CPU_ON call should cause the new
      CPU to be started in the highest implemented Non-secure
      exception level. We were incorrectly starting it at the
      exception level of the caller, which happens to be correct
      if EL2 is not implemented. Implement the correct logic
      as described in the PSCI 1.0 spec section 6.4:
       * if EL2 exists and SCR_EL3.HCE is set: start in EL2
       * otherwise start in EL1
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NEdgar E. Iglesias <edgar.iglesias@xilinx.com>
      Reviewed-by: NAndrew Jones <drjones@redhat.com>
      Tested-by: NAndrew Jones <drjones@redhat.com>
      Message-id: 1483977924-14522-17-git-send-email-peter.maydell@linaro.org
      3f591a20
    • A
      hw/arm/virt-acpi-build: use SMC if booting in EL2 · 79e993a0
      Andrew Jones 提交于
      Signed-off-by: NAndrew Jones <drjones@redhat.com>
      Acked-by: NAlistair Francis <alistair.francis@xilinx.com>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1483977924-14522-16-git-send-email-peter.maydell@linaro.org
      [PMM: look at vms->psci_conduit rather than vms->virt
       to decide whether to use HVC or SMC, and report no
       PSCI support at all for the 'PSCI disabled' case]
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      79e993a0
    • P
      hw/arm/virt: Support using SMC for PSCI · 2013c566
      Peter Maydell 提交于
      If we are giving the guest a CPU with EL2, it is likely to
      want to use the HVC instruction itself, for instance for
      providing PSCI to inner guest VMs. This makes using HVC
      as the PSCI conduit for the outer QEMU a bad idea. We will
      want to use SMC instead is this case: this makes sense
      because QEMU's PSCI implementation is effectively an
      emulation of functionality provided by EL3 firmware.
      
      Add code to support selecting the PSCI conduit to use,
      rather than hardcoding use of HVC.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NEdgar E. Iglesias <edgar.iglesias@xilinx.com>
      Reviewed-by: NAndrew Jones <drjones@redhat.com>
      Message-id: 1483977924-14522-15-git-send-email-peter.maydell@linaro.org
      2013c566
    • P
      hw/intc/arm_gicv3: Implement EL2 traps for CPU i/f regs · 86830554
      Peter Maydell 提交于
      Implement the architecturally required traps from NS EL1
      to EL2 for the CPU interface registers. These fall into
      several different groups:
       * group-0-only registers all trap if ICH_HRC_EL2.TALL0 is set
         (exactly the registers covered by gicv3_fiq_access())
       * group-1-only registers all trap if ICH_HRC_EL2.TALL1 is set
         (exactly the registers covered by gicv3_irq_access())
       * DIR traps if ICH_HCR_EL2.TC or ICH_HCR_EL2.TDIR are set
       * PMR, RPR, CTLR trap if ICH_HCR_EL2.TC is set
       * SGI0R, SGI1R, ASGI1R trap if ICH_HCR_EL2.TC is set or
         if HCR_EL2.IMO or HCR_EL2.FMO are set
      
      We split DIR and the SGI registers out into their own access
      functions, leaving the existing gicv3_irqfiq_access() just
      handling PMR, RPR and CTLR.
      
      This commit doesn't implement support for trapping on
      HSTR_EL2.T12 for the 32-bit registers, as we don't implement
      any of those per-coprocessor trap bits currently and
      probably will want to do those in some more centralized way.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1483977924-14522-14-git-send-email-peter.maydell@linaro.org
      86830554
    • P
      hw/intc/arm_gicv3: Implement gicv3_cpuif_virt_update() · c5fc89b3
      Peter Maydell 提交于
      Implement the function which signals virtual interrupts to the
      CPU as appropriate following CPU interface state changes.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1483977924-14522-13-git-send-email-peter.maydell@linaro.org
      c5fc89b3
    • P
      hw/intc/arm_gicv3: Implement ICV_ registers EOIR and IAR · b3b48f52
      Peter Maydell 提交于
      Implement the two remaining ICV_ registers: EOIR and IAR.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1483977924-14522-12-git-send-email-peter.maydell@linaro.org
      b3b48f52
    • P
      hw/intc/arm_gicv3: Implement ICV_ HPPIR, DIR and RPR registers · df313f48
      Peter Maydell 提交于
      Implement the the ICV_ registers HPPIR, DIR and RPR.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1483977924-14522-11-git-send-email-peter.maydell@linaro.org
      df313f48
    • P
      hw/intc/arm_gicv3: Implement ICV_ registers which are just accessors · 77620ba6
      Peter Maydell 提交于
      If the HCR_EL2.IMO or FMO bits are set, accesses to ICC_
      system registers are redirected to be accesses to ICV_
      registers (the guest-visible interface to the virtual
      interrupt controller). Implement this behaviour for the
      ICV_ registers which are simple accessors to the underlying
      register state.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1483977924-14522-10-git-send-email-peter.maydell@linaro.org
      77620ba6
    • P
      hw/intc/arm_gicv3: Add accessors for ICH_ system registers · 83f036fe
      Peter Maydell 提交于
      The GICv3 virtualization interface includes system registers
      accessible only to the hypervisor which form the control
      interface for interrupt virtualization. Implement these
      registers.
      
      The function gicv3_cpuif_virt_update() which determines
      whether it needs to signal vIRQ, vFIQ or a maintenance
      interrupt is introduced here as a stub function -- its
      implementation will be added in a subsequent commit.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1483977924-14522-9-git-send-email-peter.maydell@linaro.org
      83f036fe
    • P
      hw/intc/gicv3: Add data fields for virtualization support · 4eb833b5
      Peter Maydell 提交于
      As the first step in adding support for the virtualization
      extensions to the GICv3 emulation:
       * add the necessary data fields to the state structures
       * add the fields to the migration state, as a subsection
         which is only present if virtualization is enabled
      
      The use of a subsection means we retain migration
      compatibility as EL2 is not enabled on any CPUs currently.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Acked-by: NAlistair Francis <alistair.francis@xilinx.com>
      Message-id: 1483977924-14522-8-git-send-email-peter.maydell@linaro.org
      4eb833b5