1. 13 9月, 2017 1 次提交
  2. 08 9月, 2017 1 次提交
  3. 06 9月, 2017 1 次提交
  4. 31 8月, 2017 1 次提交
    • C
      configure: enable --s390-pgste linker option · e9a3591f
      Christian Borntraeger 提交于
      KVM guests on s390 need a different page table layout than normal
      processes (2kb page table + 2kb page status extensions vs 2kb page table
      only). As of today this has to be enabled via the vm.allocate_pgste
      sysctl.
      
      Newer kernels (>= 4.12) on s390 check for an S390_PGSTE program header
      and enable the pgste page table extensions in that case. This makes the
      vm.allocate_pgste sysctl unnecessary. We enable this program header for
      the s390 system emulation (qemu-system-s390x) if we build on s390
      - for s390 system emulation
      - the linker supports --s390-pgste (binutils >= 2.29)
      - KVM is enabled
      
      This will allow distributions to disable the global vm.allocate_pgste
      sysctl, which will improve the page table allocation for non KVM
      processes as only 2kb chunks are necessary.
      
      Cc: Christian Ehrhardt <christian.ehrhardt@canonical.com>
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Dan Horak <dhorak@redhat.com>
      Cc: David Hildenbrand <david@redhat.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Acked-by: NJanosch Frank <frankja@linux.vnet.ibm.com>
      Reviewed-by: NThomas Huth <thuth@redhat.com>
      Message-Id: <1503483383-199649-1-git-send-email-borntraeger@de.ibm.com>
      Reviewed-by: NDavid Hildenbrand <david@redhat.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      e9a3591f
  5. 03 8月, 2017 1 次提交
  6. 24 7月, 2017 1 次提交
  7. 21 7月, 2017 2 次提交
    • P
      configure: Drop ancient Solaris 9 and earlier support · 91939262
      Peter Maydell 提交于
      Solaris 9 was released in 2002, its successor Solaris 10 was
      released in 2005, and Solaris 9 was end-of-lifed in 2014.
      Nobody has stepped forward to express interest in supporting
      Solaris of any flavour, so removing support for the ancient
      versions seems uncontroversial.
      
      In particular, this allows us to remove a use of 'uname'
      in configure that won't work if you're cross-compiling.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 1499955697-28045-1-git-send-email-peter.maydell@linaro.org
      91939262
    • P
      configure: Never use 'uname' to identify target OS · 951fedfc
      Peter Maydell 提交于
      For a very long time we have used 'uname -s' as our fallback if
      we don't identify the target OS using a compiler #define. This
      obviously doesn't work for cross-compilation, and we've had
      a comment suggesting we fix this in configure for a long time.
      Since we now have an exhaustive list of which OSes we can run
      on (thanks to commit 898be3e0 making an unrecognized OS
      be a fatal error), we know which ones we're missing.
      
      Add check_define tests for the remaining OSes we support.  The
      defines checked are based on ones we already use in the codebase for
      identifying the host OS (with the exception of GNU/kFreeBSD).
      We can now set bogus_os immediately rather than doing it later.
      
      We leave the comment about uname being bad untouched, since
      there is still a use of it for the fallback for unrecognized
      host CPU type.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-id: 1499958932-23839-1-git-send-email-peter.maydell@linaro.org
      951fedfc
  8. 20 7月, 2017 2 次提交
  9. 19 7月, 2017 2 次提交
  10. 18 7月, 2017 1 次提交
  11. 14 7月, 2017 2 次提交
  12. 11 7月, 2017 3 次提交
  13. 04 7月, 2017 3 次提交
  14. 26 6月, 2017 1 次提交
    • P
      configure: Define NCURSES_WIDECHAR if we're using curses · b01a4fd3
      Peter Maydell 提交于
      We want the wide character functions from the ncurses header.
      Unfortunately it doesn't provide them by default, but only
      if either:
       * NCURSES_WIDECHAR is defined (for ncurses 20111030 and up)
       * _XOPEN_SOURCE/_XOPEN_SOURCE_EXTENDED are suitably defined
      
      So far we have been implicitly relying on the latter, because
      for GNU libc when we define _GNU_SOURCE this causes libc
      to define the _XOPEN_SOURCE macros for us. Unfortunately
      this doesn't work on all libcs, because some (like OSX and
      musl libc) do not define _XOPEN_SOURCE when _GNU_SOURCE
      is defined.
      
      We can't fix this by defining _XOPEN_SOURCE ourselves, because
      that also means "and don't provide any functions that aren't in
      that standard", and not all libcs provide any way to override
      that to also get the non-standard functions. In particular
      FreeBSD has no such mechanism, and OSX's _DARWIN_C_SOURCE
      doesn't reenable everything (for instance getpagesize()
      is still not prototyped if _DARWIN_C_SOURCE and _XOPEN_SOURCE
      are both defined).
      
      So we have to define NCURSES_WIDECHAR. (This will only work
      if your ncurses is at least 20111030, as older versions
      don't honour this macro.)
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Acked-by: NLaszlo Ersek <lersek@redhat.com>
      Message-id: 1496414138-7622-1-git-send-email-peter.maydell@linaro.org
      b01a4fd3
  15. 22 6月, 2017 1 次提交
  16. 15 6月, 2017 2 次提交
  17. 14 6月, 2017 2 次提交
  18. 08 6月, 2017 1 次提交
    • A
      target/i386: Add GDB XML description for SSE registers · b8158192
      Abdallah Bouassida 提交于
      Add an XML description for SSE registers (XMM+MXCSR) for both X86
      and X86-64 architectures in the GDB stub:
      - configure: Define gdb_xml_files for the X86 targets (32 and 64bit).
      - gdb-xml/i386-32bit-sse.xml & gdb-xml/i386-64bit-sse.xml: The XML files
      that contain a description of the XMM + MXCSR registers.
      - gdb-xml/i386-32bit.xml & gdb-xml/i386-64bit.xml: wrappers that include
      the XML file of the core registers and the other XML file of the SSE registers.
      - target/i386/cpu.c: Modify the gdb_core_xml_file to the new XML wrapper,
        modify the gdb_num_core_regs to fit the registers number defined in each
        XML file.
      Signed-off-by: NAbdallah Bouassida <abdallah.bouassida@lauterbach.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      b8158192
  19. 07 6月, 2017 2 次提交
  20. 06 6月, 2017 1 次提交
  21. 04 6月, 2017 1 次提交
  22. 02 6月, 2017 1 次提交
  23. 25 5月, 2017 1 次提交
  24. 19 5月, 2017 1 次提交
  25. 17 5月, 2017 1 次提交
  26. 16 5月, 2017 1 次提交
  27. 12 5月, 2017 1 次提交
  28. 11 5月, 2017 1 次提交
  29. 10 5月, 2017 1 次提交
    • A
      use _Static_assert in QEMU_BUILD_BUG_ON · 09d35204
      Andreas Grapentin 提交于
      QEMU_BUILD_BUG_ON should use C11's _Static_assert, if the compiler supports it,
      to provide more readable messages on failure.
      
      We check for _Static_assert in configure, and set CONFIG_STATIC_ASSERT
      accordingly. QEMU_BUILD_BUG_ON invokes _Static_assert if CONFIG_STATIC_ASSERT
      is defined, and reverts to the old way otherwise.
      
      That way, systems without C11 conforming compiler will still have the old
      messages, as verified by intentionally breaking the configure check.
      
      the following example output was generated by inverting the condition in
      QEMU_BUILD_BUG_ON:
      
      without _Static_assert:
      
      > In file included from /qemu/include/qemu/osdep.h:36:0,
      >                  from /qemu/qga/commands.c:13:
      > /qemu/qga/commands.c: In function ‘qmp_guest_exec_status’:
      > /qemu/include/qemu/compiler.h:89:12: error: negative width in bit-field ‘<anonymous>’
      >      struct { \
      >             ^
      > /qemu/include/qemu/compiler.h:96:38: note: in expansion of macro  QEMU_BUILD_BUG_ON_STRUCT’
      >  #define QEMU_BUILD_BUG_ON(x) typedef QEMU_BUILD_BUG_ON_STRUCT(x) \
      >                                       ^~~~~~~~~~~~~~~~~~~~~~~~
      > /qemu/include/qemu/atomic.h:146:5: note: in expansion of macro ‘QEMU_BUILD_BUG_ON’
      >      QEMU_BUILD_BUG_ON(sizeof(*ptr) > sizeof(void *));   \
      >      ^~~~~~~~~~~~~~~~~
      > /qemu/include/qemu/atomic.h:417:5: note: in expansion of macro ‘atomic_load_acquire’
      >      atomic_load_acquire(ptr)
      >      ^~~~~~~~~~~~~~~~~~~
      > /qemu/qga/commands.c:160:21: note: in expansion of macro ‘atomic_mb_read’
      >      bool finished = atomic_mb_read(&gei->finished);
      >                      ^~~~~~~~~~~~~~
      
      with _Static_assert:
      
      > In file included from /qemu/include/qemu/osdep.h:36:0,
      >                  from /qemu/qga/commands.c:13:
      > /qemu/qga/commands.c: In function ‘qmp_guest_exec_status’:
      > /qemu/include/qemu/compiler.h:94:30: error: static assertion failed: "not expecting: sizeof(*&gei->finished) > sizeof(void *)"
      >  #define QEMU_BUILD_BUG_ON(x) _Static_assert(!(x), #x)
      >                               ^
      > /qemu/include/qemu/atomic.h:146:5: note: in expansion of macro ‘QEMU_BUILD_BUG_ON’
      >      QEMU_BUILD_BUG_ON(sizeof(*ptr) > sizeof(void *));   \
      >      ^~~~~~~~~~~~~~~~~
      > /qemu/include/qemu/atomic.h:417:5: note: in expansion of macro ‘atomic_load_acquire’
      >      atomic_load_acquire(ptr)
      >      ^~~~~~~~~~~~~~~~~~~
      > /qemu/qga/commands.c:160:21: note: in expansion of macro ‘atomic_mb_read’
      >      bool finished = atomic_mb_read(&gei->finished);
      >                      ^~~~~~~~~~~~~~
      Signed-off-by: NAndreas Grapentin <andreas@grapentin.org>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      09d35204