Skip to content
Snippets Groups Projects
  1. Apr 04, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/xtensa/tags/20210403-xtensa' into staging · 25d75c99
      Peter Maydell authored
      
      target/xtensa fixes for v6.0:
      
      - make meson.build pick up all available xtensa core definitions;
      - don't modify Makefile.objs in import_core.sh;
      - add sed rule to import_core.sh to make xtensa_modules variable static.
      
      # gpg: Signature made Sat 03 Apr 2021 17:08:41 BST
      # gpg:                using RSA key 2B67854B98E5327DCDEB17D851F9CC91F83FA044
      # gpg:                issuer "jcmvbkbc@gmail.com"
      # gpg: Good signature from "Max Filippov <filippov@cadence.com>" [unknown]
      # gpg:                 aka "Max Filippov <max.filippov@cogentembedded.com>" [full]
      # gpg:                 aka "Max Filippov <jcmvbkbc@gmail.com>" [full]
      # Primary key fingerprint: 2B67 854B 98E5 327D CDEB  17D8 51F9 CC91 F83F A044
      
      * remotes/xtensa/tags/20210403-xtensa:
        target/xtensa: make xtensa_modules static on import
        target/xtensa: fix meson.build rule for xtensa cores
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      25d75c99
  2. Apr 03, 2021
  3. Apr 02, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging · 11577d85
      Peter Maydell authored
      
      pc,virtio,pci: bugfixes
      
      Fixes all over the place.
      
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Thu 01 Apr 2021 17:22:03 BST
      # gpg:                using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
      # gpg:                issuer "mst@redhat.com"
      # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full]
      # gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>" [full]
      # 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:
        pci: sprinkle assert in PCI pin number
        isa/v582c686: Reinitialize ACPI PM device on reset
        vt82c686.c: don't raise SCI when PCI_INTERRUPT_PIN isn't setup
        acpi/piix4: reinitialize acpi PM device on reset
        virtio-pci: remove explicit initialization of val
        virtio-pci: add check for vdev in virtio_pci_isr_read
        vhost-user-blk: add immediate cleanup on shutdown
        vhost-user-blk: perform immediate cleanup if disconnect on initialization
        vhost-user-blk: use different event handlers on initialization
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      11577d85
  4. Apr 01, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/thuth-gitlab/tags/pull-request-2021-04-01' into staging · 50a9b449
      Peter Maydell authored
      
      * Updates for the MAINTAINERS file
      * Some small documentation updates
      * Some small misc fixes
      
      # gpg: Signature made Thu 01 Apr 2021 13:30:39 BST
      # gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
      # gpg:                issuer "thuth@redhat.com"
      # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
      # gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
      # gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
      # gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
      # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5
      
      * remotes/thuth-gitlab/tags/pull-request-2021-04-01:
        device-crash-test: Ignore errors about a bus not being available
        docs: Fix typo in the default name of the qemu-system-x86_64 binary
        docs: Remove obsolete paragraph about config-target.mak
        util/compatfd.c: Fixed style issues
        qom: Fix default values in help
        MAINTAINERS: Mark SH-4 hardware emulation orphan
        MAINTAINERS: Mark RX hardware emulation orphan
        MAINTAINERS: add virtio-fs mailing list
        MAINTAINERS: Drop the line with Xiang Zheng
        MAINTAINERS: replace Huawei's email to personal one
        MAINTAINERS: Drop the lines with Sarah Harris
        MAINTAINERS: add/replace backups for some s390 areas
        MAINTAINERS: Fix tests/migration maintainers
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      50a9b449
    • Isaku Yamahata's avatar
      pci: sprinkle assert in PCI pin number · 8ddf5432
      Isaku Yamahata authored
      
      If a device model
      (a) doesn't set the value to a correct interrupt number and then
      (b) triggers an interrupt for itself,
      it's device model bug. Add assert on interrupt pin number to catch
      this kind of bug more obviously.
      
      Suggested-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: default avatarIsaku Yamahata <isaku.yamahata@intel.com>
      Message-Id: <9cf8ac3b17e162daac0971d7be32deb6a33ae6ec.1616532563.git.isaku.yamahata@intel.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      8ddf5432
    • Isaku Yamahata's avatar
      isa/v582c686: Reinitialize ACPI PM device on reset · 44421c60
      Isaku Yamahata authored
      
      Commit 6be8cf56 made sure that SCI is enabled in PM1.CNT
      on reset in acpi_only mode by modifying acpi_pm1_cnt_reset() and
      that worked for q35 as expected.
      
      This patch adds reset ACPI PM related registers on vt82c686 reset time
      and de-assert sci.
      via_pm_realize() initializes acpi pm tmr, evt, cnt and gpe.
      Reset them on device reset.
      
      Cc: BALATON Zoltan <balaton@eik.bme.hu>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
      Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
      Signed-off-by: default avatarIsaku Yamahata <isaku.yamahata@intel.com>
      Message-Id: <0a3fe998525552860919a690ce83dab8f663ab99.1616532563.git.isaku.yamahata@intel.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      44421c60
    • Isaku Yamahata's avatar
      vt82c686.c: don't raise SCI when PCI_INTERRUPT_PIN isn't setup · 0fae92a3
      Isaku Yamahata authored
      
      Without this patch, the following patch will triger clan runtime
      sanitizer warnings as follows. This patch proactively works around it.
      I leave a correct fix to v582c686.c maintainerfix as I'm not sure
      about fuloong2e device model.
      
      > MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
      > QTEST_QEMU_IMG=./qemu-img
      > G_TEST_DBUS_DAEMON=/home/petmay01/linaro/qemu-for-merges/tests/dbus-vmstate-daemon.sh
      > QTEST_QEMU_BINARY=./qemu-system-mips64el tests/qtest/qom-test --tap -k
      > PASS 1 qtest-mips64el/qom-test /mips64el/qom/loongson3-virt
      > PASS 2 qtest-mips64el/qom-test /mips64el/qom/none
      > PASS 3 qtest-mips64el/qom-test /mips64el/qom/magnum
      > PASS 4 qtest-mips64el/qom-test /mips64el/qom/mipssim
      > PASS 5 qtest-mips64el/qom-test /mips64el/qom/malta
      > ../../hw/pci/pci.c:252:30: runtime error: shift exponent -1 is negative
      > PASS 6 qtest-mips64el/qom-test /mips64el/qom/fuloong2e
      > PASS 7 qtest-mips64el/qom-test /mips64el/qom/boston
      > PASS 8 qtest-mips64el/qom-test /mips64el/qom/pica61
      >
      > and similarly for eg
      >
      > MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
      > QTEST_QEMU_IMG=./qemu-img
      > G_TEST_DBUS_DAEMON=/home/petmay01/linaro/qemu-for-merges/tests/dbus-vmstate-daemon.sh
      > QTEST_QEMU_BINARY=./qemu-system-mips64el tests/qtest/endianness-test
      > --tap -k
      > ../../hw/pci/pci.c:252:30: runtime error: shift exponent -1 is negative
      > PASS 1 qtest-mips64el/endianness-test /mips64el/endianness/fuloong2e
      > ../../hw/pci/pci.c:252:30: runtime error: shift exponent -1 is negative
      > PASS 2 qtest-mips64el/endianness-test /mips64el/endianness/split/fuloong2e
      > ../../hw/pci/pci.c:252:30: runtime error: shift exponent -1 is negative
      > PASS 3 qtest-mips64el/endianness-test /mips64el/endianness/combine/fuloong2e
      
      Cc: BALATON Zoltan <balaton@eik.bme.hu>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
      Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
      Reported-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: default avatarIsaku Yamahata <isaku.yamahata@intel.com>
      Message-Id: <62a5fc69e453fb848bfd4794bae1852a75af73c5.1616532563.git.isaku.yamahata@intel.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      0fae92a3
    • Isaku Yamahata's avatar
      acpi/piix4: reinitialize acpi PM device on reset · 0fd74325
      Isaku Yamahata authored
      
      Commit 6be8cf56 made sure that SCI is enabled in PM1.CNT
      on reset in acpi_only mode by modifying acpi_pm1_cnt_reset() and
      that worked for q35 as expected.
      
      The function was introduced by commit
        eaba51c5 (acpi, acpi_piix, vt82c686: factor out PM1_CNT logic)
      that forgot to actually call it at piix4 reset time and as result
      SCI_EN wasn't set as was expected by 6be8cf56 in acpi_only mode.
      
      So Windows crashes when it notices that SCI_EN is not set and FADT is
      not providing information about how to enable it anymore.
      Reproducer:
         qemu-system-x86_64 -enable-kvm -M pc-i440fx-6.0,smm=off -cdrom any_windows_10x64.iso
      
      Fix it by calling acpi_pm1_cnt_reset() at piix4 reset time.
      
      Occasionally this patch adds reset acpi PM related registers on
      piix4 reset time and de-assert sci.
      piix4_pm_realize() initializes acpi pm tmr, evt, cnt and gpe.
      Reset them on device reset. pm_reset() in ich9.c correctly calls
      corresponding reset functions.
      
      Fixes: 6be8cf56 (acpi/core: always set SCI_EN when SMM isn't supported)
      Reported-by: default avatarReinoud Zandijk <reinoud@NetBSD.org>
      Co-developed-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: default avatarIsaku Yamahata <isaku.yamahata@intel.com>
      Message-Id: <8a5bbd19727045ec863523830078dd4ca63f6a9a.1616532563.git.isaku.yamahata@intel.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      0fd74325
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/marcandre/tags/for-6.0-pull-request' into staging · 415fa2fe
      Peter Maydell authored
      
      For 6.0 misc patches under my radar.
      
      V2:
       - "tests: Add tests for yank with the chardev-change case" updated
       - drop the readthedoc theme patch
      
      # gpg: Signature made Thu 01 Apr 2021 12:54:52 BST
      # gpg:                using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5
      # gpg:                issuer "marcandre.lureau@redhat.com"
      # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" [full]
      # gpg:                 aka "Marc-André Lureau <marcandre.lureau@gmail.com>" [full]
      # Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5
      
      * remotes/marcandre/tags/for-6.0-pull-request:
        tests: Add tests for yank with the chardev-change case
        chardev: Fix yank with the chardev-change case
        chardev/char.c: Always pass id to chardev_new
        chardev/char.c: Move object_property_try_add_child out of chardev_new
        yank: Always link full yank code
        yank: Remove dependency on qiochannel
        docs: simplify each section title
        dbus-vmstate: Increase the size of input stream buffer used during load
        util: fix use-after-free in module_load_one
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      415fa2fe
    • Yuri Benditovich's avatar
      virtio-pci: remove explicit initialization of val · 51e0e42c
      Yuri Benditovich authored
      
      The value is assigned later in this procedure.
      
      Signed-off-by: default avatarYuri Benditovich <yuri.benditovich@daynix.com>
      Message-Id: <20210315115937.14286-3-yuri.benditovich@daynix.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      51e0e42c
    • Yuri Benditovich's avatar
      virtio-pci: add check for vdev in virtio_pci_isr_read · c3fd7061
      Yuri Benditovich authored
      https://bugzilla.redhat.com/show_bug.cgi?id=1743098
      
      
      This commit completes the solution of segfault in hot unplug flow
      (by commit ccec7e96).
      Added missing check for vdev in virtio_pci_isr_read.
      Typical stack of crash:
      virtio_pci_isr_read ../hw/virtio/virtio-pci.c:1365 with proxy-vdev = 0
      memory_region_read_accessor at ../softmmu/memory.c:442
      access_with_adjusted_size at ../softmmu/memory.c:552
      memory_region_dispatch_read1 at ../softmmu/memory.c:1420
      memory_region_dispatch_read  at ../softmmu/memory.c:1449
      flatview_read_continue at ../softmmu/physmem.c:2822
      flatview_read at ../softmmu/physmem.c:2862
      address_space_read_full at ../softmmu/physmem.c:2875
      
      Signed-off-by: default avatarYuri Benditovich <yuri.benditovich@daynix.com>
      Message-Id: <20210315115937.14286-2-yuri.benditovich@daynix.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      c3fd7061
    • Denis Plotnikov's avatar
      vhost-user-blk: add immediate cleanup on shutdown · 2b7d06c4
      Denis Plotnikov authored
      
      Qemu crashes on shutdown if the chardev used by vhost-user-blk has been
      finalized before the vhost-user-blk.
      
      This happens with char-socket chardev operating in the listening mode (server).
      The char-socket chardev emits "close" event at the end of finalizing when
      its internal data is destroyed. This calls vhost-user-blk event handler
      which in turn tries to manipulate with destroyed chardev by setting an empty
      event handler for vhost-user-blk cleanup postponing.
      
      This patch separates the shutdown case from the cleanup postponing removing
      the need to set an event handler.
      
      Signed-off-by: default avatarDenis Plotnikov <den-plotnikov@yandex-team.ru>
      Message-Id: <20210325151217.262793-4-den-plotnikov@yandex-team.ru>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      2b7d06c4
    • Denis Plotnikov's avatar
      vhost-user-blk: perform immediate cleanup if disconnect on initialization · bc79c87b
      Denis Plotnikov authored
      
      Commit 4bcad76f ("vhost-user-blk: delay vhost_user_blk_disconnect")
      introduced postponing vhost_dev cleanup aiming to eliminate qemu aborts
      because of connection problems with vhost-blk daemon.
      
      However, it introdues a new problem. Now, any communication errors
      during execution of vhost_dev_init() called by vhost_user_blk_device_realize()
      lead to qemu abort on assert in vhost_dev_get_config().
      
      This happens because vhost_user_blk_disconnect() is postponed but
      it should have dropped s->connected flag by the time
      vhost_user_blk_device_realize() performs a new connection opening.
      On the connection opening, vhost_dev initialization in
      vhost_user_blk_connect() relies on s->connection flag and
      if it's not dropped, it skips vhost_dev initialization and returns
      with success. Then, vhost_user_blk_device_realize()'s execution flow
      goes to vhost_dev_get_config() where it's aborted on the assert.
      
      To fix the problem this patch adds immediate cleanup on device
      initialization(in vhost_user_blk_device_realize()) using different
      event handlers for initialization and operation introduced in the
      previous patch.
      On initialization (in vhost_user_blk_device_realize()) we fully
      control the initialization process. At that point, nobody can use the
      device since it isn't initialized and we don't need to postpone any
      cleanups, so we can do cleaup right away when there is a communication
      problem with the vhost-blk daemon.
      On operation we leave it as is, since the disconnect may happen when
      the device is in use, so the device users may want to use vhost_dev's data
      to do rollback before vhost_dev is re-initialized (e.g. in vhost_dev_set_log()).
      
      Signed-off-by: default avatarDenis Plotnikov <den-plotnikov@yandex-team.ru>
      Reviewed-by: default avatarRaphael Norwitz <raphael.norwitz@nutanix.com>
      Message-Id: <20210325151217.262793-3-den-plotnikov@yandex-team.ru>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      bc79c87b
    • Denis Plotnikov's avatar
      vhost-user-blk: use different event handlers on initialization · 0c99d722
      Denis Plotnikov authored
      
      It is useful to use different connect/disconnect event handlers
      on device initialization and operation as seen from the further
      commit fixing a bug on device initialization.
      
      This patch refactors the code to make use of them: we don't rely any
      more on the VM state for choosing how to cleanup the device, instead
      we explicitly use the proper event handler depending on whether
      the device has been initialized.
      
      Signed-off-by: default avatarDenis Plotnikov <den-plotnikov@yandex-team.ru>
      Reviewed-by: default avatarRaphael Norwitz <raphael.norwitz@nutanix.com>
      Message-Id: <20210325151217.262793-2-den-plotnikov@yandex-team.ru>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      0c99d722
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into staging · 00084bab
      Peter Maydell authored
      
      * Bugfixes
      * Code of conduct and conflict resolution policy
      
      # gpg: Signature made Thu 01 Apr 2021 12:21:10 BST
      # gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
      # gpg:                issuer "pbonzini@redhat.com"
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
      # 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-gitlab/tags/for-upstream:
        docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
        hexagon: do not specify Python scripts as inputs
        hexagon: do not specify executables as inputs
        configure: Do not use default_feature for EXESUF
        target/openrisc: fix icount handling for timer instructions
        replay: notify CPU on event
        icount: get rid of static variable
        Revert "qom: use qemu_printf to print help for user-creatable objects"
        replay: fix recursive checkpoints
        qapi: qom: do not use target-specific conditionals
        target/i386: Verify memory operand for lcall and ljmp
        meson: Propagate gnutls dependency to migration
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      00084bab
    • Thomas Huth's avatar
      device-crash-test: Ignore errors about a bus not being available · ca89d15f
      Thomas Huth authored
      
      Recent QEMU versions now sometimes exit cleanly with an error message
      that a bus is not available for a specified device. Don't flag those
      as an error in the device-crash-test script.
      
      Message-Id: <20210323164718.1393792-1-thuth@redhat.com>
      Acked-by: default avatarJohn Snow <jsnow@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      ca89d15f
    • Thomas Huth's avatar
      docs: Fix typo in the default name of the qemu-system-x86_64 binary · 69c5d14d
      Thomas Huth authored
      
      It's a '-' between 'qemu' and 'system', not a '_'.
      
      Fixes: 324b2298 ("docs/system: convert Texinfo documentation to rST")
      Message-Id: <20210401051829.3169438-1-thuth@redhat.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      69c5d14d
    • Thomas Huth's avatar
      docs: Remove obsolete paragraph about config-target.mak · 4fb98ae6
      Thomas Huth authored
      
      $TARGET-NAME/config-target.mak has been removed a while ago.
      Remove it now from the documentation, too.
      
      Fixes: fdb75aef ("configure: remove target configuration")
      Message-Id: <20210316124208.455456-1-thuth@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      4fb98ae6
    • Mahmoud Mandour's avatar
      util/compatfd.c: Fixed style issues · 7e3a61ce
      Mahmoud Mandour authored
      
      Fixed two styling issues that caused checkpatch.pl errors.
      
      Signed-off-by: default avatarMahmoud Mandour <ma.mandourr@gmail.com>
      Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
      Message-Id: <20210315105814.5188-2-ma.mandourr@gmail.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      7e3a61ce
    • Markus Armbruster's avatar
      qom: Fix default values in help · bd74ecd1
      Markus Armbruster authored
      
      Output of default values in device help is broken:
      
          $ ./qemu-system-x86_64 -S -display none -monitor stdio
          QEMU 5.2.50 monitor - type 'help' for more information
          (qemu) device_add pvpanic,help
          pvpanic options:
            events=<uint8>         -  (default: (null))
            ioport=<uint16>        -  (default: (null))
            pvpanic[0]=<child<qemu:memory-region>>
      
      The "(null)" is glibc printing a null pointer.  Other systems crash
      instead.  Having a help request crash a running VM can really spoil
      your day.
      
      Root cause is a botched replacement of qstring_free() by
      g_string_free(): to get the string back, we need to pass true to the
      former, but false to the latter.  Fix the argument.
      
      Fixes: eab3a467
      Reported-by: default avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
      Message-Id: <20210324084130.3986072-1-armbru@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      bd74ecd1
    • Philippe Mathieu-Daudé's avatar
      MAINTAINERS: Mark SH-4 hardware emulation orphan · 2d53d0c7
      Philippe Mathieu-Daudé authored
      
      Yoshinori Sato doesn't have time to manage QEMU reviews.
      
      The code is in good shape and hasn't started to bitrot,
      so mark the SH-4 hardware as orphan to give the possibility
      to any contributor to step in and fill the gap.
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      CC: Magnus Damm <magnus.damm@gmail.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Message-Id: <20210312155513.1849109-3-f4bug@amsat.org>
      Acked-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      2d53d0c7
    • Philippe Mathieu-Daudé's avatar
      MAINTAINERS: Mark RX hardware emulation orphan · b2744da9
      Philippe Mathieu-Daudé authored
      
      Yoshinori Sato doesn't have time to manage QEMU reviews.
      
      The code is in good shape and hasn't started to bitrot,
      so mark the RX target and hardware as orphan to give the
      possibility to any contributor to step in and fill the gap.
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Message-Id: <20210312155513.1849109-2-f4bug@amsat.org>
      Acked-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      b2744da9
    • Connor Kuehl's avatar
      MAINTAINERS: add virtio-fs mailing list · 09c8d9e8
      Connor Kuehl authored
      
      General discussion and patch reviews take place on this list for both
      virtiofsd (tools/virtiofsd/*) and the guest kernel module.
      
      Signed-off-by: default avatarConnor Kuehl <ckuehl@redhat.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Reviewed-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Message-Id: <20210318154157.1357224-1-ckuehl@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      09c8d9e8
    • Thomas Huth's avatar
      MAINTAINERS: Drop the line with Xiang Zheng · e4145cd7
      Thomas Huth authored
      
      When sending a mail with CC: to zhengxiang9@huawei.com I got a mail
      back saying:
      
       Your message couldn't be delivered
      
       The message you sent to zhengxiang9@huawei.com couldn't be delivered due to:
       Recipient email address is possibly incorrect.
      
       Further information
      
       5.1.1 <zhengxiang9@huawei.com>: Recipient address rejected: Failed recipient
       validation check.: host 127.0.0.1[127.0.0.1] said: 554 5.7.1 recipient verify
       from ldap failed (in reply to RCPT TO command)
      
      Looks like this address does not exist anymore, thus drop it from the
      MAINTAINERS file.
      
      Message-Id: <20210401065343.3197791-1-thuth@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      e4145cd7
    • Dongjiu Geng's avatar
      MAINTAINERS: replace Huawei's email to personal one · d6eed465
      Dongjiu Geng authored
      
      In order to conveniently receive email, replace the Huawei
      email address with my personal one.
      
      Signed-off-by: default avatarDongjiu Geng <gengdongjiu1@gmail.com>
      Message-Id: <1615462144-10864-1-git-send-email-gengdongjiu1@gmail.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      d6eed465
    • Thomas Huth's avatar
      MAINTAINERS: Drop the lines with Sarah Harris · bead6a96
      Thomas Huth authored
      
      In a mail to the qemu-devel mailing list, Sarah wrote:
      
      "I was added as a reviewer (in MAINTAINERS) for the AVR target for the
       duration of my research work using it.
       The funding for my project expires in the middle of April, so I will not be
       able to provide time for reviewing patches from that point."
      
      Thus let's remove the corresponding lines in the MAINTAINERS file.
      
      Message-Id: <20210401062426.3192118-1-thuth@redhat.com>
      Reviewed-by: default avatarSarah Harris <S.E.Harris@kent.ac.uk>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      bead6a96
    • Lukas Straub's avatar
      tests: Add tests for yank with the chardev-change case · d3a0bb77
      Lukas Straub authored
      
      Add tests for yank with the chardev-change case.
      
      Signed-off-by: default avatarLukas Straub <lukasstraub2@web.de>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Tested-by: default avatarLi Zhang <li.zhang@cloud.ionos.com>
      Message-Id: <697ce111503a8bab011d21519ae0b6b07041ec9a.1617127849.git.lukasstraub2@web.de>
      d3a0bb77
    • Lukas Straub's avatar
      chardev: Fix yank with the chardev-change case · feb774ca
      Lukas Straub authored
      
      When changing from chardev-socket (which supports yank) to
      chardev-socket again, it fails, because the new chardev attempts
      to register a new yank instance. This in turn fails, as there
      still is the yank instance from the current chardev. Also,
      the old chardev shouldn't unregister the yank instance when it
      is freed.
      
      To fix this, now the new chardev only registers a yank instance if
      the current chardev doesn't support yank and thus hasn't registered
      one already. Also, when the old chardev is freed, it now only
      unregisters the yank instance if the new chardev doesn't need it.
      
      If the initialization of the new chardev fails, it still has
      chr->handover_yank_instance set and won't unregister the yank
      instance when it is freed.
      
      s->registered_yank is always true here, as chardev-change only works
      on user-visible chardevs and those are guraranteed to register a
      yank instance as they are initialized via
      chardev_new()
       qemu_char_open()
        cc->open() (qmp_chardev_open_socket()).
      
      Signed-off-by: default avatarLukas Straub <lukasstraub2@web.de>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Tested-by: default avatarLi Zhang <li.zhang@cloud.ionos.com>
      Message-Id: <9637888d7591d2971975188478bb707299a1dc04.1617127849.git.lukasstraub2@web.de>
      feb774ca
    • Lukas Straub's avatar
      chardev/char.c: Always pass id to chardev_new · f36b0efd
      Lukas Straub authored
      
      Always pass the id to chardev_new, since it is needed to register
      the yank instance for the chardev. Also, after checking that
      nothing calls chardev_new with id=NULL, assert() that id!=NULL.
      
      This fixes a crash when using chardev-change to change a chardev
      to chardev-socket, which attempts to register a yank instance.
      This in turn tries to dereference the NULL-pointer.
      
      Signed-off-by: default avatarLukas Straub <lukasstraub2@web.de>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Tested-by: default avatarLi Zhang <li.zhang@cloud.ionos.com>
      Message-Id: <3e669b6c160aa7278e37c4d95e0445574f96c7b7.1617127849.git.lukasstraub2@web.de>
      f36b0efd
    • Lukas Straub's avatar
      chardev/char.c: Move object_property_try_add_child out of chardev_new · 789fd693
      Lukas Straub authored
      
      Move object_property_try_add_child out of chardev_new into it's
      callers. This is a preparation for the next patches to fix yank
      with the chardev-change case.
      
      Signed-off-by: default avatarLukas Straub <lukasstraub2@web.de>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Tested-by: default avatarLi Zhang <li.zhang@cloud.ionos.com>
      Message-Id: <b2a5092ec681737bc3a21ea16f3c00848b277521.1617127849.git.lukasstraub2@web.de>
      789fd693
    • Lukas Straub's avatar
      yank: Always link full yank code · e0150291
      Lukas Straub authored
      
      Yank now only depends on util and can be always linked in. Also remove
      the stubs as they are not needed anymore.
      
      Signed-off-by: default avatarLukas Straub <lukasstraub2@web.de>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <997aa12a28c555d8a3b7a363b3bda5c3cf1821ba.1616521341.git.lukasstraub2@web.de>
      e0150291
    • Lukas Straub's avatar
      yank: Remove dependency on qiochannel · 1a92d6d5
      Lukas Straub authored
      
      Remove dependency on qiochannel by removing yank_generic_iochannel and
      letting migration and chardev use their own yank function for
      iochannel.
      
      Signed-off-by: default avatarLukas Straub <lukasstraub2@web.de>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20ff143fc2db23e27cd41d38043e481376c9cec1.1616521341.git.lukasstraub2@web.de>
      1a92d6d5
    • Marc-André Lureau's avatar
      docs: simplify each section title · 816f93b2
      Marc-André Lureau authored
      
      Now that we merged into one doc, it makes the nav looks nicer.
      
      Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20210323074704.4078381-1-marcandre.lureau@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Reviewed-by: default avatarJohn Snow <jsnow@redhat.com>
      816f93b2
    • Priyankar Jain's avatar
      dbus-vmstate: Increase the size of input stream buffer used during load · 1d9fa7a8
      Priyankar Jain authored
      
      This commit fixes an issue where migration is failing in the load phase
      because of a false alarm about data unavailability.
      
      Following is the error received when the amount of data to be transferred
      exceeds the default buffer size setup by G_BUFFERED_INPUT_STREAM(4KiB),
      even when the maximum data size supported by this backend is 1MiB
      (DBUS_VMSTATE_SIZE_LIMIT):
      
        dbus_vmstate_post_load: Invalid vmstate size: 4364
        qemu-kvm: error while loading state for instance 0x0 of device 'dbus-vmstate/dbus-vmstate'
      
      This commit sets the size of the input stream buffer used during load to
      DBUS_VMSTATE_SIZE_LIMIT which is the maximum amount of data a helper can
      send during save phase.
      Secondly, this commit makes sure that the input stream buffer is loaded before
      checking the size of the data available in it, rectifying the false alarm about
      data unavailability.
      
      Fixes: 5010cec2 ("Add dbus-vmstate object")
      Signed-off-by: default avatarPriyankar Jain <priyankar.jain@nutanix.com>
      Message-Id: <cdaad4718e62bf22fd5e93ef3e252de20da5c17c.1612273156.git.priyankar.jain@nutanix.com>
      [ Modified printf format for gsize ]
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      1d9fa7a8
    • Marc-André Lureau's avatar
      util: fix use-after-free in module_load_one · 64e16fbb
      Marc-André Lureau authored
      
      g_hash_table_add always retains ownership of the pointer passed in as
      the key. Its return status merely indicates whether the added entry was
      new, or replaced an existing entry. Thus key must never be freed after
      this method returns.
      
      Spotted by ASAN:
      
      ==2407186==ERROR: AddressSanitizer: heap-use-after-free on address 0x6020003ac4f0 at pc 0x7ffff766659c bp 0x7fffffffd1d0 sp 0x7fffffffc980
      READ of size 1 at 0x6020003ac4f0 thread T0
          #0 0x7ffff766659b  (/lib64/libasan.so.6+0x8a59b)
          #1 0x7ffff6bfa843 in g_str_equal ../glib/ghash.c:2303
          #2 0x7ffff6bf8167 in g_hash_table_lookup_node ../glib/ghash.c:493
          #3 0x7ffff6bf9b78 in g_hash_table_insert_internal ../glib/ghash.c:1598
          #4 0x7ffff6bf9c32 in g_hash_table_add ../glib/ghash.c:1689
          #5 0x5555596caad4 in module_load_one ../util/module.c:233
          #6 0x5555596ca949 in module_load_one ../util/module.c:225
          #7 0x5555596ca949 in module_load_one ../util/module.c:225
          #8 0x5555596cbdf4 in module_load_qom_all ../util/module.c:349
      
      Typical C bug...
      
      Fixes: 90629122 ("module: use g_hash_table_add()")
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Message-Id: <20210316134456.3243102-1-marcandre.lureau@redhat.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      64e16fbb
    • Paolo Bonzini's avatar
      docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document · c81cfb89
      Paolo Bonzini authored
      In an ideal world, we would all get along together very well, always be
      polite and never end up in huge conflicts. And even if there are conflicts,
      we would always handle each other fair and respectfully. Unfortunately,
      this is not an ideal world and sometimes people forget how to interact with
      each other in a professional and respectful way. Fortunately, this seldom
      happens in the QEMU community, but for such rare cases it is preferrable
      to have a basic code of conduct document available to show to people
      who are misbehaving.  In case that does not help yet, we should also have
      a conflict resolution policy ready that can be applied in the worst case.
      
      The Code of Conduct document tries to be short and to the point while
      trying to remain friendly and welcoming; it is based on the Fedora Code
      of Conduct[1] with extra detail added based on the Contributor Covenant
      1.3.0[2].  Other proposals included the Contributor Covenant 1.3.0 itself
      or the Django Code of Conduct[3] (which is also a derivative of Fedora's)
      but, in any case, there was agreement on keeping the conflict resolution
      policy separate from the CoC itself.
      
      An important point is whether to apply the code of conduct to violations
      that occur outside public spaces.  The text herein restricts that to
      individuals acting as a representative or a member of the project or
      its community.  This is intermediate between the Contributor Covenant
      (which only mentions representatives of the community, for example using
      an official project e-mail address or posting via an official social media
      account), and the Django Code of Conduct, which says that violations of
      this code outside these spaces "may" be considered but otherwise applies
      no limit.
      
      The conflict resolution policy is based on the Drupal Conflict Resolution
      Policy[4] and its derivative, the Mozilla Consequence Ladder[5].
      
      [1] https://www.fedoraproject.com/code-of-conduct/
      [2] https://www.contributor-covenant.org/version/1/3/0/code-of-conduct/
      [3] https://www.djangoproject.com/conduct/
      [4] https://www.drupal.org/conflict-resolution
      [5] https://github.com/mozilla/diversity/blob/master/code-of-conduct-enforcement/consequence-ladder.md
      
      
      
      Co-developed-by: default avatarThomas Huth <thuth@redhat.com>
      Reviewed-by: default avatarDavid Edmondson <david.edmondson@oracle.com>
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      c81cfb89
    • Paolo Bonzini's avatar
      hexagon: do not specify Python scripts as inputs · 2008b34a
      Paolo Bonzini authored
      
      Python scripts are not inputs, and putting them in @INPUT@.  This
      puts requirements on the command line format, keeping all inputs
      close to the name of the script.  Avoid that by not including the
      script in the command and not in the inputs.
      
      Also wrap "PYTHONPATH" usage with "env", since setting the environment
      this way is not valid under Windows.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      2008b34a
    • Paolo Bonzini's avatar
      hexagon: do not specify executables as inputs · a5158a96
      Paolo Bonzini authored
      
      gen_semantics is an executable, not an input.  Meson 0.57 special cases
      the first argument and @INPUT@ is not expanded there.  Fix that by
      not including it in the input, only in the command.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      a5158a96
    • Miroslav Rezanina's avatar
      configure: Do not use default_feature for EXESUF · c7328271
      Miroslav Rezanina authored
      
      Commit "c87ea116 configure: add --without-default-features" use
      default_feature to set default values for configure option. This value
      is used for EXESUF too.
      
      However, EXESUF is not option to be tested, it is just append to any
      binary name so using --without-default-features set EXESUF to "n"o and
      all binaries using it has form <name>no (e.g. qemu-imgno).
      
      This is not expected behavior as disabling features should not cause
      generating different binary names.
      
      Reverting back to setting EXESUF to empty value unless needed otherwise.
      
      Signed-off-by: default avatarMiroslav Rezanina <mrezanin@redhat.com>
      Message-Id: <20210331081845.105089-1-mrezanin@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      c7328271
Loading