1. 19 3月, 2015 2 次提交
  2. 11 3月, 2015 1 次提交
    • A
      hw/arm/virt: fix cmdline parsing bug with CPU options and smp > 1 · 886bc7a0
      Ard Biesheuvel 提交于
      The recently introduced feature that allows 32 bit guests to be
      executed under KVM on a 64-bit host incorrectly handles the case
      where more than 1 cpu is specified using '-smp N'
      
      For instance, this invocation of qemu
      
        qemu-system-aarch64 -M virt -cpu cortex-a57,aarch64=off -smp 2
      
      produces the following error
      
        qemu-system-aarch64: Expected key=value format, found aarch64
      
      which is caused by the destructive parsing performed by
      cpu_common_parse_features(), resulting in subsequent attempts
      to parse the CPU option string (for each additional CPU) to fail.
      
      So duplicate the string before parsing it, and free it directly
      afterwards.
      Signed-off-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Reviewed-by: NGreg Bellows <greg.bellows@linaro.org>
      Message-id: 1425402380-10488-1-git-send-email-ard.biesheuvel@linaro.org
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      886bc7a0
  3. 10 3月, 2015 1 次提交
    • M
      hw: Propagate errors through qdev_prop_set_drive() · 9b3d111a
      Markus Armbruster 提交于
      Three kinds of callers:
      
      1. On failure, report the error and abort
      
         Passing &error_abort does the job.  No functional change.
      
      2. On failure, report the error and exit()
      
         This is qdev_prop_set_drive_nofail().  Error reporting moves from
         qdev_prop_set_drive() to its caller.  Because hiding away the error
         in the monitor right before exit() isn't helpful, replace
         qerror_report_err() by error_report_err().  Shouldn't make a
         difference, because qdev_prop_set_drive_nofail() should never be
         used in QMP context.
      
      3. On failure, report the error and recover
      
         This is usb_msd_init() and scsi_bus_legacy_add_drive().  Error
         reporting and freeing the error object moves from
         qdev_prop_set_drive() to its callers.
      
         Because usb_msd_init() can't run in QMP context, replace
         qerror_report_err() by error_report_err() there.
      
         No functional change.
      
         scsi_bus_legacy_add_drive() calling qerror_report_err() is of
         course inappropriate, but this commit merely makes it more obvious.
         The next one will clean it up.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NPeter Crosthwaite <peter.crosthwaite@xilinx.com>
      Message-Id: <1425925048-15482-3-git-send-email-armbru@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      9b3d111a
  4. 13 2月, 2015 2 次提交
  5. 05 2月, 2015 1 次提交
  6. 23 12月, 2014 5 次提交
  7. 20 11月, 2014 1 次提交
  8. 24 10月, 2014 2 次提交
  9. 20 10月, 2014 2 次提交
  10. 12 9月, 2014 3 次提交
  11. 09 9月, 2014 1 次提交
  12. 29 8月, 2014 1 次提交
    • J
      aarch64: raise max_cpus to 8 · d3579f36
      Joel Schopp 提交于
      I'm running on a system with 8 cpus and it would be nice to have qemu
      support all of them.  The attached patch does that and has been tested.
      
      That said, I'm not sure if 8 is enough or if we want to bump this even higher
      now before systems with many more cpus come along. 255 anyone?
      
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NJoel Schopp <joel.schopp@amd.com>
      Message-id: 20140819213304.19537.2834.stgit@joelaarch64.amd.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      d3579f36
  13. 20 8月, 2014 2 次提交
    • C
      arm/virt: Use PSCI v0.2 function IDs in the DT when KVM uses PSCI v0.2 · 863714ba
      Christoffer Dall 提交于
      The current code supplies the PSCI v0.1 function IDs in the DT even when
      KVM uses PSCI v0.2.
      
      This will break guest kernels that only support PSCI v0.1 as they will
      use the IDs provided in the DT.  Guest kernels with PSCI v0.2 support
      are not affected by this patch, because they ignore the function IDs in
      the device tree and rely on the architecture definition.
      
      Define QEMU versions of the constants and check that they correspond to
      the Linux defines on Linux build hosts.  After this patch, both guest
      kernels with PSCI v0.1 support and guest kernels with PSCI v0.2 should
      work.
      
      Tested on TC2 for 32-bit and APM Mustang for 64-bit (aarch64 guest
      only).  Both cases tested with 3.14 and linus/master and verified I
      could bring up 2 cpus with both guest kernels.  Also tested 32-bit with
      a 3.14 host kernel with only PSCI v0.1 and both guests booted here as
      well.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      863714ba
    • C
      target-arm: Rename QEMU PSCI v0.1 definitions · a65c9c17
      Christoffer Dall 提交于
      The function IDs for PSCI v0.1 are exported by KVM and defined as
      KVM_PSCI_FN_<something>.  To build using these defines in non-KVM code,
      QEMU defines these IDs locally and check their correctness against the
      KVM headers when those are available.
      
      However, the naming scheme used for QEMU (almost) clashes with the PSCI
      v0.2 definitions from Linux so to avoid unfortunate naming when we
      introduce local PSCI v0.2 defines, rename the current local defines with
      QEMU_ prependend and clearly identify the PSCI version as v0.1 in the
      defines.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      a65c9c17
  14. 04 8月, 2014 1 次提交
  15. 30 7月, 2014 1 次提交
  16. 30 6月, 2014 1 次提交
  17. 20 6月, 2014 1 次提交
  18. 28 5月, 2014 1 次提交
  19. 01 5月, 2014 3 次提交
  20. 18 3月, 2014 1 次提交
  21. 20 12月, 2013 1 次提交
  22. 10 12月, 2013 2 次提交
    • P
      hw/arm/virt: Support -cpu host · 198aa064
      Peter Maydell 提交于
      Support -cpu host in virt machine (treating it like an A15, ie
      with a GIC v2 and the A15's private peripherals.)
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NChristoffer Dall <christoffer.dall@linaro.org>
      Message-id: 1385140638-10444-12-git-send-email-peter.maydell@linaro.org
      198aa064
    • P
      hw/arm: Add 'virt' platform · f5fdcd6e
      Peter Maydell 提交于
      Add 'virt' platform support corresponding to arch/arm/mach-virt
      in the Linux kernel tree. This has no platform-specific code but
      can use any device whose kernel driver is is able to work purely
      from a device tree node. We use this to instantiate a minimal
      set of devices: a GIC and some virtio-mmio transports.
      Signed-off-by: NJohn Rigby <john.rigby@linaro.org>
      Reviewed-by: NChristoffer Dall <christoffer.dall@linaro.org>
      Message-id: 1385140638-10444-8-git-send-email-peter.maydell@linaro.org
      [PMM:
       Significantly overhauled:
       * renamed user-facing machine to just "virt"
       * removed the A9 support (it can't work since the A9 has no
         generic timers)
       * added virtio-mmio transports instead of random set of 'soc' devices
         (though we retain a pl011 UART)
       * instead of updating io_base as we step through adding devices,
         define a memory map with an array (similar to vexpress)
       * similarly, define irqmap with an array
       * folded in some minor fixes from John's aarch64-support patch
       * rather than explicitly doing endian-swapping on FDT cells,
         use fdt APIs that let us just pass in host-endian values
         and let the fdt layer take care of the swapping
       * miscellaneous minor code cleanups and style fixes
      ]
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      f5fdcd6e