1. 13 6月, 2017 1 次提交
  2. 17 5月, 2017 1 次提交
  3. 25 1月, 2017 1 次提交
  4. 18 10月, 2016 1 次提交
  5. 04 10月, 2016 1 次提交
  6. 19 5月, 2016 1 次提交
  7. 23 3月, 2016 1 次提交
    • M
      include/qemu/osdep.h: Don't include qapi/error.h · da34e65c
      Markus Armbruster 提交于
      Commit 57cb38b3 included qapi/error.h into qemu/osdep.h to get the
      Error typedef.  Since then, we've moved to include qemu/osdep.h
      everywhere.  Its file comment explains: "To avoid getting into
      possible circular include dependencies, this file should not include
      any other QEMU headers, with the exceptions of config-host.h,
      compiler.h, os-posix.h and os-win32.h, all of which are doing a
      similar job to this file and are under similar constraints."
      qapi/error.h doesn't do a similar job, and it doesn't adhere to
      similar constraints: it includes qapi-types.h.  That's in excess of
      100KiB of crap most .c files don't actually need.
      
      Add the typedef to qemu/typedefs.h, and include that instead of
      qapi/error.h.  Include qapi/error.h in .c files that need it and don't
      get it now.  Include qapi-types.h in qom/object.h for uint16List.
      
      Update scripts/clean-includes accordingly.  Update it further to match
      reality: replace config.h by config-target.h, add sysemu/os-posix.h,
      sysemu/os-win32.h.  Update the list of includes in the qemu/osdep.h
      comment quoted above similarly.
      
      This reduces the number of objects depending on qapi/error.h from "all
      of them" to less than a third.  Unfortunately, the number depending on
      qapi-types.h shrinks only a little.  More work is needed for that one.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      [Fix compilation without the spice devel packages. - Paolo]
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      da34e65c
  8. 29 1月, 2016 1 次提交
    • P
      arm: Clean up includes · 8ef94f0b
      Peter Maydell 提交于
      Clean up includes so that osdep.h is included first and headers
      which it implies are not included manually.
      
      This commit was created with scripts/clean-includes.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1453832250-766-13-git-send-email-peter.maydell@linaro.org
      8ef94f0b
  9. 27 10月, 2015 1 次提交
  10. 24 9月, 2015 1 次提交
    • P
      intc/gic: Extract some reusable vGIC code · 4b3cfe72
      Pavel Fedin 提交于
      Some functions previously used only by vGICv2 are useful also for vGICv3
      implementation. Untie them from GICState and make accessible from within
      other modules:
      - kvm_arm_gic_set_irq()
      - kvm_gic_supports_attr() - moved to common code and renamed to
        kvm_device_check_attr()
      - kvm_gic_access() - turned into GIC-independent kvm_device_access().
        Data pointer changed to void * because some GICv3 registers are
        64-bit wide
      
      Some of these changes are not used right now, but they will be helpful for
      implementing live migration.
      
      Actually kvm_dist_get() and kvm_dist_put() could also be made reusable, but
      they would require two extra parameters (s->dev_fd and s->num_cpu) as well as
      lots of typecasts of 's' to DeviceState * and back to GICState *. This makes
      the code very ugly so i decided to stop at this point. I tried also an
      approach with making a base class for all possible GICs, but it would contain
      only three variables (dev_fd, cpu_num and irq_num), and accessing them through
      the rest of the code would be again tedious (either ugly casts or qemu-style
      separate object pointer). So i disliked it too.
      Signed-off-by: NPavel Fedin <p.fedin@samsung.com>
      Tested-by: NAshok kumar <ashoks@broadcom.com>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 2ef56d1dd64ffb75ed02a10dcdaf605e5b8ff4f8.1441784344.git.p.fedin@samsung.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      4b3cfe72
  11. 13 8月, 2015 1 次提交
  12. 07 7月, 2015 1 次提交
  13. 12 5月, 2015 6 次提交
  14. 02 4月, 2015 1 次提交
  15. 16 3月, 2015 1 次提交
  16. 11 12月, 2014 1 次提交
  17. 06 5月, 2014 1 次提交
  18. 15 3月, 2014 1 次提交
  19. 27 2月, 2014 2 次提交
    • C
      hw: arm_gic_kvm: Add KVM VGIC save/restore logic · 855011be
      Christoffer Dall 提交于
      Save and restore the ARM KVM VGIC state from the kernel.  We rely on
      QEMU to marshal the GICState data structure and therefore simply
      synchronize the kernel state with the QEMU emulated state in both
      directions.
      
      We take some care on the restore path to check the VGIC has been
      configured with enough IRQs and CPU interfaces that we can properly
      restore the state, and for separate set/clear registers we first fully
      clear the registers and then set the required bits.
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org>
      Message-id: 1392687921-26921-1-git-send-email-christoffer.dall@linaro.org
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      855011be
    • C
      arm: vgic device control api support · 1da41cc1
      Christoffer Dall 提交于
      Support creating the ARM vgic device through the device control API and
      setting the base address for the distributor and cpu interfaces in KVM
      VMs using this API.
      
      Because the older KVM_CREATE_IRQCHIP interface needs the irq chip to be
      created prior to creating the VCPUs, we first test if we can use the
      device control API in kvm_arch_irqchip_create (using the test flag from
      the device control API).  If we cannot, it means we have to fall back to
      KVM_CREATE_IRQCHIP and use the older ioctl at this point in time.  If
      however, we can use the device control API, we don't do anything and
      wait until the arm_gic_kvm driver initializes and let that use the
      device control API.
      Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org>
      Message-id: 1392687720-26806-5-git-send-email-christoffer.dall@linaro.org
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      1da41cc1
  20. 23 12月, 2013 2 次提交
    • M
      sysbus: Set cannot_instantiate_with_device_add_yet · 837d3716
      Markus Armbruster 提交于
      device_add plugs devices into suitable bus.  For "real" buses, that
      actually connects the device.  For sysbus, the connections need to be
      made separately, and device_add can't do that.  The device would be
      left unconnected, and could not possibly work.
      
      Quite a few, but not all sysbus devices already set
      cannot_instantiate_with_device_add_yet in their class init function.
      
      Set it in their abstract base's class init function
      sysbus_device_class_init(), and remove the now redundant assignments
      from device class init functions.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NMarcel Apfelbaum <marcel.a@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      837d3716
    • M
      qdev: Replace no_user by cannot_instantiate_with_device_add_yet · efec3dd6
      Markus Armbruster 提交于
      In an ideal world, machines can be built by wiring devices together
      with configuration, not code.  Unfortunately, that's not the world we
      live in right now.  We still have quite a few devices that need to be
      wired up by code.  If you try to device_add such a device, it'll fail
      in sometimes mysterious ways.  If you're lucky, you get an
      unmysterious immediate crash.
      
      To protect users from such badness, DeviceClass member no_user used to
      make device models unavailable with -device / device_add, but that
      regressed in commit 18b6dade.  The device model is still omitted from
      help, but is available anyway.
      
      Attempts to fix the regression have been rejected with the argument
      that the purpose of no_user isn't clear, and it's prone to misuse.
      
      This commit clarifies no_user's purpose.  Anthony suggested to rename
      it cannot_instantiate_with_device_add_yet_due_to_internal_bugs, which
      I shorten somewhat to keep checkpatch happy.  While there, make it
      bool.
      
      Every use of cannot_instantiate_with_device_add_yet gets a FIXME
      comment asking for rationale.  The next few commits will clean them
      all up, either by providing a rationale, or by getting rid of the use.
      
      With that done, the regression fix is hopefully acceptable.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NMarcel Apfelbaum <marcel.a@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      efec3dd6
  21. 04 7月, 2013 2 次提交
  22. 09 4月, 2013 2 次提交
  23. 05 3月, 2013 1 次提交