1. 19 10月, 2015 1 次提交
    • P
      kvm: Pass PCI device pointer to MSI routing functions · dc9f06ca
      Pavel Fedin 提交于
      In-kernel ITS emulation on ARM64 will require to supply requester IDs.
      These IDs can now be retrieved from the device pointer using new
      pci_requester_id() function.
      
      This patch adds pci_dev pointer to KVM GSI routing functions and makes
      callers passing it.
      
      x86 architecture does not use requester IDs, but hw/i386/kvm/pci-assign.c
      also made passing PCI device pointer instead of NULL for consistency with
      the rest of the code.
      Signed-off-by: NPavel Fedin <p.fedin@samsung.com>
      Message-Id: <ce081423ba2394a4efc30f30708fca07656bc500.1444916432.git.p.fedin@samsung.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      dc9f06ca
  2. 17 7月, 2015 2 次提交
    • J
      mips/kvm: Sign extend registers written to KVM · 02dae26a
      James Hogan 提交于
      In case we're running on a 64-bit host, be sure to sign extend the
      general purpose registers and hi/lo/pc before writing them to KVM, so as
      to take advantage of MIPS32/MIPS64 compatibility.
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Leon Alrae <leon.alrae@imgtec.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: kvm@vger.kernel.org
      Cc: qemu-stable@nongnu.org
      Message-Id: <1429871214-23514-3-git-send-email-james.hogan@imgtec.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      02dae26a
    • J
      mips/kvm: Fix Big endian 32-bit register access · f8b3e48b
      James Hogan 提交于
      Fix access to 32-bit registers on big endian targets. The pointer passed
      to the kernel must be for the actual 32-bit value, not a temporary
      64-bit value, otherwise on big endian systems the kernel will only
      interpret the upper half.
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Leon Alrae <leon.alrae@imgtec.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: kvm@vger.kernel.org
      Cc: qemu-stable@nongnu.org
      Message-Id: <1429871214-23514-2-git-send-email-james.hogan@imgtec.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      f8b3e48b
  3. 09 7月, 2015 1 次提交
    • J
      mips/kvm: Sync with newer MIPS KVM headers · 5a2db896
      James Hogan 提交于
      The KVM_REG_MIPS_COUNT_* definitions are now included in
      linux-headers/asm-mips/kvm.h since commit b061808d ("linux-headers:
      update linux headers to kvm/next"), therefore the duplicate definitions
      in target-mips/kvm.c can now be dropped (the definitions were tweaked
      slightly in commit 7a52ce8a ("linux-headers: update") which
      triggered the following build warnings turned errors):
      
      target-mips/kvm.c:232:0: error: "KVM_REG_MIPS_COUNT_CTL" redefined [-Werror]
      linux-headers/asm/kvm.h:129:0: note: this is the location of the previous definition
      target-mips/kvm.c:236:0: error: "KVM_REG_MIPS_COUNT_RESUME" redefined [-Werror]
      linux-headers/asm/kvm.h:141:0: note: this is the location of the previous definition
      target-mips/kvm.c:239:0: error: "KVM_REG_MIPS_COUNT_HZ" redefined [-Werror]
      linux-headers/asm/kvm.h:147:0: note: this is the location of the previous definition
      
      Also update the MIPS_C0_{32,64} macros to utilise definitions more
      recently added to the asm-mips/kvm.h header.
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Reviewed-by: NLeon Alrae <leon.alrae@imgtec.com>
      Message-id: 1436433435-24898-3-git-send-email-james.hogan@imgtec.com
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Leon Alrae <leon.alrae@imgtec.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: kvm@vger.kernel.org
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      5a2db896
  4. 01 7月, 2015 1 次提交
    • J
      kvm: First step to push iothread lock out of inner run loop · 4b8523ee
      Jan Kiszka 提交于
      This opens the path to get rid of the iothread lock on vmexits in KVM
      mode. On x86, the in-kernel irqchips has to be used because we otherwise
      need to synchronize APIC and other per-cpu state accesses that could be
      changed concurrently.
      
      Regarding pre/post-run callbacks, s390x and ARM should be fine without
      specific locking as the callbacks are empty. MIPS and POWER require
      locking for the pre-run callback.
      
      For the handle_exit callback, it is non-empty in x86, POWER and s390.
      Some POWER cases could do without the locking, but it is left in
      place for now.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-Id: <1434646046-27150-7-git-send-email-pbonzini@redhat.com>
      4b8523ee
  5. 02 6月, 2015 1 次提交
  6. 30 4月, 2015 1 次提交
  7. 12 3月, 2015 1 次提交
  8. 12 1月, 2015 1 次提交
  9. 15 12月, 2014 1 次提交
  10. 10 7月, 2014 1 次提交
    • J
      mips/kvm: Disable FPU on reset with KVM · 0e928b12
      James Hogan 提交于
      KVM doesn't yet support the MIPS FPU, or writing to the guest's Config1
      register which contains the FPU implemented bit. Clear QEMU's version of
      that bit on reset and display a warning that the FPU has been disabled.
      
      The previous incorrect Config1 CP0 register value wasn't being passed to
      KVM yet, however we should ensure it is set correctly now to reduce the
      risk of breaking migration/loadvm to a future version of QEMU/Linux that
      does support it.
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      0e928b12
  11. 18 6月, 2014 1 次提交