Permalink
Commits on Jan 23, 2018
  1. CAN bus MIOe-3680 PCI (dual SJA1000 channel) emulation added.

    erendeniz authored and ppisa committed Sep 6, 2016
    Signed-off-by: Deniz Eren <deniz.eren@icloud.com>
    Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
  2. CAN bus PCM-3680I PCI (dual SJA1000 channel) emulation added.

    erendeniz authored and ppisa committed May 1, 2016
    Signed-off-by: Deniz Eren <deniz.eren@icloud.com>
    Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
  3. QEMU CAN bus emulation documentation

    ppisa committed Jan 23, 2018
    Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
  4. CAN bus Kvaser PCI CAN-S (single SJA1000 channel) emulation added.

    ppisa committed Jan 14, 2018
    Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
  5. CAN bus SJA1000 chip register level emulation for QEMU

    ppisa committed Jan 14, 2018
    The core SJA1000 support is independent of following
    patches which map SJA1000 chip to PCI boards.
    
    The work is based on Jin Yang GSoC 2013 work funded
    by Google and mentored in frame of RTEMS project GSoC
    slot donated to QEMU.
    
    Rewritten for QEMU-2.0+ versions and architecture cleanup
    by Pavel Pisa (Czech Technical University in Prague).
    
    Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
  6. CAN bus support to connect bust to Linux host SocketCAN interface.

    ppisa committed Jan 23, 2018
    Connection to the real host CAN bus network through
    SocketCAN network interface is available only for Linux
    host system. Mechanism is generic, support for another
    CAN API and operating systems can be implemented in future.
    
    Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Commits on Jan 19, 2018
  1. CAN bus simple messages transport implementation for QEMU

    ppisa committed Jan 14, 2018
    The CanBusState state structure is created for each
    emulated CAN channel. Individual clients/emulated
    CAN interfaces or host interface connection registers
    to the bus by CanBusClientState structure.
    
    The CAN core is prepared to support connection to the
    real host CAN bus network. The commit with such support
    for Linux SocketCAN follows.
    
    Implementation is as simple as possible, no migration,
    messages prioritization and queuing considered for now.
    But it is intended to be extended when need arises.
    
    Development repository and more documentation at
    
    https://gitlab.fel.cvut.cz/canbus/qemu-canbus
    
    The work is based on Jin Yang GSoC 2013 work funded
    by Google and mentored in frame of RTEMS project GSoC
    slot donated to QEMU.
    
    Rewritten for QEMU-2.0+ versions and architecture cleanup
    by Pavel Pisa (Czech Technical University in Prague).
    
    Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Commits on Jan 18, 2018
  1. cocoa.m: Fix scroll wheel support

    programmingkidx authored and pm215 committed Jan 8, 2018
    When using a mouse's scroll wheel in a guest with
    the cocoa front-end, the mouse pointer moves up
    and down instead of scrolling the window. This
    patch fixes this problem.
    
    Signed-off-by: John Arbuckle <programmingkidx@gmail.com>
    Message-id: 20180108180707.7976-1-programmingkidx@gmail.com
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commits on Jan 16, 2018
  1. Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20180116' int…

    pm215 committed Jan 16, 2018
    …o staging
    
    Queued TCG patches
    
    # gpg: Signature made Tue 16 Jan 2018 16:24:50 GMT
    # gpg:                using RSA key 0x64DF38E8AF7E215F
    # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>"
    # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F
    
    * remotes/rth/tags/pull-tcg-20180116:
      tcg/ppc: Allow a 32-bit offset to the constant pool
      tcg/ppc: Support tlb offsets larger than 64k
      tcg/arm: Support tlb offsets larger than 64k
      tcg/arm: Fix double-word comparisons
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  2. tcg/ppc: Allow a 32-bit offset to the constant pool

    rth7680 committed Jan 10, 2018
    We recently relaxed the limit of the number of opcodes that can
    appear in a TranslationBlock.  In certain cases this has resulted
    in relocation overflow.
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
  3. tcg/ppc: Support tlb offsets larger than 64k

    rth7680 committed Jan 10, 2018
    AArch64 with SVE has an offset of 80k to the 8th TLB.
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
  4. tcg/arm: Support tlb offsets larger than 64k

    rth7680 committed Jan 11, 2018
    AArch64 with SVE has an offset of 80k to the 8th TLB.
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
  5. tcg/arm: Fix double-word comparisons

    rth7680 committed Jan 15, 2018
    The code sequence we were generating was only good for unsigned
    comparisons.  For signed comparisions, use the sequence from gcc.
    
    Fixes booting of ppc64 firmware, with a patch changing the code
    sequence for ppc comparisons.
    
    Tested-by: Michael Roth <mdroth@linux.vnet.ibm.com>
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
  6. Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into…

    pm215 committed Jan 16, 2018
    … staging
    
    * QemuMutex tracing improvements (Alex)
    * ram_addr_t optimization (David)
    * SCSI fixes (Fam, Stefan, me)
    * do {} while (0) fixes (Eric)
    * KVM fix for PMU (Jan)
    * memory leak fixes from ASAN (Marc-André)
    * migration fix for HPET, icount, loadvm (Maria, Pavel)
    * hflags fixes (me, Tao)
    * block/iscsi uninitialized variable (Peter L.)
    * full support for GMainContexts in character devices (Peter Xu)
    * more boot-serial-test (Thomas)
    * Memory leak fix (Zhecheng)
    
    # gpg: Signature made Tue 16 Jan 2018 14:15:45 GMT
    # gpg:                using RSA key 0xBFFBD25F78C7AE83
    # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
    # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
    # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
    #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
    
    * remotes/bonzini/tags/for-upstream: (51 commits)
      scripts/analyse-locks-simpletrace.py: script to analyse lock times
      util/qemu-thread-*: add qemu_lock, locked and unlock trace events
      cpu: flush TB cache when loading VMState
      block/iscsi: fix initialization of iTask in iscsi_co_get_block_status
      find_ram_offset: Align ram_addr_t allocation on long boundaries
      find_ram_offset: Add comments and tracing
      cpu_physical_memory_sync_dirty_bitmap: Another alignment fix
      checkpatch: Enforce proper do/while (0) style
      maint: Fix macros with broken 'do/while(0); ' usage
      tests: Avoid 'do/while(false); ' in vhost-user-bridge
      chardev: Clean up previous patch indentation
      chardev: Use goto/label instead of do/break/while(0)
      mips: Tweak location of ';' in macros
      net: Drop unusual use of do { } while (0);
      irq: fix memory leak
      cpus: unify qemu_*_wait_io_event
      icount: fixed saving/restoring of icount warp timers
      scripts/qemu-gdb/timers.py: new helper to dump timer state
      scripts/qemu-gdb: add simple tcg lock status helper
      target-i386: update hflags on Hypervisor.framework
      ...
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  7. Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-2…

    pm215 committed Jan 16, 2018
    …0180116' into staging
    
    target-arm queue:
     * SDHCI: cleanups and minor bug fixes
     * target/arm: minor refactor preparatory to fp16 support
     * omap_ssd, ssi-sd, pl181, milkymist-memcard: reset the SD
       card on controller reset (fixes migration failures)
     * target/arm: Handle page table walk load failures correctly
     * hw/arm/virt: Add virt-2.12 machine type
     * get_phys_addr_pmsav7: Support AP=0b111 for v7M
     * hw/intc/armv7m: Support byte and halfword accesses to CFSR
    
    # gpg: Signature made Tue 16 Jan 2018 13:33:31 GMT
    # gpg:                using RSA key 0x3C2525ED14360CDE
    # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>"
    # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>"
    # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>"
    # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE
    
    * remotes/pmaydell/tags/pull-target-arm-20180116: (24 commits)
      sdhci: add a 'dma' property to the sysbus devices
      sdhci: fix the PCI device, using the PCI address space for DMA
      sdhci: Implement write method of ACMD12ERRSTS register
      sdhci: fix CAPAB/MAXCURR registers, both are 64bit and read-only
      sdhci: rename the SDHC_CAPAB register
      sdhci: move MASK_TRNMOD with other SDHC_TRN* defines in "sd-internal.h"
      sdhci: convert the DPRINT() calls into trace events
      sdhci: use qemu_log_mask(UNIMP) instead of fprintf()
      sdhci: refactor common sysbus/pci unrealize() into sdhci_common_unrealize()
      sdhci: refactor common sysbus/pci realize() into sdhci_common_realize()
      sdhci: refactor common sysbus/pci class_init() into sdhci_common_class_init()
      sdhci: use DEFINE_SDHCI_COMMON_PROPERTIES() for common sysbus/pci properties
      sdhci: remove dead code
      sdhci: clean up includes
      target/arm: Add fp16 support to vfp_expand_imm
      target/arm: Split out vfp_expand_imm
      hw/sd/omap_mmc: Reset SD card on controller reset
      hw/sd/ssi-sd: Reset SD card on controller reset
      hw/sd/milkymist-memcard: Reset SD card on controller reset
      hw/sd/pl181: Reset SD card on controller reset
      ...
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  8. scripts/analyse-locks-simpletrace.py: script to analyse lock times

    stsquad authored and bonzini committed Jan 11, 2018
    This script allows analysis of mutex acquisition and hold times based
    on a trace file. Given a trace control file of:
    
      qemu_mutex_lock
      qemu_mutex_locked
      qemu_mutex_unlock
    
    And running with:
    
      $QEMU $QEMU_ARGS -trace events=./lock-trace
    
    You can analyse the results with:
    
      ./scripts/analyse-locks-simpletrace.py trace-events-all ./trace-21812
    
    Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  9. util/qemu-thread-*: add qemu_lock, locked and unlock trace events

    stsquad authored and bonzini committed Jan 11, 2018
    Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  10. cpu: flush TB cache when loading VMState

    Dovgalyuk authored and bonzini committed Jan 10, 2018
    Flushing TB cache is required because TBs key in the cache may match
    different code which existed in the previous state.
    
    Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
    Signed-off-by: Maria Klimushenkova <maria.klimushenkova@ispras.ru>
    Message-Id: <20180110134846.12940.99993.stgit@pasha-VirtualBox>
    [Add comment suggested by Peter Maydell. - Paolo]
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
  11. block/iscsi: fix initialization of iTask in iscsi_co_get_block_status

    plieven authored and bonzini committed Jan 8, 2018
    in case of unaligned requests or on a target that does not support
    block provisioning we leave iTask uninitialized and check iTask.task
    for NULL later.
    
    Fixes: e38bc23
    Signed-off-by: Peter Lieven <pl@kamp.de>
    Reviewed-by: Eric Blake <eblake@redhat.com>
    Message-Id: <1515425247-21730-1-git-send-email-pl@kamp.de>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  12. find_ram_offset: Align ram_addr_t allocation on long boundaries

    dagrh authored and bonzini committed Jan 5, 2018
    The dirty bitmaps are built from 'long's and there is fast-path code
    for synchronising the case where the RAMBlock is aligned to the start
    of a long boundary.  Align the allocation to this boundary
    to cause the fast path to be used.
    
    Offsets before change:
    11398@1515169675.018566:find_ram_offset size: 0x1e0000 @ 0x8000000
    11398@1515169675.020064:find_ram_offset size: 0x20000 @ 0x81e0000
    11398@1515169675.020244:find_ram_offset size: 0x20000 @ 0x8200000
    11398@1515169675.024343:find_ram_offset size: 0x1000000 @ 0x8220000
    11398@1515169675.025154:find_ram_offset size: 0x10000 @ 0x9220000
    11398@1515169675.027682:find_ram_offset size: 0x40000 @ 0x9230000
    11398@1515169675.032921:find_ram_offset size: 0x200000 @ 0x9270000
    11398@1515169675.033307:find_ram_offset size: 0x1000 @ 0x9470000
    11398@1515169675.033601:find_ram_offset size: 0x1000 @ 0x9471000
    
    after change:
    10923@1515169108.818245:find_ram_offset size: 0x1e0000 @ 0x8000000
    10923@1515169108.819410:find_ram_offset size: 0x20000 @ 0x8200000
    10923@1515169108.819587:find_ram_offset size: 0x20000 @ 0x8240000
    10923@1515169108.823708:find_ram_offset size: 0x1000000 @ 0x8280000
    10923@1515169108.824503:find_ram_offset size: 0x10000 @ 0x9280000
    10923@1515169108.827093:find_ram_offset size: 0x40000 @ 0x92c0000
    10923@1515169108.833045:find_ram_offset size: 0x200000 @ 0x9300000
    10923@1515169108.833504:find_ram_offset size: 0x1000 @ 0x9500000
    10923@1515169108.833787:find_ram_offset size: 0x1000 @ 0x9540000
    
    Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
    Message-Id: <20180105170138.23357-3-dgilbert@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  13. find_ram_offset: Add comments and tracing

    dagrh authored and bonzini committed Jan 5, 2018
    Add some comments so I can understand the various nested loops.
    Add some tracing so I can see what they're doing.
    
    Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
    Message-Id: <20180105170138.23357-2-dgilbert@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  14. cpu_physical_memory_sync_dirty_bitmap: Another alignment fix

    dagrh authored and bonzini committed Jan 3, 2018
    This code has an optimised, word aligned version, and a boring
    unaligned version. My commit f70d345 fixed one alignment issue, but
    there's another.
    
    The optimised version operates on 'longs' dealing with (typically) 64
    pages at a time, replacing the whole long by a 0 and counting the bits.
    If the Ramblock is less than 64bits in length that long can contain bits
    representing two different RAMBlocks, but the code will update the
    bmap belinging to the 1st RAMBlock only while having updated the total
    dirty page count for both.
    
    This probably didn't matter prior to 6b6712e which split the dirty
    bitmap by RAMBlock, but now they're separate RAMBlocks we end up
    with a count that doesn't match the state in the bitmaps.
    
    Symptom:
      Migration showing a few dirty pages left to be sent constantly
      Seen on aarch64 and x86 with x86+ovmf
    
    Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
    Reported-by: Wei Huang <wei@redhat.com>
    Fixes: 6b6712e
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  15. checkpatch: Enforce proper do/while (0) style

    ebblake authored and bonzini committed Dec 1, 2017
    Use of a loop construct for code that is not intended to repeat
    does not make much idiomatic sense, except in one place: it is a
    common usage in macros in order to wrap arbitrary code with
    single-statement semantics.  But when used in a macro, it is more
    typical for the caller to supply the trailing ';' when calling
    the macro.
    
    Although qemu coding style frowns on bare:
      if (cond)
        statement1;
      else
        statement2;
    where extra semicolons actually cause syntax errors, we still
    want our macro styles to be easily copied to other projects.
    Thus, declare it an error if we encounter any form of 'while (0)'
    with a semicolon in the same line.
    
    Signed-off-by: Eric Blake <eblake@redhat.com>
    Message-Id: <20171201232433.25193-8-eblake@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  16. maint: Fix macros with broken 'do/while(0); ' usage

    ebblake authored and bonzini committed Dec 1, 2017
    The point of writing a macro embedded in a 'do { ... } while (0)'
    loop (particularly if the macro has multiple statements or would
    otherwise end with an 'if' statement) is so that the macro can be
    used as a drop-in statement with the caller supplying the
    trailing ';'.  Although our coding style frowns on brace-less 'if':
      if (cond)
        statement;
      else
        something else;
    that is the classic case where failure to use do/while(0) wrapping
    would cause the 'else' to pair with any embedded 'if' in the macro
    rather than the intended outer 'if'.  But conversely, if the macro
    includes an embedded ';', then the same brace-less coding style
    would now have two statements, making the 'else' a syntax error
    rather than pairing with the outer 'if'.  Thus, even though our
    coding style with required braces is not impacted, ending a macro
    with ';' makes our code harder to port to projects that use
    brace-less styles.
    
    The change should have no semantic impact.  I was not able to
    fully compile-test all of the changes (as some of them are
    examples of the ugly bit-rotting debug print statements that are
    completely elided by default, and I didn't want to recompile
    with the necessary -D witnesses - cleaning those up is left as a
    bite-sized task for another day); I did, however, audit that for
    all files touched, all callers of the changed macros DID supply
    a trailing ';' at the callsite, and did not appear to be used
    as part of a brace-less conditional.
    
    Found mechanically via: $ git grep -B1 'while (0);' | grep -A1 \\\\
    
    Signed-off-by: Eric Blake <eblake@redhat.com>
    Acked-by: Cornelia Huck <cohuck@redhat.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
    Message-Id: <20171201232433.25193-7-eblake@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  17. tests: Avoid 'do/while(false); ' in vhost-user-bridge

    ebblake authored and bonzini committed Dec 1, 2017
    Use of a do/while(0) loop as a way to allow break statements in
    the middle of execute-once code is unusual.  More typical is
    the use of goto for early exits, with a label at the end of
    the execute-once code, rather than nesting code in a scope;
    however, the comment at the end of the existing code makes this
    alternative a bit unpractical.
    
    So, to avoid false positives from a future syntax check about
    'while (false);', and to keep the loop form (in case someone
    ever does add DONTWAIT support, where they can just as easily
    manipulate the initial loop condition or add an if around the
    final 'break'), I opted to use the form of a while(1) loop (the
    break as an early exit is more idiomatic there), coupled with
    a final break preserving the original comment.
    
    Signed-off-by: Eric Blake <eblake@redhat.com>
    Message-Id: <20171201232433.25193-6-eblake@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  18. chardev: Clean up previous patch indentation

    ebblake authored and bonzini committed Dec 1, 2017
    The previous patch left in an extra scope layer for ease of
    review; time to remove it.  No semantic change.
    
    Signed-off-by: Eric Blake <eblake@redhat.com>
    Message-Id: <20171201232433.25193-5-eblake@redhat.com>
    Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  19. chardev: Use goto/label instead of do/break/while(0)

    ebblake authored and bonzini committed Dec 1, 2017
    Use of a do/while(0) control flow in order to permit an early break
    is an unusual paradigm, and triggers a false positive with a planned
    future syntax check against 'while (0);'.  Rewrite the code to use a
    goto instead.  This patch temporarily keeps an extra level of
    indentation to highlight the change; the next patch cleans it up.
    
    Signed-off-by: Eric Blake <eblake@redhat.com>
    Message-Id: <20171201232433.25193-4-eblake@redhat.com>
    Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  20. mips: Tweak location of ';' in macros

    ebblake authored and bonzini committed Dec 1, 2017
    It is more typical to provide the ';' by the caller of a macro
    than to embed it in the macro itself; this is because syntax
    highlight engines can get confused if a macro is called without
    a semicolon before the closing '}'.
    
    Signed-off-by: Eric Blake <eblake@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    Message-Id: <20171201232433.25193-3-eblake@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  21. net: Drop unusual use of do { } while (0);

    ebblake authored and bonzini committed Dec 1, 2017
    For a couple of macros in pcnet.c, we have to provide a new scope
    to avoid compiler warnings about declarations in the middle of a
    switch statement that aren't in a sub-scope.  But use of
    'do { ... } while (0);' merely to provide that new scope is arcane
    overkill, compared to just using '{ ... }'.
    
    Signed-off-by: Eric Blake <eblake@redhat.com>
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Message-Id: <20171201232433.25193-2-eblake@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  22. irq: fix memory leak

    linzhecheng authored and bonzini committed Dec 25, 2017
    entry is moved from list but is not freed.
    
    Signed-off-by: linzhecheng <linzhecheng@huawei.com>
    
    Message-Id: <20171225024704.19540-1-linzhecheng@huawei.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  23. cpus: unify qemu_*_wait_io_event

    bonzini committed Jan 11, 2018
    Except for round-robin TCG, every other accelerator is using more or
    less the same code around qemu_wait_io_event_common.  The exception
    is HAX, which also has to eat the dummy APC that is queued by
    qemu_cpu_kick_thread.
    
    We can add the SleepEx call to qemu_wait_io_event under "if
    (!tcg_enabled())", since that is the condition that is used in
    qemu_cpu_kick_thread, and unify the function for KVM, HAX, HVF and
    multi-threaded TCG.  Single-threaded TCG code can also be simplified
    since it is only used in the round-robin, sleep-if-all-CPUs-idle case.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  24. icount: fixed saving/restoring of icount warp timers

    Dovgalyuk authored and bonzini committed Jan 11, 2018
    This patch adds saving and restoring of the icount warp
    timers in the vmstate.
    It is needed because there timers affect the virtual clock value.
    Therefore determinism of the execution in icount record/replay mode
    depends on determinism of the timers.
    
    Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
    Acked-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
  25. scripts/qemu-gdb/timers.py: new helper to dump timer state

    stsquad authored and bonzini committed Jan 11, 2018
    This introduces the qemu-gdb command "qemu timers" which will dump the
    state of the main timers in the system.
    
    Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  26. scripts/qemu-gdb: add simple tcg lock status helper

    stsquad authored and bonzini committed Jan 11, 2018
    Add a simple helper to dump lock state.
    
    Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  27. target-i386: update hflags on Hypervisor.framework

    bonzini committed Jan 11, 2018
    This ensures that x86_cpu_dump_state shows registers with the correct
    size.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>