1. 06 6月, 2017 2 次提交
    • D
      migration: Mark CPU states dirty before incoming migration/loadvm · 75e972da
      David Gibson 提交于
      As a rule, CPU internal state should never be updated when
      !cpu->kvm_vcpu_dirty (or the HAX equivalent).  If that is done, then
      subsequent calls to cpu_synchronize_state() - usually safe and idempotent -
      will clobber state.
      
      However, we routinely do this during a loadvm or incoming migration.
      Usually this is called shortly after a reset, which will clear all the cpu
      dirty flags with cpu_synchronize_all_post_reset().  Nothing is expected
      to set the dirty flags again before the cpu state is loaded from the
      incoming stream.
      
      This means that it isn't safe to call cpu_synchronize_state() from a
      post_load handler, which is non-obvious and potentially inconvenient.
      
      We could cpu_synchronize_all_state() before the loadvm, but that would be
      overkill since a) we expect the state to already be synchronized from the
      reset and b) we expect to completely rewrite the state with a call to
      cpu_synchronize_all_post_init() at the end of qemu_loadvm_state().
      
      To clear this up, this patch introduces cpu_synchronize_pre_loadvm() and
      associated helpers, which simply marks the cpu state as dirty without
      actually changing anything.  i.e. it says we want to discard any existing
      KVM (or HAX) state and replace it with what we're going to load.
      
      Cc: Juan Quintela <quintela@redhat.com>
      Cc: Dave Gilbert <dgilbert@redhat.com>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Reviewed-by: NJuan Quintela <quintela@redhat.com>
      75e972da
    • L
      migration: remove register_savevm() · 1b6e7482
      Laurent Vivier 提交于
      We can replace the four remaining calls of register_savevm() by
      calls to register_savevm_live(). So we can remove the function and
      as we don't allocate anymore the ops pointer with g_new0()
      we don't have to free it then.
      Signed-off-by: NLaurent Vivier <lvivier@redhat.com>
      Reviewed-by: NJuan Quintela <quintela@redhat.com>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      1b6e7482
  2. 05 6月, 2017 3 次提交
    • P
      Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-fetch' into staging · 199e19ee
      Peter Maydell 提交于
      trivial patches for 2017-06-05
      
      # gpg: Signature made Mon 05 Jun 2017 15:23:46 BST
      # gpg:                using RSA key 0x701B4F6B1A693E59
      # gpg: Good signature from "Michael Tokarev <mjt@tls.msk.ru>"
      # gpg:                 aka "Michael Tokarev <mjt@corpit.ru>"
      # gpg:                 aka "Michael Tokarev <mjt@debian.org>"
      # Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D  4324 457C E0A0 8044 65C5
      #      Subkey fingerprint: 7B73 BAD6 8BE7 A2C2 8931  4B22 701B 4F6B 1A69 3E59
      
      * remotes/mjt/tags/trivial-patches-fetch: (21 commits)
        hw/core: nmi.c can be compiled as common-obj nowadays
        dump: fix memory_mapping_filter leak
        ide-test: check return of fwrite
        help: Add newline to end of thread option help text
        qemu-ga: remove useless allocation
        scsi/lsi53c895a: Remove unused lsi_mem_*() return value
        qapi: Fix some QMP documentation regressions
        hw/mips: add missing include
        register: display register prefix (name) since it is available
        hw/sparc: use ARRAY_SIZE() macro
        hw/xtensa: sim: use g_string/g_new
        target/arm: add data cache invalidation cp15 instruction to cortex-r5
        block: Correct documentation for BLOCK_WRITE_THRESHOLD
        trivial: Remove unneeded ifndef in memory.h
        altera_timer: fix incorrect memset
        configure: Detect native NetBSD curses(3)
        tests/libqtest: Print error instead of aborting when env variable is missing
        docs/qdev-device-use.txt: update section Default Devices
        docs qemu-doc: Avoid ide-drive, it's deprecated
        qemu-doc: Add hyperlinks to further license information
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      199e19ee
    • T
      hw/core: nmi.c can be compiled as common-obj nowadays · 03e947f9
      Thomas Huth 提交于
      The target-specific code in nmi.c has been removed with this commit:
      
      	commit f7e981f2
      	nmi: remove x86 specific nmi handling
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Reviewed-by: NJuan Quintela <quintela@redhat.com>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      03e947f9
    • P
      Merge remote-tracking branch 'remotes/elmarco/tags/chrfe-pull-request' into staging · cb8b8ef4
      Peter Maydell 提交于
      # gpg: Signature made Fri 02 Jun 2017 20:12:48 BST
      # gpg:                using RSA key 0xDAE8E10975969CE5
      # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>"
      # gpg:                 aka "Marc-André Lureau <marcandre.lureau@gmail.com>"
      # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
      # gpg:          It is not certain that the signature belongs to the owner.
      # Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5
      
      * remotes/elmarco/tags/chrfe-pull-request:
        char: move char devices to chardev/
        char: make chr_fe_deinit() optionaly delete backend
        char: rename functions that are not part of fe
        char: move CharBackend handling in char-fe unit
        char: generalize qemu_chr_write_all()
        be-hci: use backend functions
        chardev: serial & parallel declaration to own headers
        chardev: move headers to include/chardev
        Remove/replace sysemu/char.h inclusion
        char-win: close file handle except with console
        char-win: rename hcom->file
        char-win: rename win_chr_init/poll win_chr_serial_init/poll
        char-win: remove WinChardev.len
        char-win: simplify win_chr_read()
        char: cast ARRAY_SIZE() as signed to silent warning on empty array
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      cb8b8ef4
  3. 04 6月, 2017 20 次提交
  4. 03 6月, 2017 1 次提交
    • P
      Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging · c6e84fbd
      Peter Maydell 提交于
      virtio, vhost: fixes, features
      
      IOTLB support in vhost-user.
      A bunch of fixes all over the place.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Fri 02 Jun 2017 17:33:25 BST
      # gpg:                using RSA key 0x281F0DB8D28D5469
      # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>"
      # gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>"
      # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17  0970 C350 3912 AFBE 8E67
      #      Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA  8A0D 281F 0DB8 D28D 5469
      
      * remotes/mst/tags/for_upstream:
        spec/vhost-user spec: Add IOMMU support
        vhost-user: add slave-req-fd support
        vhost-user: add vhost_user to hold the chr
        vhost: rework IOTLB messaging
        vhost: propagate errors in vhost_device_iotlb_miss()
        virtio-serial: fix segfault on disconnect
        virtio: add virtqueue_alloc_element tracepoint
        virtio-serial-bus: Unset hotplug handler when unrealize
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      c6e84fbd
  5. 02 6月, 2017 14 次提交