1. 05 5月, 2017 5 次提交
    • P
      sgabios: update for "fix wrong video attrs for int 10h,ah==13h" · c8c33fca
      Paolo Bonzini 提交于
      Update the submodule and rebuild the binary.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      c8c33fca
    • P
      scsi: avoid an off-by-one error in megasas_mmio_write · 24dfa9fa
      Prasad J Pandit 提交于
      While reading magic sequence(MFI_SEQ) in megasas_mmio_write,
      an off-by-one error could occur as 's->adp_reset' index is not
      reset after reading the last sequence.
      Reported-by: NYY Z <bigbird475958471@gmail.com>
      Signed-off-by: NPrasad J Pandit <pjp@fedoraproject.org>
      Message-Id: <20170424120634.12268-1-ppandit@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      24dfa9fa
    • T
      vl: deprecate the "-hdachs" option · aab9e87e
      Thomas Huth 提交于
      If the user needs to specify the disk geometry, the corresponding
      parameters of the "-device ide-hd" option should be used instead.
      "-hdachs" is considered as deprecated and might be removed soon.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-Id: <1493270454-1448-1-git-send-email-thuth@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      aab9e87e
    • A
      use _Static_assert in QEMU_BUILD_BUG_ON · 49e00a18
      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>
      Message-Id: <20170314165953.18506-1-andreas@grapentin.org>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      49e00a18
    • A
      target/i386: Add GDB XML register description support · 00fcd100
      Abdallah Bouassida 提交于
      This patch implements XML target description support for X86 and X86-64
      architectures in the GDB stub, as the way with ARM and PowerPC:
      - gdb-xml/32bit-core.xml & gdb-xml/64bit-core.xml: Adding the XML target
        description files, these files are picked from GDB source code.
      - configure: Define gdb_xml_files for X86 targets.
      - target/i386/cpu.c: Define gdb_core_xml_file and gdb_arch_name to add
        XML awareness for this architecture, 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>
      Message-Id: <2b3c8119-1602-28c7-eab4-296593877103@lauterbach.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      00fcd100
  2. 03 5月, 2017 3 次提交
    • Z
      char: Fix removing wrong GSource that be found by fd_in_tag · b19456dd
      zhanghailiang 提交于
      We use fd_in_tag to find a GSource, fd_in_tag is return value of
      g_source_attach(GSource *source, GMainContext *context), the return
      value is unique only in the same context, so we may get the same
      values with different 'context' parameters.
      
      It is no problem to find the right fd_in_tag by using
       g_main_context_find_source_by_id(GMainContext *context, guint source_id)
      while there is only one default main context.
      
      But colo-compare tries to create/use its own context, and if we pass wrong
      'context' parameter with right fd_in_tag, we will find a wrong GSource to handle.
      We tried to fix the related codes in commit b43decb0,
      but it didn't fix the bug completely, because we still have some codes didn't pass
      *right* context parameter for remove_fd_in_watch().
      
      Let's fix it by record the GSource directly instead of fd_in_tag.
      Signed-off-by: Nzhanghailiang <zhang.zhanghailiang@huawei.com>
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <1492564532-91680-1-git-send-email-zhang.zhanghailiang@huawei.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      b19456dd
    • P
      hw/i386: Build-time assertion on pc/q35 reset register being identical. · 6103451a
      Phil Dennis-Jordan 提交于
      This adds a clarifying comment and build time assert to the FADT reset register field initialisation: the reset register is the same on both machine types.
      Signed-off-by: NPhil Dennis-Jordan <phil@philjordan.eu>
      Message-Id: <1489558827-28971-3-git-send-email-phil@philjordan.eu>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      6103451a
    • P
      hw/i386: Use Rev3 FADT (ACPI 2.0) instead of Rev1 to improve guest OS support. · 77af8a2b
      Phil Dennis-Jordan 提交于
      This updates the FADT generated for x86/64 machine types from Revision 1 to 3. (Based on ACPI standard 2.0 instead of 1.0) The intention is to expose the reset register information to guest operating systems which require it, specifically OS X/macOS. Revision 1 FADTs do not contain the fields relating to the reset register.
      
      The new layout and contents remains backwards-compatible with operating systems which only support ACPI 1.0, as the existing fields are not modified by this change, as the 64-bit and 32-bit variants are allowed to co-exist according to the ACPI 2.0 standard. No regressions became apparent in tests with a range of Windows (XP-10) and Linux versions.
      
      The BIOS tables test suite's FADT checksum test has also been updated to reflect the new FADT layout and content.
      Signed-off-by: NPhil Dennis-Jordan <phil@philjordan.eu>
      Message-Id: <1489558827-28971-2-git-send-email-phil@philjordan.eu>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      77af8a2b
  3. 02 5月, 2017 1 次提交
    • S
      Merge remote-tracking branch 'sthibault/tags/samuel-thibault' into staging · e619b147
      Stefan Hajnoczi 提交于
      slirp updates
      
      # gpg: Signature made Sat 29 Apr 2017 05:45:24 PM BST
      # gpg:                using RSA key 0xB0A51BF58C9179C5
      # gpg: Good signature from "Samuel Thibault <samuel.thibault@aquilenet.fr>"
      # gpg:                 aka "Samuel Thibault <sthibault@debian.org>"
      # gpg:                 aka "Samuel Thibault <samuel.thibault@gnu.org>"
      # gpg:                 aka "Samuel Thibault <samuel.thibault@inria.fr>"
      # gpg:                 aka "Samuel Thibault <samuel.thibault@labri.fr>"
      # gpg:                 aka "Samuel Thibault <samuel.thibault@ens-lyon.org>"
      # gpg:                 aka "Samuel Thibault <samuel.thibault@u-bordeaux.fr>"
      # Primary key fingerprint: 900C B024 B679 31D4 0F82  304B D017 8C76 7D06 9EE6
      #      Subkey fingerprint: AEBF 7448 FAB9 453A 4552  390E B0A5 1BF5 8C91 79C5
      
      * sthibault/tags/samuel-thibault:
        slirp: VMStatify remaining except for loop
        slirp: VMStatify socket level
        slirp: Common lhost/fhost union
        slirp: VMStatify sbuf
        slirp: VMState conversion; tcpcb
        slirp: fix pinging the virtual ipv4 DNS server
        slirp: tftp, copy sockaddr_size
        slirp/smb: Replace constant strings by glib string
        slirp: allow host port 0 for hostfwd
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      e619b147
  4. 30 4月, 2017 9 次提交
  5. 28 4月, 2017 3 次提交
    • M
      replication: Make --disable-replication compile again · 38bb54f3
      Markus Armbruster 提交于
      Broken in commit daa33c52.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NZhang Chen <zhangchen.fnst@cn.fujitsu.com>
      Message-id: 1493298053-17140-1-git-send-email-armbru@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      38bb54f3
    • G
      configure: fix trace backend list for out-of-tree builds · 64a6047d
      Greg Kurz 提交于
      Since commit "c53eeaf7 configure: eliminate Python dependency for
      --help", configure --help fails to produce the list of available trace
      backends if invoked out-of-tree. It also spits the following error:
      
      grep: scripts/tracetool/backend/*.py: No such file or directory
      
      This patch simply adds the missing $source_path to fix it.
      Signed-off-by: NGreg Kurz <groug@kaod.org>
      Message-id: 149321376763.7874.12797658801011614451.stgit@bahia
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      64a6047d
    • S
      Merge remote-tracking branch 'mdroth/tags/qga-pull-2017-04-25-v2-tag' into staging · 7ad691ec
      Stefan Hajnoczi 提交于
      qemu-ga patch queue
      
      * new commands: guest-get-timezone, guest-get-users, guest-get-host-name
      * fix hang on w32 when stopping qemu-ga service while fs frozen
      * fix missing setting of can-offline in guest-get-vcpus
      * make qemu-ga VSS w32 service on-demand rather than on-startup
      * fix unecessary errors to EventLog on w32
      * improvements to fsfreeze documentation
      
      v2:
       * document 'zone' field of guest-get-timezone as informational-only
         (Daniel, Eric)
       * fix build error for glib < 2.32 (Peter)
      
      # gpg: Signature made Thu 27 Apr 2017 06:43:42 AM BST
      # gpg:                using RSA key 0x3353C9CEF108B584
      # gpg: Good signature from "Michael Roth <flukshun@gmail.com>"
      # gpg:                 aka "Michael Roth <mdroth@utexas.edu>"
      # gpg:                 aka "Michael Roth <mdroth@linux.vnet.ibm.com>"
      # Primary key fingerprint: CEAC C9E1 5534 EBAB B82D  3FA0 3353 C9CE F108 B584
      
      * mdroth/tags/qga-pull-2017-04-25-v2-tag:
        qga: Add `guest-get-timezone` command
        qga: Add 'guest-get-users' command
        qga: improve fsfreeze documentations
        qga: Add 'guest-get-host-name' command
        qga-win: Fix Event Viewer errors caused by qemu-ga
        qga-win: Fix a bug where qemu-ga service is stuck during stop operation
        qga-win: Enable 'can-offline' field in 'guest-get-vcpus' reply
        qemu-ga: Make QGA VSS provider service run only when needed
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      7ad691ec
  6. 27 4月, 2017 10 次提交
  7. 26 4月, 2017 9 次提交
    • P
      Revert "COLO-compare: Optimize tcp compare trace event" · 51b9d495
      Peter Maydell 提交于
      This reverts commit 0fc8aec7.
      
      In commit 2dfe5113 we split a trace event with a lot of arguments
      in two, because the UST trace backend has a limit on the number
      of arguments you can have in a single trace event. Unfortunately
      we subsequently forgot about this, and in commit 0fc8aec7
      we merged the two trace events again, recreating the "UST backend
      doesn't build" bug.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      51b9d495
    • P
      Merge remote-tracking branch 'remotes/dgilbert/tags/pull-hmp-20170426' into staging · 41c7c7ef
      Peter Maydell 提交于
      HMP pull, with tcg fix
      
      # gpg: Signature made Wed 26 Apr 2017 14:55:30 BST
      # gpg:                using RSA key 0x0516331EBC5BFDE7
      # gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>"
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A  9FA9 0516 331E BC5B FDE7
      
      * remotes/dgilbert/tags/pull-hmp-20170426:
        tests: Add a tester for HMP commands
        libqtest: Add a generic function to run a callback function for every machine
        libqtest: Ignore QMP events when parsing the response for HMP commands
        monitor: Check whether TCG is enabled before running the "info jit" code
        hmp: gpa2hva and gpa2hpa hostaddr command
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      41c7c7ef
    • T
      tests: Add a tester for HMP commands · 78f86a2b
      Thomas Huth 提交于
      HMP commands do not get any automatic testing yet, so on certain
      QEMU machines, some HMP commands were causing crashes in the past.
      Thus we should test HMP commands in our test suite, too, to avoid
      that such problems creep in again in the future.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-Id: <1493097407-20482-1-git-send-email-thuth@redhat.com>
      Reviewed-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      78f86a2b
    • T
      libqtest: Add a generic function to run a callback function for every machine · 02ef6e87
      Thomas Huth 提交于
      Some tests need to run single tests for every available machine of the
      current QEMU binary. To avoid code duplication, let's extract this
      code that deals with 'query-machines' into a separate function.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-Id: <1490860207-8302-3-git-send-email-thuth@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      02ef6e87
    • T
      libqtest: Ignore QMP events when parsing the response for HMP commands · 6bb87be8
      Thomas Huth 提交于
      When running certain HMP commands (like "device_del") via QMP, we
      can sometimes get a QMP event in the response first, so that the
      "g_assert(ret)" statement in qtest_hmp() triggers and the test
      fails. Fix this by ignoring such QMP events while looking for the
      real return value from QMP.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-Id: <1490860207-8302-2-git-send-email-thuth@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
        Added note to qtest_hmp/qtest_hmpv's header description to say
        it discards events
      6bb87be8
    • T
      monitor: Check whether TCG is enabled before running the "info jit" code · b7da97ee
      Thomas Huth 提交于
      The "info jit" command currently aborts on Mac OS X with the message
      "qemu_mutex_lock: Invalid argument" when running with "-M accel=qtest".
      We should only call into the TCG code here if TCG has really been
      enabled and initialized.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-Id: <1493179907-22516-1-git-send-email-thuth@redhat.com>
      Reviewed-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Tested-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      b7da97ee
    • P
      hmp: gpa2hva and gpa2hpa hostaddr command · e9628441
      Paolo Bonzini 提交于
      These commands are useful when testing machine-check passthrough.
      gpa2hva is useful to inject a MADV_HWPOISON madvise from gdb, while
      gpa2hpa is useful to inject an error with the mce-inject kernel
      module.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-Id: <1490021158-4469-1-git-send-email-pbonzini@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-Id: <20170420133058.12911-1-pbonzini@redhat.com>
      Reviewed-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      e9628441
    • P
      Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.10-20170426' into staging · dcaed66c
      Peter Maydell 提交于
      ppc patch queue 2017-04-26
      
      Here's a respind of my first pull request for qemu-2.10, consisting of
      assorted patches which have accumulated while qemu-2.9 stabilized.
      Highlights are:
          * Rework / cleanup of the XICS interrupt controller
          * Substantial improvement to the 'powernv' machine type
              - Includes an MMIO XICS version
          * POWER9 support improvements
              - POWER9 guests with KVM
              - Partial support for POWER9 guests with TCG
          * IOMMU and VFIO improvements
          * Assorted minor changes
      
      There are several IPMI patches here that aren't usually in my area of
      maintenance, but there isn't a regular maintainer and these patches
      are for the benefit of the powernv machine type.
      
      This pull request supersedes my 2017-04-26 pull request.  This new set
      fixes a bug in one of the aforementioned IPMI patches which caused
      clang sanitizer failures (and may have crashed on some libc / host
      versions).
      
      # gpg: Signature made Wed 26 Apr 2017 07:58:10 BST
      # gpg:                using RSA key 0x6C38CACA20D9B392
      # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
      # gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>"
      # gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
      # gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>"
      # Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392
      
      * remotes/dgibson/tags/ppc-for-2.10-20170426: (48 commits)
        MAINTAINERS: Remove myself from e500
        target/ppc: Style fixes
        e500,book3s: mfspr 259: Register mapped/aliased SPRG3 user read
        target/ppc: Flush TLB on write to PIDR
        spapr-cpu-core: Release ICPState object during CPU unrealization
        ppc/pnv: generate an OEM SEL event on shutdown
        ppc/pnv: add initial IPMI sensors for the BMC simulator
        ppc/pnv: populate device tree for IPMI BT devices
        ppc/pnv: populate device tree for serial devices
        ppc/pnv: populate device tree for RTC devices
        ppc/pnv: scan ISA bus to populate device tree
        ppc/pnv: enable only one LPC bus
        ppc/pnv: Add support for POWER8+ LPC Controller
        spapr: remove the 'nr_servers' field from the machine
        target/ppc: Fix size of struct PPCElfPrstatus
        ipmi: introduce an ipmi_bmc_gen_event() API
        ipmi: introduce an ipmi_bmc_sdr_find() API
        ipmi: provide support for FRUs
        ipmi: use a file to load SDRs
        ppc: add IPMI support
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      dcaed66c
    • P
      Merge remote-tracking branch 'remotes/sstabellini/tags/xen-20170421-v2-tag' into staging · 52e94ea5
      Peter Maydell 提交于
      Xen 2017/04/21 + fix
      
      # gpg: Signature made Tue 25 Apr 2017 19:10:37 BST
      # gpg:                using RSA key 0x894F8F4870E1AE90
      # gpg: Good signature from "Stefano Stabellini <stefano.stabellini@eu.citrix.com>"
      # gpg:                 aka "Stefano Stabellini <sstabellini@kernel.org>"
      # Primary key fingerprint: D04E 33AB A51F 67BA 07D3  0AEA 894F 8F48 70E1 AE90
      
      * remotes/sstabellini/tags/xen-20170421-v2-tag: (21 commits)
        move xen-mapcache.c to hw/i386/xen/
        move xen-hvm.c to hw/i386/xen/
        move xen-common.c to hw/xen/
        add xen-9p-backend to MAINTAINERS under Xen
        xen/9pfs: build and register Xen 9pfs backend
        xen/9pfs: send responses back to the frontend
        xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal
        xen/9pfs: receive requests from the frontend
        xen/9pfs: connect to the frontend
        xen/9pfs: introduce Xen 9pfs backend
        9p: introduce a type for the 9p header
        xen: import ring.h from xen
        configure: use pkg-config for obtaining xen version
        xen: additionally restrict xenforeignmemory operations
        xen: use libxendevice model to restrict operations
        xen: use 5 digit xen versions
        xen: use libxendevicemodel when available
        configure: detect presence of libxendevicemodel
        xen: create wrappers for all other uses of xc_hvm_XXX() functions
        xen: rename xen_modified_memory() to xen_hvm_modified_memory()
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      52e94ea5