1. 20 1月, 2017 3 次提交
  2. 31 10月, 2016 1 次提交
  3. 28 10月, 2016 1 次提交
  4. 28 9月, 2016 2 次提交
  5. 05 9月, 2016 2 次提交
  6. 08 8月, 2016 1 次提交
  7. 12 7月, 2016 1 次提交
  8. 11 7月, 2016 13 次提交
  9. 17 5月, 2016 5 次提交
  10. 23 3月, 2016 1 次提交
  11. 11 3月, 2016 1 次提交
  12. 01 3月, 2016 1 次提交
  13. 29 1月, 2016 1 次提交
  14. 13 1月, 2016 1 次提交
  15. 11 1月, 2016 1 次提交
  16. 01 12月, 2015 1 次提交
    • Y
      s390x/pci: fix up IOMMU size · f0a399db
      Yi Min Zhao 提交于
      Present code uses @size==UINT64_MAX to initialize IOMMU. It infers that it
      can map any 64-bit IOVA whatsoever. But in fact, the largest DMA range for
      each PCI Device on s390x is from ZPCI_SDMA_ADDR to ZPCI_EDMA_ADDR. The largest
      value is returned from hardware, which is to indicate the largest range
      hardware can support. But the real IOMMU size for specific PCI Device is
      obtained once qemu intercepts mpcifc instruction that guest is requesting a
      DMA range for that PCI Device. Therefore, before intercepting mpcifc instruction,
      qemu cannot be aware of the size of IOMMU region that guest will use.
      
      Moreover, iommu replay during device initialization for the whole region in
      4k steps takes a very long time.
      
      In conclusion, this patch intializes IOMMU region for each PCI Device when
      intercept mpcifc instruction which is to register DMA range for the PCI Device.
      And then, destroy IOMMU region when guest wants to deregister IOAT.
      Signed-off-by: NYi Min Zhao <zyimin@linux.vnet.ibm.com>
      Reviewed-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      f0a399db
  17. 12 11月, 2015 1 次提交
  18. 26 4月, 2015 1 次提交
    • P
      Switch non-CPU callers from ld/st*_phys to address_space_ld/st* · 42874d3a
      Peter Maydell 提交于
      Switch all the uses of ld/st*_phys to address_space_ld/st*,
      except for those cases where the address space is the CPU's
      (ie cs->as). This was done with the following script which
      generates a Coccinelle patch.
      
      A few over-80-columns lines in the result were rewrapped by
      hand where Coccinelle failed to do the wrapping automatically,
      as well as one location where it didn't put a line-continuation
      '\' when wrapping lines on a change made to a match inside
      a macro definition.
      
      ===begin===
      #!/bin/sh -e
      # Usage:
      # ./ldst-phys.spatch.sh > ldst-phys.spatch
      # spatch -sp_file ldst-phys.spatch -dir . | sed -e '/^+/s/\t/        /g' > out.patch
      # patch -p1 < out.patch
      
      for FN in ub uw_le uw_be l_le l_be q_le q_be uw l q; do
      cat <<EOF
      @ cpu_matches_ld_${FN} @
      expression E1,E2;
      identifier as;
      @@
      
      ld${FN}_phys(E1->as,E2)
      
      @ other_matches_ld_${FN} depends on !cpu_matches_ld_${FN} @
      expression E1,E2;
      @@
      
      -ld${FN}_phys(E1,E2)
      +address_space_ld${FN}(E1,E2, MEMTXATTRS_UNSPECIFIED, NULL)
      
      EOF
      
      done
      
      for FN in b w_le w_be l_le l_be q_le q_be w l q; do
      cat <<EOF
      @ cpu_matches_st_${FN} @
      expression E1,E2,E3;
      identifier as;
      @@
      
      st${FN}_phys(E1->as,E2,E3)
      
      @ other_matches_st_${FN} depends on !cpu_matches_st_${FN} @
      expression E1,E2,E3;
      @@
      
      -st${FN}_phys(E1,E2,E3)
      +address_space_st${FN}(E1,E2,E3, MEMTXATTRS_UNSPECIFIED, NULL)
      
      EOF
      
      done
      ===endit===
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NEdgar E. Iglesias <edgar.iglesias@xilinx.com>
      Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
      42874d3a
  19. 16 3月, 2015 1 次提交
  20. 03 2月, 2015 1 次提交