1. 28 8月, 2013 1 次提交
  2. 27 8月, 2013 2 次提交
    • M
      pc: fix regression for 64 bit PCI memory · 1466cef3
      Michael S. Tsirkin 提交于
      commit 39848901
          pc: limit 64 bit hole to 2G by default
      introduced a way for management to control
      the window allocated to the 64 bit PCI hole.
      
      This is useful, but existing management tools do not know how to set
      this property.  As a result, e.g. specifying a large ivshmem device with
      size > 4G is broken by default.  For example this configuration no
      longer works:
      
      -device ivshmem,size=4294967296,chardev=cfoo
      -chardev socket,path=/tmp/sock,id=cfoo,server,nowait
      
      Fix this by detecting that hole size was not specified
      and defaulting to the backwards-compatible value of 1 << 62.
      
      Cc: qemu-stable@nongnu.org
      Cc: Igor Mammedov <imammedo@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      1466cef3
    • A
      pci: Introduce helper to retrieve a PCI device's DMA address space · 9eda7d37
      Alexey Kardashevskiy 提交于
      A PCI device's DMA address space (possibly an IOMMU) is returned by a
      method on the PCIBus.  At the moment that only has one caller, so the
      method is simply open coded.  We'll need another caller for VFIO, so
      this patch introduces a helper/wrapper function.
      
      If IOMMU is not set, the pci_device_iommu_address_space() function
      returns the parent's IOMMU skipping the "bus master" address space as
      otherwise proper emulation would require more effort for no benefit.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      [aik: added inheritance from parent if iommu is not set for the current bus]
      Signed-off-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      9eda7d37
  3. 25 8月, 2013 1 次提交
  4. 22 8月, 2013 9 次提交
  5. 21 8月, 2013 5 次提交
    • A
    • M
      loader: store FW CFG ROM files in RAM · 04920fc0
      Michael S. Tsirkin 提交于
      ROM files that are put in FW CFG are copied to guest ram, by BIOS, but
      they are not backed by RAM so they don't get migrated.
      
      Each time we change two bytes in such a ROM this breaks cross-version
      migration: since we can migrate after BIOS has read the first byte but
      before it has read the second one, getting an inconsistent state.
      
      Future-proof this by creating, for each such ROM,
      an MR serving as the backing store.
      This MR is never mapped into guest memory, but it's registered
      as RAM so it's migrated with the guest.
      
      Naturally, this only helps for -M 1.7 and up, older machine types
      will still have the cross-version migration bug.
      Luckily the race window for the problem to trigger is very small,
      which is also likely why we didn't notice the cross-version
      migration bug in testing yet.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      04920fc0
    • M
      arch_init: align MR size to target page size · 0851c9f7
      Michael S. Tsirkin 提交于
      Migration code assumes that each MR is a multiple of TARGET_PAGE_SIZE:
      MR size is divided by TARGET_PAGE_SIZE, so if it isn't migration
      never completes.
      But this isn't really required for regions set up with
      memory_region_init_ram, since that calls qemu_ram_alloc
      which aligns size up using TARGET_PAGE_ALIGN.
      
      Align MR size up to full target page sizes, this way
      migration completes even if we create a RAM MR
      which is not a full target page size.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      0851c9f7
    • M
      pc: cleanup 1.4 compat support · c0b4cc1f
      Michael S. Tsirkin 提交于
      Make 1.4 compat code call the 1.6 one, reducing
      code duplication. Add comment explaining why we can't
      make 1.4 call 1.5 as usual.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NAndreas Färber <afaerber@suse.de>
      Reviewed-by: NEduardo Habkost <ehabkost@redhat.com>
      c0b4cc1f
    • A
      Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130820' into staging · ecfe10c9
      Anthony Liguori 提交于
      target-arm queue
      
      # gpg: Signature made Tue 20 Aug 2013 08:56:28 AM CDT using RSA key ID 14360CDE
      # gpg: Can't check signature: public key not found
      
      # By Peter Maydell (20) and Peter Chubb (1)
      # Via Peter Maydell
      * pmaydell/tags/pull-target-arm-20130820: (21 commits)
        hw/timer/imx_epit: Simplify and fix imx_epit implementation
        default-configs: Fix A9MP and A15MP config names
        hw/cpu/a15mpcore: Wire generic timer outputs to GIC inputs
        target-arm: Implement the generic timer
        target-arm: Support coprocessor registers which do I/O
        target-arm: Allow raw_read() and raw_write() to handle 64 bit regs
        hw/arm/pic_cpu: Remove the now-unneeded arm_pic_init_cpu()
        hw/arm/xilinx_zynq: Don't use arm_pic_init_cpu()
        hw/arm/vexpress: Don't use arm_pic_init_cpu()
        hw/arm/versatilepb: Don't use arm_pic_init_cpu()
        hw/arm/strongarm: Don't use arm_pic_init_cpu()
        hw/arm/realview: Don't use arm_pic_init_cpu()
        hw/arm/omap*: Don't use arm_pic_init_cpu()
        hw/arm/musicpal: Don't use arm_pic_init_cpu()
        hw/arm/kzm: Don't use arm_pic_init_cpu()
        hw/arm/integratorcp: Don't use arm_pic_init_cpu()
        hw/arm/highbank: Don't use arm_pic_init_cpu()
        hw/arm/exynos4210: Don't use arm_pic_init_cpu()
        hw/arm/armv7m: Don't use arm_pic_init_cpu()
        target-arm: Make IRQ and FIQ gpio lines on the CPU object
        ...
      
      Message-id: 1377007680-4934-1-git-send-email-peter.maydell@linaro.org
      Signed-off-by: NAnthony Liguori <anthony@codemonkey.ws>
      ecfe10c9
  6. 20 8月, 2013 22 次提交