1. 28 10月, 2016 1 次提交
  2. 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
  3. 18 2月, 2016 1 次提交
  4. 11 2月, 2016 1 次提交
  5. 27 1月, 2016 1 次提交
  6. 21 1月, 2016 1 次提交
    • P
      target-arm: Use a single entry point for AArch64 and AArch32 exceptions · 966f758c
      Peter Maydell 提交于
      If EL2 or EL3 is present on an AArch64 CPU, then exceptions can be
      taken to an exception level which is running AArch32 (if only EL0
      and EL1 are present then EL1 must be AArch64 and all exceptions are
      taken to AArch64). To support this we need to have a single
      implementation of the CPU do_interrupt() method which can handle both
      32 and 64 bit exception entry.
      
      Pull the common parts of aarch64_cpu_do_interrupt() and
      arm_cpu_do_interrupt() out into a new function which calls
      either the AArch32 or AArch64 specific entry code once it has
      worked out which one is needed.
      
      We temporarily special-case the handling of EXCP_SEMIHOST to
      avoid an assertion in arm_el_is_aa64(); the next patch will
      pull all the semihosting handling out to the arm_cpu_do_interrupt()
      level (since semihosting semantics depend on the register width
      of the calling code, not on that of any higher EL).
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NEdgar E. Iglesias <edgar.iglesias@xilinx.com>
      966f758c
  7. 19 1月, 2016 1 次提交
  8. 16 6月, 2015 2 次提交
  9. 18 5月, 2015 2 次提交
  10. 11 3月, 2015 1 次提交
  11. 13 2月, 2015 1 次提交
  12. 24 10月, 2014 2 次提交
  13. 26 9月, 2014 1 次提交
  14. 29 8月, 2014 1 次提交
  15. 20 8月, 2014 1 次提交
  16. 09 6月, 2014 4 次提交
  17. 18 4月, 2014 8 次提交
  18. 27 2月, 2014 1 次提交
  19. 14 1月, 2014 1 次提交
  20. 09 1月, 2014 1 次提交
    • M
      target-arm: fix build with gcc 4.8.2 · 7b1aa025
      Michael S. Tsirkin 提交于
      commit 5ce4f357
          "target-arm: A64: add set_pc cpu method"
      
      introduces an array aarch64_cpus which is zero
      size if this code is built without CONFIG_USER_ONLY.
      In particular an attempt to iterate over this array produces a warning
      under gcc 4.8.2:
      
       CC    aarch64-softmmu/target-arm/cpu64.o
      /scm/qemu/target-arm/cpu64.c: In function ‘aarch64_cpu_register_types’:
      /scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned
      expression < 0 is always false [-Werror=type-limits]
           for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) {
           ^
      cc1: all warnings being treated as errors
      
      This is the result of ARRAY_SIZE being an unsigned type,
      causing "i" to be promoted to unsigned int as well.
      
      As zero size arrays are a gcc extension, it seems
      cleanest to add a dummy element with NULL name,
      and test for it during registration.
      
      We'll be able to drop this when we add more CPUs.
      
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NStefan Weil <sw@weilnetz.de>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 20131223145216.GA22663@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      7b1aa025
  21. 08 1月, 2014 1 次提交
    • M
      target-arm: fix build with gcc 4.8.2 · 455e1e14
      Michael S. Tsirkin 提交于
      commit 5ce4f357
          "target-arm: A64: add set_pc cpu method"
      
      introduces an array aarch64_cpus which is zero
      size if this code is built without CONFIG_USER_ONLY.
      In particular an attempt to iterate over this array produces a warning
      under gcc 4.8.2:
      
       CC    aarch64-softmmu/target-arm/cpu64.o
      /scm/qemu/target-arm/cpu64.c: In function ‘aarch64_cpu_register_types’:
      /scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned
      expression < 0 is always false [-Werror=type-limits]
           for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) {
           ^
      cc1: all warnings being treated as errors
      
      This is the result of ARRAY_SIZE being an unsigned type,
      causing "i" to be promoted to unsigned int as well.
      
      As zero size arrays are a gcc extension, it seems
      cleanest to add a dummy element with NULL name,
      and test for it during registration.
      
      We'll be able to drop this when we add more CPUs.
      
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NStefan Weil <sw@weilnetz.de>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 20131223145216.GA22663@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      455e1e14
  22. 24 12月, 2013 1 次提交
    • M
      target-arm: fix build with gcc 4.8.2 · 5bf58abf
      Michael S. Tsirkin 提交于
      commit 5ce4f357
          "target-arm: A64: add set_pc cpu method"
      
      introduces an array aarch64_cpus which is zero
      size if this code is built without CONFIG_USER_ONLY.
      In particular an attempt to iterate over this array produces a warning
      under gcc 4.8.2:
      
       CC    aarch64-softmmu/target-arm/cpu64.o
      /scm/qemu/target-arm/cpu64.c: In function ‘aarch64_cpu_register_types’:
      /scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned
      expression < 0 is always false [-Werror=type-limits]
           for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) {
           ^
      cc1: all warnings being treated as errors
      
      This is the result of ARRAY_SIZE being an unsigned type,
      causing "i" to be promoted to unsigned int as well.
      
      As zero size arrays are a gcc extension, it seems
      cleanest to add a dummy element with NULL name,
      and test for it during registration.
      
      We'll be able to drop this when we add more CPUs.
      
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NStefan Weil <sw@weilnetz.de>
      5bf58abf
  23. 18 12月, 2013 1 次提交
  24. 11 9月, 2013 3 次提交