1. 28 8月, 2013 2 次提交
    • M
      hw: Clean up bogus default boot order · c1654732
      Markus Armbruster 提交于
      We set default boot order "cad" in every single machine definition
      except "pseries" and "moxiesim", even though very few boards actually
      care for boot order, and "cad" makes sense for even fewer.
      
      Machines that care:
      
      * pc and its variants
      
        Accept up to three letters 'a', 'b' (undocumented alias for 'a'),
        'c', 'd' and 'n'.  Reject all others (fatal with -boot).
      
      * nseries (n800, n810)
      
        Check whether order starts with 'n'.  Silently ignored otherwise.
      
      * prep, g3beige, mac99
      
        Extract the first character the machine understands (subset of
        'a'..'f').  Silently ignored otherwise.
      
      * spapr
      
        Accept an arbitrary string (vl.c restricts it to contain only
        'a'..'p', no duplicates).
      
      * sun4[mdc]
      
        Use the first character.  Silently ignored otherwise.
      
      Strip characters these machines ignore from their default boot order.
      
      For all other machines, remove the unused default boot order
      alltogether.
      
      Note that my rename of QEMUMachine member boot_order to
      default_boot_order and QEMUMachineInitArgs member boot_device to
      boot_order has a welcome side effect: it makes every use of boot
      orders visible in this patch, for easy review.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      c1654732
    • A
      pci: add config space access traces · 3bf4dfdd
      Alexey Kardashevskiy 提交于
      This adds pci_cfg_read and pci_cfg_write traces for config spaces
      accesses.
      Signed-off-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      3bf4dfdd
  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 21 次提交