qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] df7a1f: qapi: Restrict 'inject-nmi' command t


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] df7a1f: qapi: Restrict 'inject-nmi' command to machine code
Date: Fri, 13 Nov 2020 03:59:24 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: df7a1f48539580b47d6becf90c6489b4d7ebaa63
      
https://github.com/qemu/qemu/commit/df7a1f48539580b47d6becf90c6489b4d7ebaa63
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M qapi/machine.json
    M qapi/misc.json
    M softmmu/cpus.c

  Log Message:
  -----------
  qapi: Restrict 'inject-nmi' command to machine code

Restricting 'inject-nmi' to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201012121536.3381997-2-philmd@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 90f8c0f947847e43e1315f03647a9039a458b1e1
      
https://github.com/qemu/qemu/commit/90f8c0f947847e43e1315f03647a9039a458b1e1
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M qapi/machine.json
    M qapi/misc.json
    M ui/cocoa.m
    M ui/gtk.c

  Log Message:
  -----------
  qapi: Restrict 'system wakeup/reset/powerdown' commands to machine.json

Restricting system_wakeup/system_reset/system_powerdown to
machine.json pulls slightly less QAPI-generated code into
user-mode and tools.

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201012121536.3381997-3-philmd@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: d4130cbfc6f5f577900ef389b97ceb06128c5aca
      
https://github.com/qemu/qemu/commit/d4130cbfc6f5f577900ef389b97ceb06128c5aca
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M qapi/machine.json
    M qapi/misc.json

  Log Message:
  -----------
  qapi: Restrict '(p)memsave' command to machine code

Restricting memsave/pmemsave to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201012121536.3381997-4-philmd@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 81dddc1bb67156483c33ddec5e143245f41b9b28
      
https://github.com/qemu/qemu/commit/81dddc1bb67156483c33ddec5e143245f41b9b28
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M qapi/machine.json
    M qapi/misc.json

  Log Message:
  -----------
  qapi: Restrict 'query-kvm' command to machine code

Restricting query-kvm to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201012121536.3381997-5-philmd@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 28af9ba260634daa0bb50039a6103f31b91b1603
      
https://github.com/qemu/qemu/commit/28af9ba260634daa0bb50039a6103f31b91b1603
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M accel/stubs/xen-stub.c
    M hw/i386/xen/xen-hvm.c
    M migration/savevm.c
    M qapi/migration.json
    M qapi/misc.json

  Log Message:
  -----------
  qapi: Restrict Xen migration commands to migration.json

Restricting xen-set-global-dirty-log and xen-load-devices-state
commands migration.json pulls slightly less QAPI-generated code
into user-mode and tools.

Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201012121536.3381997-6-philmd@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 129927fdae54e84e3232b8f16a5604dee8f98c3b
      
https://github.com/qemu/qemu/commit/129927fdae54e84e3232b8f16a5604dee8f98c3b
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests/acpi: allow changes for microvm/APIC.pcie

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201016113835.17465-2-kraxel@redhat.com


  Commit: e6b5a0718afb2a88b2d4b88ddc250125e994f423
      
https://github.com/qemu/qemu/commit/e6b5a0718afb2a88b2d4b88ddc250125e994f423
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    A tests/data/acpi/microvm/APIC.pcie

  Log Message:
  -----------
  tests/acpi: add empty microvm/APIC.pcie

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201016113835.17465-3-kraxel@redhat.com


  Commit: 1b2802c49f60f9de2c24afb5883dafa60d3f3345
      
https://github.com/qemu/qemu/commit/1b2802c49f60f9de2c24afb5883dafa60d3f3345
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/i386/acpi-common.c
    M hw/i386/x86.c
    M include/hw/i386/x86.h

  Log Message:
  -----------
  x86: make pci irqs runtime configurable

Add a variable to x86 machine state instead of
hard-coding the PCI interrupts.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201016113835.17465-4-kraxel@redhat.com


  Commit: 64b070dad39dcae2fe06f498c0536df9a54e4beb
      
https://github.com/qemu/qemu/commit/64b070dad39dcae2fe06f498c0536df9a54e4beb
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/i386/acpi-microvm.c
    M hw/i386/microvm.c

  Log Message:
  -----------
  microvm: set pci_irq_mask

Makes sure the PCI interrupt overrides are added to the
APIC table in case PCIe is enabled.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201016113835.17465-5-kraxel@redhat.com


  Commit: a6518755a63e38499ab1066376bcfbd18541c602
      
https://github.com/qemu/qemu/commit/a6518755a63e38499ab1066376bcfbd18541c602
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/i386/acpi-build.c
    M hw/i386/acpi-common.c
    M hw/i386/acpi-common.h
    M hw/i386/acpi-microvm.c

  Log Message:
  -----------
  apci: drop has_pci arg for acpi_build_madt

Setting x86ms->pci_irq_mask to zero has the same effect,
so we don't need the has_pci argument any more.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201016113835.17465-6-kraxel@redhat.com


  Commit: d3b5a15f8d0de3c0445e688c5d56ceb29c6fab13
      
https://github.com/qemu/qemu/commit/d3b5a15f8d0de3c0445e688c5d56ceb29c6fab13
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M tests/data/acpi/microvm/APIC.pcie

  Log Message:
  -----------
  tests/acpi: update expected data files

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201016113835.17465-7-kraxel@redhat.com


  Commit: 0a10b8f718c24cdd6b0277a7ba7835a685712843
      
https://github.com/qemu/qemu/commit/0a10b8f718c24cdd6b0277a7ba7835a685712843
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests/acpi: disallow changes for microvm/APIC.pcie

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201016113835.17465-8-kraxel@redhat.com


  Commit: 284e269d7ecd511084cc83d6b5ce3bca4db38f53
      
https://github.com/qemu/qemu/commit/284e269d7ecd511084cc83d6b5ce3bca4db38f53
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/acpi/aml-build-stub.c

  Log Message:
  -----------
  acpi: add aml builder stubs

Add stubs for aml_interrupt and aml_memory32_fixed,
these will be needed by followup patches,

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201020074844.5304-2-kraxel@redhat.com


  Commit: 848db5257db7f5a199373f3ac870893e7d770d46
      
https://github.com/qemu/qemu/commit/848db5257db7f5a199373f3ac870893e7d770d46
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/usb/hcd-xhci-nec.c
    M hw/usb/hcd-xhci-pci.c
    M hw/usb/hcd-xhci-sysbus.c
    M hw/usb/hcd-xhci-sysbus.h
    M hw/usb/hcd-xhci.c
    M hw/usb/hcd-xhci.h
    A include/hw/usb/xhci.h

  Log Message:
  -----------
  usb/xhci: add include/hw/usb/xhci.h header file

Move a bunch of defines which might be needed outside core xhci
code to that place.  Add XHCI_ prefixes to avoid name clashes.
No functional change.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com>
Message-id: 20201020074844.5304-3-kraxel@redhat.com


  Commit: 8e9c0c079a40b753654ed0cc165b9f0089def381
      
https://github.com/qemu/qemu/commit/8e9c0c079a40b753654ed0cc165b9f0089def381
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/usb/hcd-xhci-sysbus.c
    M include/hw/usb/xhci.h

  Log Message:
  -----------
  usb/xhci: add xhci_sysbus_build_aml() helper

The helper generates an acpi dsdt device entry
for the xhci sysbus device.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201020074844.5304-4-kraxel@redhat.com


  Commit: 7114f6eac333d99b1db87eedd3f6620a98354296
      
https://github.com/qemu/qemu/commit/7114f6eac333d99b1db87eedd3f6620a98354296
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/usb/Kconfig

  Log Message:
  -----------
  usb/xhci: fixup xhci kconfig deps

USB_XHCI does not depend on PCI any more.
USB_XHCI_SYSBUS must select USB_XHCI not USB.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com>
Message-id: 20201020074844.5304-5-kraxel@redhat.com


  Commit: d4a42e85818141b190af9c6f43175393f1fcbb44
      
https://github.com/qemu/qemu/commit/d4a42e85818141b190af9c6f43175393f1fcbb44
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/i386/Kconfig
    M hw/i386/acpi-microvm.c
    M hw/i386/microvm.c
    M include/hw/i386/microvm.h

  Log Message:
  -----------
  microvm: add usb support

Wire up "usb=on" machine option, when enabled add
a sysbus xhci controller with 8 ports.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201020074844.5304-6-kraxel@redhat.com


  Commit: 702ef9b6ae567f09cec00d4865d161f774ddd349
      
https://github.com/qemu/qemu/commit/702ef9b6ae567f09cec00d4865d161f774ddd349
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests/acpi: allow updates for expected data files

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201020074844.5304-7-kraxel@redhat.com


  Commit: d9b68f1addd9da82453a65b8a3e0cd9e7f1d5a83
      
https://github.com/qemu/qemu/commit/d9b68f1addd9da82453a65b8a3e0cd9e7f1d5a83
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    A tests/data/acpi/microvm/DSDT.rtc
    A tests/data/acpi/microvm/DSDT.usb

  Log Message:
  -----------
  tests/acpi: add empty tests/data/acpi/microvm/DSDT.{usb, rtc} files

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201020074844.5304-8-kraxel@redhat.com


  Commit: f072fd2f85f08759c9168a70e59926179af5447d
      
https://github.com/qemu/qemu/commit/f072fd2f85f08759c9168a70e59926179af5447d
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M tests/qtest/bios-tables-test.c

  Log Message:
  -----------
  tests/acpi: add microvm usb test

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201020074844.5304-9-kraxel@redhat.com


  Commit: 0c491c84858f53c57583943909bbd40f28534a82
      
https://github.com/qemu/qemu/commit/0c491c84858f53c57583943909bbd40f28534a82
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M tests/qtest/bios-tables-test.c

  Log Message:
  -----------
  tests/acpi: add microvm rtc test

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201020074844.5304-10-kraxel@redhat.com


  Commit: 66907f3d3b8bfc2de77b82d89253b7b3a8b728ec
      
https://github.com/qemu/qemu/commit/66907f3d3b8bfc2de77b82d89253b7b3a8b728ec
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M tests/data/acpi/microvm/DSDT.rtc
    M tests/data/acpi/microvm/DSDT.usb
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests/acpi: update expected data files

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201020074844.5304-11-kraxel@redhat.com


  Commit: 9227cc52ccad9879575a0e5aa1f0bf991f207d2e
      
https://github.com/qemu/qemu/commit/9227cc52ccad9879575a0e5aa1f0bf991f207d2e
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sdhci.c

  Log Message:
  -----------
  hw/sd/sdhci: Fix qemu_log_mask() format string

Add missing newline character in qemu_log_mask() format.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20200901140411.112150-2-f4bug@amsat.org>


  Commit: 598a40b30f13b3cde6764173449671d0d8c4d058
      
https://github.com/qemu/qemu/commit/598a40b30f13b3cde6764173449671d0d8c4d058
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sdhci.c

  Log Message:
  -----------
  hw/sd/sdhci: Document the datasheet used

Add datasheet name in the file header.

We can not add the direct download link since there is a disclaimers
to agree first on the SD Association website (www.sdcard.org).

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20200901140411.112150-3-f4bug@amsat.org>


  Commit: dfba99f17feb6d4a129da19d38df1bcd8579d1c3
      
https://github.com/qemu/qemu/commit/dfba99f17feb6d4a129da19d38df1bcd8579d1c3
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sdhci.c

  Log Message:
  -----------
  hw/sd/sdhci: Fix DMA Transfer Block Size field

The 'Transfer Block Size' field is 12-bit wide.

See section '2.2.2. Block Size Register (Offset 004h)' in datasheet.

Two different bug reproducer available:
- https://bugs.launchpad.net/qemu/+bug/1892960
- https://ruhr-uni-bochum.sciebo.de/s/NNWP2GfwzYKeKwE?path=%2Fsdhci_oob_write1

Cc: qemu-stable@nongnu.org
Buglink: https://bugs.launchpad.net/qemu/+bug/1892960
Fixes: d7dfca0807a ("hw/sdhci: introduce standard SD host controller")
Reported-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Prasad J Pandit <pjp@fedoraproject.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20200901140411.112150-3-f4bug@amsat.org>


  Commit: 6a9e5cc61c52af53c71ac24411324427650e6755
      
https://github.com/qemu/qemu/commit/6a9e5cc61c52af53c71ac24411324427650e6755
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sdhci.c

  Log Message:
  -----------
  hw/sd/sdhci: Stop multiple transfers when block count is cleared

Clearing BlockCount stops multiple transfers.

See "SD Host Controller Simplified Specification Version 2.00":

- 2.2.3. Block Count Register (Offset 006h)
- Table 2-8 : Determination of Transfer Type

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20200903172806.489710-2-f4bug@amsat.org>


  Commit: 45e5dc43b3dab096bedf0d537e9b99ee169d0784
      
https://github.com/qemu/qemu/commit/45e5dc43b3dab096bedf0d537e9b99ee169d0784
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sdhci.c

  Log Message:
  -----------
  hw/sd/sdhci: Resume pending DMA transfers on MMIO accesses

If we have pending DMA requests scheduled, process them first.
So far we don't need to implement a bottom half to process them.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20200903172806.489710-3-f4bug@amsat.org>


  Commit: 2bd9ae7e3087a5b853d67ddbedca1b94f88229cf
      
https://github.com/qemu/qemu/commit/2bd9ae7e3087a5b853d67ddbedca1b94f88229cf
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sdhci.c

  Log Message:
  -----------
  hw/sd/sdhci: Let sdhci_update_irq() return if IRQ was delivered

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20200903172806.489710-4-f4bug@amsat.org>


  Commit: 9321c1f2d08817fdb90ad129fbe3194207e73ba0
      
https://github.com/qemu/qemu/commit/9321c1f2d08817fdb90ad129fbe3194207e73ba0
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sdhci.c

  Log Message:
  -----------
  hw/sd/sdhci: Yield if interrupt delivered during multiple transfer

The Descriptor Table has a bit to allow the DMA to generates
Interrupt when the operation of the descriptor line is completed
(see "1.13.4. Descriptor Table" of 'SD Host Controller Simplified
Specification Version 2.00').

If we have pending interrupt and the descriptor requires it
to be generated as soon as it is completed, reschedule pending
transfers and yield to the CPU.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20200903172806.489710-5-f4bug@amsat.org>


  Commit: aafe6c583696fa40677bcd2285da5e7a5210b3eb
      
https://github.com/qemu/qemu/commit/aafe6c583696fa40677bcd2285da5e7a5210b3eb
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sd.c
    M hw/sd/trace-events

  Log Message:
  -----------
  hw/sd/sdcard: Add trace event for ERASE command (CMD38)

Trace addresses provided to the ERASE command.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201015063824.212980-2-f4bug@amsat.org>


  Commit: 872b8fde6c642e1da234bcfb7bb3fb9a8d746ff3
      
https://github.com/qemu/qemu/commit/872b8fde6c642e1da234bcfb7bb3fb9a8d746ff3
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Introduce the INVALID_ADDRESS definition

'0' is used as a value to indicate an invalid (or unset)
address. Use a definition instead of a magic value.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201015063824.212980-3-f4bug@amsat.org>


  Commit: 7dae0a1dd102ea5e58869a3082c61bfcadf29347
      
https://github.com/qemu/qemu/commit/7dae0a1dd102ea5e58869a3082c61bfcadf29347
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Do not use legal address '0' for INVALID_ADDRESS

As it is legal to WRITE/ERASE the address/block 0,
change the value of this definition to an illegal
address: UINT32_MAX.

Unfortunately this break the migration stream, so
bump the VMState version number. This affects some
ARM boards and the SDHCI_PCI device (which is only
used for testing).

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201015063824.212980-4-f4bug@amsat.org>


  Commit: c8c8b3f1c179e1b8d21c2e636dc893ebfc522874
      
https://github.com/qemu/qemu/commit/c8c8b3f1c179e1b8d21c2e636dc893ebfc522874
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Reset both start/end addresses on error

>From the Spec "4.3.5 Erase":

  The host should adhere to the following command
  sequence: ERASE_WR_BLK_START, ERASE_WR_BLK_END and
  ERASE (CMD38).

  If an erase (CMD38) or address setting (CMD32, 33)
  command is received out of sequence, the card shall
  set the ERASE_SEQ_ERROR bit in the status register
  and reset the whole sequence.

Reset both addresses if the ERASE command occured
out of sequence (one of the start/end address is
not set).

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201015063824.212980-5-f4bug@amsat.org>


  Commit: 1bd6fd8ed5933bfba53e5f5eadebd845094c3707
      
https://github.com/qemu/qemu/commit/1bd6fd8ed5933bfba53e5f5eadebd845094c3707
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Do not attempt to erase out of range addresses

While the Spec v3 is not very clear, v6 states:

  If the host provides an out of range address as an argument
  to CMD32 or CMD33, the card shall indicate OUT_OF_RANGE error
  in R1 (ERX) for CMD38.

If an address is out of range, do not attempt to erase it:
return R1 with the error bit set.

Buglink: https://bugs.launchpad.net/qemu/+bug/1895310
Reported-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201015063824.212980-6-f4bug@amsat.org>


  Commit: 84816fb63e5c57159b469a66052d1b2bc862ef77
      
https://github.com/qemu/qemu/commit/84816fb63e5c57159b469a66052d1b2bc862ef77
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Assert if accessing an illegal group

We can not have more group than 'wpgrps_size'.
Assert if we are accessing a group above this limit.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201015063824.212980-7-f4bug@amsat.org>


  Commit: 2e31e210a8590461d428855426a04dfa49717b51
      
https://github.com/qemu/qemu/commit/2e31e210a8590461d428855426a04dfa49717b51
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    A include/ui/qemu-spice-module.h
    M include/ui/qemu-spice.h
    M ui/meson.build
    M ui/spice-core.c
    A ui/spice-module.c

  Log Message:
  -----------
  spice: add module helpers

Add new spice-module.c + qemu-spice-module.h files.  The code needed to
support modular spice will be there.  For starters this will be only the
using_spice variable, more will follow ...

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-2-kraxel@redhat.com


  Commit: 7477477ca7bbf42588575039edcac852fbdb1d75
      
https://github.com/qemu/qemu/commit/7477477ca7bbf42588575039edcac852fbdb1d75
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M include/ui/qemu-spice-module.h
    M include/ui/qemu-spice.h
    M monitor/misc.c
    M ui/spice-core.c
    M ui/spice-module.c

  Log Message:
  -----------
  spice: add QemuSpiceOps, move migrate_info

Add QemuSpiceOps struct.  This struct holds function pointers to the
spice functions.  It will be initialized with pointers to the stub
functions.  When spice gets initialized the function pointers will
be re-written to the real functions.

The spice stubs will move from qemu-spice.h to spice-module.c for that,
because they will be needed for both "CONFIG_SPICE=n" and "CONFIG_SPICE=y
but spice module not loaded" cases.

This patch adds the infrastructure and starts with moving
qemu_spice_migrate_info() to QemuSpiceOps.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-3-kraxel@redhat.com


  Commit: 63be30e6d53e78bbe5e21cbf930014ef4844fb31
      
https://github.com/qemu/qemu/commit/63be30e6d53e78bbe5e21cbf930014ef4844fb31
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M include/ui/qemu-spice-module.h
    M include/ui/qemu-spice.h
    M softmmu/vl.c
    M ui/spice-core.c
    M ui/spice-module.c

  Log Message:
  -----------
  spice: move qemu_spice_init() to QemuSpiceOps.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-4-kraxel@redhat.com


  Commit: b192cd1e4f9321b74e1d8b13b94a239a4750abfb
      
https://github.com/qemu/qemu/commit/b192cd1e4f9321b74e1d8b13b94a239a4750abfb
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M include/ui/qemu-spice-module.h
    M include/ui/qemu-spice.h
    M softmmu/vl.c
    M ui/spice-core.c
    M ui/spice-module.c

  Log Message:
  -----------
  spice: move display_init() to QemuSpiceOps.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-5-kraxel@redhat.com


  Commit: 05b53636d01c1c9b650465def20b683ea1382f63
      
https://github.com/qemu/qemu/commit/05b53636d01c1c9b650465def20b683ea1382f63
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M audio/spiceaudio.c
    M chardev/spice.c
    M include/ui/qemu-spice-module.h
    M include/ui/qemu-spice.h
    M ui/spice-core.c
    M ui/spice-input.c

  Log Message:
  -----------
  spice: move add_interface() to QemuSpiceOps.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-6-kraxel@redhat.com


  Commit: 08ad262643bb925e7f0437630f81b6d1f3acd936
      
https://github.com/qemu/qemu/commit/08ad262643bb925e7f0437630f81b6d1f3acd936
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M include/ui/qemu-spice-module.h
    M include/ui/qemu-spice.h
    M monitor/qmp-cmds.c
    M ui/spice-core.c
    M ui/spice-module.c

  Log Message:
  -----------
  spice: move auth functions to QemuSpiceOps.

Move qemu_spice_set_passwd() and qemu_spice_set_pw_expire() functions to
QemuSpiceOps.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-7-kraxel@redhat.com


  Commit: 864a024c69da2bcf77ecfd0d8bd77f628ded5ba0
      
https://github.com/qemu/qemu/commit/864a024c69da2bcf77ecfd0d8bd77f628ded5ba0
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M include/ui/qemu-spice-module.h
    M include/ui/qemu-spice.h
    M monitor/qmp-cmds.c
    M ui/spice-core.c
    M ui/spice-module.c

  Log Message:
  -----------
  spice: move display_add_client() to QemuSpiceOps.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-8-kraxel@redhat.com


  Commit: db5732c9cfcbf109ff97ee392c285a4675ffe398
      
https://github.com/qemu/qemu/commit/db5732c9cfcbf109ff97ee392c285a4675ffe398
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M include/ui/qemu-spice-module.h
    M ui/spice-core.c
    M ui/spice-module.c

  Log Message:
  -----------
  spice: wire up monitor in QemuSpiceOps.

Rename qmp_query_spice() to qmp_query_spice_real(), add to QemuSpiceOps.

Add new qmp_query_spice() function which calls the real function via
QemuSpiceOps if available, otherwise return SpiceInfo.enabled = false.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-9-kraxel@redhat.com


  Commit: 9ed345a14ed3cfa2345cabfe8759e62463c356a1
      
https://github.com/qemu/qemu/commit/9ed345a14ed3cfa2345cabfe8759e62463c356a1
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  spice: load module when enabled on the cmdline

In case the spice opts are not registered, try loading the spice module.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-10-kraxel@redhat.com


  Commit: 6f13fa7a9825e85e35927cbb51a992e158798424
      
https://github.com/qemu/qemu/commit/6f13fa7a9825e85e35927cbb51a992e158798424
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M util/module.c

  Log Message:
  -----------
  modules: dependencies infrastructure

Allow modules depending on other modules.

module_load_file() gets the option to export symbols (by not adding the
G_MODULE_BIND_LOCAL flag).

module_load_one() will check the module dependency list to figure (a)
whenever are other modules must be loaded first, or (b) the module
should export the symbols.

The dependencies are specificed as static list in the source code for
now as I expect the list will stay small.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-11-kraxel@redhat.com


  Commit: 4e6515143a6eb29cde01edefecb3e41cac9a7680
      
https://github.com/qemu/qemu/commit/4e6515143a6eb29cde01edefecb3e41cac9a7680
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M util/module.c

  Log Message:
  -----------
  modules: add spice dependencies

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-12-kraxel@redhat.com


  Commit: cbe5fa11789035c43fd2108ac6f45848954954b5
      
https://github.com/qemu/qemu/commit/cbe5fa11789035c43fd2108ac6f45848954954b5
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M ui/meson.build

  Log Message:
  -----------
  spice: flip modules switch

Build spice core code as module.  This removes libspice-server and a
handful of indirect dependencies from core qemu.  The number of shared
libraries for qemu-system-x86_64 goes down from 73 to 66 on my system.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-13-kraxel@redhat.com


  Commit: 39d41e855ba1e062e828ed3dbc6a1d4f57169c0b
      
https://github.com/qemu/qemu/commit/39d41e855ba1e062e828ed3dbc6a1d4f57169c0b
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M ui/meson.build

  Log Message:
  -----------
  opengl: build egl-headless display modular

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-14-kraxel@redhat.com


  Commit: c8263659f1268a0f3502568d7663f722b2461935
      
https://github.com/qemu/qemu/commit/c8263659f1268a0f3502568d7663f722b2461935
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M ui/meson.build
    M util/module.c

  Log Message:
  -----------
  opengl: build opengl helper code modular

Removes opengl dependency from core qemu.  The number of shared
libraries for qemu-system-x86_64 goes down from 66 to 60 on my system.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201019075224.14803-15-kraxel@redhat.com


  Commit: e06c687fdf24b52358539a52bba184e8f5ff5b35
      
https://github.com/qemu/qemu/commit/e06c687fdf24b52358539a52bba184e8f5ff5b35
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M accel/stubs/xen-stub.c
    M hw/i386/xen/xen-hvm.c
    M migration/savevm.c
    M qapi/machine.json
    M qapi/migration.json
    M qapi/misc.json
    M softmmu/cpus.c
    M ui/cocoa.m
    M ui/gtk.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2020-10-21' into 
staging

QAPI patches patches for 2020-10-21

# gpg: Signature made Wed 21 Oct 2020 04:01:41 BST
# gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg:                issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* remotes/armbru/tags/pull-qapi-2020-10-21:
  qapi: Restrict Xen migration commands to migration.json
  qapi: Restrict 'query-kvm' command to machine code
  qapi: Restrict '(p)memsave' command to machine code
  qapi: Restrict 'system wakeup/reset/powerdown' commands to machine.json
  qapi: Restrict 'inject-nmi' command to machine code

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 02aa56c4bc409d5822d39e734fc13a2b26cdd171
      
https://github.com/qemu/qemu/commit/02aa56c4bc409d5822d39e734fc13a2b26cdd171
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

  Changed paths:
    M hw/acpi/aml-build-stub.c
    M hw/i386/Kconfig
    M hw/i386/acpi-build.c
    M hw/i386/acpi-common.c
    M hw/i386/acpi-common.h
    M hw/i386/acpi-microvm.c
    M hw/i386/microvm.c
    M hw/i386/x86.c
    M hw/usb/Kconfig
    M hw/usb/hcd-xhci-nec.c
    M hw/usb/hcd-xhci-pci.c
    M hw/usb/hcd-xhci-sysbus.c
    M hw/usb/hcd-xhci-sysbus.h
    M hw/usb/hcd-xhci.c
    M hw/usb/hcd-xhci.h
    M include/hw/i386/microvm.h
    M include/hw/i386/x86.h
    A include/hw/usb/xhci.h
    A tests/data/acpi/microvm/APIC.pcie
    A tests/data/acpi/microvm/DSDT.rtc
    A tests/data/acpi/microvm/DSDT.usb
    M tests/qtest/bios-tables-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/kraxel/tags/microvm-20201021-pull-request' into staging

microvm: fix PCIe IRQs in APIC table.
microvm: add usb support.

# gpg: Signature made Wed 21 Oct 2020 15:48:00 BST
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/microvm-20201021-pull-request:
  tests/acpi: update expected data files
  tests/acpi: add microvm rtc test
  tests/acpi: add microvm usb test
  tests/acpi: add empty tests/data/acpi/microvm/DSDT.{usb, rtc} files
  tests/acpi: allow updates for expected data files
  microvm: add usb support
  usb/xhci: fixup xhci kconfig deps
  usb/xhci: add xhci_sysbus_build_aml() helper
  usb/xhci: add include/hw/usb/xhci.h header file
  acpi: add aml builder stubs
  tests/acpi: disallow changes for microvm/APIC.pcie
  tests/acpi: update expected data files
  apci: drop has_pci arg for acpi_build_madt
  microvm: set pci_irq_mask
  x86: make pci irqs runtime configurable
  tests/acpi: add empty microvm/APIC.pcie
  tests/acpi: allow changes for microvm/APIC.pcie

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: eec4682e9977ea4e57d7238fba2782e6f2f3b0d0
      
https://github.com/qemu/qemu/commit/eec4682e9977ea4e57d7238fba2782e6f2f3b0d0
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M hw/sd/sd.c
    M hw/sd/sdhci.c
    M hw/sd/trace-events

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/philmd-gitlab/tags/sd-next-20201021' 
into staging

SD/MMC patches

Fix two heap-overflow reported by Alexander Bulekov while fuzzing:
- https://bugs.launchpad.net/qemu/+bug/1892960
- https://bugs.launchpad.net/qemu/+bug/1895310

CI jobs results:
. https://cirrus-ci.com/build/6399328187056128
. https://gitlab.com/philmd/qemu/-/pipelines/205701966
. https://travis-ci.org/github/philmd/qemu/builds/737708930

# gpg: Signature made Wed 21 Oct 2020 18:33:08 BST
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* remotes/philmd-gitlab/tags/sd-next-20201021:
  hw/sd/sdcard: Assert if accessing an illegal group
  hw/sd/sdcard: Do not attempt to erase out of range addresses
  hw/sd/sdcard: Reset both start/end addresses on error
  hw/sd/sdcard: Do not use legal address '0' for INVALID_ADDRESS
  hw/sd/sdcard: Introduce the INVALID_ADDRESS definition
  hw/sd/sdcard: Add trace event for ERASE command (CMD38)
  hw/sd/sdhci: Yield if interrupt delivered during multiple transfer
  hw/sd/sdhci: Let sdhci_update_irq() return if IRQ was delivered
  hw/sd/sdhci: Resume pending DMA transfers on MMIO accesses
  hw/sd/sdhci: Stop multiple transfers when block count is cleared
  hw/sd/sdhci: Fix DMA Transfer Block Size field
  hw/sd/sdhci: Document the datasheet used
  hw/sd/sdhci: Fix qemu_log_mask() format string

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 4c5b97bfd0dd54dc27717ae8d1cd10e14eef1430
      
https://github.com/qemu/qemu/commit/4c5b97bfd0dd54dc27717ae8d1cd10e14eef1430
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M audio/spiceaudio.c
    M chardev/spice.c
    A include/ui/qemu-spice-module.h
    M include/ui/qemu-spice.h
    M monitor/misc.c
    M monitor/qmp-cmds.c
    M softmmu/vl.c
    M ui/meson.build
    M ui/spice-core.c
    M ui/spice-input.c
    A ui/spice-module.c
    M util/module.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/kraxel/tags/modules-20201022-pull-request' into staging

modules: build spice and opengl as module.

# gpg: Signature made Thu 22 Oct 2020 06:12:03 BST
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/modules-20201022-pull-request:
  opengl: build opengl helper code modular
  opengl: build egl-headless display modular
  spice: flip modules switch
  modules: add spice dependencies
  modules: dependencies infrastructure
  spice: load module when enabled on the cmdline
  spice: wire up monitor in QemuSpiceOps.
  spice: move display_add_client() to QemuSpiceOps.
  spice: move auth functions to QemuSpiceOps.
  spice: move add_interface() to QemuSpiceOps.
  spice: move display_init() to QemuSpiceOps.
  spice: move qemu_spice_init() to QemuSpiceOps.
  spice: add QemuSpiceOps, move migrate_info
  spice: add module helpers

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: db08244a3a7ec312dfed3fd9b88e114281215458
      
https://github.com/qemu/qemu/commit/db08244a3a7ec312dfed3fd9b88e114281215458
  Author: Matthew Rosato <mjrosato@linux.ibm.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c

  Log Message:
  -----------
  s390x/s390-virtio-ccw: Reset PCI devices during subsystem reset

Currently, a subsystem reset event leaves PCI devices enabled, causing
issues post-reset in the guest (an example would be after a kexec).  These
devices need to be reset during a subsystem reset, allowing them to be
properly re-enabled afterwards.  Add the S390 PCI host bridge to the list
of qdevs to be reset during subsystem reset.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Acked-by: Halil Pasic <pasic@linux.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: qemu-stable@nongnu.org
Message-Id: <1602767767-32713-1-git-send-email-mjrosato@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: 3df4843d0e612a3c838e8d94c3e9c24520f2e680
      
https://github.com/qemu/qemu/commit/3df4843d0e612a3c838e8d94c3e9c24520f2e680
  Author: Janosch Frank <frankja@linux.ibm.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M hw/s390x/sclp.c

  Log Message:
  -----------
  s390x: pv: Remove sclp boundary checks

The SCLP boundary cross check is done by the Ultravisor for a
protected guest, hence we don't need to do it. As QEMU doesn't get a
valid SCCB address in protected mode this is even problematic and can
lead to QEMU reporting a false boundary cross error.

Fixes: db13387ca0 ("s390/sclp: rework sclp boundary checks")
Reported-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Tested-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Acked-by: Halil Pasic <pasic@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Message-Id: <20201022103135.126033-2-frankja@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: 3ded270a2697852a71961b45291519ae044f25e3
      
https://github.com/qemu/qemu/commit/3ded270a2697852a71961b45291519ae044f25e3
  Author: Janosch Frank <frankja@linux.ibm.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M target/s390x/cpu_features.c
    M target/s390x/cpu_features.h
    M target/s390x/cpu_models.c
    M target/s390x/kvm.c

  Log Message:
  -----------
  s390x: pv: Fix diag318 PV fencing

Diag318 fencing needs to be determined on the current VM PV state and
not on the state that the VM has when we create the CPU model.

Fixes: fabdada935 ("s390: guest support for diagnose 0x318")
Reported-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Tested-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Message-Id: <20201022103135.126033-3-frankja@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: da0dfe251d7216ffbee72c7e0ae0709ba9b422e6
      
https://github.com/qemu/qemu/commit/da0dfe251d7216ffbee72c7e0ae0709ba9b422e6
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M .cirrus.yml
    M scripts/undefsym.py

  Log Message:
  -----------
  build: fix macOS --enable-modules build

Apple's nm implementation includes empty lines in the output that are not
found in GNU binutils.  This confuses scripts/undefsym.py, though it did
not confuse the scripts/undefsym.sh script that it replaced.  To fix
this, ignore lines that do not have two fields.

Reported-by: Emmanuel Blot <eblot.ml@gmail.com>
Tested-by: Emmanuel Blot <eblot.ml@gmail.com>
Fixes: 604f3e4e90 ("meson: Convert undefsym.sh to undefsym.py", 2020-09-08)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 925a40df2828d32d3aaaf022282cba81082fb263
      
https://github.com/qemu/qemu/commit/925a40df2828d32d3aaaf022282cba81082fb263
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: rewrite curses/iconv test

Redo the curses test to do the same tests that the configure
check used to do.  OpenBSD triggers the warning because
it does not support NCURSES_WIDECHAR and thus the cc.links
test fails.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 34f02e9f334956cef4e3af4433aaebe7e5ecf71f
      
https://github.com/qemu/qemu/commit/34f02e9f334956cef4e3af4433aaebe7e5ecf71f
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M tests/fp/meson.build
    M tests/qtest/meson.build

  Log Message:
  -----------
  do not use colons in test names

Starting with meson 0.56, colons are used to separate the subproject name
from the test name.  Use dash or slash depending on what looks nicer.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a6e9b9123e7e24085b16a001a04f9059269c57c5
      
https://github.com/qemu/qemu/commit/a6e9b9123e7e24085b16a001a04f9059269c57c5
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M hw/core/qdev-clock.c

  Log Message:
  -----------
  hw/core/qdev-clock: add a reference on aliased clocks

When aliasing a clock with the qdev_alias_clock() function, a new link
property is created on the device aliasing the clock. The link points
to the aliased clock and use the OBJ_PROP_LINK_STRONG flag. This
property is read only since it does not provide a check callback for
modifications.

The object_property_add_link() documentation stats that with
OBJ_PROP_LINK_STRONG properties, the linked object reference count get
decremented when the property is deleted. But it is _not_ incremented on
creation (object_property_add_link() does not actually know the link).

This commit increments the reference count on the aliased clock to
ensure the aliased clock stays alive during the property lifetime, and
to avoid a double-free memory error when the property gets deleted.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Message-Id: <20201020091024.320381-1-luc@lmichel.fr>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c51a5a23d87be2cfd8e2d739d11475b251f398cb
      
https://github.com/qemu/qemu/commit/c51a5a23d87be2cfd8e2d739d11475b251f398cb
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M tests/qtest/bios-tables-test.c

  Log Message:
  -----------
  qtest: unbreak non-TCG builds in bios-tables-test

the tests assume TCG is available, thus breaking
for TCG-only tests, where only the TCG accelerator option
is passed to the QEMU binary.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20201013192123.22632-3-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9b1c911654e9d4937f10cb347cf581d50771ee5b
      
https://github.com/qemu/qemu/commit/9b1c911654e9d4937f10cb347cf581d50771ee5b
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M block/meson.build
    M net/meson.build
    M replay/meson.build
    A replay/stubs-system.c
    M stubs/meson.build
    A stubs/replay-tools.c
    R stubs/replay-user.c
    M stubs/replay.c
    M tests/ptimer-test-stubs.c
    M tests/qtest/qmp-cmd-test.c

  Log Message:
  -----------
  replay: do not build if TCG is not available

this fixes non-TCG builds broken recently by replay reverse debugging.

Stub the needed functions in stub/, splitting roughly between functions
needed only by system emulation, by system emulation and tools,
and by everyone.  This includes duplicating some code in replay/, and
puts the logic for non-replay related events in the replay/ module (+
the stubs), so this should be revisited in the future.

Surprisingly, only _one_ qtest was affected by this, ide-test.c, which
resulted in a buzz as the bh events were never delivered, and the bh
never executed.

Many other subsystems _should_ have been affected.

This fixes the immediate issue, however a better way to group replay
functionality to TCG-only code could be developed in the long term.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20201013192123.22632-4-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7239c050e81ad4aad282f8d43848c14b3956838a
      
https://github.com/qemu/qemu/commit/7239c050e81ad4aad282f8d43848c14b3956838a
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M docs/system/deprecated.rst
    M qemu-options.hx
    M softmmu/vl.c

  Log Message:
  -----------
  Remove deprecated -no-kvm option

The option has never been mentioned in our documentation, it's been
deprecated since years, it's marked with QEMU_ARCH_I386 (which does
not make sense anymore since KVM is available on other architectures,
too), it does not do anything by default in upstream QEMU (since TCG
is the default here anyway), and we're spending too much precious time
each year discussing whether it makes sense to keep this option as a
nice suger or not... let's finally put an end on this and remove it.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201020160504.62460-1-thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 69430111ab2fe3f32548a0e70437655d0d937a6a
      
https://github.com/qemu/qemu/commit/69430111ab2fe3f32548a0e70437655d0d937a6a
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M target/riscv/cpu_helper.c
    M target/riscv/op_helper.c

  Log Message:
  -----------
  riscv: Convert interrupt logs to use qemu_log_mask()

Currently we log interrupts and exceptions using the trace backend in
riscv_cpu_do_interrupt(). We also log exceptions using the interrupt log
mask (-d int) in riscv_raise_exception().

This patch converts riscv_cpu_do_interrupt() to log both interrupts and
exceptions with the interrupt log mask, so that both are printed when a
user runs QEMU with -d int.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 
29a8c766c7c4748d0f2711c3a0abb81208138c5e.1601652179.git.alistair.francis@wdc.com


  Commit: 801da1701cbc3f904639706e830ba20098d0ab5f
      
https://github.com/qemu/qemu/commit/801da1701cbc3f904639706e830ba20098d0ab5f
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    R hw/intc/sifive_plic.h
    A include/hw/intc/sifive_plic.h

  Log Message:
  -----------
  hw/intc: Move sifive_plic.h to the include directory

Since sifive_plic.h is used by hw/intc/sifive_plic.c,
it has to be in the public include directory. Move it.

Fixes: 84fcf3c15111 ("hw/riscv: Move sifive_plic model to hw/intc")
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 1602578033-68384-1-git-send-email-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: ace544532c4064e995ef69ec9dc93aad62e19988
      
https://github.com/qemu/qemu/commit/ace544532c4064e995ef69ec9dc93aad62e19988
  Author: Georg Kotheimer <georg.kotheimer@kernkonzept.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M target/riscv/cpu_helper.c

  Log Message:
  -----------
  target/riscv: Fix update of hstatus.SPVP

When trapping from virt into HS mode, hstatus.SPVP was set to
the value of sstatus.SPP, as according to the specification both
flags should be set to the same value.
However, the assignment of SPVP takes place before SPP itself is
updated, which results in SPVP having an outdated value.

Signed-off-by: Georg Kotheimer <georg.kotheimer@kernkonzept.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201013151054.396481-1-georg.kotheimer@kernkonzept.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 4aeb9e26c219a85f465eb2cc7ef6939a3c71944f
      
https://github.com/qemu/qemu/commit/4aeb9e26c219a85f465eb2cc7ef6939a3c71944f
  Author: Georg Kotheimer <georg.kotheimer@kernkonzept.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M target/riscv/cpu_helper.c

  Log Message:
  -----------
  target/riscv: Fix update of hstatus.GVA in riscv_cpu_do_interrupt

The hstatus.GVA bit was not set if the faulting guest virtual address
was zero.

Signed-off-by: Georg Kotheimer <georg.kotheimer@kernkonzept.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201013173054.451135-1-georg.kotheimer@kernkonzept.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 1da46012eaaeb2feb3aa6a5a8fc0a03200b673aa
      
https://github.com/qemu/qemu/commit/1da46012eaaeb2feb3aa6a5a8fc0a03200b673aa
  Author: Georg Kotheimer <georg.kotheimer@kernkonzept.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M target/riscv/op_helper.c

  Log Message:
  -----------
  target/riscv: Fix implementation of HLVX.WU instruction

The HLVX.WU instruction is supposed to read a machine word,
but prior to this change it read a byte instead.

Fixes: 8c5362acb57 ("target/riscv: Allow generating hlv/hlvx/hsv instructions")
Signed-off-by: Georg Kotheimer <georg.kotheimer@kernkonzept.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201013172223.443645-1-georg.kotheimer@kernkonzept.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 099be0358ee2cfb1cadf80d14297511215885219
      
https://github.com/qemu/qemu/commit/099be0358ee2cfb1cadf80d14297511215885219
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M hw/riscv/sifive_u.c
    M include/hw/riscv/sifive_u.h

  Log Message:
  -----------
  hw/riscv: sifive_u: Allow specifying the CPU

Allow the user to specify the main application CPU for the sifive_u
machine.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Tested-by: Bin Meng <bin.meng@windriver.com>
Message-id: 
b8412086c8aea0eff30fb7a17f0acf2943381b6a.1602634524.git.alistair.francis@wdc.com


  Commit: e66c531e13f8ba3d8b7f32719f7964ba1b185a23
      
https://github.com/qemu/qemu/commit/e66c531e13f8ba3d8b7f32719f7964ba1b185a23
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M hw/riscv/boot.c
    M include/hw/riscv/boot.h

  Log Message:
  -----------
  hw/riscv: Return the end address of the loaded firmware

Instead of returning the unused entry address from riscv_load_firmware()
instead return the end address. Also return the end address from
riscv_find_and_load_firmware().

This tells the caller if a firmware was loaded and how big it is. This
can be used to determine the load address of the next image (usually the
kernel).

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Reviewed-by: Bin Meng <bin.meng@windriver.com>
Tested-by: Bin Meng <bin.meng@windriver.com>
Message-id: 
558cf67162342d65a23262248b040563716628b2.1602634524.git.alistair.francis@wdc.com


  Commit: c40778429157afbd9ba2236f1e06ca24d980cdfe
      
https://github.com/qemu/qemu/commit/c40778429157afbd9ba2236f1e06ca24d980cdfe
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M hw/riscv/boot.c
    M include/hw/riscv/boot.h

  Log Message:
  -----------
  hw/riscv: Add a riscv_is_32_bit() function

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Reviewed-by: Bin Meng <bin.meng@windriver.com>
Tested-by: Bin Meng <bin.meng@windriver.com>
Message-id: 
4c6a85dfb6dd470aa79356ebc1b02f479c2758e0.1602634524.git.alistair.francis@wdc.com


  Commit: 38bc4e34f29b913d28a8d2abcf2bf74a4a4a816e
      
https://github.com/qemu/qemu/commit/38bc4e34f29b913d28a8d2abcf2bf74a4a4a816e
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M hw/riscv/boot.c
    M hw/riscv/opentitan.c
    M hw/riscv/sifive_e.c
    M hw/riscv/sifive_u.c
    M hw/riscv/spike.c
    M hw/riscv/virt.c
    M include/hw/riscv/boot.h

  Log Message:
  -----------
  hw/riscv: Load the kernel after the firmware

Instead of loading the kernel at a hardcoded start address, let's load
the kernel at the next aligned address after the end of the firmware.

This should have no impact for current users of OpenSBI, but will
allow loading a noMMU kernel at the start of memory.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Reviewed-by: Bin Meng <bin.meng@windriver.com>
Tested-by: Bin Meng <bin.meng@windriver.com>
Message-id: 
46c00c4f15b42feb792090e3d74359e180a6d954.1602634524.git.alistair.francis@wdc.com


  Commit: 33a9a57d2c31ec9ed68858911dc490b5de15f342
      
https://github.com/qemu/qemu/commit/33a9a57d2c31ec9ed68858911dc490b5de15f342
  Author: Yifei Jiang <jiangyifei@huawei.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M target/riscv/cpu.h
    M target/riscv/cpu_helper.c

  Log Message:
  -----------
  target/riscv: raise exception to HS-mode at get_physical_address

VS-stage translation at get_physical_address needs to translate pte
address by G-stage translation. But the G-stage translation error
can not be distinguished from VS-stage translation error in
riscv_cpu_tlb_fill. On migration, destination needs to rebuild pte,
and this G-stage translation error must be handled by HS-mode. So
introduce TRANSLATE_STAGE2_FAIL so that riscv_cpu_tlb_fill could
distinguish and raise it to HS-mode.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Yipeng Yin <yinyipeng1@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201014101728.848-1-jiangyifei@huawei.com
[ Change by AF:
 - Clarify the fault_pte_addr shift
]
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: a54d259157e2575b69e2cf7cf03592c74559cb7e
      
https://github.com/qemu/qemu/commit/a54d259157e2575b69e2cf7cf03592c74559cb7e
  Author: Green Wan <green.wan@sifive.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M hw/misc/sifive_u_otp.c
    M include/hw/misc/sifive_u_otp.h

  Log Message:
  -----------
  hw/misc/sifive_u_otp: Add write function and write-once protection

 - Add write operation to update fuse data bit when PWE bit is on.
 - Add array, fuse_wo, to store the 'written' status for all bits
   of OTP to block the write operation.

Signed-off-by: Green Wan <green.wan@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bin.meng@windriver.com>
Tested-by: Bin Meng <bin.meng@windriver.com>
Message-id: 20201020033732.12921-2-green.wan@sifive.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 51b6c1bbc3dd1b139a9e9b021d87bcfd7d82299e
      
https://github.com/qemu/qemu/commit/51b6c1bbc3dd1b139a9e9b021d87bcfd7d82299e
  Author: Green Wan <green.wan@sifive.com>
  Date:   2020-10-22 (Thu, 22 Oct 2020)

  Changed paths:
    M hw/misc/sifive_u_otp.c
    M include/hw/misc/sifive_u_otp.h

  Log Message:
  -----------
  hw/misc/sifive_u_otp: Add backend drive support

Add '-drive' support to OTP device. Allow users to assign a raw file
as OTP image.

test commands for 16k otp.img filled with zero:

$ dd if=/dev/zero of=./otp.img bs=1k count=16
$ ./qemu-system-riscv64 -M sifive_u -m 256M -nographic -bios none \
-kernel ../opensbi/build/platform/sifive/fu540/firmware/fw_payload.elf \
-d guest_errors -drive if=none,format=raw,file=otp.img

Signed-off-by: Green Wan <green.wan@sifive.com>
Reviewed-by: Bin Meng <bin.meng@windriver.com>
Tested-by: Bin Meng <bin.meng@windriver.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201020033732.12921-3-green.wan@sifive.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: d9a5eba477e7ed7183a6d417755790d6ecf22cad
      
https://github.com/qemu/qemu/commit/d9a5eba477e7ed7183a6d417755790d6ecf22cad
  Author: Stephen Long <steplong@quicinc.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  Fix stack smashing when handling PR_GET_PDEATHSIG

The bug was triggered by the following code on aarch64-linux-user:

int main(void)
{
  int PDeathSig = 0;
  if (prctl(PR_GET_PDEATHSIG, &PDeathSig) == 0 && PDeathSig == SIGKILL)
    prctl(PR_GET_PDEATHSIG, 0);
  return (PDeathSig == SIGKILL);
}

Signed-off-by: Stephen Long <steplong@quicinc.com>
Signed-off-by: Ana Pazos <apazos@quicinc.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200507130302.3684-1-steplong@quicinc.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: b94e2b4e34524c37b86f6acb8ad4a696969f2dd0
      
https://github.com/qemu/qemu/commit/b94e2b4e34524c37b86f6acb8ad4a696969f2dd0
  Author: Frajo <franz.haider@jolla.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: Support f_flags in statfs64 when available.

Same as d4247ec2d79ef2477cb886fa688706b068119736 but for statfs64
When running rpm within qemu-arm-dynamic this could cause rpm fail with
an error like
"installing package A needs B MB on the C filesystem" depending on what
is in memory in f_flags.
https://github.com/rpm-software-management/rpm/blob/af06db1d5558870f7fb8f5c502572c2d27af5c71/lib/transaction.c#L164

Signed-off-by: Franz-Josef Haider <franz.haider@jolla.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <2e405fe7-efab-dae5-93d6-02575773fd6e@jolla.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: f25e7ab2b091fae1ae3e9f55b5244ddcdb1653bb
      
https://github.com/qemu/qemu/commit/f25e7ab2b091fae1ae3e9f55b5244ddcdb1653bb
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/nvme.c
    M qapi/block-core.json

  Log Message:
  -----------
  block/nvme: Add driver statistics for access alignment and hw errors

Keep statistics of some hardware errors, and number of
aligned/unaligned I/O accesses.

QMP example booting a full RHEL 8.3 aarch64 guest:

{ "execute": "query-blockstats" }
{
    "return": [
        {
            "device": "",
            "node-name": "drive0",
            "stats": {
                "flush_total_time_ns": 6026948,
                "wr_highest_offset": 3383991230464,
                "wr_total_time_ns": 807450995,
                "failed_wr_operations": 0,
                "failed_rd_operations": 0,
                "wr_merged": 3,
                "wr_bytes": 50133504,
                "failed_unmap_operations": 0,
                "failed_flush_operations": 0,
                "account_invalid": false,
                "rd_total_time_ns": 1846979900,
                "flush_operations": 130,
                "wr_operations": 659,
                "rd_merged": 1192,
                "rd_bytes": 218244096,
                "account_failed": false,
                "idle_time_ns": 2678641497,
                "rd_operations": 7406,
            },
            "driver-specific": {
                "driver": "nvme",
                "completion-errors": 0,
                "unaligned-accesses": 2959,
                "aligned-accesses": 4477
            },
            "qdev": "/machine/peripheral-anon/device[0]/virtio-backend"
        }
    ]
}

Suggested-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-id: 20201001162939.1567915-1-philmd@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 049f55502a020f2d56dece94164bf8cf901f855d
      
https://github.com/qemu/qemu/commit/049f55502a020f2d56dece94164bf8cf901f855d
  Author: Coiby Xu <coiby.xu@gmail.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M contrib/libvhost-user/libvhost-user-glib.c
    M contrib/libvhost-user/libvhost-user.c
    M contrib/libvhost-user/libvhost-user.h
    M tests/vhost-user-bridge.c
    M tools/virtiofsd/fuse_virtio.c

  Log Message:
  -----------
  libvhost-user: Allow vu_message_read to be replaced

Allow vu_message_read to be replaced by one which will make use of the
QIOChannel functions. Thus reading vhost-user message won't stall the
guest. For slave channel, we still use the default vu_message_read.

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200918080912.321299-2-coiby.xu@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: f1baeee9ffeddcc068d3536f90b5c3e9f81d9309
      
https://github.com/qemu/qemu/commit/f1baeee9ffeddcc068d3536f90b5c3e9f81d9309
  Author: Coiby Xu <coiby.xu@gmail.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M contrib/libvhost-user/libvhost-user.c

  Log Message:
  -----------
  libvhost-user: remove watch for kick_fd when de-initialize vu-dev

When the client is running in gdb and quit command is run in gdb,
QEMU will still dispatch the event which will cause segment fault in
the callback function.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20200918080912.321299-3-coiby.xu@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 70eb2c079cdfa835c70aec8887710b18092516a0
      
https://github.com/qemu/qemu/commit/70eb2c079cdfa835c70aec8887710b18092516a0
  Author: Coiby Xu <coiby.xu@gmail.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M util/meson.build
    A util/vhost-user-server.c
    A util/vhost-user-server.h

  Log Message:
  -----------
  util/vhost-user-server: generic vhost user server

Sharing QEMU devices via vhost-user protocol.

Only one vhost-user client can connect to the server one time.

Suggested-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20200918080912.321299-4-coiby.xu@gmail.com
[Fixed size_t %lu -> %zu format string compiler error.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 5937835ac4cfb2f5e16bebf13b9ea42770c96785
      
https://github.com/qemu/qemu/commit/5937835ac4cfb2f5e16bebf13b9ea42770c96785
  Author: Coiby Xu <coiby.xu@gmail.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M hw/core/qdev-properties-system.c
    A util/block-helpers.c
    A util/block-helpers.h
    M util/meson.build

  Log Message:
  -----------
  block: move logical block size check function to a common utility function

Move the constants from hw/core/qdev-properties.c to
util/block-helpers.h so that knowledge of the min/max values is

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Eduardo Habkost <ehabkost@redhat.com>
Message-id: 20200918080912.321299-5-coiby.xu@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 3578389bcf76c824a5d82e6586a6f0c71e56f2aa
      
https://github.com/qemu/qemu/commit/3578389bcf76c824a5d82e6586a6f0c71e56f2aa
  Author: Coiby Xu <coiby.xu@gmail.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    A block/export/vhost-user-blk-server.c
    A block/export/vhost-user-blk-server.h
    M block/meson.build
    M softmmu/vl.c

  Log Message:
  -----------
  block/export: vhost-user block device backend server

By making use of libvhost-user, block device drive can be shared to
the connected vhost-user client. Only one client can connect to the
server one time.

Since vhost-user-server needs a block drive to be created first, delay
the creation of this object.

Suggested-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20200918080912.321299-6-coiby.xu@gmail.com
[Shorten "vhost_user_blk_server" string to "vhost_user_blk" to avoid the
following compiler warning:
../block/export/vhost-user-blk-server.c:178:50: error: ‘%s’ directive output 
truncated writing 21 bytes into a region of size 20 [-Werror=format-truncation=]
and fix "Invalid size %ld ..." ssize_t format string arguments for
32-bit hosts.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 8675a37681d99af94fca6664056d402b05453c78
      
https://github.com/qemu/qemu/commit/8675a37681d99af94fca6664056d402b05453c78
  Author: Coiby Xu <coiby.xu@gmail.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add vhost-user block device backend server maintainer

Suggested-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20200918080912.321299-8-coiby.xu@gmail.com
[Removed reference to vhost-user-blk-test.c, it will be sent in a
separate pull request.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 1d7874568b0984ae7880e6ccd0d31c0aba442254
      
https://github.com/qemu/qemu/commit/1d7874568b0984ae7880e6ccd0d31c0aba442254
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M util/vhost-user-server.c

  Log Message:
  -----------
  util/vhost-user-server: s/fileds/fields/ typo fix

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-3-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 46a096c87a6464dfbdd71a89e2143c55ef45395c
      
https://github.com/qemu/qemu/commit/46a096c87a6464dfbdd71a89e2143c55ef45395c
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M util/vhost-user-server.c

  Log Message:
  -----------
  util/vhost-user-server: drop unnecessary QOM cast

We already have access to the value with the correct type (ioc and sioc
are the same QIOChannel).

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-4-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: dad4f19431653abf2a576ed062f8de4223eb228b
      
https://github.com/qemu/qemu/commit/dad4f19431653abf2a576ed062f8de4223eb228b
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M util/vhost-user-server.c

  Log Message:
  -----------
  util/vhost-user-server: drop unnecessary watch deletion

Explicitly deleting watches is not necessary since libvhost-user calls
remove_watch() during vu_deinit(). Add an assertion to check this
though.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-5-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: df6af7ce77447be89e0d054dc06fb496ec4e69b4
      
https://github.com/qemu/qemu/commit/df6af7ce77447be89e0d054dc06fb496ec4e69b4
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/export/vhost-user-blk-server.c

  Log Message:
  -----------
  block/export: consolidate request structs into VuBlockReq

Only one struct is needed per request. Drop req_data and the separate
VuBlockReq instance. Instead let vu_queue_pop() allocate everything at
once.

This fixes the req_data memory leak in vu_block_virtio_process_req().

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-6-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 47ba680466d83adfa8c58620d4f5855c0de1a144
      
https://github.com/qemu/qemu/commit/47ba680466d83adfa8c58620d4f5855c0de1a144
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/export/vhost-user-blk-server.c
    M util/vhost-user-server.c
    M util/vhost-user-server.h

  Log Message:
  -----------
  util/vhost-user-server: drop unused DevicePanicNotifier

The device panic notifier callback is not used. Drop it.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-7-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 8c7f7cbca0eb49cc86333ef8fa8068abb400520e
      
https://github.com/qemu/qemu/commit/8c7f7cbca0eb49cc86333ef8fa8068abb400520e
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M util/vhost-user-server.c

  Log Message:
  -----------
  util/vhost-user-server: fix memory leak in vu_message_read()

fds[] is leaked when qio_channel_readv_full() fails.

Use vmsg->fds[] instead of keeping a local fds[] array. Then we can
reuse goto fail to clean up fds. vmsg->fd_num must be zeroed before the
loop to make this safe.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-8-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: edaf6205a3a58e09bf31b7ebd73d8fc470e96e07
      
https://github.com/qemu/qemu/commit/edaf6205a3a58e09bf31b7ebd73d8fc470e96e07
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M util/vhost-user-server.c

  Log Message:
  -----------
  util/vhost-user-server: check EOF when reading payload

Unexpected EOF is an error that must be reported.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-9-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 7185c8577653533ee89e7d070d77473096f0ff74
      
https://github.com/qemu/qemu/commit/7185c8577653533ee89e7d070d77473096f0ff74
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/export/vhost-user-blk-server.c
    M util/vhost-user-server.c
    M util/vhost-user-server.h

  Log Message:
  -----------
  util/vhost-user-server: rework vu_client_trip() coroutine lifecycle

The vu_client_trip() coroutine is leaked during AioContext switching. It
is also unsafe to destroy the vu_dev in panic_cb() since its callers
still access it in some cases.

Rework the lifecycle to solve these safety issues.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-10-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 0534b1b227ef85c59d65b5ec5bee9bcfb8f91b1f
      
https://github.com/qemu/qemu/commit/0534b1b227ef85c59d65b5ec5bee9bcfb8f91b1f
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/export/vhost-user-blk-server.c

  Log Message:
  -----------
  block/export: report flush errors

Propagate the flush return value since errors are possible.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-11-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 90fc91d50b76cf3f32e2ad5b79484ac9680e1d6a
      
https://github.com/qemu/qemu/commit/90fc91d50b76cf3f32e2ad5b79484ac9680e1d6a
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/export/export.c
    M block/export/meson.build
    M block/export/vhost-user-blk-server.c
    M block/export/vhost-user-blk-server.h
    M block/meson.build
    M qapi/block-export.json
    M util/vhost-user-server.c

  Log Message:
  -----------
  block/export: convert vhost-user-blk server to block export API

Use the new QAPI block exports API instead of defining our own QOM
objects.

This is a large change because the lifecycle of VuBlockDev needs to
follow BlockExportDriver. QOM properties are replaced by QAPI options
objects.

VuBlockDev is renamed VuBlkExport and contains a BlockExport field.
Several fields can be dropped since BlockExport already has equivalents.

The file names and meson build integration will be adjusted in a future
patch. libvhost-user should probably be built as a static library that
is linked into QEMU instead of as a .c file that results in duplicate
compilation.

The new command-line syntax is:

  $ qemu-storage-daemon \
      --blockdev file,node-name=drive0,filename=test.img \
      --export 
vhost-user-blk,node-name=drive0,id=export0,unix-socket=/tmp/vhost-user-blk.sock

Note that unix-socket is optional because we may wish to accept chardevs
too in the future.

Markus noted that supported address families are not explicit in the
QAPI schema. It is unlikely that support for more address families will
be added since file descriptor passing is required and few address
families support it. If a new address family needs to be added, then the
QAPI 'features' syntax can be used to advertize them.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-id: 20200924151549.913737-12-stefanha@redhat.com
[Skip test on big-endian host architectures because this device doesn't
support them yet (as already mentioned in a code comment).
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 80a06cc52bcf7a9771407306991a816834c04941
      
https://github.com/qemu/qemu/commit/80a06cc52bcf7a9771407306991a816834c04941
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M MAINTAINERS
    M block/export/vhost-user-blk-server.c
    A include/qemu/vhost-user-server.h
    M util/vhost-user-server.c
    R util/vhost-user-server.h

  Log Message:
  -----------
  util/vhost-user-server: move header to include/

Headers used by other subsystems are located in include/. Also add the
vhost-user-server and vhost-user-blk-server headers to MAINTAINERS.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-13-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 3a213f83d99687e6648702421675a922ea71d593
      
https://github.com/qemu/qemu/commit/3a213f83d99687e6648702421675a922ea71d593
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/export/export.c
    M block/export/meson.build
    M contrib/libvhost-user/meson.build
    M meson.build
    M util/meson.build

  Log Message:
  -----------
  util/vhost-user-server: use static library in meson.build

Don't compile contrib/libvhost-user/libvhost-user.c again. Instead build
the static library once and then reuse it throughout QEMU.

Also switch from CONFIG_LINUX to CONFIG_VHOST_USER, which is what the
vhost-user tools (vhost-user-gpu, etc) do.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-14-stefanha@redhat.com
[Added CONFIG_LINUX again because libvhost-user doesn't build on macOS.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 4fb9071f65aa871bb46d665899ee328a94d9f781
      
https://github.com/qemu/qemu/commit/4fb9071f65aa871bb46d665899ee328a94d9f781
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M meson.build
    M storage-daemon/meson.build

  Log Message:
  -----------
  qemu-storage-daemon: avoid compiling blockdev_ss twice

Introduce libblkdev.fa to avoid recompiling blockdev_ss twice.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200929125516.186715-3-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: cbc20bfb8fc293333abbef6aacf052f5f8d72f98
      
https://github.com/qemu/qemu/commit/cbc20bfb8fc293333abbef6aacf052f5f8d72f98
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/export/meson.build
    M meson.build
    M nbd/meson.build
    M qemu-nbd.c
    A stubs/blk-exp-close-all.c
    M stubs/meson.build

  Log Message:
  -----------
  block: move block exports to libblockdev

Block exports are used by softmmu, qemu-storage-daemon, and qemu-nbd.
They are not used by other programs and are not otherwise needed in
libblock.

Undo the recent move of blockdev-nbd.c from blockdev_ss into block_ss.
Since bdrv_close_all() (libblock) calls blk_exp_close_all()
(libblockdev) a stub function is required..

Make qemu-nbd.c use signal handling utility functions instead of
duplicating the code. This helps because os-posix.c is in libblockdev
and it depends on a qemu_system_killed() symbol that qemu-nbd.c lacks.
Once we use the signal handling utility functions we also end up
providing the necessary symbol.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20200929125516.186715-4-stefanha@redhat.com
[Fixed s/ndb/nbd/ typo in commit description as suggested by Eric Blake
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: f51d23c80af73c95e0ce703ad06a300f1b3d63ef
      
https://github.com/qemu/qemu/commit/f51d23c80af73c95e0ce703ad06a300f1b3d63ef
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/export/export.c
    M block/export/vhost-user-blk-server.c
    M nbd/server.c
    M qapi/block-export.json

  Log Message:
  -----------
  block/export: add iothread and fixed-iothread options

Make it possible to specify the iothread where the export will run. By
default the block node can be moved to other AioContexts later and the
export will follow. The fixed-iothread option forces strict behavior
that prevents changing AioContext while the export is active. See the
QAPI docs for details.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200929125516.186715-5-stefanha@redhat.com
[Fix stray '#' character in block-export.json and add missing "(since:
5.2)" as suggested by Eric Blake.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: d9b495f9c6a943c9bbd50f7469efb645c23009c3
      
https://github.com/qemu/qemu/commit/d9b495f9c6a943c9bbd50f7469efb645c23009c3
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/export/vhost-user-blk-server.c
    M qapi/block-export.json

  Log Message:
  -----------
  block/export: add vhost-user-blk multi-queue support

Allow the number of queues to be configured using --export
vhost-user-blk,num-queues=N. This setting should match the QEMU --device
vhost-user-blk-pci,num-queues=N setting but QEMU vhost-user-blk.c lowers
its own value if the vhost-user-blk backend offers fewer queues than
QEMU.

The vhost-user-blk-server.c code is already capable of multi-queue. All
virtqueue processing runs in the same AioContext. No new locking is
needed.

Add the num-queues=N option and set the VIRTIO_BLK_F_MQ feature bit.
Note that the feature bit only announces the presence of the num_queues
configuration space field. It does not promise that there is more than 1
virtqueue, so we can set it unconditionally.

I tested multi-queue by running a random read fio test with numjobs=4 on
an -smp 4 guest. After the benchmark finished the guest /proc/interrupts
file showed activity on all 4 virtio-blk MSI-X. The /sys/block/vda/mq/
directory shows that Linux blk-mq has 4 queues configured.

An automated test is included in the next commit.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-id: 20201001144604.559733-2-stefanha@redhat.com
[Fixed accidental tab characters as suggested by Markus Armbruster
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 67c095c8b8097748edf6c4521d8eb6cfc4d2a0ef
      
https://github.com/qemu/qemu/commit/67c095c8b8097748edf6c4521d8eb6cfc4d2a0ef
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/io.c
    M block/qcow2.c

  Log Message:
  -----------
  block/io: fix bdrv_co_block_status_above

bdrv_co_block_status_above has several design problems with handling
short backing files:

1. With want_zeros=true, it may return ret with BDRV_BLOCK_ZERO but
without BDRV_BLOCK_ALLOCATED flag, when actually short backing file
which produces these after-EOF zeros is inside requested backing
sequence.

2. With want_zero=false, it may return pnum=0 prior to actual EOF,
because of EOF of short backing file.

Fix these things, making logic about short backing files clearer.

With fixed bdrv_block_status_above we also have to improve is_zero in
qcow2 code, otherwise iotest 154 will fail, because with this patch we
stop to merge zeros of different types (produced by fully unallocated
in the whole backing chain regions vs produced by short backing files).

Note also, that this patch leaves for another day the general problem
around block-status: misuse of BDRV_BLOCK_ALLOCATED as is-fs-allocated
vs go-to-backing.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20200924194003.22080-2-vsementsov@virtuozzo.com
[Fix s/comes/come/ as suggested by Eric Blake
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 3555a43261ac0010a34377d0db804d194145511c
      
https://github.com/qemu/qemu/commit/3555a43261ac0010a34377d0db804d194145511c
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/coroutines.h
    M block/io.c

  Log Message:
  -----------
  block/io: bdrv_common_block_status_above: support include_base

In order to reuse bdrv_common_block_status_above in
bdrv_is_allocated_above, let's support include_base parameter.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20200924194003.22080-3-vsementsov@virtuozzo.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 624f27bbe9615ba7a763ccc4632a4df5f0721fd0
      
https://github.com/qemu/qemu/commit/624f27bbe9615ba7a763ccc4632a4df5f0721fd0
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block/io: bdrv_common_block_status_above: support bs == base

We are going to reuse bdrv_common_block_status_above in
bdrv_is_allocated_above. bdrv_is_allocated_above may be called with
include_base == false and still bs == base (for ex. from img_rebase()).

So, support this corner case.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Message-id: 20200924194003.22080-4-vsementsov@virtuozzo.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 7e7e510077f386b7ec286c52f65b4552568bc65e
      
https://github.com/qemu/qemu/commit/7e7e510077f386b7ec286c52f65b4552568bc65e
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block/io: fix bdrv_is_allocated_above

bdrv_is_allocated_above wrongly handles short backing files: it reports
after-EOF space as UNALLOCATED which is wrong, as on read the data is
generated on the level of short backing file (if all overlays have
unallocated areas at that place).

Reusing bdrv_common_block_status_above fixes the issue and unifies code
path.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Message-id: 20200924194003.22080-5-vsementsov@virtuozzo.com
[Fix s/has/have/ as suggested by Eric Blake. Fix s/area/areas/.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 4f193168af097ef664287f4c801724f063a60fc2
      
https://github.com/qemu/qemu/commit/4f193168af097ef664287f4c801724f063a60fc2
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M tests/qemu-iotests/274
    M tests/qemu-iotests/274.out

  Log Message:
  -----------
  iotests: add commit top->base cases to 274

These cases are fixed by previous patches around block_status and
is_allocated.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Message-id: 20200924194003.22080-6-vsementsov@virtuozzo.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 9ab4fb21f5b336138757912f68bae1bf450c23b5
      
https://github.com/qemu/qemu/commit/9ab4fb21f5b336138757912f68bae1bf450c23b5
  Author: Chen Qun <kuhn.chenqun@huawei.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M tests/qtest/migration-helpers.c

  Log Message:
  -----------
  tests/migration: fix memleak in wait_command/wait_command_fd

Properly free each command resp to avoid memory leak.
ASAN shows memory leak stack:

Indirect leak of 2352520 byte(s) in 571 object(s) allocated from:
    #0 0x7f6ca3308d4e in __interceptor_calloc (/lib64/libasan.so.5+0x112d4e)
    #1 0x7f6ca3127a50 in g_malloc0 (/lib64/libglib-2.0.so.0+0x55a50)
    #2 0x557bf3c71d2b in qdict_new ../qobject/qdict.c:29
    #3 0x557bf3c9caba in parse_object ../qobject/json-parser.c:318
    #4 0x557bf3c9ce75 in json_parser_parse ../qobject/json-parser.c:580
    #5 0x557bf3c8c8cf in json_message_process_token 
../qobject/json-streamer.c:92
    #6 0x557bf3c9ea59 in json_lexer_feed_char ../qobject/json-lexer.c:313
    #7 0x557bf3c9eeb5 in json_lexer_feed ../qobject/json-lexer.c:350
    #8 0x557bf3c4793a in qmp_fd_receive ../tests/qtest/libqtest.c:608
    #9 0x557bf3c47b58 in qtest_qmp_receive ../tests/qtest/libqtest.c:618
    #10 0x557bf3c44245 in wait_command ../tests/qtest/migration-helpers.c:59
    #11 0x557bf3c445cb in migrate_query_status 
../tests/qtest/migration-helpers.c:108
    #12 0x557bf3c44642 in check_migration_status 
../tests/qtest/migration-helpers.c:124
    #13 0x557bf3c447e7 in wait_for_migration_status 
../tests/qtest/migration-helpers.c:148
    #14 0x557bf3c43b8f in test_migrate_auto_converge 
../tests/qtest/migration-test.c:1243
    ......

Fix: 5e34005571af5

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
Message-Id: <20201023061218.2080844-2-kuhn.chenqun@huawei.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: b7f47e82e2d8ccf368d70fc4fd1467db55a74a32
      
https://github.com/qemu/qemu/commit/b7f47e82e2d8ccf368d70fc4fd1467db55a74a32
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M tests/qtest/libqtest.c

  Log Message:
  -----------
  tests/qtest/libqtest: Fix detection of architecture for binaries without path

The qtests can be run directly by specifying the QEMU binary with the
QTEST_QEMU_BINARY environment variable, for example:

 $ QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 tests/qtest/test-hmp

However, if you specify a binary without a path, for example with
QTEST_QEMU_BINARY=qemu-system-x86_64 if the QEMU binary is in your
$PATH, then the test currently simply crashes.

Let's try a little bit smarter here by looking for the final '-'
instead of the slash.

Message-Id: <20201012114816.43546-1-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: a6b0882ca75b62b2c0840578f790ab65844b749e
      
https://github.com/qemu/qemu/commit/a6b0882ca75b62b2c0840578f790ab65844b749e
  Author: Jason Andryuk <jandryuk@gmail.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M accel/qtest/qtest-cpus.c

  Log Message:
  -----------
  accel: Remove _WIN32 ifdef from qtest-cpus.c

dummy-cpus.c is only compiled with CONFIG_POSIX, so the _WIN32 condition
will never evaluate true.  Remove it.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Message-Id: <20201013140511.5681-2-jandryuk@gmail.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 9ce84a0d17d015f059a6750fbbf4b057806751df
      
https://github.com/qemu/qemu/commit/9ce84a0d17d015f059a6750fbbf4b057806751df
  Author: Jason Andryuk <jandryuk@gmail.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    A accel/dummy-cpus.c
    M accel/meson.build
    M accel/qtest/meson.build
    R accel/qtest/qtest-cpus.c
    R accel/qtest/qtest-cpus.h
    M accel/qtest/qtest.c
    M include/sysemu/cpus.h

  Log Message:
  -----------
  accel: move qtest CpusAccel functions to a common location

Move and rename accel/qtest/qtest-cpus.c files to accel/dummy-cpus.c so
it can be re-used by Xen.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Message-Id: <20201013140511.5681-3-jandryuk@gmail.com>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: efd4d93b530807921b1940e13990c561530618d3
      
https://github.com/qemu/qemu/commit/efd4d93b530807921b1940e13990c561530618d3
  Author: Jason Andryuk <jandryuk@gmail.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M accel/meson.build
    M accel/xen/xen-all.c

  Log Message:
  -----------
  accel: Add xen CpusAccel using dummy-cpus

Xen was broken by commit 1583a3898853 ("cpus: extract out qtest-specific
code to accel/qtest").  Xen relied on qemu_init_vcpu() calling
qemu_dummy_start_vcpu() in the default case, but that was replaced by
g_assert_not_reached().

Add a minimal "CpusAccel" for Xen using the dummy-cpus implementation
used by qtest.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Message-Id: <20201013140511.5681-4-jandryuk@gmail.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 288c31e30d522dbac4d7998ca254735393c59307
      
https://github.com/qemu/qemu/commit/288c31e30d522dbac4d7998ca254735393c59307
  Author: Havard Skinnemoen <hskinnemoen@google.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M tests/qtest/meson.build

  Log Message:
  -----------
  tests/qtest: Make npcm7xx_timer-test conditional on CONFIG_NPCM7XX

This test won't work if qemu was compiled without CONFIG_NPCM7XX, as
pointed out by Thomas Huth on a different patch.

Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-Id: <20201023210637.351238-2-hskinnemoen@google.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 7f9d519c0d37b8af0b228a4ed49d33ea095e9eb7
      
https://github.com/qemu/qemu/commit/7f9d519c0d37b8af0b228a4ed49d33ea095e9eb7
  Author: Maxim Levitsky <mlevitsk@redhat.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M tests/qtest/libqtest.c

  Log Message:
  -----------
  libqtest: fix the order of buffered events

By a mistake I added the pending events in a wrong order.
Fix this by using g_list_append.

Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20201019163702.471239-3-mlevitsk@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: d232b87ec6e3a8a04db9b647f61a1e3a6855a58f
      
https://github.com/qemu/qemu/commit/d232b87ec6e3a8a04db9b647f61a1e3a6855a58f
  Author: Maxim Levitsky <mlevitsk@redhat.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M tests/qtest/libqtest.c

  Log Message:
  -----------
  libqtest: fix memory leak in the qtest_qmp_event_ref

The g_list_remove_link doesn't free the link element,
opposed to what I thought.
Switch to g_list_delete_link that does free it.

Also refactor the code a bit.
Thanks for Max Reitz for helping me with this.

Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20201019163702.471239-4-mlevitsk@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: fb5ef4eeecd88b583d5a6dc8f7dc217179cbfc98
      
https://github.com/qemu/qemu/commit/fb5ef4eeecd88b583d5a6dc8f7dc217179cbfc98
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M include/exec/memory.h
    M softmmu/memory.c

  Log Message:
  -----------
  memory: Add FlatView foreach function

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201023150746.107063-2-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: da9bf5319838c193f92a3444bd3258b32c606980
      
https://github.com/qemu/qemu/commit/da9bf5319838c193f92a3444bd3258b32c606980
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    A tests/qtest/fuzz/generic_fuzz.c
    M tests/qtest/fuzz/meson.build

  Log Message:
  -----------
  fuzz: Add generic virtual-device fuzzer

This is a generic fuzzer designed to fuzz a virtual device's
MemoryRegions, as long as they exist within the Memory or Port IO (if it
exists) AddressSpaces. The fuzzer's input is interpreted into a sequence
of qtest commands (outb, readw, etc). The interpreted commands are
separated by a magic seaparator, which should be easy for the fuzzer to
guess. Without ASan, the separator can be specified as a "dictionary
value" using the -dict argument (see libFuzzer documentation).

Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201023150746.107063-3-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 05efbf2497f93415a50347bbf53983689f999282
      
https://github.com/qemu/qemu/commit/05efbf2497f93415a50347bbf53983689f999282
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M tests/qtest/fuzz/generic_fuzz.c

  Log Message:
  -----------
  fuzz: Add PCI features to the generic fuzzer

This patch compares TYPE_PCI_DEVICE objects against the user-provided
matching pattern. If there is a match, we use some hacks and leverage
QOS to map each possible BAR for that device. Now fuzzed inputs might be
converted to pci_read/write commands which target specific. This means
that we can fuzz a particular device's PCI configuration space,

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20201023150746.107063-4-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 9820502cad6c1b5810d90c7189badef882471dc7
      
https://github.com/qemu/qemu/commit/9820502cad6c1b5810d90c7189badef882471dc7
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Update the SDState documentation

Add more descriptive comments to keep a clear separation
between static property vs runtime changeable.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20200630133912.9428-12-f4bug@amsat.org>


  Commit: ef6dd5f5c41b2d8fcfd72c946ac224e6c3aa1363
      
https://github.com/qemu/qemu/commit/ef6dd5f5c41b2d8fcfd72c946ac224e6c3aa1363
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Simplify cmd_valid_while_locked()

cmd_valid_while_locked() only needs to read SDRequest->cmd,
pass it directly and make it const.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20200630133912.9428-13-f4bug@amsat.org>


  Commit: aecaa05922bca8b1760cd463935ca2a71df776f5
      
https://github.com/qemu/qemu/commit/aecaa05922bca8b1760cd463935ca2a71df776f5
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Constify sd_crc*()'s message argument

CRC functions don't modify the buffer argument,
make it const.

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200630133912.9428-14-f4bug@amsat.org>


  Commit: 692fb0ef31af680632c84bc18bc639cba4a0e24b
      
https://github.com/qemu/qemu/commit/692fb0ef31af680632c84bc18bc639cba4a0e24b
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/sd/sd.c
    M hw/sd/trace-events

  Log Message:
  -----------
  hw/sd/sdcard: Make iolen unsigned

I/O request length can not be negative.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20200630133912.9428-15-f4bug@amsat.org>


  Commit: 89c6700fe7eed9195f10055751edbc6d5e7ab940
      
https://github.com/qemu/qemu/commit/89c6700fe7eed9195f10055751edbc6d5e7ab940
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Zero out function selection fields before being populated

The function selection fields (399:376) should be zeroed out to
prevent leftover from being or'ed into the switch function status
data structure.

This fixes the boot failure as seen in the acceptance testing on
the orangepi target.

Fixes: b638627c723a ("hw/sd: Fix incorrect populated function switch status 
data structure")
Reported-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201024014954.21330-1-bmeng.cn@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 20f5a3029386363357e6fa0c2e82b35ac4914d6a
      
https://github.com/qemu/qemu/commit/20f5a3029386363357e6fa0c2e82b35ac4914d6a
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M include/exec/memory.h
    M tests/qtest/fuzz/generic_fuzz.c

  Log Message:
  -----------
  fuzz: Add DMA support to the generic-fuzzer

When a virtual-device tries to access some buffer in memory over DMA, we
add call-backs into the fuzzer(next commit). The fuzzer checks verifies
that the DMA request maps to a physical RAM address and fills the memory
with fuzzer-provided data. The patterns that we use to fill this memory
are specified using add_dma_pattern and clear_dma_patterns operations.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20201023150746.107063-5-alxndr@bu.edu>
[thuth: Reformatted one comment according to the QEMU coding style]
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: e7d3222e2e07e2a1a0aac979ef1fa5e8ef59f02c
      
https://github.com/qemu/qemu/commit/e7d3222e2e07e2a1a0aac979ef1fa5e8ef59f02c
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M include/exec/memory.h
    M softmmu/memory.c

  Log Message:
  -----------
  fuzz: Declare DMA Read callback function

This patch declares the fuzz_dma_read_cb function and uses the
preprocessor and linker(weak symbols) to handle these cases:

When we build softmmu/all with --enable-fuzzing, there should be no
strong symbol defined for fuzz_dma_read_cb, and we link against a weak
stub function.

When we build softmmu/fuzz with --enable-fuzzing, we link against the
strong symbol in generic_fuzz.c

When we build softmmu/all without --enable-fuzzing, fuzz_dma_read_cb is
an empty, inlined function. As long as we don't call any other functions
when building the arguments, there should be no overhead.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20201023150746.107063-6-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: a3c20e91dea6f7af64d886b05d678839b7b1a14c
      
https://github.com/qemu/qemu/commit/a3c20e91dea6f7af64d886b05d678839b7b1a14c
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M include/exec/memory.h
    M include/exec/memory_ldst_cached.h.inc
    M memory_ldst.c.inc
    M softmmu/memory.c
    M softmmu/physmem.c

  Log Message:
  -----------
  fuzz: Add fuzzer callbacks to DMA-read functions

We should be careful to not call any functions besides fuzz_dma_read_cb.
Without --enable-fuzzing, fuzz_dma_read_cb is an empty inlined function.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20201023150746.107063-7-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: f81cb729be3268d84bd5755dd6ce934972a5ac8d
      
https://github.com/qemu/qemu/commit/f81cb729be3268d84bd5755dd6ce934972a5ac8d
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/qtest/fuzz/fuzz.c
    M tests/qtest/fuzz/fuzz.h

  Log Message:
  -----------
  fuzz: Add support for custom crossover functions

libfuzzer supports a "custom crossover function". Libfuzzer often tries
to blend two inputs to create a new interesting input. Sometimes, we
have a better idea about how to blend inputs together. This change
allows fuzzers to specify a custom function for blending two inputs
together.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20201023150746.107063-8-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: ccbd4bc8af39096363fd06ab4fe2fe2f43042d76
      
https://github.com/qemu/qemu/commit/ccbd4bc8af39096363fd06ab4fe2fe2f43042d76
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/qtest/fuzz/generic_fuzz.c

  Log Message:
  -----------
  fuzz: add a DISABLE_PCI op to generic-fuzzer

This new operation is used in the next commit, which concatenates two
fuzzer-generated inputs. With this operation, we can prevent the second
input from clobbering the PCI configuration performed by the first.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20201023150746.107063-9-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: a25393222764c26658a98dbfc20f78c80765bca4
      
https://github.com/qemu/qemu/commit/a25393222764c26658a98dbfc20f78c80765bca4
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/qtest/fuzz/generic_fuzz.c

  Log Message:
  -----------
  fuzz: add a crossover function to generic-fuzzer

Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201023150746.107063-10-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 7c9b64ade9d1d3c69250ef1684db9c080a7b7092
      
https://github.com/qemu/qemu/commit/7c9b64ade9d1d3c69250ef1684db9c080a7b7092
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    A scripts/oss-fuzz/reorder_fuzzer_qtest_trace.py

  Log Message:
  -----------
  scripts/oss-fuzz: Add script to reorder a generic-fuzzer trace

The generic-fuzzer uses hooks to fulfill DMA requests just-in-time.
This means that if we try to use QTEST_LOG=1 to build a reproducer, the
DMA writes will be logged _after_ the in/out/read/write that triggered
the DMA read. To work work around this, the generic-fuzzer annotates
these just-in time DMA fulfilments with a tag that we can use to
discern them. This script simply iterates over a raw qtest
trace (including log messages, errors, timestamps etc), filters it and
re-orders it so that DMA fulfillments are placed directly _before_ the
qtest command that will cause the DMA access.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20201023150746.107063-11-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: cd3f0686ddf3cd18f307fb9f55f9cf21bf185bbf
      
https://github.com/qemu/qemu/commit/cd3f0686ddf3cd18f307fb9f55f9cf21bf185bbf
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    A scripts/oss-fuzz/minimize_qtest_trace.py

  Log Message:
  -----------
  scripts/oss-fuzz: Add crash trace minimization script

Once we find a crash, we can convert it into a QTest trace. Usually this
trace will contain many operations that are unneeded to reproduce the
crash. This script tries to minimize the crashing trace, by removing
operations and trimming QTest bufwrite(write addr len data...) commands.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20201023150746.107063-12-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 2f2e036ca6e2c4d15841f6d29a17c2ae0961aca8
      
https://github.com/qemu/qemu/commit/2f2e036ca6e2c4d15841f6d29a17c2ae0961aca8
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M docs/devel/fuzzing.txt

  Log Message:
  -----------
  fuzz: Add instructions for using generic-fuzz

Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201023150746.107063-13-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 82849bcf30b5a1dfac6c1d7642a243c2f7bd6a6f
      
https://github.com/qemu/qemu/commit/82849bcf30b5a1dfac6c1d7642a243c2f7bd6a6f
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/qtest/fuzz/fuzz.h

  Log Message:
  -----------
  fuzz: add an "opaque" to the FuzzTarget struct

It can be useful to register FuzzTargets that have nearly-identical
initialization handlers (e.g. for using the same fuzzing code, with
different configuration options). Add an opaque pointer to the
FuzzTarget struct, so that FuzzTargets can hold some data, useful for
storing target-specific configuration options, that can be read by the
get_init_cmdline function.

Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201023150746.107063-14-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 61fc27e0df7b6c3276fbd42c1c61f72e5b49c2b4
      
https://github.com/qemu/qemu/commit/61fc27e0df7b6c3276fbd42c1c61f72e5b49c2b4
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    A tests/qtest/fuzz/generic_fuzz_configs.h

  Log Message:
  -----------
  fuzz: add generic-fuzz configs for oss-fuzz

Predefine some generic-fuzz configs. For each of these, we will create a
separate FuzzTarget that can be selected through argv0 and, therefore,
fuzzed on oss-fuzz.

Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201023150746.107063-15-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 7fdb50538470a0ce60044cf93a55ec5ee3ff6f57
      
https://github.com/qemu/qemu/commit/7fdb50538470a0ce60044cf93a55ec5ee3ff6f57
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/qtest/fuzz/generic_fuzz.c

  Log Message:
  -----------
  fuzz: register predefined generic-fuzz configs

We call get_generic_fuzz_configs, which fills an array with
predefined {name, args, objects} triples. For each of these, we add a
new FuzzTarget, that uses a small wrapper to set
QEMU_FUZZ_{ARGS,OBJECTS} to the corresponding predefined values.

Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201023150746.107063-16-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: a942f64cc4b875c2fe92ea91fea85741e00b12b9
      
https://github.com/qemu/qemu/commit/a942f64cc4b875c2fe92ea91fea85741e00b12b9
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M scripts/oss-fuzz/build.sh

  Log Message:
  -----------
  scripts/oss-fuzz: use hardlinks instead of copying

Prior to this, fuzzers in the output oss-fuzz directory were exactly
the same executable, with a different name to do argv[0]-based
fuzz-target selection. This is a waste of space, especially since these
binaries can weigh many MB.

Instead of copying, use hard links, to cut down on wasted space. We need
to place the primary copy of the executable into DEST_DIR, since this is
a separate file-system on oss-fuzz. We should not place it directly into
$DEST_DIR, since oss-fuzz will treat it as an independent fuzzer and try
to run it for fuzzing. Instead, we create a DEST_DIR/bin directory to
store the primary copy.

Suggested-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201023150746.107063-17-alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 53e1a50d6b6fe97fafa81ab9f2ddebf92798a57b
      
https://github.com/qemu/qemu/commit/53e1a50d6b6fe97fafa81ab9f2ddebf92798a57b
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M scripts/oss-fuzz/build.sh

  Log Message:
  -----------
  scripts/oss-fuzz: ignore the generic-fuzz target

generic-fuzz is not a standalone fuzzer - it requires some env variables
to be set. On oss-fuzz, we set these with some predefined
generic-fuzz-{...} targets, that are thin wrappers around generic-fuzz.
Do not make a link for the generic-fuzz from the oss-fuzz build, so
oss-fuzz does not treat it as a standalone fuzzer.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201023150746.107063-18-alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
[thuth: Reformatted one comment to stay within the 80 columns limit]
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: a60f755c9cb52a2a2dea83b9d69e5bed2276de97
      
https://github.com/qemu/qemu/commit/a60f755c9cb52a2a2dea83b9d69e5bed2276de97
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/acceptance/ppc_prep_40p.py

  Log Message:
  -----------
  tests/acceptance/ppc_prep_40p: Fix the URL to the NetBSD-4.0 archive

The current URL on cdn.netbsd.org is failing - using archive.netbsd.org
instead seems to be fine.

Message-Id: <20201023073351.251332-2-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 1d60f46fc693e8459f700684f0af4e0130a9bcee
      
https://github.com/qemu/qemu/commit/1d60f46fc693e8459f700684f0af4e0130a9bcee
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/acceptance/ppc_prep_40p.py

  Log Message:
  -----------
  test/acceptance: Remove the CONTINUOUS_INTEGRATION tags

We are not running the acceptance tests on Travis anymore, so these
checks can be removed now.

Message-Id: <20201023073351.251332-3-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 67202baeaa856e9fe66cffc3a9abeeada1f45a43
      
https://github.com/qemu/qemu/commit/67202baeaa856e9fe66cffc3a9abeeada1f45a43
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M .gitlab-ci.yml

  Log Message:
  -----------
  tests/acceptance: Enable AVOCADO_ALLOW_UNTRUSTED_CODE in the gitlab-CI

The tests are running in containers here, so it should be OK to
run with AVOCADO_ALLOW_UNTRUSTED_CODE enabled in this case.

Message-Id: <20201023073351.251332-4-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c4cb1c9f2e15762e05ecf3e06ecf3c839c3a94ce
      
https://github.com/qemu/qemu/commit/c4cb1c9f2e15762e05ecf3e06ecf3c839c3a94ce
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/docker/dockerfiles/centos8.docker
    M tests/docker/dockerfiles/debian-amd64.docker
    M tests/docker/dockerfiles/fedora.docker
    M tests/docker/dockerfiles/ubuntu2004.docker

  Log Message:
  -----------
  test/docker/dockerfiles: Add missing packages for acceptance tests

Some of the "check-acceptance" tests are still skipped in the CI
since the docker images do not provide the necessary packages, e.g.
the netcat binary. Add them to get more test coverage.

Message-Id: <20201023073351.251332-5-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 239f0d455bf727d58d3ff52070919de8f8089ace
      
https://github.com/qemu/qemu/commit/239f0d455bf727d58d3ff52070919de8f8089ace
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/acceptance/machine_m68k_nextcube.py

  Log Message:
  -----------
  tests/acceptance: Remove unused import

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201021105035.2477784-2-f4bug@amsat.org>
Tested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 28bbe20ce281659e317b807f34f568bde6d99760
      
https://github.com/qemu/qemu/commit/28bbe20ce281659e317b807f34f568bde6d99760
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/acceptance/machine_m68k_nextcube.py

  Log Message:
  -----------
  tests/acceptance: Use .ppm extention for Portable PixMap files

The HMP 'screendump' command generates Portable PixMap files.
Make it obvious by using the .ppm file extention.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201021105035.2477784-3-f4bug@amsat.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: a5fac424c76d6401ecde4ecb7d846e656d0d6e89
      
https://github.com/qemu/qemu/commit/a5fac424c76d6401ecde4ecb7d846e656d0d6e89
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M MAINTAINERS
    M block/coroutines.h
    M block/export/export.c
    M block/export/meson.build
    A block/export/vhost-user-blk-server.c
    A block/export/vhost-user-blk-server.h
    M block/io.c
    M block/nvme.c
    M block/qcow2.c
    M contrib/libvhost-user/libvhost-user-glib.c
    M contrib/libvhost-user/libvhost-user.c
    M contrib/libvhost-user/libvhost-user.h
    M contrib/libvhost-user/meson.build
    M hw/core/qdev-properties-system.c
    A include/qemu/vhost-user-server.h
    M meson.build
    M nbd/meson.build
    M nbd/server.c
    M qapi/block-core.json
    M qapi/block-export.json
    M qemu-nbd.c
    M softmmu/vl.c
    M storage-daemon/meson.build
    A stubs/blk-exp-close-all.c
    M stubs/meson.build
    M tests/qemu-iotests/274
    M tests/qemu-iotests/274.out
    M tests/vhost-user-bridge.c
    M tools/virtiofsd/fuse_virtio.c
    A util/block-helpers.c
    A util/block-helpers.h
    M util/meson.build
    A util/vhost-user-server.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/stefanha-gitlab/tags/block-pull-request' into staging

Pull request

v3:
 * Fix linker error on FreeBSD and other !CONFIG_LINUX host OSes [Peter]

# gpg: Signature made Fri 23 Oct 2020 16:21:19 BST
# gpg:                using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
# gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* remotes/stefanha-gitlab/tags/block-pull-request: (28 commits)
  iotests: add commit top->base cases to 274
  block/io: fix bdrv_is_allocated_above
  block/io: bdrv_common_block_status_above: support bs == base
  block/io: bdrv_common_block_status_above: support include_base
  block/io: fix bdrv_co_block_status_above
  block/export: add vhost-user-blk multi-queue support
  block/export: add iothread and fixed-iothread options
  block: move block exports to libblockdev
  qemu-storage-daemon: avoid compiling blockdev_ss twice
  util/vhost-user-server: use static library in meson.build
  util/vhost-user-server: move header to include/
  block/export: convert vhost-user-blk server to block export API
  block/export: report flush errors
  util/vhost-user-server: rework vu_client_trip() coroutine lifecycle
  util/vhost-user-server: check EOF when reading payload
  util/vhost-user-server: fix memory leak in vu_message_read()
  util/vhost-user-server: drop unused DevicePanicNotifier
  block/export: consolidate request structs into VuBlockReq
  util/vhost-user-server: drop unnecessary watch deletion
  util/vhost-user-server: drop unnecessary QOM cast
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 29fe5029a43f71cc6fbd2218fa5cc354d0b49d5a
      
https://github.com/qemu/qemu/commit/29fe5029a43f71cc6fbd2218fa5cc354d0b49d5a
  Author: Laurent Vivier <laurent@vivier.eu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M linux-user/aarch64/syscall_nr.h
    M linux-user/nios2/syscall_nr.h
    M linux-user/openrisc/syscall_nr.h
    M linux-user/riscv/syscall32_nr.h
    M linux-user/riscv/syscall64_nr.h
    M scripts/gensyscalls.sh

  Log Message:
  -----------
  linux-user: update syscall_nr.h to Linux 5.9-rc7

Update gensyscalls.sh not to generate an empty line at the end of the file

And then automatically update syscall_nr.h running scripts/gensyscalls.sh

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200930003033.554124-2-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: b6bcab38deb2fad026f490651dfd38ed07528f4e
      
https://github.com/qemu/qemu/commit/b6bcab38deb2fad026f490651dfd38ed07528f4e
  Author: Laurent Vivier <laurent@vivier.eu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M linux-user/mips/syscall-args-o32.c.inc

  Log Message:
  -----------
  linux-user: update mips/syscall-args-o32.c.inc to Linux 5.9-rc7

Updated running scripts/update-mips-syscall-args.sh

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200930003033.554124-3-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 0cb113ad1aa94d09dce97c32eb1347016c18aa64
      
https://github.com/qemu/qemu/commit/0cb113ad1aa94d09dce97c32eb1347016c18aa64
  Author: Laurent Vivier <laurent@vivier.eu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M linux-user/alpha/syscall.tbl
    M linux-user/arm/syscall.tbl
    M linux-user/hppa/syscall.tbl
    M linux-user/i386/syscall_32.tbl
    M linux-user/m68k/syscall.tbl
    M linux-user/microblaze/syscall.tbl
    M linux-user/mips/syscall_o32.tbl
    M linux-user/mips64/syscall_n32.tbl
    M linux-user/mips64/syscall_n64.tbl
    M linux-user/ppc/syscall.tbl
    M linux-user/s390x/syscall.tbl
    M linux-user/sh4/syscall.tbl
    M linux-user/sparc/syscall.tbl
    M linux-user/sparc64/syscall.tbl
    M linux-user/x86_64/syscall_64.tbl
    M linux-user/xtensa/syscall.tbl

  Log Message:
  -----------
  linux-user: update syscall.tbl to Linux 5.9-rc7

Updated running scripts/update-syscalltbl.sh

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200930003033.554124-4-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 0deb6556c35a78bb3384fd43c6a1ee2b47374c38
      
https://github.com/qemu/qemu/commit/0deb6556c35a78bb3384fd43c6a1ee2b47374c38
  Author: Laurent Vivier <laurent@vivier.eu>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: remove _sysctl

It has been removed from linux since

  61a47c1ad3a4 ("sysctl: Remove the sysctl system call")

It's a good news because it was not really supported by qemu.

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200930003033.554124-5-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: e554eb4bb56395b1e3b7042dc6974dc87de3f4d1
      
https://github.com/qemu/qemu/commit/e554eb4bb56395b1e3b7042dc6974dc87de3f4d1
  Author: Matus Kysel <mkysel@tachyum.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: correct errno returned from accept4() syscall

accept4() returned wrong errno, that did not match current linux

Signed-off-by: Matus Kysel <mkysel@tachyum.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200930151616.3588165-1-mkysel@tachyum.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: ab97f0505bec6280c5455009b7678daf5c9278bc
      
https://github.com/qemu/qemu/commit/ab97f0505bec6280c5455009b7678daf5c9278bc
  Author: Max Filippov <jcmvbkbc@gmail.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M target/xtensa/cpu.c

  Log Message:
  -----------
  target/xtensa: enable all coprocessors for linux-user

Linux userspace always sees coprocessors as enabled. CPENABLE register
and coprocessor exceptions are used internally by the kernel to manage
lazy coprocessor context switch. None of it is needed for linux-user.
Always enable all coprocessors for user emulation.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200829104758.22337-1-jcmvbkbc@gmail.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 5914ef77cc1bd4c3d79ccd3e3f82f34604275b93
      
https://github.com/qemu/qemu/commit/5914ef77cc1bd4c3d79ccd3e3f82f34604275b93
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  Makefile: separate meson rerun from the rest of the ninja invocation

The rules to build Makefile.mtest are suffering from the "tunnel vision"
problem that is common with recursive makefiles.  Makefile.mtest depends
on build.ninja, but Make does not know when build.ninja needs to be
rebuilt before creating Makefile.mtest.

To fix this, separate the ninja invocation into the "regenerate build
files" phase and the QEMU build phase.  Sentinel files such as
meson-private/coredata.dat or build.ninja are used to figure out the
phases that haven't run yet; however, because those files' timestamps
are not guaranteed to be touched, the usual makefile stamp-file trick
is used on top.

Reported-by: Havard Skinnemoen <hskinnemoen@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: fe0038bec26fdac2256db43894d55d1a6f798c0f
      
https://github.com/qemu/qemu/commit/fe0038bec26fdac2256db43894d55d1a6f798c0f
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: allow configuring localedir

Meson has a localedir option, so passing the path through that option
is the cleanest way when we move directories out of config-host.mak.
In preparation for doing that without changing semantics and without
special-casing localedir code, add a configure option.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 16bf7a3326d8e8be42b3bf844a6c539d52a997b3
      
https://github.com/qemu/qemu/commit/16bf7a3326d8e8be42b3bf844a6c539d52a997b3
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M Makefile
    M configure
    M contrib/vhost-user-gpu/meson.build
    M meson.build
    M meson_options.txt
    M pc-bios/descriptors/meson.build
    M pc-bios/meson.build
    M tools/virtiofsd/meson.build
    M ui/icons/meson.build
    M ui/meson.build
    R version.texi.in

  Log Message:
  -----------
  configure: move directory options from config-host.mak to meson

Since installation is not part of Makefiles anymore, Make need not
know the directories anymore.  Meson already knows them through
built-in options, do everything using them instead of the config_host
dictionary.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b37f357abfc5a52f613643502e93e0f453c79ef8
      
https://github.com/qemu/qemu/commit/b37f357abfc5a52f613643502e93e0f453c79ef8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: remove unused variable from config-host.mak

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c8d5450bba38560193f5648f5337199d797c5208
      
https://github.com/qemu/qemu/commit/c8d5450bba38560193f5648f5337199d797c5208
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M configure
    M meson.build
    M meson_options.txt
    M pc-bios/descriptors/meson.build
    M pc-bios/meson.build

  Log Message:
  -----------
  configure: move install_blobs from configure to meson

Move the conditions under which edk2 blobs are decompressed
and installed to pc-bios/meson.build.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 57e2a1f82c6cf37cbf164d0824cca692e0db7133
      
https://github.com/qemu/qemu/commit/57e2a1f82c6cf37cbf164d0824cca692e0db7133
  Author: Sunil Muthuswamy <sunilmut@microsoft.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  WHPX: Fix WHPX build break

With upstream commit#8a19980e3fc4, logic was introduced to only
allow WHPX build on x64. But, the logic checks for the cpu family
and not the cpu. On my fedora container build, the cpu family is
x86 and the cpu is x86_64. Fixing the build break by checking for
the cpu, instead of the cpu family.

Signed-off-by: Sunil Muthuswamy <sunilmut@microsoft.com>
Message-Id: 
<SN4PR2101MB0880D706A85793DDFC411304C01D0@SN4PR2101MB0880.namprd21.prod.outlook.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7a3b7f6b94e16c0526587853a2cc954387882389
      
https://github.com/qemu/qemu/commit/7a3b7f6b94e16c0526587853a2cc954387882389
  Author: Sunil Muthuswamy <sunilmut@microsoft.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M util/cutils.c

  Log Message:
  -----------
  win32: boot broken when bind & data dir are the same

With upstream commit#ea1edcd7da1a "vl: relocate paths to data
directories", the data dir logic was unified between POSIX &
Win32. That patch moved to using 'get_relocated_path()', to
find the data dir. There is a latent bug in get_relocated_path
which can cause it to spin indefinitely, when the bind dir is
the same as the passed in dir (in this case, it was the data
dir).

Signed-off-by: Sunil Muthuswamy <sunilmut@microsoft.com>
Message-Id: 
<SN4PR2101MB08802BF242C429A15DDB32ACC01B0@SN4PR2101MB0880.namprd21.prod.outlook.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9f2931bc65ea7a453b8778e00c3c825923d97b75
      
https://github.com/qemu/qemu/commit/9f2931bc65ea7a453b8778e00c3c825923d97b75
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M docs/system/deprecated.rst
    M hw/core/machine.c
    M include/hw/boards.h
    M migration/migration.c
    M qemu-options.hx

  Log Message:
  -----------
  machine: remove deprecated -machine enforce-config-section option

Deprecated since 3.1 and complicates the initialization sequence,
remove it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2c920e4577b29702c0c01b0d491903c159df894a
      
https://github.com/qemu/qemu/commit/2c920e4577b29702c0c01b0d491903c159df894a
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/core/machine.c
    M softmmu/vl.c

  Log Message:
  -----------
  machine: move UP defaults to class_base_init

Clean up vl.c, default min/max/default_cpus to uniprocessor
directly in the QOM class initialization code.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 8b0e484c8bf82e07bb0439bff04e248c63cdc86a
      
https://github.com/qemu/qemu/commit/8b0e484c8bf82e07bb0439bff04e248c63cdc86a
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/core/machine.c
    M softmmu/vl.c

  Log Message:
  -----------
  machine: move SMP initialization from vl.c

Initialize the object's values from the class when the object is
created, no need to have vl.c do it for us.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 288a1cc6345ed0b04e0dc887905ebeef17141608
      
https://github.com/qemu/qemu/commit/288a1cc6345ed0b04e0dc887905ebeef17141608
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    R hw/intc/sifive_plic.h
    M hw/misc/sifive_u_otp.c
    M hw/riscv/boot.c
    M hw/riscv/opentitan.c
    M hw/riscv/sifive_e.c
    M hw/riscv/sifive_u.c
    M hw/riscv/spike.c
    M hw/riscv/virt.c
    A include/hw/intc/sifive_plic.h
    M include/hw/misc/sifive_u_otp.h
    M include/hw/riscv/boot.h
    M include/hw/riscv/sifive_u.h
    M target/riscv/cpu.h
    M target/riscv/cpu_helper.c
    M target/riscv/op_helper.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/alistair/tags/pull-riscv-to-apply-20201023' into staging

A collection of RISC-V fixes for the next QEMU release.

This includes:
 - Improvements to logging output
 - Hypervisor instruction fixups
 - The ability to load a noMMU kernel
 - SiFive OTP support

# gpg: Signature made Fri 23 Oct 2020 16:13:57 BST
# gpg:                using RSA key F6C4AC46D4934868D3B8CE8F21E10D29DF977054
# gpg: Good signature from "Alistair Francis <alistair@alistair23.me>" [full]
# Primary key fingerprint: F6C4 AC46 D493 4868 D3B8  CE8F 21E1 0D29 DF97 7054

* remotes/alistair/tags/pull-riscv-to-apply-20201023:
  hw/misc/sifive_u_otp: Add backend drive support
  hw/misc/sifive_u_otp: Add write function and write-once protection
  target/riscv: raise exception to HS-mode at get_physical_address
  hw/riscv: Load the kernel after the firmware
  hw/riscv: Add a riscv_is_32_bit() function
  hw/riscv: Return the end address of the loaded firmware
  hw/riscv: sifive_u: Allow specifying the CPU
  target/riscv: Fix implementation of HLVX.WU instruction
  target/riscv: Fix update of hstatus.GVA in riscv_cpu_do_interrupt
  target/riscv: Fix update of hstatus.SPVP
  hw/intc: Move sifive_plic.h to the include directory
  riscv: Convert interrupt logs to use qemu_log_mask()

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: ed7b70c27b5c11ff4800e608d301cd7a36b81c5e
      
https://github.com/qemu/qemu/commit/ed7b70c27b5c11ff4800e608d301cd7a36b81c5e
  Author: Stefan Reiter <s.reiter@proxmox.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/block-dirty-bitmap.c

  Log Message:
  -----------
  migration/block-dirty-bitmap: fix larger granularity bitmaps

sectors_per_chunk is a 64 bit integer, but the calculation is done in 32
bits, leading to an overflow for coarse bitmap granularities.

If that results in the value 0, it leads to a hang where no progress is
made but send_bitmap_bits is constantly called with nr_sectors being 0.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
Message-Id: <20201021144456.1072-1-s.reiter@proxmox.com>
Fixes: b35ebdf07 migration: add postcopy migration of dirty bitmaps
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
[eblake: Use correct type for 8ULL, use () to avoid overflow]
Signed-off-by: Eric Blake <eblake@redhat.com>


  Commit: a024890a64085d3d37ad7eda164775251285c14c
      
https://github.com/qemu/qemu/commit/a024890a64085d3d37ad7eda164775251285c14c
  Author: Chen Qun <kuhn.chenqun@huawei.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/block-dirty-bitmap.c

  Log Message:
  -----------
  migration/block-dirty-bitmap: fix uninitialized variable warning

A default value is provided for the variable 'bitmap_name' to avoid
a compiler warning.

The compiler showed the warning:
migration/block-dirty-bitmap.c:1090:13: warning: ‘bitmap_name’
may be used uninitialized in this function [-Wmaybe-uninitialized]
       g_strlcpy(s->bitmap_name, bitmap_name, sizeof(s->bitmap_name));
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
Message-Id: <20201014114430.1898684-1-kuhn.chenqun@huawei.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
[eblake: commit message grammar tweaks]
Signed-off-by: Eric Blake <eblake@redhat.com>


  Commit: c1b29826279b7405990ccb521d1fb5a24db2e58e
      
https://github.com/qemu/qemu/commit/c1b29826279b7405990ccb521d1fb5a24db2e58e
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M MAINTAINERS
    M hw/misc/Kconfig
    A hw/misc/led.c
    M hw/misc/meson.build
    M hw/misc/trace-events
    A include/hw/misc/led.h

  Log Message:
  -----------
  hw/misc/led: Add a LED device

Add a LED device which can be connected to a GPIO output.
They can also be dimmed with PWM devices. For now we do
not implement the dimmed mode, but in preparation of a
future implementation, we start using the LED intensity.

LEDs are limited to a fixed set of colors.

Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200912134041.946260-2-f4bug@amsat.org>


  Commit: ddb67f6402b8096f70ca68e3cffaddfd588b384d
      
https://github.com/qemu/qemu/commit/ddb67f6402b8096f70ca68e3cffaddfd588b384d
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/misc/led.c
    M include/hw/misc/led.h
    M include/hw/qdev-core.h

  Log Message:
  -----------
  hw/misc/led: Allow connecting from GPIO output

Some devices expose GPIO lines.

Add a GPIO qdev input to our LED device, so we can
connect a GPIO output using qdev_connect_gpio_out().

When used with GPIOs, the intensity can only be either
minium or maximum. This depends of the polarity of the
GPIO (which can be inverted).
Declare the GpioPolarity type to model the polarity.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Message-Id: <20200912134041.946260-3-f4bug@amsat.org>


  Commit: 4aef43991afa70c3cb314881fd4bf0f3e1f8b41b
      
https://github.com/qemu/qemu/commit/4aef43991afa70c3cb314881fd4bf0f3e1f8b41b
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/misc/led.c
    M hw/misc/trace-events

  Log Message:
  -----------
  hw/misc/led: Emit a trace event when LED intensity has changed

Track the LED intensity, and emit a trace event when it changes.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200912134041.946260-4-f4bug@amsat.org>


  Commit: 7cfbde5ea1cfeaf0834f4f43dc79eb24cdd52e1b
      
https://github.com/qemu/qemu/commit/7cfbde5ea1cfeaf0834f4f43dc79eb24cdd52e1b
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/arm/Kconfig
    M hw/arm/aspeed.c

  Log Message:
  -----------
  hw/arm/aspeed: Add the 3 front LEDs drived by the PCA9552 #1

The Witherspoon has 3 LEDs connected to a PCA9552. Add them.
The names and reset values are taken from:
https://github.com/open-power/witherspoon-xml/blob/master/witherspoon.xml

Example booting obmc-phosphor-image:

  $ qemu-system-arm -M witherspoon-bmc -trace led_change_intensity
  1592693373.997015:led_change_intensity LED desc:'front-fault-4' color:green 
intensity 0% -> 100%
  1592693373.997632:led_change_intensity LED desc:'front-power-3' color:green 
intensity 0% -> 100%
  1592693373.998239:led_change_intensity LED desc:'front-id-5' color:green 
intensity 0% -> 100%
  1592693500.291805:led_change_intensity LED desc:'front-power-3' color:green 
intensity 100% -> 0%
  1592693500.312041:led_change_intensity LED desc:'front-power-3' color:green 
intensity 0% -> 100%
  1592693500.821254:led_change_intensity LED desc:'front-power-3' color:green 
intensity 100% -> 0%
  1592693501.331517:led_change_intensity LED desc:'front-power-3' color:green 
intensity 0% -> 100%
  1592693501.841367:led_change_intensity LED desc:'front-power-3' color:green 
intensity 100% -> 0%
  1592693502.350839:led_change_intensity LED desc:'front-power-3' color:green 
intensity 0% -> 100%
  1592693502.861134:led_change_intensity LED desc:'front-power-3' color:green 
intensity 100% -> 0%
  1592693503.371090:led_change_intensity LED desc:'front-power-3' color:green 
intensity 0% -> 100%

We notice the front-power LED starts to blink at a ~2Hz rate.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20200912134041.946260-5-f4bug@amsat.org>


  Commit: 65ad1da23e9096418223f7a856992bd491dc7ec3
      
https://github.com/qemu/qemu/commit/65ad1da23e9096418223f7a856992bd491dc7ec3
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/misc/Kconfig
    M hw/misc/mps2-fpgaio.c
    M hw/misc/trace-events
    M include/hw/misc/mps2-fpgaio.h

  Log Message:
  -----------
  hw/misc/mps2-fpgaio: Use the LED device

Per the 'ARM MPS2 and MPS2+ FPGA Prototyping Boards Technical
Reference Manual' (100112_0200_07_en):

  2.1  Overview of the MPS2 and MPS2+ hardware

       The MPS2 and MPS2+ FPGA Prototyping Boards contain the
       following components and interfaces:

       * User switches and user LEDs:

         - Two green LEDs and two push buttons that connect to
           the FPGA.
         - Eight green LEDs and one 8-way dip switch that connect
           to the MCC.

Add the 2 LEDs connected to the FPGA.

This replaces the 'mps2_fpgaio_leds' trace events by the generic
'led_set_intensity' event.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Message-Id: <20200912134041.946260-6-f4bug@amsat.org>


  Commit: 435db7ebf54cbae68e45ad0bbf4ff6e9019557aa
      
https://github.com/qemu/qemu/commit/435db7ebf54cbae68e45ad0bbf4ff6e9019557aa
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/misc/Kconfig
    M hw/misc/mps2-scc.c
    M hw/misc/trace-events
    M include/hw/misc/mps2-scc.h

  Log Message:
  -----------
  hw/misc/mps2-scc: Use the LED device

Per the 'ARM MPS2 and MPS2+ FPGA Prototyping Boards Technical
Reference Manual' (100112_0200_07_en):

  2.1  Overview of the MPS2 and MPS2+ hardware

       The MPS2 and MPS2+ FPGA Prototyping Boards contain the
       following components and interfaces:

       * User switches and user LEDs:

         - Two green LEDs and two push buttons that connect to
           the FPGA.
         - Eight green LEDs and one 8-way dip switch that connect
           to the MCC.

Add the 8 LEDs connected to the MCC.

This replaces the 'mps2_scc_leds' trace events by the generic
'led_set_intensity' event.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Message-Id: <20200912134041.946260-7-f4bug@amsat.org>


  Commit: 06972067c48fc21a47445b5d706368f1129f216f
      
https://github.com/qemu/qemu/commit/06972067c48fc21a47445b5d706368f1129f216f
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/arm/Kconfig
    M hw/arm/tosa.c

  Log Message:
  -----------
  hw/arm/tosa: Replace fprintf() calls by LED devices

The recently added LED device reports LED status changes with
the 'led_set_intensity' trace event. It is less invasive than
the fprintf() calls. We need however to have a binary built
with tracing support.

Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200912134041.946260-8-f4bug@amsat.org>


  Commit: e75de8354ac5c67145b2f8874d3c36022d4a94bb
      
https://github.com/qemu/qemu/commit/e75de8354ac5c67145b2f8874d3c36022d4a94bb
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M .gitlab-ci.yml
    A accel/dummy-cpus.c
    M accel/meson.build
    M accel/qtest/meson.build
    R accel/qtest/qtest-cpus.c
    R accel/qtest/qtest-cpus.h
    M accel/qtest/qtest.c
    M accel/xen/xen-all.c
    M docs/devel/fuzzing.txt
    M include/exec/memory.h
    M include/exec/memory_ldst_cached.h.inc
    M include/sysemu/cpus.h
    M memory_ldst.c.inc
    M scripts/oss-fuzz/build.sh
    A scripts/oss-fuzz/minimize_qtest_trace.py
    A scripts/oss-fuzz/reorder_fuzzer_qtest_trace.py
    M softmmu/memory.c
    M softmmu/physmem.c
    M tests/acceptance/machine_m68k_nextcube.py
    M tests/acceptance/ppc_prep_40p.py
    M tests/docker/dockerfiles/centos8.docker
    M tests/docker/dockerfiles/debian-amd64.docker
    M tests/docker/dockerfiles/fedora.docker
    M tests/docker/dockerfiles/ubuntu2004.docker
    M tests/qtest/fuzz/fuzz.c
    M tests/qtest/fuzz/fuzz.h
    A tests/qtest/fuzz/generic_fuzz.c
    A tests/qtest/fuzz/generic_fuzz_configs.h
    M tests/qtest/fuzz/meson.build
    M tests/qtest/libqtest.c
    M tests/qtest/meson.build
    M tests/qtest/migration-helpers.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/huth-gitlab/tags/pull-request-2020-10-26' into staging

* qtest fixes (e.g. memory leaks)
* Fix for Xen dummy cpu loop (which happened due to qtest accel rework)
* Introduction of the generic device fuzzer
* Run more check-acceptance tests in the gitlab-CI

# gpg: Signature made Mon 26 Oct 2020 09:34:04 GMT
# 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/huth-gitlab/tags/pull-request-2020-10-26: (31 commits)
  tests/acceptance: Use .ppm extention for Portable PixMap files
  tests/acceptance: Remove unused import
  test/docker/dockerfiles: Add missing packages for acceptance tests
  tests/acceptance: Enable AVOCADO_ALLOW_UNTRUSTED_CODE in the gitlab-CI
  test/acceptance: Remove the CONTINUOUS_INTEGRATION tags
  tests/acceptance/ppc_prep_40p: Fix the URL to the NetBSD-4.0 archive
  scripts/oss-fuzz: ignore the generic-fuzz target
  scripts/oss-fuzz: use hardlinks instead of copying
  fuzz: register predefined generic-fuzz configs
  fuzz: add generic-fuzz configs for oss-fuzz
  fuzz: add an "opaque" to the FuzzTarget struct
  fuzz: Add instructions for using generic-fuzz
  scripts/oss-fuzz: Add crash trace minimization script
  scripts/oss-fuzz: Add script to reorder a generic-fuzzer trace
  fuzz: add a crossover function to generic-fuzzer
  fuzz: add a DISABLE_PCI op to generic-fuzzer
  fuzz: Add support for custom crossover functions
  fuzz: Add fuzzer callbacks to DMA-read functions
  fuzz: Declare DMA Read callback function
  fuzz: Add DMA support to the generic-fuzzer
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a46e72710566eea0f90f9c673a0f02da0064acce
      
https://github.com/qemu/qemu/commit/a46e72710566eea0f90f9c673a0f02da0064acce
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/sclp.c
    M target/s390x/cpu_features.c
    M target/s390x/cpu_features.h
    M target/s390x/cpu_models.c
    M target/s390x/kvm.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20201026' into staging

some s390x fixes

# gpg: Signature made Mon 26 Oct 2020 10:46:50 GMT
# gpg:                using RSA key C3D0D66DC3624FF6A8C018CEDECF6B93C6F02FAF
# gpg:                issuer "cohuck@redhat.com"
# gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>" [unknown]
# gpg:                 aka "Cornelia Huck <huckc@linux.vnet.ibm.com>" [full]
# gpg:                 aka "Cornelia Huck <cornelia.huck@de.ibm.com>" [full]
# gpg:                 aka "Cornelia Huck <cohuck@kernel.org>" [unknown]
# gpg:                 aka "Cornelia Huck <cohuck@redhat.com>" [unknown]
# Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF

* remotes/cohuck/tags/s390x-20201026:
  s390x: pv: Fix diag318 PV fencing
  s390x: pv: Remove sclp boundary checks
  s390x/s390-virtio-ccw: Reset PCI devices during subsystem reset

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a95e0396c805735c491a049b01de6f5a713fb91b
      
https://github.com/qemu/qemu/commit/a95e0396c805735c491a049b01de6f5a713fb91b
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M .cirrus.yml
    M Makefile
    M block/meson.build
    M configure
    M contrib/vhost-user-gpu/meson.build
    M docs/system/deprecated.rst
    M hw/core/machine.c
    M hw/core/qdev-clock.c
    M include/hw/boards.h
    M meson.build
    M meson_options.txt
    M migration/migration.c
    M net/meson.build
    M pc-bios/descriptors/meson.build
    M pc-bios/meson.build
    M qemu-options.hx
    M replay/meson.build
    A replay/stubs-system.c
    M scripts/undefsym.py
    M softmmu/vl.c
    M stubs/meson.build
    A stubs/replay-tools.c
    R stubs/replay-user.c
    M stubs/replay.c
    M tests/fp/meson.build
    M tests/ptimer-test-stubs.c
    M tests/qtest/bios-tables-test.c
    M tests/qtest/meson.build
    M tests/qtest/qmp-cmd-test.c
    M tools/virtiofsd/meson.build
    M ui/icons/meson.build
    M ui/meson.build
    M util/cutils.c
    R version.texi.in

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into 
staging

* fix --disable-tcg builds (Claudio)
* Fixes for macOS --enable-modules build and OpenBSD curses/iconv detection 
(myself)
* Start preparing for meson 0.56 (myself)
* Move directory configuration to meson (myself)
* Start untangling qemu_init (myself)
* Windows fixes (Sunil)
* Remove -no-kbm (Thomas)

# gpg: Signature made Mon 26 Oct 2020 11:12:17 GMT
# 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:
  machine: move SMP initialization from vl.c
  machine: move UP defaults to class_base_init
  machine: remove deprecated -machine enforce-config-section option
  win32: boot broken when bind & data dir are the same
  WHPX: Fix WHPX build break
  configure: move install_blobs from configure to meson
  configure: remove unused variable from config-host.mak
  configure: move directory options from config-host.mak to meson
  configure: allow configuring localedir
  Makefile: separate meson rerun from the rest of the ninja invocation
  Remove deprecated -no-kvm option
  replay: do not build if TCG is not available
  qtest: unbreak non-TCG builds in bios-tables-test
  hw/core/qdev-clock: add a reference on aliased clocks
  do not use colons in test names
  meson: rewrite curses/iconv test
  build: fix macOS --enable-modules build

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 9fe7ef8b6646054ab040a2bc765d0cb43a993cd8
      
https://github.com/qemu/qemu/commit/9fe7ef8b6646054ab040a2bc765d0cb43a993cd8
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M include/migration/vmstate.h
    M migration/vmstate-types.c

  Log Message:
  -----------
  migration: Drop unused VMSTATE_FLOAT64 support

Commit ef96e3ae9698d6 in January 2019 removed the last user of the
VMSTATE_FLOAT64* macros. These were used by targets which defined
their floating point register file as an array of 'float64'.

We used to try to maintain a stricter distinction between
'float64' (a type for holding an integer representing an IEEE float)
and 'uint64_t', including having a debug option for 'float64' being
a struct and supposedly mandatory macros for converting between
float64 and uint64_t. We no longer think that's a usefully
strong distinction to draw and we allow ourselves to freely
assume that float64 really is just a 64-bit integer type, so
for new targets we would simply recommend use of the uint64_t type
for a floating point register file. The float64 type remains
as a useful way of documenting in the type signature of helper
functions and the like that they expect to receive an IEEE float
from the TCG generated code rather than an arbitrary integer.

Since the VMSTATE_FLOAT64* macros have no remaining users and
we don't recommend new code uses them, delete them.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20201022120830.5938-1-peter.maydell@linaro.org>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 01371c5821c432697a636d9c3be2ba27685562a8
      
https://github.com/qemu/qemu/commit/01371c5821c432697a636d9c3be2ba27685562a8
  Author: Bihong Yu <yubihong@huawei.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/block.c
    M migration/rdma.c

  Log Message:
  -----------
  migration: Do not use C99 // comments

Signed-off-by: Bihong Yu <yubihong@huawei.com>
Reviewed-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Message-Id: <1603163448-27122-2-git-send-email-yubihong@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 29fccade10ac38f2a7aba548eb04d7396a287bb0
      
https://github.com/qemu/qemu/commit/29fccade10ac38f2a7aba548eb04d7396a287bb0
  Author: Bihong Yu <yubihong@huawei.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/block.c
    M migration/ram.c

  Log Message:
  -----------
  migration: Don't use '#' flag of printf format

Signed-off-by: Bihong Yu <yubihong@huawei.com>
Reviewed-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Message-Id: <1603163448-27122-3-git-send-email-yubihong@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 395cb450095408e0f7b57d69c22a14120f47dc52
      
https://github.com/qemu/qemu/commit/395cb450095408e0f7b57d69c22a14120f47dc52
  Author: Bihong Yu <yubihong@huawei.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/migration.c
    M migration/postcopy-ram.c
    M migration/ram.c
    M migration/savevm.c
    M migration/vmstate.c

  Log Message:
  -----------
  migration: Add spaces around operator

Signed-off-by: Bihong Yu <yubihong@huawei.com>
Reviewed-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <1603163448-27122-4-git-send-email-yubihong@huawei.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: f16aee44b46ece5df0661866b0cacd9e0e52f408
      
https://github.com/qemu/qemu/commit/f16aee44b46ece5df0661866b0cacd9e0e52f408
  Author: Bihong Yu <yubihong@huawei.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/migration.h

  Log Message:
  -----------
  migration: Open brace '{' following struct go on the same line

Signed-off-by: Bihong Yu <yubihong@huawei.com>
Reviewed-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <1603163448-27122-5-git-send-email-yubihong@huawei.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: f4c51a6bfdc0469f34cf53c803e15fc26f87238c
      
https://github.com/qemu/qemu/commit/f4c51a6bfdc0469f34cf53c803e15fc26f87238c
  Author: Bihong Yu <yubihong@huawei.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: Add braces {} for if statement

Signed-off-by: Bihong Yu <yubihong@huawei.com>
Reviewed-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <1603163448-27122-6-git-send-email-yubihong@huawei.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 49324e939c9d9c963397978ea326665e8a5cf4b5
      
https://github.com/qemu/qemu/commit/49324e939c9d9c963397978ea326665e8a5cf4b5
  Author: Bihong Yu <yubihong@huawei.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/ram.c
    M migration/savevm.c

  Log Message:
  -----------
  migration: Do not initialise statics and globals to 0 or NULL

Signed-off-by: Bihong Yu <yubihong@huawei.com>
Reviewed-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <1603163448-27122-7-git-send-email-yubihong@huawei.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: cbfc71b52b067b3b70a7ace45ff223b58d63a540
      
https://github.com/qemu/qemu/commit/cbfc71b52b067b3b70a7ace45ff223b58d63a540
  Author: Bihong Yu <yubihong@huawei.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/rdma.c

  Log Message:
  -----------
  migration: Open brace '{' following function declarations go on the next line

Signed-off-by: Bihong Yu <yubihong@huawei.com>
Reviewed-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <1603163448-27122-8-git-send-email-yubihong@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 0bcae62333e67a7d8831cab97a3fbf5ea5498cd3
      
https://github.com/qemu/qemu/commit/0bcae62333e67a7d8831cab97a3fbf5ea5498cd3
  Author: Bihong Yu <yubihong@huawei.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/rdma.c

  Log Message:
  -----------
  migration: Delete redundant spaces

Signed-off-by: Bihong Yu <yubihong@huawei.com>
Reviewed-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <1603163448-27122-9-git-send-email-yubihong@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: fe80c0241dc493a66a0805fe016ed28505492fed
      
https://github.com/qemu/qemu/commit/fe80c0241dc493a66a0805fe016ed28505492fed
  Author: Bihong Yu <yubihong@huawei.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/block.c
    M migration/page_cache.c
    M migration/trace-events

  Log Message:
  -----------
  migration: using trace_ to replace DPRINTF

Signed-off-by: Bihong Yu <yubihong@huawei.com>
Message-Id: <1603179176-5360-1-git-send-email-yubihong@huawei.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: eef621c4e617774ea894dfe303eb89b8a692aa2e
      
https://github.com/qemu/qemu/commit/eef621c4e617774ea894dfe303eb89b8a692aa2e
  Author: Peter Xu <peterx@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/postcopy-ram.c

  Log Message:
  -----------
  migration: Pass incoming state into qemu_ufd_copy_ioctl()

It'll be used in follow up patches to access more fields out of it.  Meanwhile
fetch the userfaultfd inside the function.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20201021212721.440373-2-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 7a267fc49b5a06cb395fe437996d5df517783ff8
      
https://github.com/qemu/qemu/commit/7a267fc49b5a06cb395fe437996d5df517783ff8
  Author: Peter Xu <peterx@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/migration.c
    M migration/migration.h

  Log Message:
  -----------
  migration: Introduce migrate_send_rp_message_req_pages()

This is another layer wrapper for sending a page request to the source VM.  The
new migrate_send_rp_message_req_pages() will be used elsewhere in coming
patches.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20201021212721.440373-3-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 8f8bfffcf1b486cee9a3bc79bb9b174682b06e22
      
https://github.com/qemu/qemu/commit/8f8bfffcf1b486cee9a3bc79bb9b174682b06e22
  Author: Peter Xu <peterx@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/migration.c
    M migration/migration.h
    M migration/postcopy-ram.c
    M migration/trace-events

  Log Message:
  -----------
  migration: Maintain postcopy faulted addresses

Maintain a list of faulted addresses on the destination host for which we're
waiting on.  This is implemented using a GTree rather than a real list to make
sure even there're plenty of vCPUs/threads that are faulting, the lookup will
still be fast with O(log(N)) (because we'll do that after placing each page).
It should bring a slight overhead, but ideally that shouldn't be a big problem
simply because in most cases the requested page list will be short.

Actually we did similar things for postcopy blocktime measurements.  This patch
didn't use that simply because:

  (1) blocktime measurement is towards vcpu threads only, but here we need to
      record all faulted addresses, including main thread and external
      thread (like, DPDK via vhost-user).

  (2) blocktime measurement will require UFFD_FEATURE_THREAD_ID, but here we
      don't want to add that extra dependency on the kernel version since not
      necessary.  E.g., we don't need to know which thread faulted on which
      page, we also don't care about multiple threads faulting on the same
      page.  But we only care about what addresses are faulted so waiting for a
      page copying from src.

  (3) blocktime measurement is not enabled by default.  However we need this by
      default especially for postcopy recover.

Another thing to mention is that this patch introduced a new mutex to serialize
the receivedmap and the page_requested tree, however that serialization does
not cover other procedures like UFFDIO_COPY.

Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20201021212721.440373-4-peterx@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 0c26781c0937324d175b8105bc96ccce778d9760
      
https://github.com/qemu/qemu/commit/0c26781c0937324d175b8105bc96ccce778d9760
  Author: Peter Xu <peterx@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/savevm.c
    M migration/trace-events

  Log Message:
  -----------
  migration: Sync requested pages after postcopy recovery

We synchronize the requested pages right after a postcopy recovery happens.
This helps to synchronize the prioritized pages on source so that the faulted
threads can be served faster.

Reported-by: Xiaohui Li <xiaohli@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20201021212721.440373-5-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: d246ea5039fd6d5344becd0943fcbb7f8e6bbfe7
      
https://github.com/qemu/qemu/commit/d246ea5039fd6d5344becd0943fcbb7f8e6bbfe7
  Author: Peter Xu <peterx@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/migration.c

  Log Message:
  -----------
  migration/postcopy: Release fd before going into 'postcopy-pause'

Logically below race could trigger with the old code:

          test program                        migration thread
          ------------                        ----------------
       wait_until('postcopy-pause')
                                          postcopy_pause()
                                            set_state('postcopy-pause')
       do_postcopy_recover()
         arm s->to_dst_file with new fd
                                            release s->to_dst_file [1]

Here [1] could have released the just-installed recoverying channel.  Then the
migration could hang without really resuming.

Instead, it should be very safe to release the fd before setting the state into
'postcopy-pause', because there's no reason for any other thread to touch it
during 'postcopy-active'.

Dave reported a very rare postcopy recovery hang that the migration-test
program waited for the migration to complete in migrate_postcopy_complete().
We do suspect it's the same thing that we're gonna fix here.  Hard to tell.
However since we've noticed this, fix this irrelevant of the hang report.

Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20201021212721.440373-6-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: a47295014de56e108f359ec859d5499b851f62b8
      
https://github.com/qemu/qemu/commit/a47295014de56e108f359ec859d5499b851f62b8
  Author: Peter Xu <peterx@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/qtest/migration-test.c

  Log Message:
  -----------
  migration-test: Only hide error if !QTEST_LOG

The errors are very useful when debugging qtest failures, especially when
QTEST_LOG=1 is set.  Let's allow override MigrateStart.hide_stderr when
QTEST_LOG=1 is specified, because that means the user wants to be verbose.

Not very nice to introduce the first QTEST_LOG env access in migration-test.c,
however it should be handy.  Without this patch, I was hacking error_report()
when debugging such errors.  Let's make things easier.

Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20201021212721.440373-7-peterx@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 648b4823d90bd6deae985869855ceff934eee54d
      
https://github.com/qemu/qemu/commit/648b4823d90bd6deae985869855ceff934eee54d
  Author: Josh DuBois <josh@joshdubois.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M trace/control.c

  Log Message:
  -----------
  trace/simple: Enable tracing on startup only if the user specifies a trace 
option

Tracing can be enabled at the command line or via the
monitor. Command-line trace options are recorded during
trace_opt_parse(), but tracing is not enabled until the various
front-ends later call trace_init_file(). If the user passes a trace
option on the command-line, remember that and enable tracing during
trace_init_file().  Otherwise, trace_init_file() should record the
trace file specified by the frontend and avoid enabling traces
until the user requests them via the monitor.

This fixes 1b7157be3a8c4300fc8044d40f4b2e64a152a1b4 and also
db25d56c014aa1a96319c663e0a60346a223b31e, by allowing the user
to enable traces on the command line and also avoiding
unwanted trace-<pid> files when the user has not asked for them.

Fixes: 1b7157be3a8c4300fc8044d40f4b2e64a152a1b4
Signed-off-by: Josh DuBois <josh@joshdubois.com>
Message-id: 20200816174610.20253-1-josh@joshdubois.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: ee8041013a574b4f88e05472f321e50e1f4be733
      
https://github.com/qemu/qemu/commit/ee8041013a574b4f88e05472f321e50e1f4be733
  Author: Anthony PERARD <anthony.perard@citrix.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M scripts/tracetool.py

  Log Message:
  -----------
  Add execute bit back to scripts/tracetool.py

Commit a81df1b68b65 ("libqemuutil, qapi, trace: convert to meson")
removed it without explanation and it is useful to be able to run a
script without having to figure out which interpreter to use.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20200923103620.1980151-1-anthony.perard@citrix.com>


  Commit: 1dc887329a10903940501b43e8c0cc67af7c06d5
      
https://github.com/qemu/qemu/commit/1dc887329a10903940501b43e8c0cc67af7c06d5
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M hw/sd/sd.c
    M hw/sd/trace-events

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/philmd-gitlab/tags/sd-next-20201026' 
into staging

SD/MMC patches

- Fix a bug in CMD6/SWITCH_FUNCTION (Bin Meng)
- Minor housekeeping patches

CI jobs result:
. https://cirrus-ci.com/build/5461987880599552
. https://gitlab.com/philmd/qemu/-/pipelines/207532287
. https://travis-ci.org/github/philmd/qemu/builds/738901111
. https://app.shippable.com/github/philmd/qemu/runs/888/summary/console

# gpg: Signature made Mon 26 Oct 2020 11:02:22 GMT
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* remotes/philmd-gitlab/tags/sd-next-20201026:
  hw/sd/sdcard: Zero out function selection fields before being populated
  hw/sd/sdcard: Make iolen unsigned
  hw/sd/sdcard: Constify sd_crc*()'s message argument
  hw/sd/sdcard: Simplify cmd_valid_while_locked()
  hw/sd/sdcard: Update the SDState documentation

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7fb1f203d7e88e7d9d40f73b6ca512383755c01f
      
https://github.com/qemu/qemu/commit/7fb1f203d7e88e7d9d40f73b6ca512383755c01f
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/acceptance/boot_linux_console.py

  Log Message:
  -----------
  tests/boot_linux_console: Boot Trusted Firmware-A on the Raspberry Pi 3

This test runs Trusted Firmware-A on the Raspberry Pi 3.
We deliberately stop the boot process when the EDK2 UEFI version
is displayed.

The binary is build on AppVeyor CI using Pete Batard repository [1].
ATF v2.1 binary are used (see [2]).

It is very simple and fast:

  $ avocado --show=app,console run -t atf tests/acceptance
  JOB ID     : 1e748d7c9e9011cf0af3250ddc8ebf2389d6204e
  JOB LOG    : avocado/job-results/job-2020-02-16T18.08-1e748d7/job.log
   (1/1) 
tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_aarch64_raspi3_atf:
  console: NOTICE:  Booting Trusted Firmware
  console: NOTICE:  BL1: v2.1(release):v2.1
  console: NOTICE:  BL1: Built : 15:26:06, May 13 2019
  console: NOTICE:  rpi3: Detected: Raspberry Pi 3 Model B (1GB, Sony, UK) 
[0x00a02082]
  console: NOTICE:  BL1: Booting BL2
  console: ERROR:   rpi3_sdhost: timeout status 0x40
  console: NOTICE:  BL2: v2.1(release):v2.1
  console: NOTICE:  BL2: Built : 15:26:01, May 13 2019
  console: NOTICE:  BL1: Booting BL31
  console: NOTICE:  BL31: v2.1(release):v2.1
  console: NOTICE:  BL31: Built : 15:26:04, May 13 2019
  console: =UEFI firmware (version UEFI Firmware v1.15 built at 11:58:44 on Feb 
14 2020)
  PASS (1.54 s)
  RESULTS    : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | 
CANCEL 0
  JOB TIME   : 1.88 s

[1] https://github.com/pbatard/RPi3#summary
[2] 
https://github.com/ARM-software/arm-trusted-firmware/blob/v2.1/docs/plat/rpi3.rst

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Message-Id: <20200217103442.30318-1-f4bug@amsat.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>


  Commit: 9923375807c8064abe0847192a15ba121bf0a4ce
      
https://github.com/qemu/qemu/commit/9923375807c8064abe0847192a15ba121bf0a4ce
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/acceptance/boot_linux.py

  Log Message:
  -----------
  tests/acceptance: Add a 'virt_kvm' test using the GICv3

The current 'virt_kvm' test is restricted to GICv2, but can also
work with a GICv3. Duplicate it but add a GICv3 test which can be
tested on some hardware.

Noticed while running:

 $ avocado --show=app run -t machine:virt tests/acceptance/
 ...
 (2/6) tests/acceptance/boot_linux.py:BootLinuxAarch64.test_virt_kvm: ERROR: 
Unexpected empty reply from server (1.82 s)

The job.log content is:

  L0351 DEBUG| Output: 'qemu-system-aarch64: host does not support in-kernel 
GICv2 emulation\n'

With this patch:

 $ avocado --show=app run -t device:gicv3 tests/acceptance/
 (1/1) tests/acceptance/boot_linux.py:BootLinuxAarch64.test_virt_kvm_gicv3: 
PASS (55.10 s)

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Message-Id: <20200929224857.1225107-1-philmd@redhat.com>


  Commit: 9eb716513d3227b56f4d03da4205877190a84198
      
https://github.com/qemu/qemu/commit/9eb716513d3227b56f4d03da4205877190a84198
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/acceptance/boot_linux_console.py

  Log Message:
  -----------
  tests/acceptance: Allow running Orange Pi test using cached artifacts

Unfortunately the Armbian 19.11.3 image has been removed from the
dl.armbian.com file server. Developers having the artifact cached
can still run the test. Allow them to, until we find a proper
solution to share binaries with the whole community.

This avoids (when file manually added to cache):

  BootLinuxConsole.test_arm_orangepi_bionic_19_11: CANCEL: Missing asset 
https://dl.armbian.com/orangepipc/archive/Armbian_19.11.3_Orangepipc_bionic_current_5.3.9.7z
 (1.06 s)

Reported-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Bin Meng <bin.meng@windriver.com>
Tested-by: Niek Linnenbank <nieklinnenbank@gmail.com>
Reviewed-by: Niek Linnenbank <nieklinnenbank@gmail.com>
Message-Id: <20201023131808.3198005-3-f4bug@amsat.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>


  Commit: 4c9ac67230d2d8c12bfc0f3447ae353e67b43f7f
      
https://github.com/qemu/qemu/commit/4c9ac67230d2d8c12bfc0f3447ae353e67b43f7f
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M docs/devel/testing.rst

  Log Message:
  -----------
  docs/devel/testing.rst: Update outdated Avocado URLs

Avocado documentation referred returns 404 error.
Update the broken links.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <20201010080741.2932406-1-philmd@redhat.com>


  Commit: cece116c939d219070b250338439c2d16f94e3da
      
https://github.com/qemu/qemu/commit/cece116c939d219070b250338439c2d16f94e3da
  Author: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M configure
    M meson.build
    M meson_options.txt
    M tools/meson.build

  Log Message:
  -----------
  configure: add option for virtiofsd

Currently it is unknown whether virtiofsd will be built at
configuration time. It will be automatically built when dependency
is met. Also, required libraries are not clear.

To make this clear, add configure option --{enable,disable}-virtiofsd.
The default is the same as current (enabled if available) like many
other options. When --enable-virtiofsd is given and dependency is not
met, we get:

  ERROR: Problem encountered: virtiofsd requires libcap-ng-devel and 
seccomp-devel
or
  ERROR: Problem encountered: virtiofsd needs tools and vhost-user support

In addition, configuration summary now includes virtiofsd entry:

  build virtiofs daemon: YES/NO

Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Message-Id: <20201008103133.2722903-1-misono.tomohiro@jp.fujitsu.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Manual merge


  Commit: 800ad114f10d0bf94e49b1441e1a13064a45a967
      
https://github.com/qemu/qemu/commit/800ad114f10d0bf94e49b1441e1a13064a45a967
  Author: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  virtiofsd: passthrough_ll: set FUSE_LOG_INFO as default log_level

Just noticed that although help message says default log level is INFO,
it is actually 0 (EMRGE) and no mesage will be shown when error occurs.
It's better to follow help message.

Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Message-Id: <20201008110148.2757734-1-misono.tomohiro@jp.fujitsu.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 06844584b62a43384642f7243b0fc01c9fff0fc7
      
https://github.com/qemu/qemu/commit/06844584b62a43384642f7243b0fc01c9fff0fc7
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M docs/tools/virtiofsd.rst
    M tools/virtiofsd/helper.c
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  virtiofsd: add container-friendly -o sandbox=chroot option

virtiofsd cannot run in a container because CAP_SYS_ADMIN is required to
create namespaces.

Introduce a weaker sandbox mode that is sufficient in container
environments because the container runtime already sets up namespaces.
Use chroot to restrict path traversal to the shared directory.

virtiofsd loses the following:

1. Mount namespace. The process chroots to the shared directory but
   leaves the mounts in place. Seccomp rejects mount(2)/umount(2)
   syscalls.

2. Pid namespace. This should be fine because virtiofsd is the only
   process running in the container.

3. Network namespace. This should be fine because seccomp already
   rejects the connect(2) syscall, but an additional layer of security
   is lost. Container runtime-specific network security policies can be
   used drop network traffic (except for the vhost-user UNIX domain
   socket).

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201008085534.16070-1-stefanha@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 6084633dff3a05d63176e06d7012c7e15aba15be
      
https://github.com/qemu/qemu/commit/6084633dff3a05d63176e06d7012c7e15aba15be
  Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M docs/tools/virtiofsd.rst
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  tools/virtiofsd: xattr name mappings: Add option

Add an option to define mappings of xattr names so that
the client and server filesystems see different views.
This can be used to have different SELinux mappings as
seen by the guest, to run the virtiofsd with less privileges
(e.g. in a case where it can't set trusted/system/security
xattrs but you want the guest to be able to), or to isolate
multiple users of the same name; e.g. trusted attributes
used by stacking overlayfs.

A mapping engine is used with 3 simple rules; the rules can
be combined to allow most useful mapping scenarios.
The ruleset is defined by -o xattrmap='rules...'.

This patch doesn't use the rule maps yet.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20201023165812.36028-2-dgilbert@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 4f088dbf98aecde6eed94d630964cc36cd39837b
      
https://github.com/qemu/qemu/commit/4f088dbf98aecde6eed94d630964cc36cd39837b
  Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  tools/virtiofsd: xattr name mappings: Map client xattr names

Map xattr names originating at the client; from get/set/remove xattr.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20201023165812.36028-3-dgilbert@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 6409cf19ca17ab2acec6f014290f24e137198751
      
https://github.com/qemu/qemu/commit/6409cf19ca17ab2acec6f014290f24e137198751
  Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  tools/virtiofsd: xattr name mappings: Map server xattr names

Map xattr names coming from the server, i.e. the host filesystem;
currently this is only from listxattr.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20201023165812.36028-4-dgilbert@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 491bfaea3bd44b47c62f758efffb67a392ded02b
      
https://github.com/qemu/qemu/commit/491bfaea3bd44b47c62f758efffb67a392ded02b
  Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M docs/tools/virtiofsd.rst

  Log Message:
  -----------
  tools/virtiofsd: xattr name mapping examples

Add a few examples of xattrmaps to the documentation.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201023165812.36028-5-dgilbert@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 1d84a0213a2ec7094abe6d896ce0ec0b5aa0cacf
      
https://github.com/qemu/qemu/commit/1d84a0213a2ec7094abe6d896ce0ec0b5aa0cacf
  Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M docs/tools/virtiofsd.rst
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  tools/virtiofsd: xattr name mappings: Simple 'map'

The mapping rule system implemented in the last few patches is
extremely flexible, but not easy to use.  Add a simple
'map' type as a sprinkling of sugar to make it easy.

e.g.

  -o xattrmap=":map::user.virtiofs.:"

would be sufficient to prefix all xattr's
or

  -o xattrmap=":map:trusted.:user.virtiofs.:"

would just prefix 'trusted.' xattr's and leave
everything else alone.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20201023165812.36028-6-dgilbert@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 97d741cc96dd08b183cb098a38d55b641e277be0
      
https://github.com/qemu/qemu/commit/97d741cc96dd08b183cb098a38d55b641e277be0
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M include/standard-headers/linux/fuse.h

  Log Message:
  -----------
  linux/fuse.h: Pull in from Linux

Update the linux/fuse.h standard header from the kernel development tree
that implements FUSE submounts.

This adds the fuse_attr.flags field, the FUSE_ATTR_FLAGS INIT flag, and
the FUSE_ATTR_SUBMOUNT flag for fuse_attr.flags.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200909184028.262297-2-mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 2f10415abfc58e1eb8d311d35e97f78d9fc0f16c
      
https://github.com/qemu/qemu/commit/2f10415abfc58e1eb8d311d35e97f78d9fc0f16c
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tools/virtiofsd/fuse_common.h
    M tools/virtiofsd/fuse_lowlevel.c

  Log Message:
  -----------
  virtiofsd: Announce FUSE_ATTR_FLAGS

The fuse_attr.flags field is currently just initialized to 0, which is
valid.  Thus, there is no reason not to always announce FUSE_ATTR_FLAGS
(when the kernel supports it).

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200909184028.262297-3-mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: e2577435d3433b66b6f8adcd6482b5da5198689b
      
https://github.com/qemu/qemu/commit/e2577435d3433b66b6f8adcd6482b5da5198689b
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tools/virtiofsd/fuse_lowlevel.c
    M tools/virtiofsd/fuse_lowlevel.h

  Log Message:
  -----------
  virtiofsd: Add attr_flags to fuse_entry_param

fuse_entry_param is converted to fuse_attr on the line (by
fill_entry()), so it should have a member that mirrors fuse_attr.flags.

fill_entry() should then copy this fuse_entry_param.attr_flags to
fuse_attr.flags.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200909184028.262297-4-mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: ede24b6be798000bbf554891e5b54a0f4848897f
      
https://github.com/qemu/qemu/commit/ede24b6be798000bbf554891e5b54a0f4848897f
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tools/virtiofsd/fuse_lowlevel.c
    M tools/virtiofsd/fuse_lowlevel.h

  Log Message:
  -----------
  virtiofsd: Add fuse_reply_attr_with_flags()

The plain fuse_reply_attr() function does not allow setting
fuse_attr.flags, so add this new function that does.

Make fuse_reply_attr() a wrapper around it.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200909184028.262297-5-mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: eba8b096c17c5a74c5a00af4cf476a9b1b4d7393
      
https://github.com/qemu/qemu/commit/eba8b096c17c5a74c5a00af4cf476a9b1b4d7393
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  virtiofsd: Store every lo_inode's parent_dev

We want to detect mount points in the shared tree.  We report them to
the guest by setting the FUSE_ATTR_SUBMOUNT flag in fuse_attr.flags, but
because the FUSE client will create a submount for every directory that
has this flag set, we must do this only for the actual mount points.

We can detect mount points by comparing a directory's st_dev with its
parent's st_dev.  To be able to do so, we need to store the parent's
st_dev in the lo_inode object.

Note that mount points need not necessarily be directories; a single
file can be a mount point as well.  However, for the sake of simplicity
let us ignore any non-directory mount points for now.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200909184028.262297-6-mreitz@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 08dce386e77eb9ab044cb118e5391dc9ae11c5a8
      
https://github.com/qemu/qemu/commit/08dce386e77eb9ab044cb118e5391dc9ae11c5a8
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tools/virtiofsd/helper.c
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  virtiofsd: Announce sub-mount points

Whenever we encounter a directory with an st_dev that differs from that
of its parent, we set the FUSE_ATTR_SUBMOUNT flag so the guest can
create a submount for it.

Make this behavior optional, so submounts are only announced to the
guest with the announce_submounts option.  Some users may prefer the
current behavior, so that the guest learns nothing about the host mount
structure.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200909184028.262297-7-mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Manual merge


  Commit: 45ced7ca2f2767c046fb1b9980ba938ad526262e
      
https://github.com/qemu/qemu/commit/45ced7ca2f2767c046fb1b9980ba938ad526262e
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M tests/acceptance/boot_linux.py

  Log Message:
  -----------
  tests/acceptance/boot_linux: Accept SSH pubkey

Let download_cloudinit() take an optional pubkey, which subclasses of
BootLinux can pass through setUp().

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200909184028.262297-8-mreitz@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: WIllian Rampazzo <willianr@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: c93a656f7b6585d9b6f8639d1fbb74dd944be239
      
https://github.com/qemu/qemu/commit/c93a656f7b6585d9b6f8639d1fbb74dd944be239
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    A tests/acceptance/virtiofs_submounts.py
    A tests/acceptance/virtiofs_submounts.py.data/cleanup.sh
    A tests/acceptance/virtiofs_submounts.py.data/guest-cleanup.sh
    A tests/acceptance/virtiofs_submounts.py.data/guest.sh
    A tests/acceptance/virtiofs_submounts.py.data/host.sh

  Log Message:
  -----------
  tests/acceptance: Add virtiofs_submounts.py

This test invokes several shell scripts to create a random directory
tree full of submounts, and then check in the VM whether every submount
has its own ID and the structure looks as expected.

(Note that the test scripts must be non-executable, so Avocado will not
try to execute them as if they were tests on their own, too.)

Because at this commit's date it is unlikely that the Linux kernel on
the image provided by boot_linux.py supports submounts in virtio-fs, the
test will be cancelled if no custom Linux binary is provided through the
vmlinuz parameter.  (The on-image kernel can be used by providing an
empty string via vmlinuz=.)

So, invoking the test can be done as follows:
$ avocado run \
    tests/acceptance/virtiofs_submounts.py \
    -p vmlinuz=/path/to/linux/build/arch/x86/boot/bzImage

This test requires root privileges (through passwordless sudo -n),
because at this point, virtiofsd requires them.  (If you have a
timestamp_timeout period for sudoers (e.g. the default of 5 min), you
can provide this by executing something like "sudo true" before invoking
Avocado.)

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200909184028.262297-9-mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 091e3e3dbc499d84c004e1c50bc9870af37f6e99
      
https://github.com/qemu/qemu/commit/091e3e3dbc499d84c004e1c50bc9870af37f6e99
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M migration/block-dirty-bitmap.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/ericb/tags/pull-bitmaps-2020-10-26' 
into staging

bitmaps patches for 2020-10-26

- fix infloop on large bitmap granularity
- silence compiler warning

# gpg: Signature made Mon 26 Oct 2020 11:56:54 GMT
# gpg:                using RSA key 71C2CC22B1C4602927D2F3AAA7A16B4A2527436A
# gpg: Good signature from "Eric Blake <eblake@redhat.com>" [full]
# gpg:                 aka "Eric Blake (Free Software Programmer) 
<ebb9@byu.net>" [full]
# gpg:                 aka "[jpeg image of size 6874]" [full]
# Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2  F3AA A7A1 6B4A 2527 436A

* remotes/ericb/tags/pull-bitmaps-2020-10-26:
  migration/block-dirty-bitmap: fix uninitialized variable warning
  migration/block-dirty-bitmap: fix larger granularity bitmaps

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: d06edeca2f26d33f5823e6ab883408dab6ef25dc
      
https://github.com/qemu/qemu/commit/d06edeca2f26d33f5823e6ab883408dab6ef25dc
  Author: Yoshinori Sato <ysato@users.sourceforge.jp>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M include/elf.h

  Log Message:
  -----------
  elf: Add EM_RX definition

RX's ELF machine is not defined in "elf.h".
Added it.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200814131438.28406-1-ysato@users.sourceforge.jp>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 2f5af2dcf3cfd051e121fef2b861d46d113f1ac7
      
https://github.com/qemu/qemu/commit/2f5af2dcf3cfd051e121fef2b861d46d113f1ac7
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/timer/sh_timer.c

  Log Message:
  -----------
  hw/timer/sh_timer: Coding style clean-up

Replace TAB characters with spaces, put code after case-statement on
separate lines and add some curly braces in related lines to keep
checkpatch.pl happy.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20201020153935.54315-2-thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 97edd8ba4b167b6adfbda9598280e5b31270fd40
      
https://github.com/qemu/qemu/commit/97edd8ba4b167b6adfbda9598280e5b31270fd40
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/timer/sh_timer.c

  Log Message:
  -----------
  hw/timer/sh_timer: Silence warnings about missing fallthrough statements

When compiling with -Werror=implicit-fallthrough, gcc complains about
missing fallthrough annotations in this file. Looking at the code,
the fallthrough is very likely intended here, so add some comments
to silence the compiler warnings.

Fixes: cd1a3f6840e ("Stand-alone TMU emulation code")
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20201020153935.54315-3-thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 45514b48df9d46478b10929cdfe1b74f01dceb99
      
https://github.com/qemu/qemu/commit/45514b48df9d46478b10929cdfe1b74f01dceb99
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/timer/sh_timer.c

  Log Message:
  -----------
  hw/timer/sh_timer: Remove superfluous "break" statements

hw_error() is marked as QEMU_NORETURN, so the "break" statements
after this function are just dead code.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20201020153935.54315-4-thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 02b8e735c16d50e2108621a4af283989b38f508b
      
https://github.com/qemu/qemu/commit/02b8e735c16d50e2108621a4af283989b38f508b
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M target/sh4/op_helper.c
    M target/sh4/translate.c

  Log Message:
  -----------
  target/sh4: Update coding style to make checkpatch.pl happy

Avoid checkpatch.pl warnings in the next commit.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 23b5d9fa099aa2fcd89869a4fc581a26c63edb1a
      
https://github.com/qemu/qemu/commit/23b5d9fa099aa2fcd89869a4fc581a26c63edb1a
  Author: Lichang Zhao <zhaolichang@huawei.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M target/sh4/cpu.h
    M target/sh4/op_helper.c
    M target/sh4/translate.c

  Log Message:
  -----------
  target/sh4: fix some comment spelling errors

There are many spelling errors in the comments of target/sh4.
Use spellcheck to check the spelling errors, then fix them.

Signed-off-by: zhaolichang <zhaolichang@huawei.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Philippe Mathieu-Daude<f4bug@amsat.org>
Message-Id: <20201009064449.2336-10-zhaolichang@huawei.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 9784143808a0692adf98578e4ba89170c83da354
      
https://github.com/qemu/qemu/commit/9784143808a0692adf98578e4ba89170c83da354
  Author: Lichang Zhao <zhaolichang@huawei.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M target/rx/op_helper.c
    M target/rx/translate.c

  Log Message:
  -----------
  target/rx: Fix some comment spelling errors

There are many spelling errors in the comments of target/rx.
Use spellcheck to check the spelling errors, then fix them.

Signed-off-by: zhaolichang <zhaolichang@huawei.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Philippe Mathieu-Daude<f4bug@amsat.org>
Message-Id: <20201009064449.2336-5-zhaolichang@huawei.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 81c76433407a1c5b5560a3b8fb593671667e9b13
      
https://github.com/qemu/qemu/commit/81c76433407a1c5b5560a3b8fb593671667e9b13
  Author: Chetan Pant <chetan4windows@gmail.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M target/rx/insns.decode

  Log Message:
  -----------
  target/rx: Fix Lesser GPL version number

There is no "version 2" of the "Lesser" General Public License.
It is either "GPL version 2.0" or "Lesser GPL version 2.1".
This patch replaces all occurrences of "Lesser GPL version 2" with
"Lesser GPL version 2.1" in comment section.

Signed-off-by: Chetan Pant <chetan4windows@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201023123840.19988-1-chetan4windows@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 5f62d00f4d293b79f6ccb017638c111e764e4f0b
      
https://github.com/qemu/qemu/commit/5f62d00f4d293b79f6ccb017638c111e764e4f0b
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: fix typo in trace event

Fix a typo in the sq doorbell trace event.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 195cc354696d75e9625cf303a0791404b3215501
      
https://github.com/qemu/qemu/commit/195cc354696d75e9625cf303a0791404b3215501
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: pass along the return value of dma_memory_rw

Some devices might want to know the return value of dma_memory_rw, so
pass it along instead of ignoring it.

There are no existing users of the return value, so this patch should be
safe.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Keith Busch <kbusch@kernel.org>


  Commit: 94cbcf530f9d9789b75ef1ae227ba4a4f702bf7d
      
https://github.com/qemu/qemu/commit/94cbcf530f9d9789b75ef1ae227ba4a4f702bf7d
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: handle dma errors

Handling DMA errors gracefully is required for the device to pass the
block/011 test ("disable PCI device while doing I/O") in the blktests
suite.

With this patch the device sets the Controller Fatal Status bit in the
CSTS register when failing to read from a submission queue or writing to
a completion queue; expecting the host to reset the controller.

If DMA errors occur at any other point in the execution of the command
(say, while mapping the PRPs), the command is aborted with a Data
Transfer Error status code.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: c6056bd1ce63d6d4eac6c54126c32838624efdac
      
https://github.com/qemu/qemu/commit/c6056bd1ce63d6d4eac6c54126c32838624efdac
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: commonize nvme_rw error handling

Move common error handling to a label.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 2750384669ee038bd1f1fa33bbd4a660c351ea90
      
https://github.com/qemu/qemu/commit/2750384669ee038bd1f1fa33bbd4a660c351ea90
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: alignment style fixes

Style fixes.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 9994f72bd8c379eda01503ef6a7b06b7900110c5
      
https://github.com/qemu/qemu/commit/9994f72bd8c379eda01503ef6a7b06b7900110c5
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: add a lba to bytes helper

Add the nvme_l2b helper and use it for converting NLB and SLBA to byte
counts and offsets.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: fd90f26cc732b5c0f51140ba0d1f7fd31e8bf910
      
https://github.com/qemu/qemu/commit/fd90f26cc732b5c0f51140ba0d1f7fd31e8bf910
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: fix endian conversion

The raw NLB field is a 16 bit value, so use le16_to_cpu instead of
le32_to_cpu and cast to uint32_t before incrementing the value to not
wrap around.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


  Commit: e2f79209cd0129b8f27b87908de09cdc44a94baa
      
https://github.com/qemu/qemu/commit/e2f79209cd0129b8f27b87908de09cdc44a94baa
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/nvme.h
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: add symbolic command name to trace events

Add the symbolic command name to the pci_nvme_{io,admin}_cmd and
pci_nvme_rw trace events.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 6a09a3d737adbacd2b1d19596f0ac05de2a08aa7
      
https://github.com/qemu/qemu/commit/6a09a3d737adbacd2b1d19596f0ac05de2a08aa7
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/nvme.h
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: refactor aio submission

This pulls block layer aio submission/completion to common functions.

For completions, additionally map an AIO error to the Unrecovered Read
and Write Fault status codes.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 92a10ec17f3ae7221b23f3eaefa29066e10d7973
      
https://github.com/qemu/qemu/commit/92a10ec17f3ae7221b23f3eaefa29066e10d7973
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: default request status to success

Make the default request status NVME_SUCCESS so only error status codes
have to be set.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 6e0ac3a03f3ab0d0b69d086e3226bac77a20a468
      
https://github.com/qemu/qemu/commit/6e0ac3a03f3ab0d0b69d086e3226bac77a20a468
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: harden cmb access

Since the controller has only supported PRPs so far it has not been
required to check the ending address (addr + len - 1) of the CMB access
for validity since it has been guaranteed to be in range of the CMB.

This changes when the controller adds support for SGLs (next patch), so
add that check.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: cba0a8a344fea94aa2212e105611b8e099343cb1
      
https://github.com/qemu/qemu/commit/cba0a8a344fea94aa2212e105611b8e099343cb1
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: add support for scatter gather lists

For now, support the Data Block, Segment and Last Segment descriptor
types.

See NVM Express 1.3d, Section 4.4 ("Scatter Gather List (SGL)").

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: d97eee64fef35655bd06f5c44a07fdb83a6274ae
      
https://github.com/qemu/qemu/commit/d97eee64fef35655bd06f5c44a07fdb83a6274ae
  Author: Gollu Appalanaidu <anaidu.gollu@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: add support for sgl bit bucket descriptor

This adds support for SGL descriptor type 0x1 (bit bucket descriptor).
See the NVM Express v1.3d specification, Section 4.4 ("Scatter Gather
List (SGL)").

Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 7c9c350c15289b601766c391024e0bfea8a36ee0
      
https://github.com/qemu/qemu/commit/7c9c350c15289b601766c391024e0bfea8a36ee0
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: refactor identify active namespace id list

Prepare to support inactive namespaces.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 7f0f1acedf159d00684d495d7a14d52220c1d16b
      
https://github.com/qemu/qemu/commit/7f0f1acedf159d00684d495d7a14d52220c1d16b
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/meson.build
    A hw/block/nvme-ns.c
    A hw/block/nvme-ns.h
    M hw/block/nvme.c
    M hw/block/nvme.h
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: support multiple namespaces

This adds support for multiple namespaces by introducing a new 'nvme-ns'
device model. The nvme device creates a bus named from the device name
('id'). The nvme-ns devices then connect to this and registers
themselves with the nvme device.

This changes how an nvme device is created. Example with two namespaces:

  -drive file=nvme0n1.img,if=none,id=disk1
  -drive file=nvme0n2.img,if=none,id=disk2
  -device nvme,serial=deadbeef,id=nvme0
  -device nvme-ns,drive=disk1,bus=nvme0,nsid=1
  -device nvme-ns,drive=disk2,bus=nvme0,nsid=2

The drive property is kept on the nvme device to keep the change
backward compatible, but the property is now optional. Specifying a
drive for the nvme device will always create the namespace with nsid 1.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>


  Commit: c1e18246618b3401ba1769bf88d2bcdf49e947aa
      
https://github.com/qemu/qemu/commit/c1e18246618b3401ba1769bf88d2bcdf49e947aa
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M MAINTAINERS
    A docs/specs/nvme.txt
    M docs/specs/pci-ids.txt
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: allocate pci id for nvme

The emulated nvme device (hw/block/nvme.c) is currently using an
internal Intel device id.

Prepare to change that by allocating a device id under the 1b36 (Red
Hat, Inc.) vendor id.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 6eb7a071292a2f11065127ac152fa24248806021
      
https://github.com/qemu/qemu/commit/6eb7a071292a2f11065127ac152fa24248806021
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/nvme.h
    M hw/core/machine.c

  Log Message:
  -----------
  hw/block/nvme: change controller pci id

There are two reasons for changing this:

  1. The nvme device currently uses an internal Intel device id.

  2. Since commits "nvme: fix write zeroes offset and count" and "nvme:
     support multiple namespaces" the controller device no longer has
     the quirks that the Linux kernel think it has.

     As the quirks are applied based on pci vendor and device id, change
     them to get rid of the quirks.

To keep backward compatibility, add a new 'use-intel-id' parameter to
the nvme device to force use of the Intel vendor and device id. This is
off by default but add a compat property to set this for 5.1 machines
and older. If a 5.1 machine is booted (or the use-intel-id parameter is
explicitly set to true), the Linux kernel will just apply these
unnecessary quirks:

  1. NVME_QUIRK_IDENTIFY_CNS which says that the device does not support
     anything else than values 0x0 and 0x1 for CNS (Identify Namespace
     and Identify Namespace). With multiple namespace support, this just
     means that the kernel will "scan" namespaces instead of using
     "Active Namespace ID list" (CNS 0x2).

  2. NVME_QUIRK_DISABLE_WRITE_ZEROES. The nvme device started out with a
     broken Write Zeroes implementation which has since been fixed in
     commit 9d6459d21a6e ("nvme: fix write zeroes offset and count").

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>


  Commit: b20804946bce7545ec9758d82806ee30a21b6211
      
https://github.com/qemu/qemu/commit/b20804946bce7545ec9758d82806ee30a21b6211
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: update nsid when registered

If the user does not specify an nsid parameter on the nvme-ns device,
nvme_register_namespace will find the first free namespace id and assign
that.

This fix makes sure the assigned id is saved.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>


  Commit: 4acfca29dbca858c14ed4f14c971fcdd9d1f6a52
      
https://github.com/qemu/qemu/commit/4acfca29dbca858c14ed4f14c971fcdd9d1f6a52
  Author: Ani Sinha <ani@anisinha.ca>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M contrib/gitdm/group-map-individuals

  Log Message:
  -----------
  Adding ani's email as an individual contributor

Ani is an individual contributor into qemu project. Adding my email into the
correct file to reflect so.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201007161940.1478-1-ani@anisinha.ca>
Message-Id: <20201021163136.27324-2-alex.bennee@linaro.org>


  Commit: 52812435bb1a830ddeccca653558b9fc088dc077
      
https://github.com/qemu/qemu/commit/52812435bb1a830ddeccca653558b9fc088dc077
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M contrib/gitdm/group-map-individuals

  Log Message:
  -----------
  contrib/gitdm: Add more individual contributors

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Subbaraya Sundeep <sundeep.lkml@gmail.com>
Acked-by: Michael Rolnik <mrolnik@gmail.com>
Acked-by: Thomas Huth <huth@tuxfamily.org>
Acked-by: James Hogan <jhogan@kernel.org>
Acked-by: Artyom Tarasenko <atar4qemu@gmail.com>
Message-id: <20201004182506.2038515-1-f4bug@amsat.org>
Message-Id: <20201021163136.27324-3-alex.bennee@linaro.org>


  Commit: 5ed7ca318541133de14de538f2c67d8c6b08b861
      
https://github.com/qemu/qemu/commit/5ed7ca318541133de14de538f2c67d8c6b08b861
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M tests/docker/dockerfiles/centos7.docker
    M tests/docker/dockerfiles/centos8.docker

  Log Message:
  -----------
  tests/docker/dockerfiles/centos: Use SDL2 instead of SDL1

We do not support SDL1 in QEMU anymore. Use SDL2 instead.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201021072308.9224-1-thuth@redhat.com>
Message-Id: <20201021163136.27324-4-alex.bennee@linaro.org>


  Commit: faf9828e2fbb62cb2edaeeaa48449193d952016f
      
https://github.com/qemu/qemu/commit/faf9828e2fbb62cb2edaeeaa48449193d952016f
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M .gitlab-ci.d/check-patch.py

  Log Message:
  -----------
  gitlab: skip checkpatch.pl checks if no commit delta on branch

If the current branch is synced to the current upstream git master,
there are no commits that need checking. This causes checkpatch.pl
to print an error that it found no commits. We need to avoid calling
checkpatch.pl in this case.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201019143537.283094-2-berrange@redhat.com>
Message-Id: <20201021163136.27324-5-alex.bennee@linaro.org>


  Commit: 2d4274d6fe97da3e13ae21720ef0b57d6c3dc980
      
https://github.com/qemu/qemu/commit/2d4274d6fe97da3e13ae21720ef0b57d6c3dc980
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts: fix error from checkpatch.pl when no commits are found

The error message was supposed to mention the input revision list start
point, not the branch flag.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201019143537.283094-3-berrange@redhat.com>
Message-Id: <20201021163136.27324-6-alex.bennee@linaro.org>


  Commit: 0395b19438bd708f98280f87067870743a69a25d
      
https://github.com/qemu/qemu/commit/0395b19438bd708f98280f87067870743a69a25d
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M tests/acceptance/reverse_debugging.py

  Log Message:
  -----------
  tests/acceptance: pick a random gdb port for reverse debugging

Currently the test randomly fails if you are using a shared machine
due to contention on the well known port 1234. We can ameliorate this
a bit by picking a random non-ephemeral port although it doesn't
totally avoid the problem. While we could use a totally unique socket
address for debugging it is fiddly to probe for gdb support. While gdb
socket debugging is not yet ubiquitous this a sub-optimal but workable
option.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201021163136.27324-7-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>


  Commit: 8d77ce1d89a208e2de14dc216e42a54657cdc614
      
https://github.com/qemu/qemu/commit/8d77ce1d89a208e2de14dc216e42a54657cdc614
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M .gitlab-ci.yml

  Log Message:
  -----------
  gitlab-ci: Clone from GitLab itself

Let GitLab runners use GitLab repository directly.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201022123302.2884788-1-philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>


  Commit: c8e6cfba1291df2202bf406bb5137c9d365505d1
      
https://github.com/qemu/qemu/commit/c8e6cfba1291df2202bf406bb5137c9d365505d1
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  makefile: handle -n / -k / -q correctly

Use $(findstring) instead of $(filter) to detect -n/-k
as different versions of MAKE fill in $(MAKEFLAGS) differently.
Do not bother running ninja at all if -nq is passed.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201026155854.3074290-1-pbonzini@redhat.com>


  Commit: fca9d723232a8bc756ca74982ee342f73ebf833c
      
https://github.com/qemu/qemu/commit/fca9d723232a8bc756ca74982ee342f73ebf833c
  Author: David Edmondson <david.edmondson@oracle.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M scripts/qmp/qmp-shell

  Log Message:
  -----------
  qmp-shell: Sort by key when pretty-printing

If the user selects pretty-printing (-p) the contents of any
dictionaries in the output are sorted by key.

Signed-off-by: David Edmondson <david.edmondson@oracle.com>
Message-Id: <20201013141414.18398-1-david.edmondson@oracle.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 36006046675228cf2fec904e717d96ca816cc21a
      
https://github.com/qemu/qemu/commit/36006046675228cf2fec904e717d96ca816cc21a
  Author: John Snow <jsnow@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M scripts/qmp/qmp

  Log Message:
  -----------
  scripts/qmp: delete 'qmp' script

This script has not seen a patch that was specifically for this script
since it was moved to this location in 2013, and I doubt it is used. It
uses "man qmp" for its help message, which does not exist. It also
presumes there is a manual page for qmp-XXX, for each defined qmp
command XXX. I don't think that's true.

The format it expects arguments in is something like:

block-dirty-bitmap-add --node=foo --name=bar

and has no capacity to support nested JSON arguments, either.

Most developers use either qmp-shell or socat (or pasting JSON directly
into qmp stdio), so this duplication and additional alternate syntax is
not helpful.

Remove it. Leave a breadcrumb script just in case, to be removed next
release cycle.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20201019210430.1063390-1-jsnow@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: d55450df995d6223486db11c66491cbf6c131523
      
https://github.com/qemu/qemu/commit/d55450df995d6223486db11c66491cbf6c131523
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M include/migration/vmstate.h
    M migration/block.c
    M migration/migration.c
    M migration/migration.h
    M migration/page_cache.c
    M migration/postcopy-ram.c
    M migration/ram.c
    M migration/rdma.c
    M migration/savevm.c
    M migration/trace-events
    M migration/vmstate-types.c
    M migration/vmstate.c
    M tests/qtest/migration-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20201026a' 
into staging

migration pull: 2020-10-26

Another go at Peter's postcopy fixes

Cleanups from Bihong Yu and Peter Maydell.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

# gpg: Signature made Mon 26 Oct 2020 16:17:03 GMT
# gpg:                using RSA key 45F5C71B4A0CB7FB977A9FA90516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" 
[full]
# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A  9FA9 0516 331E BC5B FDE7

* remotes/dgilbert/tags/pull-migration-20201026a:
  migration-test: Only hide error if !QTEST_LOG
  migration/postcopy: Release fd before going into 'postcopy-pause'
  migration: Sync requested pages after postcopy recovery
  migration: Maintain postcopy faulted addresses
  migration: Introduce migrate_send_rp_message_req_pages()
  migration: Pass incoming state into qemu_ufd_copy_ioctl()
  migration: using trace_ to replace DPRINTF
  migration: Delete redundant spaces
  migration: Open brace '{' following function declarations go on the next line
  migration: Do not initialise statics and globals to 0 or NULL
  migration: Add braces {} for if statement
  migration: Open brace '{' following struct go on the same line
  migration: Add spaces around operator
  migration: Don't use '#' flag of printf format
  migration: Do not use C99 // comments
  migration: Drop unused VMSTATE_FLOAT64 support

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 8c125590dfa33699a267c797a41939c1ac8b77bf
      
https://github.com/qemu/qemu/commit/8c125590dfa33699a267c797a41939c1ac8b77bf
  Author: Keith Busch <kbusch@kernel.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: remove pointless rw indirection

The code switches on the opcode to invoke a function specific to that
opcode. There's no point in consolidating back to a common function that
just switches on that same opcode without any actual common code.
Restore the opcode specific behavior without going back through another
level of switches.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: a740facfbd05c9dd630e1f992a9dc6b5444096a7
      
https://github.com/qemu/qemu/commit/a740facfbd05c9dd630e1f992a9dc6b5444096a7
  Author: Keith Busch <kbusch@kernel.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: fix log page offset check

Return error if the requested offset starts after the size of the log
being returned. Also, move the check for earlier in the function so
we're not doing unnecessary calculations.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed- by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 2fbbecc5cd90ec00027a155f7044f2f70ed84f30
      
https://github.com/qemu/qemu/commit/2fbbecc5cd90ec00027a155f7044f2f70ed84f30
  Author: Keith Busch <kbusch@kernel.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: support per-namespace smart log

Let the user specify a specific namespace if they want to get access
stats for a specific namespace.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 492f9a8d79f2e815007e985cad8dd73b713722f0
      
https://github.com/qemu/qemu/commit/492f9a8d79f2e815007e985cad8dd73b713722f0
  Author: Keith Busch <kbusch@kernel.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: validate command set selected

Fail to start the controller if the user requests a command set that the
controller does not support.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 8c5cea85934eb7b580ced14f7f188e19880d4c1c
      
https://github.com/qemu/qemu/commit/8c5cea85934eb7b580ced14f7f188e19880d4c1c
  Author: Keith Busch <kbusch@kernel.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: support for admin-only command set

Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 1b48e4611a7a3ee3065d3bb8428f5f6acb5232fe
      
https://github.com/qemu/qemu/commit/1b48e4611a7a3ee3065d3bb8428f5f6acb5232fe
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: reject io commands if only admin command set selected

If the host sets CC.CSS to 111b, all commands submitted to I/O queues
should be completed with status Invalid Command Opcode.

Note that this is technically a v1.4 feature, but it does not hurt to
implement before we finally bump the reported version implemented.

Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>


  Commit: 976951048c2fb31ba1622c36d25b4cd69bea5a64
      
https://github.com/qemu/qemu/commit/976951048c2fb31ba1622c36d25b4cd69bea5a64
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: add nsid to get/setfeat trace events

Include the namespace id in the pci_nvme_{get,set}feat trace events.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>


  Commit: dcd1496132704ca16fc857a40370a6b9209341ae
      
https://github.com/qemu/qemu/commit/dcd1496132704ca16fc857a40370a6b9209341ae
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: add trace event for requests with non-zero status code

If a command results in a non-zero status code, trace it.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>


  Commit: b865cabf735be793789ad2c7eac97f47a1325966
      
https://github.com/qemu/qemu/commit/b865cabf735be793789ad2c7eac97f47a1325966
  Author: Dmitry Fomichev <dmitry.fomichev@wdc.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme-ns.c

  Log Message:
  -----------
  hw/block/nvme: report actual LBA data shift in LBAF

Calculate the data shift value to report based on the set value of
logical_block_size device property.

In the process, use a local variable to calculate the LBA format
index instead of the hardcoded value 0. This makes the code more
readable and it will make it easier to add support for multiple LBA
formats in the future.

Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 28fee5b5d02d59a2b039c71a0a72292b1bc7f75b
      
https://github.com/qemu/qemu/commit/28fee5b5d02d59a2b039c71a0a72292b1bc7f75b
  Author: Gollu Appalanaidu <anaidu.gollu@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: fix prp mapping status codes

Address 0 is not an invalid address. Remove those invalikd checks.

Unaligned PRP2 and PRP list entries should result in Invalid PRP Offset
status code and not Invalid Field. Fix that.

See NVMe Express v1.3d, Section 4.3 ("Physical Region Page Entry and
List").

Suggested-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 482e97fcfad6672d2849f2fe36bd460d70468b0a
      
https://github.com/qemu/qemu/commit/482e97fcfad6672d2849f2fe36bd460d70468b0a
  Author: Gollu Appalanaidu <anaidu.gollu@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: fix create IO SQ/CQ status codes

Replace the Invalid Field in Command with the Invalid PRP Offset status
code in the nvme_create_{cq,sq} functions. Also, allow PRP1 to be
address 0x0.

Also replace the Completion Queue Invalid status code returned in
nvme_create_cq when the the queue identifier is invalid with the Invalid
Queue Identifier. The Completion Queue Invalid status code is
exclusively for indicating that the completion queue identifer given
when creating a submission queue is invalid.

See NVM Express v1.3d, Section 5.3 ("Create I/O Completion Queue
command") and 5.4("Create I/O Submission Queue command").

Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 843c8f91a7ad63f8f3e4e564d3f41f3d030ab8a9
      
https://github.com/qemu/qemu/commit/843c8f91a7ad63f8f3e4e564d3f41f3d030ab8a9
  Author: Gollu Appalanaidu <anaidu.gollu@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: fix queue identifer validation

The nvme_check_{sq,cq} functions check if the given queue identifer is
valid *and* that the queue exists. Thus, the function return value
cannot simply be inverted to check if the identifer is valid and that
the queue does *not* exist.

Replace the call with an OR'ed version of the checks.

Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 0b6a03c044b6b0b09ad590c0d8b1bc60f12b9612
      
https://github.com/qemu/qemu/commit/0b6a03c044b6b0b09ad590c0d8b1bc60f12b9612
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M linux-user/aarch64/signal.c

  Log Message:
  -----------
  linux-user/aarch64: Reset btype for signals

The kernel sets btype for the signal handler as if for a call.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-2-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: be5d6f4884021208ae0e73379c83e51500ad3a8d
      
https://github.com/qemu/qemu/commit/be5d6f4884021208ae0e73379c83e51500ad3a8d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M include/exec/cpu-all.h
    M linux-user/mmap.c
    M linux-user/syscall_defs.h
    M target/arm/cpu.h
    M target/arm/translate-a64.c

  Log Message:
  -----------
  linux-user: Set PAGE_TARGET_1 for TARGET_PROT_BTI

Transform the prot bit to a qemu internal page bit, and save
it in the page tables.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-3-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 069175bfd821a9ef16b0110b92b2b6116f981fc0
      
https://github.com/qemu/qemu/commit/069175bfd821a9ef16b0110b92b2b6116f981fc0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M include/elf.h

  Log Message:
  -----------
  include/elf: Add defines related to GNU property notes for AArch64

These are all of the defines required to parse
GNU_PROPERTY_AARCH64_FEATURE_1_AND, copied from binutils.
Other missing defines related to other GNU program headers
and notes are elided for now.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-4-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 2b323087b546553408c69dd6e92c5d492a49b003
      
https://github.com/qemu/qemu/commit/2b323087b546553408c69dd6e92c5d492a49b003
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user/elfload: Avoid leaking interp_name using GLib memory API

Fix an unlikely memory leak in load_elf_image().

Fixes: bf858897b7 ("linux-user: Re-use load_elf_image for the main binary.")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-5-richard.henderson@linaro.org
Message-Id: <20201003174944.1972444-1-f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: e5eaf570a3df577e09347ba071841caec8b61372
      
https://github.com/qemu/qemu/commit/e5eaf570a3df577e09347ba071841caec8b61372
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user/elfload: Fix coding style in load_elf_image

Fixing this now will clarify following patches.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-6-richard.henderson@linaro.org
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 4d9d535a8a52bf9ccc2c325b88498b35b6cc579d
      
https://github.com/qemu/qemu/commit/4d9d535a8a52bf9ccc2c325b88498b35b6cc579d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user/elfload: Adjust iteration over phdr

The second loop uses a loop induction variable, and the first
does not.  Transform the first to match the second, to simplify
a following patch moving code between them.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-7-richard.henderson@linaro.org
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 8a1a5274c9395e2d92aaf6126379f58804a82aca
      
https://github.com/qemu/qemu/commit/8a1a5274c9395e2d92aaf6126379f58804a82aca
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user/elfload: Move PT_INTERP detection to first loop

For BTI, we need to know if the executable is static or dynamic,
which means looking for PT_INTERP earlier.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-8-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: c7f17e7bd744dceff5708346d7c28ea2a08b7c18
      
https://github.com/qemu/qemu/commit/c7f17e7bd744dceff5708346d7c28ea2a08b7c18
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user/elfload: Use Error for load_elf_image

This is a bit clearer than open-coding some of this
with a bare c string.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-9-richard.henderson@linaro.org
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 808f656318109dfcb1c662002b0ebcb77d08c35a
      
https://github.com/qemu/qemu/commit/808f656318109dfcb1c662002b0ebcb77d08c35a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user/elfload: Use Error for load_elf_interp

This is slightly clearer than just using strerror, though
the different forms produced by error_setg_file_open and
error_setg_errno isn't entirely convenient.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-10-richard.henderson@linaro.org
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 83f990eb5adb898200b2290f3d89281ef60bc5c5
      
https://github.com/qemu/qemu/commit/83f990eb5adb898200b2290f3d89281ef60bc5c5
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M linux-user/elfload.c
    M linux-user/qemu.h

  Log Message:
  -----------
  linux-user/elfload: Parse NT_GNU_PROPERTY_TYPE_0 notes

This is generic support, with the code disabled for all targets.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-11-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: e8384b376e4c079cf05dfe158ed28455377b7cfd
      
https://github.com/qemu/qemu/commit/e8384b376e4c079cf05dfe158ed28455377b7cfd
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user/elfload: Parse GNU_PROPERTY_AARCH64_FEATURE_1_AND

Use the new generic support for NT_GNU_PROPERTY_TYPE_0.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-12-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 1d9ac91baf220367e68ca6a74955f2d60a4fc36b
      
https://github.com/qemu/qemu/commit/1d9ac91baf220367e68ca6a74955f2d60a4fc36b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M tests/tcg/aarch64/Makefile.target
    A tests/tcg/aarch64/bti-1.c
    A tests/tcg/aarch64/bti-2.c
    A tests/tcg/aarch64/bti-crt.inc.c
    M tests/tcg/configure.sh

  Log Message:
  -----------
  tests/tcg/aarch64: Add bti smoke tests

The note test requires gcc 10 for -mbranch-protection=standard.
The mmap test uses PROT_BTI and does not require special compiler support.

Acked-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201021173749.111103-13-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 83d5e19d3eedcf533d8be009a03c167b7e1ccf2e
      
https://github.com/qemu/qemu/commit/83d5e19d3eedcf533d8be009a03c167b7e1ccf2e
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/highbank.c

  Log Message:
  -----------
  hw/arm/highbank: Silence warnings about missing fallthrough statements

When compiling with -Werror=implicit-fallthrough, gcc complains about
missing fallthrough annotations in this file. Looking at the code,
the fallthrough is very likely intended here, so add some comments
to silence the compiler warnings.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-id: 20201020105938.23209-1-thuth@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7854104897444027759d805c133d9ea16c6a6c47
      
https://github.com/qemu/qemu/commit/7854104897444027759d805c133d9ea16c6a6c47
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/xlnx-versal-virt.c

  Log Message:
  -----------
  hw/arm: fix min_cpus for xlnx-versal-virt platform

This patch sets min_cpus field for xlnx-versal-virt platform,
because it always creates XLNX_VERSAL_NR_ACPUS cpus even with
-smp 1 command line option.

Signed-off-by: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-id: 160343854912.8460.17915238517799132371.stgit@pasha-ThinkPad-X280
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 2ac88848cb03605e2fae6a035650eea461218af2
      
https://github.com/qemu/qemu/commit/2ac88848cb03605e2fae6a035650eea461218af2
  Author: Havard Skinnemoen <hskinnemoen@google.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/timer/npcm7xx_timer.c

  Log Message:
  -----------
  Move npcm7xx_timer_reached_zero call out of npcm7xx_timer_pause

This allows us to reuse npcm7xx_timer_pause for the watchdog timer.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7d378ed6e3b4a26f4da887fcccc4c6f1db3dcd42
      
https://github.com/qemu/qemu/commit/7d378ed6e3b4a26f4da887fcccc4c6f1db3dcd42
  Author: Hao Wu <wuhaotsh@google.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M MAINTAINERS
    M hw/arm/npcm7xx.c
    M hw/misc/npcm7xx_clk.c
    M hw/timer/npcm7xx_timer.c
    M include/hw/misc/npcm7xx_clk.h
    M include/hw/timer/npcm7xx_timer.h
    M tests/qtest/meson.build
    A tests/qtest/npcm7xx_watchdog_timer-test.c

  Log Message:
  -----------
  hw/timer: Adding watchdog for NPCM7XX Timer.

The watchdog is part of NPCM7XX's timer module. Its behavior is
controlled by the WTCR register in the timer.

When enabled, the watchdog issues an interrupt signal after a pre-set
amount of cycles, and issues a reset signal shortly after that.

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Signed-off-by: Hao Wu <wuhaotsh@google.com>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: deleted blank line at end of npcm_watchdog_timer-test.c]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 326ccfe240ca9ef4f659a241b39390fa956e999b
      
https://github.com/qemu/qemu/commit/326ccfe240ca9ef4f659a241b39390fa956e999b
  Author: Havard Skinnemoen <hskinnemoen@google.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M docs/system/arm/nuvoton.rst
    M hw/arm/npcm7xx.c
    M hw/misc/meson.build
    A hw/misc/npcm7xx_rng.c
    M hw/misc/trace-events
    M include/hw/arm/npcm7xx.h
    A include/hw/misc/npcm7xx_rng.h
    M tests/qtest/meson.build
    A tests/qtest/npcm7xx_rng-test.c

  Log Message:
  -----------
  hw/misc: Add npcm7xx random number generator

The RNG module returns a byte of randomness when the Data Valid bit is
set.

This implementation ignores the prescaler setting, and loads a new value
into RNGD every time RNGCS is read while the RNG is enabled and random
data is available.

A qtest featuring some simple randomness tests is included.

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: e23e7b12594ec0804c2d9f509f71841c82a62d1c
      
https://github.com/qemu/qemu/commit/e23e7b12594ec0804c2d9f509f71841c82a62d1c
  Author: Havard Skinnemoen <hskinnemoen@google.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M docs/system/arm/nuvoton.rst
    M hw/arm/npcm7xx.c
    M hw/usb/hcd-ehci-sysbus.c
    M hw/usb/hcd-ehci.h
    M include/hw/arm/npcm7xx.h

  Log Message:
  -----------
  hw/arm/npcm7xx: Add EHCI and OHCI controllers

The NPCM730 and NPCM750 chips have a single USB host port shared between
a USB 2.0 EHCI host controller and a USB 1.1 OHCI host controller. This
adds support for both of them.

Testing notes:
  * With -device usb-kbd, qemu will automatically insert a full-speed
    hub, and the keyboard becomes controlled by the OHCI controller.
  * With -device usb-kbd,bus=usb-bus.0,port=1, the keyboard is directly
    attached to the port without any hubs, and the device becomes
    controlled by the EHCI controller since it's high speed capable.
  * With -device usb-kbd,bus=usb-bus.0,port=1,usb_version=1, the
    keyboard is directly attached to the port, but it only advertises
    itself as full-speed capable, so it becomes controlled by the OHCI
    controller.

In all cases, the keyboard device enumerates correctly.

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 526dbbe087475599589ada4df70a337c09ae0f3f
      
https://github.com/qemu/qemu/commit/526dbbe087475599589ada4df70a337c09ae0f3f
  Author: Havard Skinnemoen <hskinnemoen@google.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M docs/system/arm/nuvoton.rst
    M hw/arm/npcm7xx.c
    M hw/gpio/meson.build
    A hw/gpio/npcm7xx_gpio.c
    M hw/gpio/trace-events
    M include/hw/arm/npcm7xx.h
    A include/hw/gpio/npcm7xx_gpio.h
    M tests/qtest/meson.build
    A tests/qtest/npcm7xx_gpio-test.c

  Log Message:
  -----------
  hw/gpio: Add GPIO model for Nuvoton NPCM7xx

The NPCM7xx chips have multiple GPIO controllers that are mostly
identical except for some minor differences like the reset values of
some registers. Each controller controls up to 32 pins.

Each individual pin is modeled as a pair of unnamed GPIOs -- one for
emitting the actual pin state, and one for driving the pin externally.
Like the nRF51 GPIO controller, a gpio level may be negative, which
means the pin is not driven, or floating.

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a55aab618163f9ffd8b5cbf737d4e57875264510
      
https://github.com/qemu/qemu/commit/a55aab618163f9ffd8b5cbf737d4e57875264510
  Author: Zenghui Yu <yuzenghui@huawei.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/smmuv3.c

  Log Message:
  -----------
  hw/arm/smmuv3: Set the restoration priority of the vSMMUv3 explicitly

Ensure the vSMMUv3 will be restored before all PCIe devices so that DMA
translation can work properly during migration.

Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
Message-id: 20201019091508.197-1-yuzenghui@huawei.com
Acked-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 58b350280e9782bf564bf55cf872edb8143a49a8
      
https://github.com/qemu/qemu/commit/58b350280e9782bf564bf55cf872edb8143a49a8
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/bcm2836.c
    M include/hw/arm/bcm2836.h

  Log Message:
  -----------
  hw/arm/bcm2836: Restrict BCM283XInfo declaration to C source

No code out of bcm2836.c uses (or requires) the BCM283XInfo
declarations. Move it locally to the C source file.

Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201024170127.3592182-2-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 34d1a4f591efd22ed7ff9c883f1328eca6b0741f
      
https://github.com/qemu/qemu/commit/34d1a4f591efd22ed7ff9c883f1328eca6b0741f
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/bcm2836.c

  Log Message:
  -----------
  hw/arm/bcm2836: QOM'ify more by adding class_init() to each SoC type

Remove usage of TypeInfo::class_data. Instead fill the fields in
the corresponding class_init().

So far all children use the same values for almost all fields,
but we are going to add the BCM2711/BCM2838 SoC for the raspi4
machine which use different fields.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201024170127.3592182-3-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 25ea28845969c6f5b63b4b34c40c6cb743280b92
      
https://github.com/qemu/qemu/commit/25ea28845969c6f5b63b4b34c40c6cb743280b92
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/bcm2836.c

  Log Message:
  -----------
  hw/arm/bcm2836: Introduce BCM283XClass::core_count

The BCM2835 has only one core. Introduce the core_count field to
be able to use values different than BCM283X_NCPUS (4).

Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201024170127.3592182-4-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 96c741d7ce94741234e4ccad0d08c0055dd48c7e
      
https://github.com/qemu/qemu/commit/96c741d7ce94741234e4ccad0d08c0055dd48c7e
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/bcm2836.c

  Log Message:
  -----------
  hw/arm/bcm2836: Only provide "enabled-cpus" property to multicore SoCs

It makes no sense to set enabled-cpus=0 on single core SoCs.

Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201024170127.3592182-5-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: f5600924ad42fba8eb5e30778baff6b4a5644070
      
https://github.com/qemu/qemu/commit/f5600924ad42fba8eb5e30778baff6b4a5644070
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/bcm2836.c

  Log Message:
  -----------
  hw/arm/bcm2836: Split out common realize() code

The realize() function is clearly composed of two parts,
each described by a comment:

  void realize()
  {
     /* common peripherals from bcm2835 */
     ...
     /* bcm2836 interrupt controller (and mailboxes, etc.) */
     ...
   }

Split the two part, so we can reuse the common part with other
SoCs from this family.

Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201024170127.3592182-6-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: df6cf08dea890b691fafabd8a7ae8387ff2c8143
      
https://github.com/qemu/qemu/commit/df6cf08dea890b691fafabd8a7ae8387ff2c8143
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/bcm2836.c
    M hw/arm/raspi.c
    M include/hw/arm/bcm2836.h

  Log Message:
  -----------
  hw/arm/bcm2836: Introduce the BCM2835 SoC

Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201024170127.3592182-7-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: ac6bc6ebb44d252b75398fbde887084dfd7bd31c
      
https://github.com/qemu/qemu/commit/ac6bc6ebb44d252b75398fbde887084dfd7bd31c
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/raspi.c

  Log Message:
  -----------
  hw/arm/raspi: Add the Raspberry Pi A+ machine

The Pi A is almost the first machine released.
It uses a BCM2835 SoC which includes a ARMv6Z core.

Example booting the machine using content from [*]
(we use the device tree from the B model):

  $ qemu-system-arm -M raspi1ap -serial stdio \
      -kernel raspberrypi/firmware/boot/kernel.img \
      -dtb raspberrypi/firmware/boot/bcm2708-rpi-b-plus.dtb \
      -append 'earlycon=pl011,0x20201000 console=ttyAMA0'
  [    0.000000] Booting Linux on physical CPU 0x0
  [    0.000000] Linux version 4.19.118+ (dom@buildbot) (gcc version 4.9.3 
(crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1311 Mon Apr 27 14:16:15 BST 
2020
  [    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), 
cr=00c5387d
  [    0.000000] CPU: VIPT aliasing data cache, unknown instruction cache
  [    0.000000] OF: fdt: Machine model: Raspberry Pi Model B+
  ...

[*] 
http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel_1.20200512-2_armhf.deb

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201024170127.3592182-8-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 3c8f9927fd435bb8d4865c0f261ed206e14e139a
      
https://github.com/qemu/qemu/commit/3c8f9927fd435bb8d4865c0f261ed206e14e139a
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/raspi.c

  Log Message:
  -----------
  hw/arm/raspi: Add the Raspberry Pi Zero machine

Similarly to the Pi A, the Pi Zero uses a BCM2835 SoC (ARMv6Z core).

The only difference between the revision 1.2 and 1.3 is the latter
exposes a CSI camera connector. As we do not implement the Unicam
peripheral, there is no point in exposing a camera connector :)
Therefore we choose to model the 1.2 revision.

Example booting the machine using content from [*]:

  $ qemu-system-arm -M raspi0 -serial stdio \
      -kernel raspberrypi/firmware/boot/kernel.img \
      -dtb raspberrypi/firmware/boot/bcm2708-rpi-zero.dtb \
      -append 'printk.time=0 earlycon=pl011,0x20201000 console=ttyAMA0'
  [    0.000000] Booting Linux on physical CPU 0x0
  [    0.000000] Linux version 4.19.118+ (dom@buildbot) (gcc version 4.9.3 
(crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1311 Mon Apr 27 14:16:15 BST 
2020
  [    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), 
cr=00c5387d
  [    0.000000] CPU: VIPT aliasing data cache, unknown instruction cache
  [    0.000000] OF: fdt: Machine model: Raspberry Pi Zero
  ...

[*] 
http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel_1.20200512-2_armhf.deb

Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201024170127.3592182-9-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 5be94252d3497c29c0640e816903a148a4370153
      
https://github.com/qemu/qemu/commit/5be94252d3497c29c0640e816903a148a4370153
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/raspi.c

  Log Message:
  -----------
  hw/arm/raspi: Add the Raspberry Pi 3 model A+

The Pi 3A+ is a stripped down version of the 3B:
- 512 MiB of RAM instead of 1 GiB
- no on-board ethernet chipset

Add it as it is a closer match to what we model.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201024170127.3592182-10-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 43f828e155b443641765a1e933100a96f26be3dd
      
https://github.com/qemu/qemu/commit/43f828e155b443641765a1e933100a96f26be3dd
  Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/trace-events

  Log Message:
  -----------
  arm/trace: Fix hex printing

Use of 0x%d - make up our mind as 0x%x

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20201014193355.53074-1-dgilbert@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: f6f3c9b0f783d47ffab961ea18685e30a85f5818
      
https://github.com/qemu/qemu/commit/f6f3c9b0f783d47ffab961ea18685e30a85f5818
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M include/hw/clock.h

  Log Message:
  -----------
  hw/core/clock: provide the VMSTATE_ARRAY_CLOCK macro

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Damien Hedde <damien.hedde@greensocs.com>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a6414d3b59fe8666a7b093cdcf23c747ce3055b8
      
https://github.com/qemu/qemu/commit/a6414d3b59fe8666a7b093cdcf23c747ce3055b8
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/core/clock.c
    M hw/core/trace-events

  Log Message:
  -----------
  hw/core/clock: trace clock values in Hz instead of ns

The nanosecond unit greatly limits the dynamic range we can display in
clock value traces, for values in the order of 1GHz and more. The
internal representation can go way beyond this value and it is quite
common for today's clocks to be within those ranges.

For example, a frequency between 500MHz+ and 1GHz will be displayed as
1ns. Beyond 1GHz, it will show up as 0ns.

Replace nanosecond periods traces with frequencies in the Hz unit
to have more dynamic range in the trace output.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Damien Hedde <damien.hedde@greensocs.com>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 74de7145fd670bb8f86ceb2423c39c8dee37b820
      
https://github.com/qemu/qemu/commit/74de7145fd670bb8f86ceb2423c39c8dee37b820
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/bcm2835_peripherals.c
    M include/hw/arm/bcm2835_peripherals.h
    M include/hw/arm/raspi_platform.h

  Log Message:
  -----------
  hw/arm/raspi: fix CPRMAN base address

The CPRMAN (clock controller) was mapped at the watchdog/power manager
address. It was also split into two unimplemented peripherals (CM and
A2W) but this is really the same one, as shown by this extract of the
Raspberry Pi 3 Linux device tree:

    watchdog@7e100000 {
            compatible = "brcm,bcm2835-pm\0brcm,bcm2835-pm-wdt";
            [...]
            reg = <0x7e100000 0x114 0x7e00a000 0x24>;
            [...]
    };

    [...]
    cprman@7e101000 {
            compatible = "brcm,bcm2835-cprman";
            [...]
            reg = <0x7e101000 0x2000>;
            [...]
    };

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: fc14176ba23de1386d8172d86a8006d9f8a555fc
      
https://github.com/qemu/qemu/commit/fc14176ba23de1386d8172d86a8006d9f8a555fc
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/bcm2835_peripherals.c
    A hw/misc/bcm2835_cprman.c
    M hw/misc/meson.build
    M hw/misc/trace-events
    M include/hw/arm/bcm2835_peripherals.h
    A include/hw/misc/bcm2835_cprman.h
    A include/hw/misc/bcm2835_cprman_internals.h

  Log Message:
  -----------
  hw/arm/raspi: add a skeleton implementation of the CPRMAN

The BCM2835 CPRMAN is the clock manager of the SoC. It is composed of a
main oscillator, and several sub-components (PLLs, multiplexers, ...) to
generate the BCM2835 clock tree.

This commit adds a skeleton of the CPRMAN, with a dummy register
read/write implementation. It embeds the main oscillator (xosc) from
which all the clocks will be derived.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 1e986e25d03c0d579843c4d3e2915b2f4ac8e47f
      
https://github.com/qemu/qemu/commit/1e986e25d03c0d579843c4d3e2915b2f4ac8e47f
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/misc/bcm2835_cprman.c
    M include/hw/misc/bcm2835_cprman.h
    M include/hw/misc/bcm2835_cprman_internals.h

  Log Message:
  -----------
  hw/misc/bcm2835_cprman: add a PLL skeleton implementation

There are 5 PLLs in the CPRMAN, namely PLL A, C, D, H and B. All of them
take the xosc clock as input and produce a new clock.

This commit adds a skeleton implementation for the PLLs as sub-devices
of the CPRMAN. The PLLs are instantiated and connected internally to the
main oscillator.

Each PLL has 6 registers : CM, A2W_CTRL, A2W_ANA[0,1,2,3], A2W_FRAC. A
write to any of them triggers a call to the (not yet implemented)
pll_update function.

If the main oscillator changes frequency, an update is also triggered.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 6d2b874cf1a6f595df805835325e9124c26f3dbf
      
https://github.com/qemu/qemu/commit/6d2b874cf1a6f595df805835325e9124c26f3dbf
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/misc/bcm2835_cprman.c
    M include/hw/misc/bcm2835_cprman_internals.h

  Log Message:
  -----------
  hw/misc/bcm2835_cprman: implement PLLs behaviour

The CPRMAN PLLs generate a clock based on a prescaler, a multiplier and
a divider. The prescaler doubles the parent (xosc) frequency, then the
multiplier/divider are applied. The multiplier has an integer and a
fractional part.

This commit also implements the CPRMAN CM_LOCK register. This register
reports which PLL is currently locked. We consider a PLL has being
locked as soon as it is enabled (on real hardware, there is a delay
after turning a PLL on, for it to stabilize).

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 09d56bbc9bc2f40865764b06b9830a9504bd3f9a
      
https://github.com/qemu/qemu/commit/09d56bbc9bc2f40865764b06b9830a9504bd3f9a
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/misc/bcm2835_cprman.c
    M include/hw/misc/bcm2835_cprman.h
    M include/hw/misc/bcm2835_cprman_internals.h

  Log Message:
  -----------
  hw/misc/bcm2835_cprman: add a PLL channel skeleton implementation

PLLs are composed of multiple channels. Each channel outputs one clock
signal. They are modeled as one device taking the PLL generated clock as
input, and outputting a new clock.

A channel shares the CM register with its parent PLL, and has its own
A2W_CTRL register. A write to the CM register will trigger an update of
the PLL and all its channels, while a write to an A2W_CTRL channel
register will update the required channel only.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 957458111280e7772cffc1ccbac75a5270e9267f
      
https://github.com/qemu/qemu/commit/957458111280e7772cffc1ccbac75a5270e9267f
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/misc/bcm2835_cprman.c

  Log Message:
  -----------
  hw/misc/bcm2835_cprman: implement PLL channels behaviour

A PLL channel is able to further divide the generated PLL frequency.
The divider is given in the CTRL_A2W register. Some channels have an
additional fixed divider which is always applied to the signal.

Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7281362484ac1c1bc854ca17291c4078e870eec2
      
https://github.com/qemu/qemu/commit/7281362484ac1c1bc854ca17291c4078e870eec2
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/misc/bcm2835_cprman.c
    M include/hw/misc/bcm2835_cprman.h
    M include/hw/misc/bcm2835_cprman_internals.h

  Log Message:
  -----------
  hw/misc/bcm2835_cprman: add a clock mux skeleton implementation

The clock multiplexers are the last clock stage in the CPRMAN. Each mux
outputs one clock signal that goes out of the CPRMAN to the SoC
peripherals.

Each mux has at most 10 sources. The sources 0 to 3 are common to all
muxes. They are:
   0. ground (no clock signal)
   1. the main oscillator (xosc)
   2. "test debug 0" clock
   3. "test debug 1" clock

Test debug 0 and 1 are actual clock muxes that can be used as sources to
other muxes (for debug purpose).

Sources 4 to 9 are mux specific and can be unpopulated (grounded). Those
sources are fed by the PLL channels outputs.

One corner case exists for DSI0E and DSI0P muxes. They have their source
number 4 connected to an intermediate multiplexer that can select
between PLLA-DSI0 and PLLD-DSI0 channel. This multiplexer is called
DSI0HSCK and is not a clock mux as such. It is really a simple mux from
the hardware point of view (see https://elinux.org/The_Undocumented_Pi).
This mux is not implemented in this commit.

Note that there is some muxes for which sources are unknown (because of
a lack of documentation). For those cases all the sources are connected
to ground in this implementation.

Each clock mux output is exported by the CPRMAN at the qdev level,
adding the suffix '-out' to the mux name to form the output clock name.
(E.g. the 'uart' mux sees its output exported as 'uart-out' at the
CPRMAN level.)

Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: fc9840850ba0eb3e61c81894bff3df12b0534497
      
https://github.com/qemu/qemu/commit/fc9840850ba0eb3e61c81894bff3df12b0534497
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/misc/bcm2835_cprman.c

  Log Message:
  -----------
  hw/misc/bcm2835_cprman: implement clock mux behaviour

A clock mux can be configured to select one of its 10 sources through
the CM_CTL register. It also embeds yet another clock divider, composed
of an integer part and a fractional part. The number of bits of each
part is mux dependent.

Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 502960ca04c15cc7e24f3e8f9e0d8070bc3d77d7
      
https://github.com/qemu/qemu/commit/502960ca04c15cc7e24f3e8f9e0d8070bc3d77d7
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/misc/bcm2835_cprman.c
    M include/hw/misc/bcm2835_cprman.h
    M include/hw/misc/bcm2835_cprman_internals.h

  Log Message:
  -----------
  hw/misc/bcm2835_cprman: add the DSI0HSCK multiplexer

This simple mux sits between the PLL channels and the DSI0E and DSI0P
clock muxes. This mux selects between PLLA-DSI0 and PLLD-DSI0 channel
and outputs the selected signal to source number 4 of DSI0E/P clock
muxes. It is controlled by the cm_dsi0hsck register.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 83ad469547812bb77faec1e98226f2859ab158d9
      
https://github.com/qemu/qemu/commit/83ad469547812bb77faec1e98226f2859ab158d9
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/misc/bcm2835_cprman.c
    M include/hw/misc/bcm2835_cprman_internals.h

  Log Message:
  -----------
  hw/misc/bcm2835_cprman: add sane reset values to the registers

Those reset values have been extracted from a Raspberry Pi 3 model B
v1.2, using the 2020-08-20 version of raspios. The dump was done using
the debugfs interface of the CPRMAN driver in Linux (under
'/sys/kernel/debug/clk'). Each exposed clock tree stage (PLLs, channels
and muxes) can be observed by reading the 'regdump' file (e.g.
'plla/regdump').

Those values are set by the Raspberry Pi firmware at boot time (Linux
expects them to be set when it boots up).

Some stages are not exposed by the Linux driver (e.g. the PLL B). For
those, the reset values are unknown and left to 0 which implies a
disabled output.

Once booted in QEMU, the final clock tree is very similar to the one
visible on real hardware. The differences come from some unimplemented
devices for which the driver simply disable the corresponding clock.

Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: aac63e0e6ea30b521370d3e3477cdcec17035d02
      
https://github.com/qemu/qemu/commit/aac63e0e6ea30b521370d3e3477cdcec17035d02
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/char/pl011.c
    M hw/char/trace-events
    M include/hw/char/pl011.h

  Log Message:
  -----------
  hw/char/pl011: add a clock input

Add a clock input to the PL011 UART so we can compute the current baud
rate and trace it. This is intended for developers who wish to use QEMU
to e.g. debug their firmware or to figure out the baud rate configured
by an unknown/closed source binary.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 581bb849f749b6c51864989094399c77283b3d6c
      
https://github.com/qemu/qemu/commit/581bb849f749b6c51864989094399c77283b3d6c
  Author: Luc Michel <luc@lmichel.fr>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/bcm2835_peripherals.c

  Log Message:
  -----------
  hw/arm/bcm2835_peripherals: connect the UART clock

Connect the 'uart-out' clock from the CPRMAN to the PL011 instance.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 4204c5f70360dc1e527e65eb225d0688993fdcef
      
https://github.com/qemu/qemu/commit/4204c5f70360dc1e527e65eb225d0688993fdcef
  Author: Shashi Mallela <shashi.mallela@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/Kconfig
    M hw/watchdog/Kconfig
    M hw/watchdog/meson.build
    A hw/watchdog/sbsa_gwdt.c
    A include/hw/watchdog/sbsa_gwdt.h

  Log Message:
  -----------
  hw/watchdog: Implement SBSA watchdog device

Generic watchdog device model implementation as per ARM SBSA v6.0

Signed-off-by: Shashi Mallela <shashi.mallela@linaro.org>
Message-id: 20201027015927.29495-2-shashi.mallela@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: baabe7d03c0bd57735cff998d2369c1a4f7cfb5c
      
https://github.com/qemu/qemu/commit/baabe7d03c0bd57735cff998d2369c1a4f7cfb5c
  Author: Shashi Mallela <shashi.mallela@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/arm/sbsa-ref.c

  Log Message:
  -----------
  hw/arm/sbsa-ref: add SBSA watchdog device

Included the newly implemented SBSA generic watchdog device model into
SBSA platform

Signed-off-by: Shashi Mallela <shashi.mallela@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20201027015927.29495-3-shashi.mallela@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 68d59c6d8d85ae176d3cb2cd20a48d6a090ba288
      
https://github.com/qemu/qemu/commit/68d59c6d8d85ae176d3cb2cd20a48d6a090ba288
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/core/ptimer.c

  Log Message:
  -----------
  hw/core/ptimer: Support ptimer being disabled by timer callback

In ptimer_reload(), we call the callback function provided by the
timer device that is using the ptimer.  This callback might disable
the ptimer.  The code mostly handles this correctly, except that
we'll still print the warning about "Timer with delta zero,
disabling" if the now-disabled timer happened to be set such that it
would fire again immediately if it were enabled (eg because the
limit/reload value is zero).

Suppress the spurious warning message and the unnecessary
repeat-deletion of the underlying timer in this case.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20201015151829.14656-2-peter.maydell@linaro.org


  Commit: 32bd322a0134ed89db00f2b9b3894982db3dedcb
      
https://github.com/qemu/qemu/commit/32bd322a0134ed89db00f2b9b3894982db3dedcb
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/timer/armv7m_systick.c
    M include/hw/timer/armv7m_systick.h

  Log Message:
  -----------
  hw/timer/armv7m_systick: Rewrite to use ptimers

The armv7m systick timer is a 24-bit decrementing, wrap-on-zero,
clear-on-write counter. Our current implementation has various
bugs and dubious workarounds in it (for instance see
https://bugs.launchpad.net/qemu/+bug/1872237).

We have an implementation of a simple decrementing counter
and we put a lot of effort into making sure it handles the
interesting corner cases (like "spend a cycle at 0 before
reloading") -- ptimer.

Rewrite the systick timer to use a ptimer rather than
a raw QEMU timer.

Unfortunately this is a migration compatibility break,
which will affect all M-profile boards.

Among other bugs, this fixes
https://bugs.launchpad.net/qemu/+bug/1872237 :
now writes to SYST_CVR when the timer is enabled correctly
do nothing; when the timer is enabled via SYST_CSR.ENABLE,
the ptimer code will (because of POLICY_NO_IMMEDIATE_RELOAD)
arrange that after one timer tick the counter is reloaded
from SYST_RVR and then counts down from there, as the
architecture requires.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201015151829.14656-3-peter.maydell@linaro.org


  Commit: 4a74626970ab4ea475263d155b10fb75c9af0b33
      
https://github.com/qemu/qemu/commit/4a74626970ab4ea475263d155b10fb75c9af0b33
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M scripts/tracetool.py
    M trace/control.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/stefanha-gitlab/tags/tracing-pull-request' into staging

Pull request

v2:
 * Fix Anthony Perard's email address [Philippe]

# gpg: Signature made Mon 26 Oct 2020 17:04:57 GMT
# gpg:                using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
# gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* remotes/stefanha-gitlab/tags/tracing-pull-request:
  Add execute bit back to scripts/tracetool.py
  trace/simple: Enable tracing on startup only if the user specifies a trace 
option

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: eaf1ffbe15fe67612c63d928415ee04eb4836dc7
      
https://github.com/qemu/qemu/commit/eaf1ffbe15fe67612c63d928415ee04eb4836dc7
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr_drc.c

  Log Message:
  -----------
  spapr: Clarify why DR connectors aren't user creatable

DR connector is a device that emulates a firmware abstraction used by PAPR
compliant guests to manage hotplug/dynamic-reconfiguration of PHBs, PCI
devices, memory, and CPUs.

It is internally created by the spapr platform and requires to be owned by
either the machine (PHBs, CPUs, memory) or by a PHB (PCI devices).

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160250199940.765467.6896806997161856576.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: dff669d6a15fb92b063cb5aa691b4bb498727404
      
https://github.com/qemu/qemu/commit/dff669d6a15fb92b063cb5aa691b4bb498727404
  Author: Laurent Vivier <lvivier@redhat.com>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr_events.c

  Log Message:
  -----------
  ppc/spapr: re-assert IRQs during event-scan if there are pending

If we hotplug a CPU during the first second of the kernel boot,
the IRQ can be sent to the kernel while the RTAS event handler
is not installed. The event is queued, but the kernel doesn't
collect it and ignores the new CPU.

As the code relies on edge-triggered IRQ, we can re-assert it
during the event-scan RTAS call if there are still pending
events (as it is already done in check-exception).

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20201015210318.117386-1-lvivier@redhat.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 2d154d2694009f9294e34875059e3a650ee5110a
      
https://github.com/qemu/qemu/commit/2d154d2694009f9294e34875059e3a650ee5110a
  Author: Elena Afanasova <eafanasova@gmail.com>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/net/spapr_llan.c

  Log Message:
  -----------
  hw/net: move allocation to the heap due to very large stack frame

[dwg] The stack frame itself probably isn't that big a deal, but
avoiding alloca() is generally recommended these days.

Signed-off-by: Elena Afanasova <eafanasova@gmail.com>
Message-Id: <8f07132478469b35fb50a4706691e2b56b10a67b.camel@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: ce316b5118c732c5fef23d7763b8c01054bfcdfa
      
https://github.com/qemu/qemu/commit/ce316b5118c732c5fef23d7763b8c01054bfcdfa
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr.c
    M hw/ppc/spapr_nvdimm.c
    M include/hw/ppc/spapr_nvdimm.h

  Log Message:
  -----------
  spapr: Move spapr_create_nvdimm_dr_connectors() to core machine code

The spapr_create_nvdimm_dr_connectors() function doesn't need to access
any internal details of the sPAPR NVDIMM implementation. Also, pretty
much like for the LMBs, only spapr_machine_init() is responsible for the
creation of DR connectors for NVDIMMs.

Make this clear by making this function static in hw/ppc/spapr.c.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160249772183.757627.7396780936543977766.stgit@bahia.lan>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 90689a32ce2b84580646956c2417343943e5df37
      
https://github.com/qemu/qemu/commit/90689a32ce2b84580646956c2417343943e5df37
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr_cpu_core.c

  Log Message:
  -----------
  spapr: Fix leak of CPU machine specific data

When a CPU core is being removed, the machine specific data of each
CPU thread object is leaked.

Fix this by calling the dedicated helper we have for that instead of
simply unparenting the CPU object. Call it from a separate loop in
spapr_cpu_core_unrealize() for symmetry with spapr_cpu_core_realize().

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160279670540.1808373.17319746576919615623.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: f1023d21e81b7bf523ddf2ac91a48117f20ef9d7
      
https://github.com/qemu/qemu/commit/f1023d21e81b7bf523ddf2ac91a48117f20ef9d7
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M accel/tcg/user-exec-stub.c
    M hw/ppc/spapr_cpu_core.c
    M target/ppc/translate_init.c.inc

  Log Message:
  -----------
  spapr: Unrealize vCPUs with qdev_unrealize()

Since we introduced CPU hot-unplug in sPAPR, we don't unrealize the
vCPU objects explicitly. Instead, we let QOM handle that for us under
object_property_del_all() when the CPU core object is finalized. The
only thing we do is calling cpu_remove_sync() to tear the vCPU thread
down.

This happens to work but it is ugly because:
- we call qdev_realize() but the corresponding qdev_unrealize() is
  buried deep in the QOM code
- we call cpu_remove_sync() to undo qemu_init_vcpu() called by
  ppc_cpu_realize() in target/ppc/translate_init.c.inc
- the CPU init and teardown paths aren't really symmetrical

The latter didn't bite us so far but a future patch that greatly
simplifies the CPU core realize path needs it to avoid a crash
in QOM.

For all these reasons, have ppc_cpu_unrealize() to undo the changes
of ppc_cpu_realize() by calling cpu_remove_sync() at the right place,
and have the sPAPR CPU core code to call qdev_unrealize().

This requires to add a missing stub because translate_init.c.inc is
also compiled for user mode.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160279671236.1808373.14732005038172874990.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 96598cdb14da4d48c68f178a7b5f8d47f5c638f4
      
https://github.com/qemu/qemu/commit/96598cdb14da4d48c68f178a7b5f8d47f5c638f4
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr_cpu_core.c

  Log Message:
  -----------
  spapr: Drop spapr_delete_vcpu() unused argument

The 'sc' argument is unused. Drop it.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160279671929.1808373.10333672533575251075.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 9370c28f12ca9336dd893e3b673a334c4938c58f
      
https://github.com/qemu/qemu/commit/9370c28f12ca9336dd893e3b673a334c4938c58f
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr_cpu_core.c

  Log Message:
  -----------
  spapr: Make spapr_cpu_core_unrealize() idempotent

spapr_cpu_core_realize() has a rollback path which partially duplicates
the code of spapr_cpu_core_unrealize().

Let's make spapr_cpu_core_unrealize() idempotent and call it instead. This
requires to:
- move the registration and unregistration of the reset handler around
  but it is harmless,
- allocate the array of vCPUs with g_new0() to be able to filter out
  unused slots,
- make sure to only unrealize vCPUs that have been already realized.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160279672626.1808373.14142129300586424514.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 3cff86f036142057368b6040a8c78dce225500c7
      
https://github.com/qemu/qemu/commit/3cff86f036142057368b6040a8c78dce225500c7
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr_cpu_core.c

  Log Message:
  -----------
  spapr: Simplify spapr_cpu_core_realize() and spapr_cpu_core_unrealize()

Now that the error path of spapr_cpu_core_realize() is just to call
idempotent spapr_cpu_core_unrealize() for rollback, no need to create
and realize the vCPUs in two separate loops.

Merge them and do them same in spapr_cpu_core_unrealize() for symmetry.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160279673321.1808373.2248221100790367912.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 84fd54961933a324e99bb52d0cc1de0ac9b7780e
      
https://github.com/qemu/qemu/commit/84fd54961933a324e99bb52d0cc1de0ac9b7780e
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/arm/virt.c
    M hw/i386/pc.c
    M hw/mem/pc-dimm.c
    M hw/ppc/spapr.c
    M include/hw/mem/pc-dimm.h

  Log Message:
  -----------
  pc-dimm: Drop @errp argument of pc_dimm_plug()

pc_dimm_plug() doesn't use it. It only aborts on error.

Drop @errp and adapt the callers accordingly.

[dwg: Removed unused label to fix compile]
Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160309728447.2739814.12831204841251148202.stgit@bahia.lan>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 65226afd90abba32d06dd5699655d85b83a84a61
      
https://github.com/qemu/qemu/commit/65226afd90abba32d06dd5699655d85b83a84a61
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  spapr: Use appropriate getter for PC_DIMM_ADDR_PROP

The PC_DIMM_ADDR_PROP property is defined as:

    DEFINE_PROP_UINT64(PC_DIMM_ADDR_PROP, PCDIMMDevice, addr, 0),

Use object_property_get_uint() instead of object_property_get_int().

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160309729609.2739814.4996614957953215591.stgit@bahia.lan>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 581778dd4727df93e3fe810d721e44157f64b97f
      
https://github.com/qemu/qemu/commit/581778dd4727df93e3fe810d721e44157f64b97f
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  spapr: Use appropriate getter for PC_DIMM_SLOT_PROP

The PC_DIMM_SLOT_PROP property is defined as:

    DEFINE_PROP_INT32(PC_DIMM_SLOT_PROP, PCDIMMDevice, slot,
                      PC_DIMM_UNASSIGNED_SLOT),

Use object_property_get_int() instead of object_property_get_uint().
Since spapr_memory_plug() only gets called if pc_dimm_pre_plug()
succeeded, we expect to have a valid >= 0 slot number, either because
the user passed a valid slot number or because pc_dimm_get_free_slot()
picked one up for us.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160309730758.2739814.15821922745424652642.stgit@bahia.lan>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 271ced1d62e0c46089fab47c8560c4e550806d69
      
https://github.com/qemu/qemu/commit/271ced1d62e0c46089fab47c8560c4e550806d69
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  spapr: Pass &error_abort when getting some PC DIMM properties

Both PC_DIMM_SLOT_PROP and PC_DIMM_ADDR_PROP are defined in the
default property list of the PC DIMM device class:

    DEFINE_PROP_UINT64(PC_DIMM_ADDR_PROP, PCDIMMDevice, addr, 0),

    DEFINE_PROP_INT32(PC_DIMM_SLOT_PROP, PCDIMMDevice, slot,
                      PC_DIMM_UNASSIGNED_SLOT),

They should thus be always gettable for both PC DIMMs and NVDIMMs.
An error in getting them can only be the result of a programming
error. It doesn't make much sense to propagate the error in this
case. Abort instead.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160309732180.2739814.7243774674998010907.stgit@bahia.lan>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 6e837f98ba03bab8008b7c1a6c125298ce41de7a
      
https://github.com/qemu/qemu/commit/6e837f98ba03bab8008b7c1a6c125298ce41de7a
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr.c
    M hw/ppc/spapr_nvdimm.c
    M include/hw/ppc/spapr_nvdimm.h

  Log Message:
  -----------
  spapr: Simplify error handling in spapr_memory_plug()

As recommended in "qapi/error.h", add a bool return value to
spapr_add_lmbs() and spapr_add_nvdimm(), and use them instead
of local_err in spapr_memory_plug().

This allows to get rid of the error propagation overhead.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160309734178.2739814.3488437759887793902.stgit@bahia.lan>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: c3e051ed6d2a0337fa5172d27231a193f18f92c4
      
https://github.com/qemu/qemu/commit/c3e051ed6d2a0337fa5172d27231a193f18f92c4
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  spapr: Use error_append_hint() in spapr_reallocate_hpt()

Hints should be added with the dedicated error_append_hint() API
because we don't want to print them when using QMP. This requires
to insert ERRP_GUARD as explained in "qapi/error.h".

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160371604030.305923.17464161378167312662.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 0a06e4d6267ca150d62fbc371afab2fbb5586cb8
      
https://github.com/qemu/qemu/commit/0a06e4d6267ca150d62fbc371afab2fbb5586cb8
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr.c
    M target/ppc/kvm.c
    M target/ppc/kvm_ppc.h

  Log Message:
  -----------
  target/ppc: Fix kvmppc_load_htab_chunk() error reporting

If kvmppc_load_htab_chunk() fails, its return value is propagated up
to vmstate_load(). It should thus be a negative errno, not -1 (which
maps to EPERM and would lure the user into thinking that the problem
is necessarily related to a lack of privilege).

Return the error reported by KVM or ENOSPC in case of short write.
While here, propagate the error message through an @errp argument
and have the caller to print it with error_report_err() instead
of relying on fprintf().

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160371604713.305923.5264900354159029580.stgit@bahia.lan>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: a4e3a7c02bec45b1054c5e4fe3234519498fb55a
      
https://github.com/qemu/qemu/commit/a4e3a7c02bec45b1054c5e4fe3234519498fb55a
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/ppc/spapr.c
    M include/hw/ppc/spapr.h

  Log Message:
  -----------
  spapr: Improve spapr_reallocate_hpt() error reporting

spapr_reallocate_hpt() has three users, two of which pass &error_fatal
and the third one, htab_load(), passes &local_err, uses it to detect
failures and simply propagates -EINVAL up to vmstate_load(), which will
cause QEMU to exit. It is thus confusing that spapr_reallocate_hpt()
doesn't return right away when an error is detected in some cases. Also,
the comment suggesting that the caller is welcome to try to carry on
seems like a remnant in this respect.

This can be improved:
- change spapr_reallocate_hpt() to always report a negative errno on
  failure, either as reported by KVM or -ENOSPC if the HPT is smaller
  than what was asked,
- use that to detect failures in htab_load() which is preferred over
  checking &local_err,
- propagate this negative errno to vmstate_load() because it is more
  accurate than propagating -EINVAL for all possible errors.

[dwg: Fix compile error due to omitted prelim patch]
Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160371605460.305923.5890143959901241157.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 136fbf654dd5fa88a5057dcc43947536f3b418df
      
https://github.com/qemu/qemu/commit/136fbf654dd5fa88a5057dcc43947536f3b418df
  Author: zhaolichang <zhaolichang@huawei.com>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M target/ppc/cpu.h
    M target/ppc/excp_helper.c
    M target/ppc/fpu_helper.c
    M target/ppc/internal.h
    M target/ppc/kvm.c
    M target/ppc/machine.c
    M target/ppc/mmu-hash64.c
    M target/ppc/mmu_helper.c
    M target/ppc/translate_init.c.inc

  Log Message:
  -----------
  ppc/: fix some comment spelling errors

I found that there are many spelling errors in the comments of qemu/target/ppc.
I used spellcheck to check the spelling errors and found some errors in the 
folder.

Signed-off-by: zhaolichang <zhaolichang@huawei.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Message-Id: <20201009064449.2336-3-zhaolichang@huawei.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: a0441b66e811f24d92238e9a34f9d46b3a9058fa
      
https://github.com/qemu/qemu/commit/a0441b66e811f24d92238e9a34f9d46b3a9058fa
  Author: Zhengui <lizhengui@huawei.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M docs/tools/qemu-img.rst
    M qemu-img-cmds.hx
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: add support for rate limit in qemu-img commit

add support for rate limit in qemu-img commit.

Signed-off-by: Zhengui <lizhengui@huawei.com>
Message-Id: <1603205264-17424-2-git-send-email-lizhengui@huawei.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 0c8c4895a6a54ffb7209402b183297c80c868873
      
https://github.com/qemu/qemu/commit/0c8c4895a6a54ffb7209402b183297c80c868873
  Author: Zhengui <lizhengui@huawei.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M docs/tools/qemu-img.rst
    M qemu-img-cmds.hx
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: add support for rate limit in qemu-img convert

add support for rate limit in qemu-img convert.

Signed-off-by: Zhengui <lizhengui@huawei.com>
Message-Id: <1603205264-17424-3-git-send-email-lizhengui@huawei.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: d40f4a565aa64a1ef1e1ff73caf53d61cac9a67f
      
https://github.com/qemu/qemu/commit/d40f4a565aa64a1ef1e1ff73caf53d61cac9a67f
  Author: Alberto Garcia <berto@igalia.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  qcow2: Report BDRV_BLOCK_ZERO more accurately in bdrv_co_block_status()

If a BlockDriverState supports backing files but has none then any
unallocated area reads back as zeroes.

bdrv_co_block_status() is only reporting this is if want_zero is true,
but this is an inexpensive test and there is no reason not to do it in
all cases.

Suggested-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: 
<66fa0914a0e2b727ab6d1b63ca773d7cd29a9a9e.1603731354.git.berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 46cd1e8a4752379b1b9d24d43d7be7d5aba03e76
      
https://github.com/qemu/qemu/commit/46cd1e8a4752379b1b9d24d43d7be7d5aba03e76
  Author: Alberto Garcia <berto@igalia.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M block/io.c
    M block/qcow2.c
    M include/block/block.h

  Log Message:
  -----------
  qcow2: Skip copy-on-write when allocating a zero cluster

Since commit c8bb23cbdbe32f5c326365e0a82e1b0e68cdcd8a when a write
request results in a new allocation QEMU first tries to see if the
rest of the cluster outside the written area contains only zeroes.

In that case, instead of doing a normal copy-on-write operation and
writing explicit zero buffers to disk, the code zeroes the whole
cluster efficiently using pwrite_zeroes() with BDRV_REQ_NO_FALLBACK.

This improves performance very significantly but it only happens when
we are writing to an area that was completely unallocated before. Zero
clusters (QCOW2_CLUSTER_ZERO_*) are treated like normal clusters and
are therefore slower to allocate.

This happens because the code uses bdrv_is_allocated_above() rather
bdrv_block_status_above(). The former is not as accurate for this
purpose but it is faster. However in the case of qcow2 the underlying
call does already report zero clusters just fine so there is no reason
why we cannot use that information.

After testing 4KB writes on an image that only contains zero clusters
this patch results in almost five times more IOPS.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: 
<6d77cab968c501c44d6e1089b9bc91b04170b49e.1603731354.git.berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 1a6d3bd229d429879a85a9105fb84cae049d083c
      
https://github.com/qemu/qemu/commit/1a6d3bd229d429879a85a9105fb84cae049d083c
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M block.c
    M block/io.c
    M include/block/block.h
    M tests/test-bdrv-drain.c

  Log Message:
  -----------
  block: End quiescent sections when a BDS is deleted

If a BDS gets deleted during blk_drain_all(), it might miss a
call to bdrv_do_drained_end(). This means missing a call to
aio_enable_external() and the AIO context remains disabled for
ever. This can cause a device to become irresponsive and to
disrupt the guest execution, ie. hang, loop forever or worse.

This scenario is quite easy to encounter with virtio-scsi
on POWER when punching multiple blockdev-create QMP commands
while the guest is booting and it is still running the SLOF
firmware. This happens because SLOF disables/re-enables PCI
devices multiple times via IO/MEM/MASTER bits of PCI_COMMAND
register after the initial probe/feature negotiation, as it
tends to work with a single device at a time at various stages
like probing and running block/network bootloaders without
doing a full reset in-between. This naturally generates many
dataplane stops and starts, and thus many drain sections that
can race with blockdev_create_run(). In the end, SLOF bails
out.

It is somehow reproducible on x86 but it requires to generate
articial dataplane start/stop activity with stop/cont QMP
commands. In this case, seabios ends up looping for ever,
waiting for the virtio-scsi device to send a response to
a command it never received.

Add a helper that pairs all previously called bdrv_do_drained_begin()
with a bdrv_do_drained_end() and call it from bdrv_close().
While at it, update the "/bdrv-drain/graph-change/drain_all"
test in test-bdrv-drain so that it can catch the issue.

BugId: https://bugzilla.redhat.com/show_bug.cgi?id=1874441
Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160346526998.272601.9045392804399803158.stgit@bahia.lan>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 725ca3313a5b9cbef89eaa1c728567684f37990a
      
https://github.com/qemu/qemu/commit/725ca3313a5b9cbef89eaa1c728567684f37990a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M configure
    M docs/tools/virtiofsd.rst
    M include/standard-headers/linux/fuse.h
    M meson.build
    M meson_options.txt
    M tests/acceptance/boot_linux.py
    A tests/acceptance/virtiofs_submounts.py
    A tests/acceptance/virtiofs_submounts.py.data/cleanup.sh
    A tests/acceptance/virtiofs_submounts.py.data/guest-cleanup.sh
    A tests/acceptance/virtiofs_submounts.py.data/guest.sh
    A tests/acceptance/virtiofs_submounts.py.data/host.sh
    M tools/meson.build
    M tools/virtiofsd/fuse_common.h
    M tools/virtiofsd/fuse_lowlevel.c
    M tools/virtiofsd/fuse_lowlevel.h
    M tools/virtiofsd/helper.c
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/dgilbert-gitlab/tags/pull-virtiofs-20201026' into staging

virtiofsd pull 2020-10-26

Misono
   Set default log level to info
   Explicit build option for virtiofsd

Me
   xattr name mapping

Stefan
  Alternative chroot sandbox method

Max
  Submount mechanism

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

# gpg: Signature made Mon 26 Oct 2020 18:41:36 GMT
# gpg:                using RSA key 45F5C71B4A0CB7FB977A9FA90516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" 
[full]
# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A  9FA9 0516 331E BC5B FDE7

* remotes/dgilbert-gitlab/tags/pull-virtiofs-20201026:
  tests/acceptance: Add virtiofs_submounts.py
  tests/acceptance/boot_linux: Accept SSH pubkey
  virtiofsd: Announce sub-mount points
  virtiofsd: Store every lo_inode's parent_dev
  virtiofsd: Add fuse_reply_attr_with_flags()
  virtiofsd: Add attr_flags to fuse_entry_param
  virtiofsd: Announce FUSE_ATTR_FLAGS
  linux/fuse.h: Pull in from Linux
  tools/virtiofsd: xattr name mappings: Simple 'map'
  tools/virtiofsd: xattr name mapping examples
  tools/virtiofsd: xattr name mappings: Map server xattr names
  tools/virtiofsd: xattr name mappings: Map client xattr names
  tools/virtiofsd: xattr name mappings: Add option
  virtiofsd: add container-friendly -o sandbox=chroot option
  virtiofsd: passthrough_ll: set FUSE_LOG_INFO as default log_level
  configure: add option for virtiofsd

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 4ac4e7281a2dd1ca5158812198c4d2cbacf2ae25
      
https://github.com/qemu/qemu/commit/4ac4e7281a2dd1ca5158812198c4d2cbacf2ae25
  Author: John Snow <jsnow@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  ide: run diagnostic after SRST

Software reset (SRST) should cause the diagnostic command to be run. Make an
explicit call to that routine.

Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id: 20201020200242.1497705-2-jsnow@redhat.com
Fixes: 55adb3c45620c31f29978f209e2a44a08d34e2da
Fixes: https://bugs.launchpad.net/bugs/1900155
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: b45bcd81e05dea2781f2164ca1c9dd86069502ea
      
https://github.com/qemu/qemu/commit/b45bcd81e05dea2781f2164ca1c9dd86069502ea
  Author: John Snow <jsnow@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  ide: perform SRST as early as possible

We don't need to wait for the falling edge. We can set BSY as
soon as possible and begin immediately resetting the drive. Devices
don't appear to need to take any specific action on the falling edge.

Signed-off-by: John Snow <jsnow@redhat.com>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-id: 20201020200242.1497705-3-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 1a9925e3390b6adf1125e3abaa17c80ca012bede
      
https://github.com/qemu/qemu/commit/1a9925e3390b6adf1125e3abaa17c80ca012bede
  Author: John Snow <jsnow@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  ide: clear SRST after SRST finishes

The SRST protocol states that after diagnostics are complete and the
status is posted, we should clear the SRST bit if it should so happen to
be set.

The reset method itself should handle this, but just in case -- make our
intention explicit here.

Signed-off-by: John Snow <jsnow@redhat.com>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-id: 20201020200242.1497705-4-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 885538fdc9e225a502f5da69e15909664308aa93
      
https://github.com/qemu/qemu/commit/885538fdc9e225a502f5da69e15909664308aa93
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M contrib/elf2dmp/main.c

  Log Message:
  -----------
  elf2dmp: Fix memory leak on main() error paths

The 'kdgb' is allocating memory in get_kdbg(), but it is not freed
in both fill_header() and fill_context() failed branches, fix it.

Signed-off-by: AlexChen <alex.chen@huawei.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <5F463659.8080101@huawei.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 018da27970780c0ee4f2df7c06fc7c6c89edb3ee
      
https://github.com/qemu/qemu/commit/018da27970780c0ee4f2df7c06fc7c6c89edb3ee
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  Makefile: Add *.[ch].inc files to cscope/ctags/TAGS

The code base has some C source and header files that don't get indexed
because their name ends with .inc:

$ git ls-files "*.[ch].inc" | wc -l
66

Add them to the list.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160258069310.900922.1495166540282536628.stgit@bahia.lan>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: c5af3c0d855cc7577b9dd4758f3fcdd7d38b6241
      
https://github.com/qemu/qemu/commit/c5af3c0d855cc7577b9dd4758f3fcdd7d38b6241
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M include/hw/core/cpu.h

  Log Message:
  -----------
  cpus: Drop declaration of cpu_remove()

cpu_remove() got superseded by cpu_remove_sync() in commit dbadee4ff4a0,
but its prototype wasn't removed. We could possibly keep the shorter
cpu_remove() naming but it seems better to highligth that this blocks
until the CPU thread is joined.

Fixes: dbadee4ff4a0 ("cpus: join thread when removing a vCPU")
Cc: pbonzini@redhat.com
Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <160268285707.1107461.15035929822602623985.stgit@bahia.lan>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: c8198bd5f991f5674960bf6a7754614f69f71620
      
https://github.com/qemu/qemu/commit/c8198bd5f991f5674960bf6a7754614f69f71620
  Author: Chetan Pant <chetan4windows@gmail.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M include/io/channel-buffer.h
    M include/io/channel-command.h
    M include/io/channel-file.h
    M include/io/channel-socket.h
    M include/io/channel-tls.h
    M include/io/channel-util.h
    M include/io/channel-watch.h
    M include/io/channel-websock.h
    M include/io/channel.h
    M include/io/dns-resolver.h
    M include/io/task.h
    M io/channel-buffer.c
    M io/channel-command.c
    M io/channel-file.c
    M io/channel-socket.c
    M io/channel-tls.c
    M io/channel-util.c
    M io/channel-watch.c
    M io/channel-websock.c
    M io/channel.c
    M io/dns-resolver.c
    M io/task.c
    M tests/test-io-channel-buffer.c
    M tests/test-io-channel-command.c
    M tests/test-io-channel-file.c
    M tests/test-io-channel-socket.c
    M tests/test-io-task.c

  Log Message:
  -----------
  io: Fix Lesser GPL version number

There is no "version 2" of the "Lesser" General Public License.
It is either "GPL version 2.0" or "Lesser GPL version 2.1".
This patch replaces all occurrences of "Lesser GPL version 2" with
"Lesser GPL version 2.1" in comment section.

Signed-off-by: Chetan Pant <chetan4windows@gmail.com>
Acked-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20201014134033.14095-1-chetan4windows@gmail.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 0dda001b3ac03b24ba90180f558a4d18d8ffed3e
      
https://github.com/qemu/qemu/commit/0dda001b3ac03b24ba90180f558a4d18d8ffed3e
  Author: Chetan Pant <chetan4windows@gmail.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M backends/cryptodev-builtin.c
    M backends/cryptodev-vhost-user.c
    M backends/cryptodev-vhost.c
    M backends/cryptodev.c
    M include/sysemu/cryptodev-vhost-user.h
    M include/sysemu/cryptodev-vhost.h
    M include/sysemu/cryptodev.h

  Log Message:
  -----------
  cryptodev: Fix Lesser GPL version number

There is no "version 2" of the "Lesser" General Public License.
It is either "GPL version 2.0" or "Lesser GPL version 2.1".
This patch replaces all occurrences of "Lesser GPL version 2" with
"Lesser GPL version 2.1" in comment section.

Signed-off-by: Chetan Pant <chetan4windows@gmail.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201014133722.14041-1-chetan4windows@gmail.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 5057bf95814a80c8012d3505d1f26c4545c32f84
      
https://github.com/qemu/qemu/commit/5057bf95814a80c8012d3505d1f26c4545c32f84
  Author: John Snow <jsnow@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M scripts/qmp/qmp

  Log Message:
  -----------
  scripts/qmp: delete 'qmp' script

This script has not seen a patch that was specifically for this script
since it was moved to this location in 2013, and I doubt it is used. It
uses "man qmp" for its help message, which does not exist. It also
presumes there is a manual page for qmp-XXX, for each defined qmp
command XXX. I don't think that's true.

The format it expects arguments in is something like:

block-dirty-bitmap-add --node=foo --name=bar

and has no capacity to support nested JSON arguments, either.

Most developers use either qmp-shell or socat (or pasting JSON directly
into qmp stdio), so this duplication and additional alternate syntax is
not helpful.

Remove it. Leave a breadcrumb script just in case, to be removed next
release cycle.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201019210430.1063390-1-jsnow@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 5dae6fad949a0852182e7cf653f722d503440089
      
https://github.com/qemu/qemu/commit/5dae6fad949a0852182e7cf653f722d503440089
  Author: Maxim Levitsky <mlevitsk@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M include/hw/qdev-core.h

  Log Message:
  -----------
  qdev: Fix two typos

Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201019163702.471239-2-mlevitsk@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: e83029fa605d6aa475be60b191f2af3954591093
      
https://github.com/qemu/qemu/commit/e83029fa605d6aa475be60b191f2af3954591093
  Author: John Snow <jsnow@redhat.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    R Changelog
    M README.rst

  Log Message:
  -----------
  CHANGELOG: remove disused file

There's no reason to keep this here; the versions described are
ancient. Everything here is still mirrored on
https://wiki.qemu.org/ChangeLog/old if anyone is curious; otherwise, use
the git history.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201026195131.13848-1-jsnow@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: b4cb76e6208cf6b5bb39404c6d44a6514eb6842a
      
https://github.com/qemu/qemu/commit/b4cb76e6208cf6b5bb39404c6d44a6514eb6842a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M include/tcg/tcg-opc.h
    M include/tcg/tcg.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Do not kill globals at conditional branches

We can easily register allocate the entire extended basic block
(in this case, the set of blocks connected by fallthru), simply
by not discarding the register state at the branch.

This does not help blocks starting with a label, as they are
reached via a taken branch, and that would require saving the
complete register state at the branch.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: cd0372c515c4732d8bd3777cdd995c139c7ed7ea
      
https://github.com/qemu/qemu/commit/cd0372c515c4732d8bd3777cdd995c139c7ed7ea
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Flush data at labels not TCG_OPF_BB_END

We can easily propagate temp values through the entire extended
basic block (in this case, the set of blocks connected by fallthru),
simply by not discarding the register state at the branch.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 1d705e8a5bbfe36294081baa45ab68a9ad987f33
      
https://github.com/qemu/qemu/commit/1d705e8a5bbfe36294081baa45ab68a9ad987f33
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  accel/tcg: Add CPU_LOG_EXEC tracing for cpu_io_recompile()

When using -icount, it's useful for the CPU_LOG_EXEC logging
to include information about when cpu_io_recompile() was
called, because it alerts the reader of the log that the
tracing of a previous TB execution may not actually
correspond to an actually executed instruction. For instance
if you're using -icount and also -singlestep then a guest
instruction that makes an IO access appears in two
"Trace" lines, once in a TB that triggers the cpu_io_recompile()
and then again in the TB that actually executes.

(This is a similar reason to why the "Stopped execution of
TB chain before..." logging in cpu_tb_exec() is helpful
when trying to track execution flow in the logs.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20201013122658.4620-1-peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: cfc1105649947f03134294a2448ce2b2e117456f
      
https://github.com/qemu/qemu/commit/cfc1105649947f03134294a2448ce2b2e117456f
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M docs/devel/testing.rst
    M tests/acceptance/boot_linux.py
    M tests/acceptance/boot_linux_console.py

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/philmd-gitlab/tags/acceptance-testing-20201026' into staging

Acceptance testing patches

- More ARM tests
- Documentation update

CI jobs results:
. https://cirrus-ci.com/build/5754555684093952
. https://gitlab.com/philmd/qemu/-/pipelines/207807648

# gpg: Signature made Mon 26 Oct 2020 19:06:52 GMT
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* remotes/philmd-gitlab/tags/acceptance-testing-20201026:
  docs/devel/testing.rst: Update outdated Avocado URLs
  tests/acceptance: Allow running Orange Pi test using cached artifacts
  tests/acceptance: Add a 'virt_kvm' test using the GICv3
  tests/boot_linux_console: Boot Trusted Firmware-A on the Raspberry Pi 3

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: cddfbe07749a44f83d0f8241fff7ca96a6631882
      
https://github.com/qemu/qemu/commit/cddfbe07749a44f83d0f8241fff7ca96a6631882
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M MAINTAINERS
    M hw/arm/Kconfig
    M hw/arm/aspeed.c
    M hw/arm/tosa.c
    M hw/misc/Kconfig
    A hw/misc/led.c
    M hw/misc/meson.build
    M hw/misc/mps2-fpgaio.c
    M hw/misc/mps2-scc.c
    M hw/misc/trace-events
    A include/hw/misc/led.h
    M include/hw/misc/mps2-fpgaio.h
    M include/hw/misc/mps2-scc.h
    M include/hw/qdev-core.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/philmd-gitlab/tags/led-api-20201026' 
into staging

API to model LED.

CI jobs results:
. https://cirrus-ci.com/build/4879251751043072
. https://gitlab.com/philmd/qemu/-/pipelines/207661784
. https://travis-ci.org/github/philmd/qemu/builds/738958191
. https://app.shippable.com/github/philmd/qemu/runs/891/summary/console

# gpg: Signature made Mon 26 Oct 2020 22:03:59 GMT
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* remotes/philmd-gitlab/tags/led-api-20201026:
  hw/arm/tosa: Replace fprintf() calls by LED devices
  hw/misc/mps2-scc: Use the LED device
  hw/misc/mps2-fpgaio: Use the LED device
  hw/arm/aspeed: Add the 3 front LEDs drived by the PCA9552 #1
  hw/misc/led: Emit a trace event when LED intensity has changed
  hw/misc/led: Allow connecting from GPIO output
  hw/misc/led: Add a LED device

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 1f10fd53cbee9830db3e8d2f4ff0c7a507655fae
      
https://github.com/qemu/qemu/commit/1f10fd53cbee9830db3e8d2f4ff0c7a507655fae
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M include/hw/sparc/sparc32_dma.h

  Log Message:
  -----------
  sparc32-dma: use object_initialize_child() for espdma and ledma child objects

Store the child objects directly within the sparc32-dma object rather than using
link properties.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200926140216.7368-2-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: bce83ed9981bd8920499921e9931f46db56b77ff
      
https://github.com/qemu/qemu/commit/bce83ed9981bd8920499921e9931f46db56b77ff
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M include/hw/sparc/sparc32_dma.h

  Log Message:
  -----------
  sparc32-ledma: use object_initialize_child() for lance child object

Store the child object directly within the sparc32-ledma object rather than
using link properties.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200926140216.7368-3-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: d19265eaf543c1305754212002d28cb2277609a2
      
https://github.com/qemu/qemu/commit/d19265eaf543c1305754212002d28cb2277609a2
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M include/hw/sparc/sparc32_dma.h

  Log Message:
  -----------
  sparc32-espdma: use object_initialize_child() for esp child object

Store the child object directly within the sparc32-espdma object rather than
using link properties.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200926140216.7368-4-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: c4210bc17d5a78e63c3ed28049d70d2bf2261783
      
https://github.com/qemu/qemu/commit/c4210bc17d5a78e63c3ed28049d70d2bf2261783
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M hw/sparc/sun4m.c

  Log Message:
  -----------
  sparc32-ledma: don't reference nd_table directly within the device

Instead use qdev_set_nic_properties() to configure the on-board NIC at the
sun4m machine level.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200926140216.7368-5-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: e237e1c2985e705155bf23390c80f4d2fa245742
      
https://github.com/qemu/qemu/commit/e237e1c2985e705155bf23390c80f4d2fa245742
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/pci-host/sabre.c
    M hw/sparc64/sun4u.c

  Log Message:
  -----------
  sabre: don't call sysbus_mmio_map() in sabre_realize()

The device should not map itself but instead should be mapped to sysbus by the
sun4u machine.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200926140216.7368-7-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: ae5643ecc672ca2f3716359e1bb9b5ce52c1518c
      
https://github.com/qemu/qemu/commit/ae5643ecc672ca2f3716359e1bb9b5ce52c1518c
  Author: Philippe Mathieu-Daudé <1892540@bugs.launchpad.net>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/display/tcx.c

  Log Message:
  -----------
  hw/display/tcx: Allow 64-bit accesses to framebuffer stippler and blitter

The S24/TCX datasheet is listed as "Unable to locate" on [1].

However the NetBSD revision 1.32 of the driver introduced
64-bit accesses to the stippler and blitter [2]. It is safe
to assume these memory regions are 64-bit accessible.
QEMU implementation is 32-bit, so fill the 'impl' fields.

Michael Lorenz (author of the NetBSD code [2]) provided us with more
information in [3]:

> IIRC the real hardware *requires* 64bit accesses for stipple and
> blitter operations to work. For stipples you write a 64bit word into
> STIP space, the address defines where in the framebuffer you want to
> draw, the data contain a 32bit bitmask, foreground colour and a ROP.
> BLIT space works similarly, the 64bit word contains an offset were to
> read pixels from, and how many you want to copy.
>
> One more thing since there seems to be some confusion - 64bit accesses
> on the framebuffer are fine as well. TCX/S24 is *not* an SBus device,
> even though its node says it is.
> S24 is a card that plugs into a special slot on the SS5 mainboard,
> which is shared with an SBus slot and looks a lot like a horizontal
> UPA slot. Both S24 and TCX are accessed through the Micro/TurboSPARC's
> AFX bus which is 64bit wide and intended for graphics.
> Early FFB docs even mentioned connecting to both AFX and UPA,
> no idea if that was ever realized in hardware though.

[1] 
http://web.archive.org/web/20111209011516/http://wikis.sun.com/display/FOSSdocs/Home
[2] 
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/sbus/tcx.c.diff?r1=1.31&r2=1.32
[3] https://www.mail-archive.com/qemu-devel@nongnu.org/msg734928.html

Cc: qemu-stable@nongnu.org
Reported-by: Andreas Gustafsson <gson@gson.org>
Buglink: https://bugs.launchpad.net/bugs/1892540
Fixes: 55d7bfe2293 ("tcx: Implement hardware acceleration")
Tested-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Andreas Gustafsson <gson@gson.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201024205100.3623006-1-f4bug@amsat.org>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: ef905eff421c5a06a01714e11ed67a92e4e7a9f1
      
https://github.com/qemu/qemu/commit/ef905eff421c5a06a01714e11ed67a92e4e7a9f1
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/pci-host/sabre.c

  Log Message:
  -----------
  sabre: increase number of PCI bus IRQs from 32 to 64

The rework of the sabre IRQs in commit 6864fa3897 "sun4u: update PCI topology to
include simba PCI bridges" changed the IRQ routing so that both PCI and legacy
OBIO IRQs are routed through the sabre PCI host bridge to the CPU.

Unfortunately this commit failed to increase the number of PCI bus IRQs
accordingly meaning that access to the legacy IRQs OBIO (irqnum >= 0x20) would
overflow the PCI bus IRQ array causing strange failures running 
qemu-system-sparc64
in NetBSD.

Cc: qemu-stable@nongnu.org
Reported-by: Harold Gutch <logix@foobar.franken.de>
Fixes: https://bugs.launchpad.net/qemu/+bug/1838658
Fixes: 6864fa3897 ("sun4u: update PCI topology to include simba PCI bridges")
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201011081347.2146-1-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: c092bfe5f4f5f63920170764ca7cd992947e60c7
      
https://github.com/qemu/qemu/commit/c092bfe5f4f5f63920170764ca7cd992947e60c7
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/pci-host/sabre.c

  Log Message:
  -----------
  hw/pci-host/sabre: Update documentation link

The current link redirects to https://www.oracle.com/sun/
announcing "Oracle acquired Sun Microsystems in 2010, ..."
but does not give hint where to find the datasheet.

Use the archived PDF on the Wayback Machine, which works.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-Id: <20201012170950.3491912-2-f4bug@amsat.org>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: a0376c0311bad493ef9e4cd9ed596463410c1965
      
https://github.com/qemu/qemu/commit/a0376c0311bad493ef9e4cd9ed596463410c1965
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/pci-host/sabre.c

  Log Message:
  -----------
  hw/pci-host/sabre: Remove superfluous address range check

The region is registered as 64KiB in sabre_init():

    memory_region_init_io(&s->sabre_config, OBJECT(s), &sabre_config_ops, s,
                          "sabre-config", 0x10000);

Remove the superfluous check.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-Id: <20201012170950.3491912-3-f4bug@amsat.org>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 0980307e705b5677d9b4158a0a0346abf5041f33
      
https://github.com/qemu/qemu/commit/0980307e705b5677d9b4158a0a0346abf5041f33
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/pci-host/sabre.c

  Log Message:
  -----------
  hw/pci-host/sabre: Simplify code initializing variable once

We only need to zero-initialize 'val' once.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-Id: <20201012170950.3491912-4-f4bug@amsat.org>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 33dc9914eac581dea9bdea35dcda4d542531d66a
      
https://github.com/qemu/qemu/commit/33dc9914eac581dea9bdea35dcda4d542531d66a
  Author: Alex Williamson <alex.williamson@redhat.com>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M include/standard-headers/linux/fuse.h
    M tests/acceptance/boot_linux.py
    R tests/acceptance/virtiofs_submounts.py
    R tests/acceptance/virtiofs_submounts.py.data/cleanup.sh
    R tests/acceptance/virtiofs_submounts.py.data/guest-cleanup.sh
    R tests/acceptance/virtiofs_submounts.py.data/guest.sh
    R tests/acceptance/virtiofs_submounts.py.data/host.sh
    M tools/virtiofsd/fuse_common.h
    M tools/virtiofsd/fuse_lowlevel.c
    M tools/virtiofsd/fuse_lowlevel.h
    M tools/virtiofsd/helper.c
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  Revert series: virtiofsd: Announce submounts to the guest

This reverts the following commits due to their basis on a bogus
linux kernel header update:

c93a656f7b65 ("tests/acceptance: Add virtiofs_submounts.py")
45ced7ca2f27 ("tests/acceptance/boot_linux: Accept SSH pubkey")
08dce386e77e ("virtiofsd: Announce sub-mount points")
eba8b096c17c ("virtiofsd: Store every lo_inode's parent_dev")
ede24b6be798 ("virtiofsd: Add fuse_reply_attr_with_flags()")
e2577435d343 ("virtiofsd: Add attr_flags to fuse_entry_param")
2f10415abfc5 ("virtiofsd: Announce FUSE_ATTR_FLAGS")
97d741cc96dd ("linux/fuse.h: Pull in from Linux")

Cc: Max Reitz <mreitz@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 160385090886.20017.13382256442750027666.stgit@gimli.home
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 5c27a8551857e3e7ecac6f4b99ffb0dea73b2be6
      
https://github.com/qemu/qemu/commit/5c27a8551857e3e7ecac6f4b99ffb0dea73b2be6
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M linux-user/aarch64/syscall_nr.h
    M linux-user/alpha/syscall.tbl
    M linux-user/arm/syscall.tbl
    M linux-user/hppa/syscall.tbl
    M linux-user/i386/syscall_32.tbl
    M linux-user/m68k/syscall.tbl
    M linux-user/microblaze/syscall.tbl
    M linux-user/mips/syscall-args-o32.c.inc
    M linux-user/mips/syscall_o32.tbl
    M linux-user/mips64/syscall_n32.tbl
    M linux-user/mips64/syscall_n64.tbl
    M linux-user/nios2/syscall_nr.h
    M linux-user/openrisc/syscall_nr.h
    M linux-user/ppc/syscall.tbl
    M linux-user/riscv/syscall32_nr.h
    M linux-user/riscv/syscall64_nr.h
    M linux-user/s390x/syscall.tbl
    M linux-user/sh4/syscall.tbl
    M linux-user/sparc/syscall.tbl
    M linux-user/sparc64/syscall.tbl
    M linux-user/syscall.c
    M linux-user/x86_64/syscall_64.tbl
    M linux-user/xtensa/syscall.tbl
    M scripts/gensyscalls.sh
    M target/xtensa/cpu.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/vivier2/tags/linux-user-for-5.2-pull-request' into staging

Update syscall numbers to 5.9-rc7
Fixes for prctl(), accept4() and xtensa

# gpg: Signature made Mon 26 Oct 2020 22:02:56 GMT
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" 
[full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/linux-user-for-5.2-pull-request:
  target/xtensa: enable all coprocessors for linux-user
  linux-user: correct errno returned from accept4() syscall
  linux-user: remove _sysctl
  linux-user: update syscall.tbl to Linux 5.9-rc7
  linux-user: update mips/syscall-args-o32.c.inc to Linux 5.9-rc7
  linux-user: update syscall_nr.h to Linux 5.9-rc7
  linux-user: Support f_flags in statfs64 when available.
  Fix stack smashing when handling PR_GET_PDEATHSIG

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: bbc48d2bcb9711614fbe751c2c5ae13e172fbca8
      
https://github.com/qemu/qemu/commit/bbc48d2bcb9711614fbe751c2c5ae13e172fbca8
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M hw/timer/sh_timer.c
    M include/elf.h
    M target/rx/insns.decode
    M target/rx/op_helper.c
    M target/rx/translate.c
    M target/sh4/cpu.h
    M target/sh4/op_helper.c
    M target/sh4/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/philmd-gitlab/tags/renesas-20201027' 
into staging

Renesas patches (SH4 and RX)

- Fix few warnings (Thomas Huth)
- Fix typos (Lichang Zhao, Chetan Pant)

CI jobs results:
. https://cirrus-ci.com/build/6368903343374336
. https://gitlab.com/philmd/qemu/-/pipelines/207919103
. https://travis-ci.org/github/philmd/qemu/builds/739133105

# gpg: Signature made Mon 26 Oct 2020 23:27:39 GMT
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* remotes/philmd-gitlab/tags/renesas-20201027:
  target/rx: Fix Lesser GPL version number
  target/rx: Fix some comment spelling errors
  target/sh4: fix some comment spelling errors
  target/sh4: Update coding style to make checkpatch.pl happy
  hw/timer/sh_timer: Remove superfluous "break" statements
  hw/timer/sh_timer: Silence warnings about missing fallthrough statements
  hw/timer/sh_timer: Coding style clean-up
  elf: Add EM_RX definition

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a5e7fb4d202e906e875e0f393b6e407227c1f395
      
https://github.com/qemu/qemu/commit/a5e7fb4d202e906e875e0f393b6e407227c1f395
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M .gitlab-ci.d/check-patch.py
    M .gitlab-ci.yml
    M Makefile
    M contrib/gitdm/group-map-individuals
    M scripts/checkpatch.pl
    M tests/acceptance/reverse_debugging.py
    M tests/docker/dockerfiles/centos7.docker
    M tests/docker/dockerfiles/centos8.docker

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/stsquad/tags/pull-testing-and-misc-271020-1' into staging

Testing and gitdm updates

  - add some more individual contributors
  - include SDL2 in centos images
  - skip checkpatch check when no commits found
  - use random port for gdb reverse debugging
  - make gitlab use it's own mirrors to clone
  - fix detection of make -nqp

# gpg: Signature made Tue 27 Oct 2020 09:55:55 GMT
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) 
<alex.bennee@linaro.org>" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* remotes/stsquad/tags/pull-testing-and-misc-271020-1:
  makefile: handle -n / -k / -q correctly
  gitlab-ci: Clone from GitLab itself
  tests/acceptance: pick a random gdb port for reverse debugging
  scripts: fix error from checkpatch.pl when no commits are found
  gitlab: skip checkpatch.pl checks if no commit delta on branch
  tests/docker/dockerfiles/centos: Use SDL2 instead of SDL1
  contrib/gitdm: Add more individual contributors
  Adding ani's email as an individual contributor

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 74acdf0af81f803e748523363abd3c145b9d25ad
      
https://github.com/qemu/qemu/commit/74acdf0af81f803e748523363abd3c145b9d25ad
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M hw/display/meson.build
    M util/module.c

  Log Message:
  -----------
  virtio-gpu: add virtio-gpu-pci module

Build virtio-gpu pci devices modular.  Must be a separate module because
not all qemu softmmu variants come with PCI support.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201023064618.21409-2-kraxel@redhat.com


  Commit: 1e1f9c20bc0bdd4cf11cfe5057465d484b611858
      
https://github.com/qemu/qemu/commit/1e1f9c20bc0bdd4cf11cfe5057465d484b611858
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M hw/display/meson.build
    M util/module.c

  Log Message:
  -----------
  virtio-gpu: add virtio-vga module

Build virtio-gpu vga devices modular.  Must be a separate module because
not all qemu softmmu variants come with VGA support.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201023064618.21409-3-kraxel@redhat.com


  Commit: 43376ccc8d2ceb64e281f0032897df80b6d0251a
      
https://github.com/qemu/qemu/commit/43376ccc8d2ceb64e281f0032897df80b6d0251a
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M hw/display/meson.build
    M hw/display/virtio-gpu-3d.c

  Log Message:
  -----------
  virtio-gpu: only compile virtio-gpu-3d.c for CONFIG_VIRGL=y

There is no actual code in the CONFIG_VIRGL=n case.  So building is
(a) pointless and (b) makes macos ranlib complain.

Reported-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201026142851.28735-1-kraxel@redhat.com


  Commit: 5869f8dd1f57ce93f80171427e723227471d8a33
      
https://github.com/qemu/qemu/commit/5869f8dd1f57ce93f80171427e723227471d8a33
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M configure

  Log Message:
  -----------
  modules: unbreak them on macos

Using the correct shared library suffix helps ;)

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201027120603.3625-1-kraxel@redhat.com


  Commit: 546323bdac18984c771ebefae1046ee61742f9ca
      
https://github.com/qemu/qemu/commit/546323bdac18984c771ebefae1046ee61742f9ca
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M util/module.c

  Log Message:
  -----------
  modules: turn off lazy binding

We want missing symbols fail module load right away instead of having
qemu abort later on in case lazy binding fails.  Can happen -- for
example -- when trying to load a module for a pci device
(virtio-gpu-pci) into a qemu without pci support (qemu-system-avr).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201028054944.5772-1-kraxel@redhat.com


  Commit: e0622ae3ca3cef79ec5f3c71e8225de77417f123
      
https://github.com/qemu/qemu/commit/e0622ae3ca3cef79ec5f3c71e8225de77417f123
  Author: Chetan Pant <chetan4windows@gmail.com>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M include/io/channel-buffer.h
    M include/io/channel-command.h
    M include/io/channel-file.h
    M include/io/channel-socket.h
    M include/io/channel-tls.h
    M include/io/channel-util.h
    M include/io/channel-watch.h
    M include/io/channel-websock.h
    M include/io/channel.h
    M include/io/dns-resolver.h
    M include/io/task.h
    M io/channel-buffer.c
    M io/channel-command.c
    M io/channel-file.c
    M io/channel-socket.c
    M io/channel-tls.c
    M io/channel-util.c
    M io/channel-watch.c
    M io/channel-websock.c
    M io/channel.c
    M io/dns-resolver.c
    M io/task.c
    M tests/test-io-channel-buffer.c
    M tests/test-io-channel-command.c
    M tests/test-io-channel-file.c
    M tests/test-io-channel-socket.c
    M tests/test-io-task.c

  Log Message:
  -----------
  io: Fix Lesser GPL version number

There is no "version 2" of the "Lesser" General Public License.
It is either "GPL version 2.0" or "Lesser GPL version 2.1".
This patch replaces all occurrences of "Lesser GPL version 2" with
"Lesser GPL version 2.1" in comment section.

Signed-off-by: Chetan Pant <chetan4windows@gmail.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: 422c16e7ecf8a2cd460e9b02cfb1955a235d36d7
      
https://github.com/qemu/qemu/commit/422c16e7ecf8a2cd460e9b02cfb1955a235d36d7
  Author: Chetan Pant <chetan4windows@gmail.com>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M tests/test-crypto-afsplit.c
    M tests/test-crypto-block.c
    M tests/test-crypto-cipher.c
    M tests/test-crypto-hash.c
    M tests/test-crypto-ivgen.c
    M tests/test-crypto-secret.c
    M tests/test-crypto-xts.c

  Log Message:
  -----------
  crypt: Fix Lesser GPL version number

There is no "version 2" of the "Lesser" General Public License.
It is either "GPL version 2.0" or "Lesser GPL version 2.1".
This patch replaces all occurrences of "Lesser GPL version 2" with
"Lesser GPL version 2.1" in comment section.

Signed-off-by: Chetan Pant <chetan4windows@gmail.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: 036a80cdf7cc8a01106b7b49da6e4830d552f3d7
      
https://github.com/qemu/qemu/commit/036a80cdf7cc8a01106b7b49da6e4830d552f3d7
  Author: Chetan Pant <chetan4windows@gmail.com>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M authz/base.c
    M authz/list.c
    M authz/listfile.c
    M authz/pamacct.c
    M authz/simple.c
    M include/authz/base.h
    M include/authz/list.h
    M include/authz/listfile.h
    M include/authz/pamacct.h
    M include/authz/simple.h
    M tests/test-authz-list.c
    M tests/test-authz-listfile.c
    M tests/test-authz-pam.c
    M tests/test-authz-simple.c

  Log Message:
  -----------
  authz: Fix Lesser GPL version number

There is no "version 2" of the "Lesser" General Public License.
It is either "GPL version 2.0" or "Lesser GPL version 2.1".
This patch replaces all occurrences of "Lesser GPL version 2" with
"Lesser GPL version 2.1" in comment section.

Signed-off-by: Chetan Pant <chetan4windows@gmail.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: 77b7829e755aec2f74601190a4521617b6dab49c
      
https://github.com/qemu/qemu/commit/77b7829e755aec2f74601190a4521617b6dab49c
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M io/channel-websock.c

  Log Message:
  -----------
  io: Don't use '#' flag of printf format

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: AlexChen <alex.chen@huawei.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: dfc00eb7dea43bfb6d4a2ba38c4f6bc9745f3729
      
https://github.com/qemu/qemu/commit/dfc00eb7dea43bfb6d4a2ba38c4f6bc9745f3729
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M tests/qemu-iotests/162.out
    M util/qemu-sockets.c

  Log Message:
  -----------
  util: include the target address in socket connect failures

Reporting "Failed to connect socket" is essentially useless for a user
attempting to diagnose failure. It needs to include the target address
details. Similarly when failing to create a socket we should include the
socket family info, so the user understands what particular feature was
missing in their kernel build (IPv6, VSock in particular).

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: c0444009147aa935d52d5acfc6b70094bb42b0dd
      
https://github.com/qemu/qemu/commit/c0444009147aa935d52d5acfc6b70094bb42b0dd
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M scripts/qmp/qmp
    M scripts/qmp/qmp-shell

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/armbru/tags/pull-qmp-2020-10-27' into 
staging

QMP patches patches for 2020-10-27

# gpg: Signature made Tue 27 Oct 2020 10:13:00 GMT
# gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg:                issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* remotes/armbru/tags/pull-qmp-2020-10-27:
  scripts/qmp: delete 'qmp' script
  qmp-shell: Sort by key when pretty-printing

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 802427bcdae1ad2eceea8a8877ecad835e3f8fde
      
https://github.com/qemu/qemu/commit/802427bcdae1ad2eceea8a8877ecad835e3f8fde
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M MAINTAINERS
    M docs/system/arm/nuvoton.rst
    M hw/arm/Kconfig
    M hw/arm/bcm2835_peripherals.c
    M hw/arm/bcm2836.c
    M hw/arm/highbank.c
    M hw/arm/npcm7xx.c
    M hw/arm/raspi.c
    M hw/arm/sbsa-ref.c
    M hw/arm/smmuv3.c
    M hw/arm/trace-events
    M hw/arm/xlnx-versal-virt.c
    M hw/char/pl011.c
    M hw/char/trace-events
    M hw/core/clock.c
    M hw/core/ptimer.c
    M hw/core/trace-events
    M hw/gpio/meson.build
    A hw/gpio/npcm7xx_gpio.c
    M hw/gpio/trace-events
    A hw/misc/bcm2835_cprman.c
    M hw/misc/meson.build
    M hw/misc/npcm7xx_clk.c
    A hw/misc/npcm7xx_rng.c
    M hw/misc/trace-events
    M hw/timer/armv7m_systick.c
    M hw/timer/npcm7xx_timer.c
    M hw/usb/hcd-ehci-sysbus.c
    M hw/usb/hcd-ehci.h
    M hw/watchdog/Kconfig
    M hw/watchdog/meson.build
    A hw/watchdog/sbsa_gwdt.c
    M include/elf.h
    M include/exec/cpu-all.h
    M include/hw/arm/bcm2835_peripherals.h
    M include/hw/arm/bcm2836.h
    M include/hw/arm/npcm7xx.h
    M include/hw/arm/raspi_platform.h
    M include/hw/char/pl011.h
    M include/hw/clock.h
    A include/hw/gpio/npcm7xx_gpio.h
    A include/hw/misc/bcm2835_cprman.h
    A include/hw/misc/bcm2835_cprman_internals.h
    M include/hw/misc/npcm7xx_clk.h
    A include/hw/misc/npcm7xx_rng.h
    M include/hw/timer/armv7m_systick.h
    M include/hw/timer/npcm7xx_timer.h
    A include/hw/watchdog/sbsa_gwdt.h
    M linux-user/aarch64/signal.c
    M linux-user/elfload.c
    M linux-user/mmap.c
    M linux-user/qemu.h
    M linux-user/syscall_defs.h
    M target/arm/cpu.h
    M target/arm/translate-a64.c
    M tests/qtest/meson.build
    A tests/qtest/npcm7xx_gpio-test.c
    A tests/qtest/npcm7xx_rng-test.c
    A tests/qtest/npcm7xx_watchdog_timer-test.c
    M tests/tcg/aarch64/Makefile.target
    A tests/tcg/aarch64/bti-1.c
    A tests/tcg/aarch64/bti-2.c
    A tests/tcg/aarch64/bti-crt.inc.c
    M tests/tcg/configure.sh

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/pmaydell/tags/pull-target-arm-20201027-1' into staging

target-arm queue:
 * raspi: add model of cprman clock manager
 * sbsa-ref: add an SBSA generic watchdog device
 * arm/trace: Fix hex printing
 * raspi: Add models of Pi 3 model A+, Pi Zero and Pi A+
 * hw/arm/smmuv3: Set the restoration priority of the vSMMUv3 explicitly
 * Nuvoton NPCM7xx: Add USB, RNG, GPIO and watchdog support
 * hw/arm: fix min_cpus for xlnx-versal-virt platform
 * hw/arm/highbank: Silence warnings about missing fallthrough statements
 * linux-user: Support Aarch64 BTI
 * Armv7M systick: fix corner case bugs by rewriting to use ptimer

# gpg: Signature made Tue 27 Oct 2020 11:27:10 GMT
# gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:                issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" 
[ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* remotes/pmaydell/tags/pull-target-arm-20201027-1: (48 commits)
  hw/timer/armv7m_systick: Rewrite to use ptimers
  hw/core/ptimer: Support ptimer being disabled by timer callback
  hw/arm/sbsa-ref: add SBSA watchdog device
  hw/watchdog: Implement SBSA watchdog device
  hw/arm/bcm2835_peripherals: connect the UART clock
  hw/char/pl011: add a clock input
  hw/misc/bcm2835_cprman: add sane reset values to the registers
  hw/misc/bcm2835_cprman: add the DSI0HSCK multiplexer
  hw/misc/bcm2835_cprman: implement clock mux behaviour
  hw/misc/bcm2835_cprman: add a clock mux skeleton implementation
  hw/misc/bcm2835_cprman: implement PLL channels behaviour
  hw/misc/bcm2835_cprman: add a PLL channel skeleton implementation
  hw/misc/bcm2835_cprman: implement PLLs behaviour
  hw/misc/bcm2835_cprman: add a PLL skeleton implementation
  hw/arm/raspi: add a skeleton implementation of the CPRMAN
  hw/arm/raspi: fix CPRMAN base address
  hw/core/clock: trace clock values in Hz instead of ns
  hw/core/clock: provide the VMSTATE_ARRAY_CLOCK macro
  arm/trace: Fix hex printing
  hw/arm/raspi: Add the Raspberry Pi 3 model A+
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a19d4bc452532a9402f90b77d2aaaed9fe1df046
      
https://github.com/qemu/qemu/commit/a19d4bc452532a9402f90b77d2aaaed9fe1df046
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M accel/tcg/user-exec-stub.c
    M hw/arm/virt.c
    M hw/i386/pc.c
    M hw/mem/pc-dimm.c
    M hw/net/spapr_llan.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_cpu_core.c
    M hw/ppc/spapr_drc.c
    M hw/ppc/spapr_events.c
    M hw/ppc/spapr_nvdimm.c
    M include/hw/mem/pc-dimm.h
    M include/hw/ppc/spapr.h
    M include/hw/ppc/spapr_nvdimm.h
    M target/ppc/cpu.h
    M target/ppc/excp_helper.c
    M target/ppc/fpu_helper.c
    M target/ppc/internal.h
    M target/ppc/kvm.c
    M target/ppc/kvm_ppc.h
    M target/ppc/machine.c
    M target/ppc/mmu-hash64.c
    M target/ppc/mmu_helper.c
    M target/ppc/translate_init.c.inc

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-5.2-20201028' into 
staging

ppc patch queue 2020-10-28

Here's the next pull request for ppc and spapr related patches, which
should be the last things for soft freeze.  Includes:

 * Numerous error handling cleanups from Greg Kurz
 * Cleanups to cpu realization and hotplug handling from Greg Kurz
 * A handful of other small fixes and cleanups

This does include a change to pc_dimm_plug() that isn't in my normal
areas of concern.  That's there as a a prerequisite for ppc specific
changes, and has an ack from Igor.

# gpg: Signature made Tue 27 Oct 2020 14:13:21 GMT
# gpg:                using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full]
# gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full]
# gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" 
[full]
# gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>" 
[unknown]
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392

* remotes/dgibson/tags/ppc-for-5.2-20201028:
  ppc/: fix some comment spelling errors
  spapr: Improve spapr_reallocate_hpt() error reporting
  target/ppc: Fix kvmppc_load_htab_chunk() error reporting
  spapr: Use error_append_hint() in spapr_reallocate_hpt()
  spapr: Simplify error handling in spapr_memory_plug()
  spapr: Pass &error_abort when getting some PC DIMM properties
  spapr: Use appropriate getter for PC_DIMM_SLOT_PROP
  spapr: Use appropriate getter for PC_DIMM_ADDR_PROP
  pc-dimm: Drop @errp argument of pc_dimm_plug()
  spapr: Simplify spapr_cpu_core_realize() and spapr_cpu_core_unrealize()
  spapr: Make spapr_cpu_core_unrealize() idempotent
  spapr: Drop spapr_delete_vcpu() unused argument
  spapr: Unrealize vCPUs with qdev_unrealize()
  spapr: Fix leak of CPU machine specific data
  spapr: Move spapr_create_nvdimm_dr_connectors() to core machine code
  hw/net: move allocation to the heap due to very large stack frame
  ppc/spapr: re-assert IRQs during event-scan if there are pending
  spapr: Clarify why DR connectors aren't user creatable

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 9aa47edd4ee69fa0628c5f9adb52d5050a5bce6a
      
https://github.com/qemu/qemu/commit/9aa47edd4ee69fa0628c5f9adb52d5050a5bce6a
  Author: Si-Wei Liu <si-wei.liu@oracle.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vhost-vdpa: negotiate VIRTIO_NET_F_STATUS with driver

Vendor driver may not support or implement config
interrupt delivery for link status notifications.
In this event, vendor driver is expected to NACK
the feature, but guest will keep link always up.

Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
Message-Id: <1601582985-14944-1-git-send-email-si-wei.liu@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 384c2561bddfa00cd3eaf9edbc1af6c7c120511f
      
https://github.com/qemu/qemu/commit/384c2561bddfa00cd3eaf9edbc1af6c7c120511f
  Author: Stefano Garzarella <sgarzare@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/virtio/vhost-vsock.c

  Log Message:
  -----------
  vhost-vsock: set vhostfd to non-blocking mode

vhost IOTLB API uses read()/write() to exchange iotlb messages with
the kernel module.
The QEMU implementation expects a non-blocking fd, indeed commit
c471ad0e9b ("vhost_net: device IOTLB support") set it for vhost-net.

Without this patch, if we enable iommu for the vhost-vsock device,
QEMU can hang when exchanging IOTLB messages.

As commit 894022e616 ("net: check if the file descriptor is valid
before using it") did for tap, let's use qemu_try_set_nonblock()
when fd is provided by the user.

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20201029144849.70958-1-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: acab9d8a9e31cc85ec95e5432500575680e7f07b
      
https://github.com/qemu/qemu/commit/acab9d8a9e31cc85ec95e5432500575680e7f07b
  Author: Ben Widawsky <ben.widawsky@intel.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/i386/acpi-build.c

  Log Message:
  -----------
  acpi/crs: Prevent bad ranges for host bridges

Prevent _CRS resources being quietly chopped off and instead throw an
assertion. _CRS is used by host bridges to declare regions of io and/or
memory that they consume. On some (all?) platforms the host bridge
doesn't have PCI header space and so they need some way to convey the
information.

Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>

Message-Id: <20201026193924.985014-1-ben.widawsky@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>


  Commit: 9390255468e33811e6791d5afef3113a40770aba
      
https://github.com/qemu/qemu/commit/9390255468e33811e6791d5afef3113a40770aba
  Author: Ben Widawsky <ben.widawsky@intel.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/i386/acpi-build.c

  Log Message:
  -----------
  acpi/crs: Support ranges > 32b for hosts

According to PCIe spec 5.0 Type 1 header space Base Address Registers
are defined by 7.5.1.2.1 Base Address Registers (same as Type 0). The
_CRS region should allow for the same range (up to 64b). Prior to this
change, any host bridge utilizing more than 32b for the BAR would have
the address truncated and likely lead to conflicts when the operating
systems reads the _CRS object.

Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>

Message-Id: <20201026193924.985014-2-ben.widawsky@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>


  Commit: 8acb3218b98c5f1bc02597ce5985fd02da7af0b1
      
https://github.com/qemu/qemu/commit/8acb3218b98c5f1bc02597ce5985fd02da7af0b1
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/virtio/vhost-vdpa.c

  Log Message:
  -----------
  hw/virtio/vhost-vdpa: Fix Coverity CID 1432864

Fix uninitialized value issues reported by Coverity:

  Field 'msg.reserved' is uninitialized when calling write().

Fixes: a5bd05800f8 ("vhost-vdpa: batch updating IOTLB mappings")
Reported-by: Coverity (CID 1432864: UNINIT)
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201028154004.776760-1-philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: b06fe3e703f833866914c03c3fb0acc02385c824
      
https://github.com/qemu/qemu/commit/b06fe3e703f833866914c03c3fb0acc02385c824
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/pci/pci.c

  Log Message:
  -----------
  hw/pci: Extract pci_bus_change_irq_level() from pci_change_irq_level()

Extract pci_bus_change_irq_level() from pci_change_irq_level() to
make it clearer it operates on the bus.

Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201024203900.3619498-2-f4bug@amsat.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 459ca8bfa41b42b9d80739929f09f792207f15f3
      
https://github.com/qemu/qemu/commit/459ca8bfa41b42b9d80739929f09f792207f15f3
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/pci/pci.c

  Log Message:
  -----------
  pci: Assert irqnum is between 0 and bus->nirqs in pci_bus_change_irq_level

These assertions similar to those in the adjacent pci_bus_get_irq_level()
function ensure that irqnum lies within the valid PCI bus IRQ range.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-Id: <20201011082022.3016-1-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201024203900.3619498-3-f4bug@amsat.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 170a6794efde98fb1ad70f59d4cd9af7decf279d
      
https://github.com/qemu/qemu/commit/170a6794efde98fb1ad70f59d4cd9af7decf279d
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/virtio/vhost.c

  Log Message:
  -----------
  vhost: Don't special case vq->used_phys in vhost_get_log_size()

The first loop in vhost_get_log_size() computes the size of the dirty log
bitmap so that it allows to track changes in the entire guest memory, in
terms of GPA.

When not using a vIOMMU, the address of the vring's used structure,
vq->used_phys, is a GPA. It is thus already covered by the first loop.

When using a vIOMMU, vq->used_phys is a GIOVA that will be translated
to an HVA when the vhost backend needs to update the used structure. It
will log the corresponding GPAs into the bitmap but it certainly won't
log the GIOVA.

So in any case, vq->used_phys shouldn't be explicitly used to size the
bitmap. Drop the second loop.

This fixes a crash of the source when migrating a guest using in-kernel
vhost-net and iommu_platform=on on POWER, because DMA regions are put
over 0x800000000000000ULL. The resulting insanely huge log size causes
g_malloc0() to abort.

BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1879349
Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160208823418.29027.15172801181796272300.stgit@bahia.lan>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 0259c78ca79190df6e307a6ae43886dcb69eb92a
      
https://github.com/qemu/qemu/commit/0259c78ca79190df6e307a6ae43886dcb69eb92a
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M include/hw/i386/pc.h
    M include/hw/i386/x86.h
    M softmmu/vl.c

  Log Message:
  -----------
  pc: Implement -no-hpet as sugar for -machine hpet=on

Get rid of yet another global variable.

The default will be hpet=on only if CONFIG_HPET=y.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20201021144716.1536388-1-ehabkost@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 4c70875372b821b045e84f462466a5c04b091ef5
      
https://github.com/qemu/qemu/commit/4c70875372b821b045e84f462466a5c04b091ef5
  Author: Jason Wang <jasowang@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/pci/pcie.c

  Log Message:
  -----------
  pci: advertise a page aligned ATS

After Linux kernel commit 61363c1474b1 ("iommu/vt-d: Enable ATS only
if the device uses page aligned address."), ATS will be only enabled
if device advertises a page aligned request.

Unfortunately, vhost-net is the only user and we don't advertise the
aligned request capability in the past since both vhost IOTLB and
address_space_get_iotlb_entry() can support non page aligned request.

Though it's not clear that if the above kernel commit makes
sense. Let's advertise a page aligned ATS here to make vhost device
IOTLB work with Intel IOMMU again.

Note that in the future we may extend pcie_ats_init() to accept
parameters like queue depth and page alignment.

Cc: qemu-stable@nongnu.org
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20200909081731.24688-1-jasowang@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 2c729dc8ceaab88f213c7724de0fa181ffc7f078
      
https://github.com/qemu/qemu/commit/2c729dc8ceaab88f213c7724de0fa181ffc7f078
  Author: Ben Widawsky <ben.widawsky@intel.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/pci/pci.c

  Log Message:
  -----------
  pci: Change error_report to assert(3)

Asserts are used for developer bugs. As registering a bar of the wrong
size is not something that should be possible for a user to achieve,
this is a developer bug.

While here, use the more obvious helper function.

Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Message-Id: <20201015181411.89104-1-ben.widawsky@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


  Commit: 6a5b19ca63b1795011f53244f2fd9a2cf8189b72
      
https://github.com/qemu/qemu/commit/6a5b19ca63b1795011f53244f2fd9a2cf8189b72
  Author: Ben Widawsky <ben.widawsky@intel.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/pci/pci.c

  Log Message:
  -----------
  pci: Disallow improper BAR registration for type 1

Prevent future developers working on root complexes, root ports, or
bridges that also wish to implement a BAR for those, from shooting
themselves in the foot. PCI type 1 headers only support 2 base address
registers. It is incorrect and difficult to figure out what is wrong
with the device when this mistake is made. With this, it is immediate
and obvious what has gone wrong.

Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Message-Id: <20201015181411.89104-2-ben.widawsky@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: adb29c027341ba095a3ef4beef6aaef86d3a520e
      
https://github.com/qemu/qemu/commit/adb29c027341ba095a3ef4beef6aaef86d3a520e
  Author: Jin Yu <jin.yu@intel.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/block/vhost-user-blk.c
    M hw/virtio/vhost.c
    M include/hw/virtio/vhost.h

  Log Message:
  -----------
  vhost-blk: set features before setting inflight feature

Virtqueue has split and packed, so before setting inflight,
you need to inform the back-end virtqueue format.

Signed-off-by: Jin Yu <jin.yu@intel.com>
Message-Id: <20200910134851.7817-1-jin.yu@intel.com>
Acked-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: d68cdae30eef62dde61c8b8467a96c01c8f80270
      
https://github.com/qemu/qemu/commit/d68cdae30eef62dde61c8b8467a96c01c8f80270
  Author: Felipe Franciosi <felipe@nutanix.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  virtio: skip guest index check on device load

QEMU must be careful when loading device state off migration streams to
prevent a malicious source from exploiting the emulator. Overdoing these
checks has the side effect of allowing a guest to "pin itself" in cloud
environments by messing with state which is entirely in its control.

Similarly to what f3081539 achieved in usb_device_post_load(), this
commit removes such a check from virtio_load(). Worth noting, the result
of a load without this check is the same as if a guest enables a VQ with
invalid indexes to begin with. That is, the virtual device is set in a
broken state (by the datapath handler) and must be reset.

Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
Message-Id: <20201028134643.110698-1-felipe@nutanix.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 73beb01ec54969f76ab32d1e0605a759b6c95ab0
      
https://github.com/qemu/qemu/commit/73beb01ec54969f76ab32d1e0605a759b6c95ab0
  Author: Peter Xu <peterx@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/i386/intel_iommu.c

  Log Message:
  -----------
  intel_iommu: Fix two misuse of "0x%u" prints

Dave magically found this.  Fix them with "0x%x".

Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20201019173922.100270-1-peterx@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: d03e884e4ece4b528ed87d4133867fcf87aa76e5
      
https://github.com/qemu/qemu/commit/d03e884e4ece4b528ed87d4133867fcf87aa76e5
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/jsnow-gitlab/tags/ide-pull-request' 
into staging

IDE Pull request

# gpg: Signature made Tue 27 Oct 2020 14:41:59 GMT
# gpg:                using RSA key F9B7ABDBBCACDF95BE76CBD07DEF8106AAFC390E
# gpg: Good signature from "John Snow (John Huston) <jsnow@redhat.com>" [full]
# Primary key fingerprint: FAEB 9711 A12C F475 812F  18F2 88A9 064D 1835 61EB
#      Subkey fingerprint: F9B7 ABDB BCAC DF95 BE76  CBD0 7DEF 8106 AAFC 390E

* remotes/jsnow-gitlab/tags/ide-pull-request:
  ide: clear SRST after SRST finishes
  ide: perform SRST as early as possible
  ide: run diagnostic after SRST

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: c99fa56b95a72f6debd50a280561895d078ae020
      
https://github.com/qemu/qemu/commit/c99fa56b95a72f6debd50a280561895d078ae020
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M block.c
    M block/io.c
    M block/qcow2.c
    M docs/tools/qemu-img.rst
    M include/block/block.h
    M qemu-img-cmds.hx
    M qemu-img.c
    M tests/test-bdrv-drain.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging

Block layer patches:

- qcow2: Skip copy-on-write when allocating a zero cluster
- qemu-img: add support for rate limit in qemu-img convert/commit
- Fix deadlock when deleting a block node during drain_all

# gpg: Signature made Tue 27 Oct 2020 15:14:07 GMT
# gpg:                using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg:                issuer "kwolf@redhat.com"
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream:
  block: End quiescent sections when a BDS is deleted
  qcow2: Skip copy-on-write when allocating a zero cluster
  qcow2: Report BDRV_BLOCK_ZERO more accurately in bdrv_co_block_status()
  qemu-img: add support for rate limit in qemu-img convert
  qemu-img: add support for rate limit in qemu-img commit

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 9a2ea4f4a7230fe224dee91d9adf2ef872c3d226
      
https://github.com/qemu/qemu/commit/9a2ea4f4a7230fe224dee91d9adf2ef872c3d226
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    R Changelog
    M Makefile
    M README.rst
    M backends/cryptodev-builtin.c
    M backends/cryptodev-vhost-user.c
    M backends/cryptodev-vhost.c
    M backends/cryptodev.c
    M contrib/elf2dmp/main.c
    M include/hw/core/cpu.h
    M include/hw/qdev-core.h
    M include/io/channel-buffer.h
    M include/io/channel-command.h
    M include/io/channel-file.h
    M include/io/channel-socket.h
    M include/io/channel-tls.h
    M include/io/channel-util.h
    M include/io/channel-watch.h
    M include/io/channel-websock.h
    M include/io/channel.h
    M include/io/dns-resolver.h
    M include/io/task.h
    M include/sysemu/cryptodev-vhost-user.h
    M include/sysemu/cryptodev-vhost.h
    M include/sysemu/cryptodev.h
    M io/channel-buffer.c
    M io/channel-command.c
    M io/channel-file.c
    M io/channel-socket.c
    M io/channel-tls.c
    M io/channel-util.c
    M io/channel-watch.c
    M io/channel-websock.c
    M io/channel.c
    M io/dns-resolver.c
    M io/task.c
    M tests/test-io-channel-buffer.c
    M tests/test-io-channel-command.c
    M tests/test-io-channel-file.c
    M tests/test-io-channel-socket.c
    M tests/test-io-task.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/vivier2/tags/trivial-branch-for-5.2-pull-request' into staging

Pull request trivial branch 20201027

# gpg: Signature made Tue 27 Oct 2020 16:29:47 GMT
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" 
[full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/trivial-branch-for-5.2-pull-request:
  CHANGELOG: remove disused file
  qdev: Fix two typos
  scripts/qmp: delete 'qmp' script
  cryptodev: Fix Lesser GPL version number
  io: Fix Lesser GPL version number
  cpus: Drop declaration of cpu_remove()
  Makefile: Add *.[ch].inc files to cscope/ctags/TAGS
  elf2dmp: Fix memory leak on main() error paths

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: c3dee4de9252ec6f675603e460f9a668f1b5ec1b
      
https://github.com/qemu/qemu/commit/c3dee4de9252ec6f675603e460f9a668f1b5ec1b
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M accel/tcg/translate-all.c
    M include/tcg/tcg-opc.h
    M include/tcg/tcg.h
    M tcg/optimize.c
    M tcg/tcg.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth-gitlab/tags/pull-tcg-20201027' into 
staging

Optimize across branches.
Add logging for cpu_io_recompile.

# gpg: Signature made Tue 27 Oct 2020 16:48:50 GMT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* remotes/rth-gitlab/tags/pull-tcg-20201027:
  accel/tcg: Add CPU_LOG_EXEC tracing for cpu_io_recompile()
  tcg/optimize: Flush data at labels not TCG_OPF_BB_END
  tcg: Do not kill globals at conditional branches

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: b4af1df08f9433d858ec01aff4ec9f06cb28128b
      
https://github.com/qemu/qemu/commit/b4af1df08f9433d858ec01aff4ec9f06cb28128b
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M tests/qemu-iotests/291
    M tests/qemu-iotests/291.out

  Log Message:
  -----------
  iotests/291: Filter irrelevant parts of img-info

We need to let _img_info emit the format-specific information so we get
the list of bitmaps we want, but we do not need anything but the
bitmaps.  So filter out everything that is irrelevant to us.  (Ideally,
this would be a generalized function in common.filters that takes a list
of things to keep, but that would require implementing an anti-bitmap
filter, which would be hard, and which we do not need here.  So that is
why this function is just a local hack.)

This lets 291 pass with qcow2 options like refcount_bits or data_file
again.

Fixes: 14f16bf9474c860ecc127a66a86961942319f7af
       ("qemu-img: Support bitmap --merge into backing image")
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20201027164416.144115-2-mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>


  Commit: cb7223ac33fa35976d64f31145122965c1ba332d
      
https://github.com/qemu/qemu/commit/cb7223ac33fa35976d64f31145122965c1ba332d
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M tests/qemu-iotests/291

  Log Message:
  -----------
  iotests/291: Stop NBD server

nbd_server_start_unix_socket() includes an implicit nbd_server_stop(),
but we still need an explicit one at the end of the test (where there
follows no next nbd_server_start_unix_socket()), or qemu-nbd will linger
until the test exits.

This will become important when enabling this test to run on FUSE
exports, because then the export (which is the image used by qemu-nbd)
will go away before qemu-nbd exits, which will lead to qemu-nbd
complaining that it cannot flush the bitmaps in the image.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20201027164416.144115-3-mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>


  Commit: 159f8442382cff6ef6d858dbf02f03f0cc95b4a7
      
https://github.com/qemu/qemu/commit/159f8442382cff6ef6d858dbf02f03f0cc95b4a7
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Simplify QAPI_LIST_ADD

There is no need to rely on the verbosity of the gcc/clang compiler
extension of g_new(typeof(X), 1) when we can instead use the standard
g_malloc(sizeof(X)).  In general, we like g_new over g_malloc for
returning type X rather than void* to let the compiler catch more
potential typing mistakes, but in this particular macro, our other use
of typeof on the same line already ensures we are getting correct
results.

Suggested-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201027050556.269064-2-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>


  Commit: 9812e7125b83ba6e4645237150ca5f61bf66197f
      
https://github.com/qemu/qemu/commit/9812e7125b83ba6e4645237150ca5f61bf66197f
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M block.c
    M include/qapi/util.h

  Log Message:
  -----------
  qapi: Add QAPI_LIST_PREPEND() macro

block.c has a useful macro QAPI_LIST_ADD() for inserting at the front
of any QAPI-generated list; move it from block.c to qapi/util.h so
more places can use it, including one earlier place in block.c, and
rename it to something more obvious (since we also have a lot of
places that append, rather than prepend, to a list).

There are many more places in the codebase that can benefit from using
the macro, but converting them will be left to later patches.

In theory, all QAPI list types are child classes of GenericList; but
in practice, that relationship is not explicitly spelled out in the C
type declarations (rather, it is something that happens implicitly due
to C compatible layouts), and the macro does not actually depend on
the GenericList type.  We considered moving GenericList from visitor.h
into util.h to group related code; however, such a move would be
awkward if we do not also move GenericAlternate.  Unfortunately,
moving GenericAlternate would introduce its own problems of
declaration circularity (qapi-builtin-types.h needs a complete
definition of QEnumLookup from util.h, but GenericAlternate needs a
complete definition of QType from qapi-builtin-types.h).

Suggested-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201027050556.269064-3-eblake@redhat.com>
[eblake: s/ADD/PREPEND/ per suggestion by Markus]


  Commit: 8675cbd68be7da35a61e391fbb5b95ac67bc7d72
      
https://github.com/qemu/qemu/commit/8675cbd68be7da35a61e391fbb5b95ac67bc7d72
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M blockdev-nbd.c

  Log Message:
  -----------
  nbd: Utilize QAPI_CLONE for type conversion

Rather than open-coding the translation from the deprecated
NbdServerAddOptions type to the preferred BlockExportOptionsNbd, it's
better to utilize QAPI_CLONE_MEMBERS.  This solves a couple of issues:
first, if we do any more refactoring of the base type (which an
upcoming patch plans to do), we don't have to revisit the open-coding.
Second, our assignment to arg->name is fishy: the generated QAPI code
for qapi_free_NbdServerAddOptions does not visit arg->name if
arg->has_name is false, but if it DID visit it, we would have
introduced a double-free situation when arg is finally freed.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201027050556.269064-4-eblake@redhat.com>


  Commit: cbad81cef8cc7b220f04600997ea29d7302bae00
      
https://github.com/qemu/qemu/commit/cbad81cef8cc7b220f04600997ea29d7302bae00
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M blockdev-nbd.c
    M docs/system/deprecated.rst
    M nbd/server.c
    M qapi/block-export.json
    M qemu-nbd.c

  Log Message:
  -----------
  nbd: Update qapi to support exporting multiple bitmaps

Since 'block-export-add' is new to 5.2, we can still tweak the
interface; there, allowing 'bitmaps':['str'] is nicer than
'bitmap':'str'.  This wires up the qapi and qemu-nbd changes to permit
passing multiple bitmaps as distinct metadata contexts that the NBD
client may request, but the actual support for more than one will
require a further patch to the server.

Note that there are no changes made to the existing deprecated
'nbd-server-add' command; this required splitting the QAPI type
BlockExportOptionsNbd, which fortunately does not affect QMP
introspection.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201027050556.269064-5-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>


  Commit: 02e87e3b1c77422b71855102b9cb884e4c7823f7
      
https://github.com/qemu/qemu/commit/02e87e3b1c77422b71855102b9cb884e4c7823f7
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd: Simplify qemu bitmap context name

Each dirty bitmap already knows its name; by reducing the scope of the
places where we construct "qemu:dirty-bitmap:NAME" strings, tracking
the name is more localized, and there are fewer per-export fields to
worry about.  This in turn will make it easier for an upcoming patch
to export more than one bitmap at once.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20201027050556.269064-6-eblake@redhat.com>


  Commit: 47ec485e8d5dba978126d31b9484d717ac1222ba
      
https://github.com/qemu/qemu/commit/47ec485e8d5dba978126d31b9484d717ac1222ba
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd: Refactor counting of metadata contexts

Rather than open-code the count of negotiated contexts at several
sites, embed it directly into the struct.  This will make it easier
for upcoming commits to support even more simultaneous contexts.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201027050556.269064-7-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>


  Commit: 3b1f244c59b7045680e615d50dc444a316abd891
      
https://github.com/qemu/qemu/commit/3b1f244c59b7045680e615d50dc444a316abd891
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M nbd/server.c
    M tests/qemu-iotests/291

  Log Message:
  -----------
  nbd: Allow export of multiple bitmaps for one device

With this, 'qemu-nbd -B b0 -B b1 -f qcow2 img.qcow2' can let you sniff
out multiple bitmaps from one server.  qemu-img as client can still
only read one bitmap per client connection, but other NBD clients
(hello libnbd) can now read multiple bitmaps in a single pass.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20201027050556.269064-8-eblake@redhat.com>


  Commit: a92b1b065eed385d9077be735eb8e92f5a6e150a
      
https://github.com/qemu/qemu/commit/a92b1b065eed385d9077be735eb8e92f5a6e150a
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M block/commit.c
    M block/coroutines.h
    M block/io.c
    M block/mirror.c
    M block/stream.c

  Log Message:
  -----------
  block: Return depth level during bdrv_is_allocated_above

When checking for allocation across a chain, it's already easy to
count the depth within the chain at which the allocation is found.
Instead of throwing that information away, return it to the caller.
Existing callers only cared about allocated/non-allocated, but having
a depth available will be used by NBD in the next patch.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201027050556.269064-9-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
[eblake: rebase to master]
Signed-off-by: Eric Blake <eblake@redhat.com>


  Commit: 71719cd57fc02ddfd91a4a3ca3f469bfb4d221bc
      
https://github.com/qemu/qemu/commit/71719cd57fc02ddfd91a4a3ca3f469bfb4d221bc
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M docs/interop/nbd.txt
    M include/block/nbd.h
    M nbd/server.c

  Log Message:
  -----------
  nbd: Add new qemu:allocation-depth metadata context

'qemu-img map' provides a way to determine which extents of an image
come from the top layer vs. inherited from a backing chain.  This is
useful information worth exposing over NBD.  There is a proposal to
add a QMP command block-dirty-bitmap-populate which can create a dirty
bitmap that reflects allocation information, at which point the
qemu:dirty-bitmap:NAME metadata context can expose that information
via the creation of a temporary bitmap, but we can shorten the effort
by adding a new qemu:allocation-depth metadata context that does the
same thing without an intermediate bitmap (this patch does not
eliminate the need for that proposal, as it will have other uses as
well).

While documenting things, remember that although the NBD protocol has
NBD_OPT_SET_META_CONTEXT, the rest of its documentation refers to
'metadata context', which is a more apt description of what is
actually being used by NBD_CMD_BLOCK_STATUS: the user is requesting
metadata by passing one or more context names.  So I also touched up
some existing wording to prefer the term 'metadata context' where it
makes sense.

Note that this patch does not actually enable any way to request a
server to enable this context; that will come in the next patch.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201027050556.269064-10-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>


  Commit: dbc7b01492371e4a54b92d2b6d968f9b863cc794
      
https://github.com/qemu/qemu/commit/dbc7b01492371e4a54b92d2b6d968f9b863cc794
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-10-30 (Fri, 30 Oct 2020)

  Changed paths:
    M block/nbd.c
    M docs/tools/qemu-nbd.rst
    M nbd/server.c
    M qapi/block-core.json
    M qapi/block-export.json
    M qemu-nbd.c
    A tests/qemu-iotests/309
    A tests/qemu-iotests/309.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  nbd: Add 'qemu-nbd -A' to expose allocation depth

Allow the server to expose an additional metacontext to be requested
by savvy clients.  qemu-nbd adds a new option -A to expose the
qemu:allocation-depth metacontext through NBD_CMD_BLOCK_STATUS; this
can also be set via QMP when using block-export-add.

qemu as client is hacked into viewing the key aspects of this new
context by abusing the already-experimental x-dirty-bitmap option to
collapse all depths greater than 2, which results in a tri-state value
visible in the output of 'qemu-img map --output=json' (yes, that means
x-dirty-bitmap is now a bit of a misnomer, but I didn't feel like
renaming it as it would introduce a needless break of back-compat,
even though we make no compat guarantees with x- members):

unallocated (depth 0) => "zero":false, "data":true
local (depth 1)       => "zero":false, "data":false
backing (depth 2+)    => "zero":true,  "data":true

libnbd as client is probably a nicer way to get at the information
without having to decipher such hacks in qemu as client. ;)

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201027050556.269064-11-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>


  Commit: 69d7eab0b8bb14f8d52539618ae33918032eaaf7
      
https://github.com/qemu/qemu/commit/69d7eab0b8bb14f8d52539618ae33918032eaaf7
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-31 (Sat, 31 Oct 2020)

  Changed paths:
    M hw/display/tcx.c
    M hw/dma/sparc32_dma.c
    M hw/pci-host/sabre.c
    M hw/sparc/sun4m.c
    M hw/sparc64/sun4u.c
    M include/hw/sparc/sparc32_dma.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mcayland/tags/qemu-sparc-20201028' into 
staging

qemu-sparc queue

# gpg: Signature made Wed 28 Oct 2020 08:17:23 GMT
# gpg:                using RSA key CC621AB98E82200D915CC9C45BC2C56FAE0F321F
# gpg:                issuer "mark.cave-ayland@ilande.co.uk"
# gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>" 
[full]
# Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F

* remotes/mcayland/tags/qemu-sparc-20201028:
  hw/pci-host/sabre: Simplify code initializing variable once
  hw/pci-host/sabre: Remove superfluous address range check
  hw/pci-host/sabre: Update documentation link
  sabre: increase number of PCI bus IRQs from 32 to 64
  hw/display/tcx: Allow 64-bit accesses to framebuffer stippler and blitter
  sabre: don't call sysbus_mmio_map() in sabre_realize()
  sparc32-ledma: don't reference nd_table directly within the device
  sparc32-espdma: use object_initialize_child() for esp child object
  sparc32-ledma: use object_initialize_child() for lance child object
  sparc32-dma: use object_initialize_child() for espdma and ledma child objects

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 5e6464f9c6756c95d036c4acf7ce557a7eb3a7be
      
https://github.com/qemu/qemu/commit/5e6464f9c6756c95d036c4acf7ce557a7eb3a7be
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-31 (Sat, 31 Oct 2020)

  Changed paths:
    M authz/base.c
    M authz/list.c
    M authz/listfile.c
    M authz/pamacct.c
    M authz/simple.c
    M include/authz/base.h
    M include/authz/list.h
    M include/authz/listfile.h
    M include/authz/pamacct.h
    M include/authz/simple.h
    M io/channel-websock.c
    M tests/qemu-iotests/162.out
    M tests/test-authz-list.c
    M tests/test-authz-listfile.c
    M tests/test-authz-pam.c
    M tests/test-authz-simple.c
    M tests/test-crypto-afsplit.c
    M tests/test-crypto-block.c
    M tests/test-crypto-cipher.c
    M tests/test-crypto-hash.c
    M tests/test-crypto-ivgen.c
    M tests/test-crypto-secret.c
    M tests/test-crypto-xts.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/berrange-gitlab/tags/misc-next-pull-request' into staging

Misc fixes

 * Improve socket cnnection failure error reporting
 * Fix LGPL version number

# gpg: Signature made Thu 29 Oct 2020 10:00:47 GMT
# gpg:                using RSA key DAF3A6FDB26B62912D0E8E3FBE86EBB415104FDF
# gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" [full]
# gpg:                 aka "Daniel P. Berrange <berrange@redhat.com>" [full]
# Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E  8E3F BE86 EBB4 1510 4FDF

* remotes/berrange-gitlab/tags/misc-next-pull-request:
  util: include the target address in socket connect failures
  io: Don't use '#' flag of printf format
  authz: Fix Lesser GPL version number
  crypt: Fix Lesser GPL version number
  io: Fix Lesser GPL version number

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 2ab6c494339652e69ec405dc779d83c46c8faf98
      
https://github.com/qemu/qemu/commit/2ab6c494339652e69ec405dc779d83c46c8faf98
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-31 (Sat, 31 Oct 2020)

  Changed paths:
    M configure
    M hw/display/meson.build
    M hw/display/virtio-gpu-3d.c
    M util/module.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/kraxel/tags/modules-20201029-pull-request' into staging

modules: build virtio-gpu-pci & virtio-vga modular.
modules: various bugfixes, mostly for macos.

# gpg: Signature made Thu 29 Oct 2020 11:09:41 GMT
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/modules-20201029-pull-request:
  modules: turn off lazy binding
  modules: unbreak them on macos
  virtio-gpu: only compile virtio-gpu-3d.c for CONFIG_VIRGL=y
  virtio-gpu: add virtio-vga module
  virtio-gpu: add virtio-gpu-pci module

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 700d20b49e303549b32d3a7a3efbfcee8c7a4f6c
      
https://github.com/qemu/qemu/commit/700d20b49e303549b32d3a7a3efbfcee8c7a4f6c
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/block/vhost-user-blk.c
    M hw/i386/acpi-build.c
    M hw/i386/intel_iommu.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/pci/pci.c
    M hw/pci/pcie.c
    M hw/virtio/vhost-vdpa.c
    M hw/virtio/vhost-vsock.c
    M hw/virtio/vhost.c
    M hw/virtio/virtio.c
    M include/hw/i386/pc.h
    M include/hw/i386/x86.h
    M include/hw/virtio/vhost.h
    M net/vhost-vdpa.c
    M softmmu/vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging

pc,pci,vhost,virtio: misc fixes

Just a bunch of bugfixes all over the place.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

# gpg: Signature made Fri 30 Oct 2020 12:44:31 GMT
# 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:
  intel_iommu: Fix two misuse of "0x%u" prints
  virtio: skip guest index check on device load
  vhost-blk: set features before setting inflight feature
  pci: Disallow improper BAR registration for type 1
  pci: Change error_report to assert(3)
  pci: advertise a page aligned ATS
  pc: Implement -no-hpet as sugar for -machine hpet=on
  vhost: Don't special case vq->used_phys in vhost_get_log_size()
  pci: Assert irqnum is between 0 and bus->nirqs in pci_bus_change_irq_level
  hw/pci: Extract pci_bus_change_irq_level() from pci_change_irq_level()
  hw/virtio/vhost-vdpa: Fix Coverity CID 1432864
  acpi/crs: Support ranges > 32b for hosts
  acpi/crs: Prevent bad ranges for host bridges
  vhost-vsock: set vhostfd to non-blocking mode
  vhost-vdpa: negotiate VIRTIO_NET_F_STATUS with driver

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 8db193c4108e09996923a4d716b51fc98efb7f3a
      
https://github.com/qemu/qemu/commit/8db193c4108e09996923a4d716b51fc98efb7f3a
  Author: Christian Schoenebeck <qemu_oss@crudebyte.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/libqos/virtio-9p.c
    M tests/qtest/libqos/virtio-9p.h

  Log Message:
  -----------
  tests/9pfs: make create/remove test dir public

Make functions create_local_test_dir() and remove_local_test_dir()
public. They're going to be used in the next patch.

Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: 
<ec90703cbc23d6b612b3672f946d7741f4a16080.1604243521.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 136b7af22774a6f0fb44c9c1b8c088b52e2e92ed
      
https://github.com/qemu/qemu/commit/136b7af22774a6f0fb44c9c1b8c088b52e2e92ed
  Author: Christian Schoenebeck <qemu_oss@crudebyte.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/libqos/virtio-9p.c
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: fix test dir for parallel tests

Use mkdtemp() to generate a unique directory for the 9p 'local' tests.

This fixes occasional 9p test failures when running 'make check -jN' if
QEMU was compiled for multiple target architectures, because the individual
architecture's test suites would run in parallel and interfere with each
other's data as the test directory was previously hard coded and hence the
same directory was used by all of them simultaniously.

This also requires a change how the test directory is created and deleted:
As the test path is now randomized and virtio_9p_register_nodes() being
called in a somewhat undeterministic way, that's no longer an appropriate
place to create and remove the test directory. Use a constructor and
destructor function for creating and removing the test directory instead.
Unfortunately libqos currently does not support setup/teardown callbacks
to handle this more cleanly.

The constructor functions needs to be in virtio-9p-test.c, not in
virtio-9p.c, because in the latter location it would cause all apps that
link to libqos (i.e. entirely unrelated test suites) to create a 9pfs
test directory as well, which would even break other test suites.

Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Tested-by: Greg Kurz <groug@kaod.org>
Message-Id: 
<7746f42d8f557593898d3d9d8e57c46e872dfb4f.1604243521.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 5409d8bea40289106e1005c41973382a7dfacf1c
      
https://github.com/qemu/qemu/commit/5409d8bea40289106e1005c41973382a7dfacf1c
  Author: Christian Schoenebeck <qemu_oss@crudebyte.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/libqos/virtio-9p.c

  Log Message:
  -----------
  tests/9pfs: fix coverity error in create_local_test_dir()

Coverity wants the return value of mkdir() to be checked:

  /qemu/tests/qtest/libqos/virtio-9p.c: 48 in create_local_test_dir()
  42     /* Creates the directory for the 9pfs 'local' filesystem driver to
  access. */
  43     static void create_local_test_dir(void)
  44     {
  45         struct stat st;
  46
  47         g_assert(local_test_path != NULL);
  >>> CID 1435963:  Error handling issues  (CHECKED_RETURN)
  >>> Calling "mkdir(local_test_path, 511U)" without checking return value.
  This library function may fail and return an error code.
  48         mkdir(local_test_path, 0777);
  49
  50         /* ensure test directory exists now ... */
  51         g_assert(stat(local_test_path, &st) == 0);
  52         /* ... and is actually a directory */
  53         g_assert((st.st_mode & S_IFMT) == S_IFDIR);

So let's just do that and log an info-level message at least, because we
actually only care if the required directory exists and we do have an
existence check for that in place already.

Reported-by: Coverity (CID 1435963)
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: 
<03f68c7ec08064e20f43797f4eb4305ad21e1e8e.1604061839.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 603cc76a60691b288947c88ad63b7b0d616f98b6
      
https://github.com/qemu/qemu/commit/603cc76a60691b288947c88ad63b7b0d616f98b6
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/libqos/virtio-9p.c

  Log Message:
  -----------
  tests/9pfs: Force removing of local 9pfs test directory

No need to get a complaint from "rm" if some path disappeared for some
reason.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160406199444.312256.8319835906008559151.stgit@bahia.lan>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 1c450e6efe14a7c76f4e75d7316c9fdf00e757c0
      
https://github.com/qemu/qemu/commit/1c450e6efe14a7c76f4e75d7316c9fdf00e757c0
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: Factor out do_version() helper

fs_version() is a top level test function. Factor out the reusable
code to a separate helper instead of hijacking it in other tests.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160321015403.266767.4533967728943968456.stgit@bahia.lan>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 382619eff506bd229c7ba0d5671c84b6f1a0a415
      
https://github.com/qemu/qemu/commit/382619eff506bd229c7ba0d5671c84b6f1a0a415
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: Set alloc in fs_create_dir()

fs_create_dir() is a top level test function. It should set alloc.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160321016764.266767.3763279057643874020.stgit@bahia.lan>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 3fe4baf47be2633022ed4af71466aca6ddfc3f19
      
https://github.com/qemu/qemu/commit/3fe4baf47be2633022ed4af71466aca6ddfc3f19
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: Factor out do_attach() helper

fs_attach() is a top level test function. Factor out the reusable
code to a separate helper instead of hijacking it in other tests.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160321017450.266767.17377192504263871186.stgit@bahia.lan>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 1d98613d7cd488528bc08260185c03ee078c1347
      
https://github.com/qemu/qemu/commit/1d98613d7cd488528bc08260185c03ee078c1347
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: Turn fs_readdir_split() into a helper

fs_readdir_split() isn't a top level test function and thus shouldn't
take the "void *obj, void *data, QGuestAllocator *t_alloc" arguments.
Turn it into a helper to be used by test functions.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160321016084.266767.9501523425012383531.stgit@bahia.lan>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: c1934f630c131ec487d21949c9b53e1e3f2b8bcb
      
https://github.com/qemu/qemu/commit/c1934f630c131ec487d21949c9b53e1e3f2b8bcb
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: Turn fs_mkdir() into a helper

fs_mkdir() isn't a top level test function and thus shouldn't take
the "void *obj, void *data, QGuestAllocator *t_alloc" arguments.
Turn it into a helper to be used by test functions.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160321018148.266767.15959608711038504029.stgit@bahia.lan>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 20018805224c69c78ac25d6b361eded8c8095c75
      
https://github.com/qemu/qemu/commit/20018805224c69c78ac25d6b361eded8c8095c75
  Author: Christian Schoenebeck <qemu_oss@crudebyte.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: simplify do_mkdir()

Split out walking a directory path to a separate new utility function
do_walk() and use that function in do_mkdir().

The code difference saved this way is not much, but we'll use that new
do_walk() function in the upcoming patches, so it will avoid quite
some code duplication after all.

Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: 
<4d7275b2363f122438a443ce079cbb355285e9d6.1603285620.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: b37d62d6de08bea1f57e51a4b99938f7994a84d6
      
https://github.com/qemu/qemu/commit/b37d62d6de08bea1f57e51a4b99938f7994a84d6
  Author: Christian Schoenebeck <qemu_oss@crudebyte.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: add local Tunlinkat directory test

This test case uses a Tunlinkat 9p request with flag AT_REMOVEDIR
(see 'man 2 unlink') to remove a directory from host's test directory.

Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: 
<3c7c65b476ba44bea6afd0b378b5287e1c671a32.1603285620.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: b09dbfdd5177ccd49117b6e6ce6712db99714ee0
      
https://github.com/qemu/qemu/commit/b09dbfdd5177ccd49117b6e6ce6712db99714ee0
  Author: Christian Schoenebeck <qemu_oss@crudebyte.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: add local Tlcreate test

This test case uses a Tlcreate 9p request to create a regular file inside
host's test directory.

Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: 
<269cae0c00af941a3a4ae78f1e319f93462a7eb4.1603285620.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 472c18b8bf20f111b02abc403407efd88b6281d7
      
https://github.com/qemu/qemu/commit/472c18b8bf20f111b02abc403407efd88b6281d7
  Author: Christian Schoenebeck <qemu_oss@crudebyte.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: add local Tunlinkat file test

This test case uses a Tunlinkat request to remove a regular file using
the 9pfs 'local' fs driver.

Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: 
<4eabeed7f662721dd5664cb77fe36ea0aa08b1ec.1603285620.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 59ff563db1cfb9f3a20075b452d1564585bbc66a
      
https://github.com/qemu/qemu/commit/59ff563db1cfb9f3a20075b452d1564585bbc66a
  Author: Christian Schoenebeck <qemu_oss@crudebyte.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: add local Tsymlink test

This test case uses a Tsymlink 9p request to create a symbolic link using
the 9pfs 'local' fs driver.

Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: 
<84ac76937855bf441242372cc3e62df42f0a3dc4.1603285620.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 5b28ab8bda41768acb6be05c8949a0bc8e6b9cd8
      
https://github.com/qemu/qemu/commit/5b28ab8bda41768acb6be05c8949a0bc8e6b9cd8
  Author: Christian Schoenebeck <qemu_oss@crudebyte.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: add local Tunlinkat symlink test

This test case uses a Tunlinkat request to remove a symlink using
the 9pfs 'local' fs driver.

Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: 
<a23cd4d2ab6d8d3048addab8cbf0416fe5ead43e.1603285620.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 64e3d4032296aae1adf80e6638b2c4b1987a70d0
      
https://github.com/qemu/qemu/commit/64e3d4032296aae1adf80e6638b2c4b1987a70d0
  Author: Christian Schoenebeck <qemu_oss@crudebyte.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: add local Tlink test

This test case uses a Tlink request to create a hard link to a regular
file using the 9pfs 'local' fs driver.

Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: 
<f0d869770ad23ee5ce10f7da90fdb742cadcad72.1603285620.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 4d0746e2135f56c59c6e61ef42d700b7139065b4
      
https://github.com/qemu/qemu/commit/4d0746e2135f56c59c6e61ef42d700b7139065b4
  Author: Christian Schoenebeck <qemu_oss@crudebyte.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  tests/9pfs: add local Tunlinkat hard link test

This test case uses a Tunlinkat request to remove a previously hard
linked file by using the 9pfs 'local' fs driver.

Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: 
<9bec33a7d8f006ef8f80517985d0d6ac48650d53.1603285620.git.qemu_oss@crudebyte.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 6f2ef80b0ce87d258b4736471a81747da2a7a881
      
https://github.com/qemu/qemu/commit/6f2ef80b0ce87d258b4736471a81747da2a7a881
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M block.c
    M block/commit.c
    M block/coroutines.h
    M block/io.c
    M block/mirror.c
    M block/nbd.c
    M block/stream.c
    M blockdev-nbd.c
    M docs/interop/nbd.txt
    M docs/system/deprecated.rst
    M docs/tools/qemu-nbd.rst
    M include/block/nbd.h
    M include/qapi/util.h
    M nbd/server.c
    M qapi/block-core.json
    M qapi/block-export.json
    M qemu-nbd.c
    M tests/qemu-iotests/291
    M tests/qemu-iotests/291.out
    A tests/qemu-iotests/309
    A tests/qemu-iotests/309.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2020-10-27-v2' into 
staging

nbd patches for 2020-10-27

- Tweak the new block-export-add QMP command
- Allow multiple -B options for qemu-nbd
- Add qemu:allocation-depth metadata context as qemu-nbd -A
- Improve iotest use of NBD

# gpg: Signature made Fri 30 Oct 2020 20:22:42 GMT
# gpg:                using RSA key 71C2CC22B1C4602927D2F3AAA7A16B4A2527436A
# gpg: Good signature from "Eric Blake <eblake@redhat.com>" [full]
# gpg:                 aka "Eric Blake (Free Software Programmer) 
<ebb9@byu.net>" [full]
# gpg:                 aka "[jpeg image of size 6874]" [full]
# Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2  F3AA A7A1 6B4A 2527 436A

* remotes/ericb/tags/pull-nbd-2020-10-27-v2:
  nbd: Add 'qemu-nbd -A' to expose allocation depth
  nbd: Add new qemu:allocation-depth metadata context
  block: Return depth level during bdrv_is_allocated_above
  nbd: Allow export of multiple bitmaps for one device
  nbd: Refactor counting of metadata contexts
  nbd: Simplify qemu bitmap context name
  nbd: Update qapi to support exporting multiple bitmaps
  nbd: Utilize QAPI_CLONE for type conversion
  qapi: Add QAPI_LIST_PREPEND() macro
  block: Simplify QAPI_LIST_ADD
  iotests/291: Stop NBD server
  iotests/291: Filter irrelevant parts of img-info

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 0f7a903ba3f0f8dfb347fb15b783aade4833826e
      
https://github.com/qemu/qemu/commit/0f7a903ba3f0f8dfb347fb15b783aade4833826e
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/trace-events
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: Add function to unmap VFIO region

This function will be used for migration region.
Migration region is mmaped when migration starts and will be unmapped when
migration is complete.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: e93b733bcf8ee185af14a0f90a217d51cf40e7ea
      
https://github.com/qemu/qemu/commit/e93b733bcf8ee185af14a0f90a217d51cf40e7ea
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/pci.c
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: Add vfio_get_object callback to VFIODeviceOps

Hook vfio_get_object callback for PCI devices.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
Suggested-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: c5e2fb3ce4dbb158732420fbd3b963eebbcd85c8
      
https://github.com/qemu/qemu/commit/c5e2fb3ce4dbb158732420fbd3b963eebbcd85c8
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/pci.c
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: Add save and load functions for VFIO PCI devices

Added functions to save and restore PCI device specific data,
specifically config space of PCI device.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: a9e271ec9b36ef4c7b5bc3b234c85d93931e192e
      
https://github.com/qemu/qemu/commit/a9e271ec9b36ef4c7b5bc3b234c85d93931e192e
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/meson.build
    A hw/vfio/migration.c
    M hw/vfio/trace-events
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: Add migration region initialization and finalize function

Whether the VFIO device supports migration or not is decided based of
migration region query. If migration region query is successful and migration
region initialization is successful then migration is supported else
migration is blocked.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 02a7e71b1e5b1313060927e7c86a10be2d7083a7
      
https://github.com/qemu/qemu/commit/02a7e71b1e5b1313060927e7c86a10be2d7083a7
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/migration.c
    M hw/vfio/trace-events
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: Add VM state change handler to know state of VM

VM state change handler is called on change in VM's state. Based on
VM state, VFIO device state should be changed.
Added read/write helper functions for migration region.
Added function to set device_state.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
[aw: lx -> HWADDR_PRIx, remove redundant parens]
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 050c588c2ef6edd75769e6c4869d0ad625d5be90
      
https://github.com/qemu/qemu/commit/050c588c2ef6edd75769e6c4869d0ad625d5be90
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/migration.c
    M hw/vfio/trace-events
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: Add migration state change notifier

Added migration state change notifier to get notification on migration state
change. These states are translated to VFIO device state and conveyed to
vendor driver.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 7c2f5f75f94a8820023a46169a4369fd8189a23c
      
https://github.com/qemu/qemu/commit/7c2f5f75f94a8820023a46169a4369fd8189a23c
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/migration.c
    M hw/vfio/trace-events

  Log Message:
  -----------
  vfio: Register SaveVMHandlers for VFIO device

Define flags to be used as delimiter in migration stream for VFIO devices.
Added .save_setup and .save_cleanup functions. Map & unmap migration
region from these functions at source during saving or pre-copy phase.

Set VFIO device state depending on VM's state. During live migration, VM is
running when .save_setup is called, _SAVING | _RUNNING state is set for VFIO
device. During save-restore, VM is paused, _SAVING state is set for VFIO device.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Yan Zhao <yan.y.zhao@intel.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 1bc3c535ffbe512126a02b9f588497d5f5b7075b
      
https://github.com/qemu/qemu/commit/1bc3c535ffbe512126a02b9f588497d5f5b7075b
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/migration.c
    M hw/vfio/trace-events
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: Add save state functions to SaveVMHandlers

Added .save_live_pending, .save_live_iterate and .save_live_complete_precopy
functions. These functions handles pre-copy and stop-and-copy phase.

In _SAVING|_RUNNING device state or pre-copy phase:
- read pending_bytes. If pending_bytes > 0, go through below steps.
- read data_offset - indicates kernel driver to write data to staging
  buffer.
- read data_size - amount of data in bytes written by vendor driver in
  migration region.
- read data_size bytes of data from data_offset in the migration region.
- Write data packet to file stream as below:
{VFIO_MIG_FLAG_DEV_DATA_STATE, data_size, actual data,
VFIO_MIG_FLAG_END_OF_STATE }

In _SAVING device state or stop-and-copy phase
a. read config space of device and save to migration file stream. This
   doesn't need to be from vendor driver. Any other special config state
   from driver can be saved as data in following iteration.
b. read pending_bytes. If pending_bytes > 0, go through below steps.
c. read data_offset - indicates kernel driver to write data to staging
   buffer.
d. read data_size - amount of data in bytes written by vendor driver in
   migration region.
e. read data_size bytes of data from data_offset in the migration region.
f. Write data packet as below:
   {VFIO_MIG_FLAG_DEV_DATA_STATE, data_size, actual data}
g. iterate through steps b to f while (pending_bytes > 0)
h. Write {VFIO_MIG_FLAG_END_OF_STATE}

When data region is mapped, its user's responsibility to read data from
data_offset of data_size before moving to next steps.

Added fix suggested by Artem Polyakov to reset pending_bytes in
vfio_save_iterate().
Added fix suggested by Zhi Wang to add 0 as data size in migration stream and
add END_OF_STATE delimiter to indicate phase complete.

Suggested-by: Artem Polyakov <artemp@nvidia.com>
Suggested-by: Zhi Wang <zhi.wang.linux@gmail.com>
Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
Reviewed-by: Yan Zhao <yan.y.zhao@intel.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 3336d21710130a3d64c901aeae2dc66c364f93ad
      
https://github.com/qemu/qemu/commit/3336d21710130a3d64c901aeae2dc66c364f93ad
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/migration.c
    M hw/vfio/trace-events

  Log Message:
  -----------
  vfio: Add load state functions to SaveVMHandlers

Sequence  during _RESUMING device state:
While data for this device is available, repeat below steps:
a. read data_offset from where user application should write data.
b. write data of data_size to migration region from data_offset.
c. write data_size which indicates vendor driver that data is written in
   staging buffer.

For user, data is opaque. User should write data in the same order as
received.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Yan Zhao <yan.y.zhao@intel.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 74ee653799f93dfb119de9a248bdf0a85a68904f
      
https://github.com/qemu/qemu/commit/74ee653799f93dfb119de9a248bdf0a85a68904f
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M softmmu/memory.c

  Log Message:
  -----------
  memory: Set DIRTY_MEMORY_MIGRATION when IOMMU is enabled

mr->ram_block is NULL when mr->is_iommu is true, then fr.dirty_log_mask
wasn't set correctly due to which memory listener's log_sync doesn't
get called.
This patch returns log_mask with DIRTY_MEMORY_MIGRATION set when
IOMMU is enabled.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Yan Zhao <yan.y.zhao@intel.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 87ea529c5020124440cd892a038dffe6057fd613
      
https://github.com/qemu/qemu/commit/87ea529c5020124440cd892a038dffe6057fd613
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/migration.c
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: Get migration capability flags for container

Added helper functions to get IOMMU info capability chain.
Added function to get migration capability information from that
capability chain for IOMMU container.

Similar change was proposed earlier:
https://lists.gnu.org/archive/html/qemu-devel/2018-05/msg03759.html

Disable migration for devices if IOMMU module doesn't support migration
capability.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Cc: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Cc: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: e663f516830c61f1dcafd2dda810126c14327b15
      
https://github.com/qemu/qemu/commit/e663f516830c61f1dcafd2dda810126c14327b15
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/migration.c

  Log Message:
  -----------
  vfio: Add function to start and stop dirty pages tracking

Call VFIO_IOMMU_DIRTY_PAGES ioctl to start and stop dirty pages tracking
for VFIO devices.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: b6dd6504e303d4339df2db765433bffa36dfbf8b
      
https://github.com/qemu/qemu/commit/b6dd6504e303d4339df2db765433bffa36dfbf8b
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/trace-events

  Log Message:
  -----------
  vfio: Add vfio_listener_log_sync to mark dirty pages

vfio_listener_log_sync gets list of dirty pages from container using
VFIO_IOMMU_GET_DIRTY_BITMAP ioctl and mark those pages dirty when all
devices are stopped and saving state.
Return early for the RAM block section of mapped MMIO region.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
[aw: fix error_report types, fix cpu_physical_memory_set_dirty_lebitmap() cast]
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 9a04fe09576b0399646e80e57ff2d2324f7cf64d
      
https://github.com/qemu/qemu/commit/9a04fe09576b0399646e80e57ff2d2324f7cf64d
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/trace-events

  Log Message:
  -----------
  vfio: Dirty page tracking when vIOMMU is enabled

When vIOMMU is enabled, register MAP notifier from log_sync when all
devices in container are in stop and copy phase of migration. Call replay
and get dirty pages from notifier callback.

Suggested-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Yan Zhao <yan.y.zhao@intel.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 9e7b0442f23a92c27204d6f81a954f30f3126d33
      
https://github.com/qemu/qemu/commit/9e7b0442f23a92c27204d6f81a954f30f3126d33
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/common.c

  Log Message:
  -----------
  vfio: Add ioctl to get dirty pages bitmap during dma unmap

With vIOMMU, IO virtual address range can get unmapped while in pre-copy
phase of migration. In that case, unmap ioctl should return pages pinned
in that range and QEMU should find its correcponding guest physical
addresses and report those dirty.

Suggested-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
[aw: fix error_report types, fix cpu_physical_memory_set_dirty_lebitmap() cast]
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: a22651053b59b7d40bf921e8819ea696a3b0a9d2
      
https://github.com/qemu/qemu/commit/a22651053b59b7d40bf921e8819ea696a3b0a9d2
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/pci.c
    M hw/vfio/pci.h

  Log Message:
  -----------
  vfio: Make vfio-pci device migration capable

If the device is not a failover primary device, call
vfio_migration_probe() and vfio_migration_finalize() to enable
migration support for those devices that support it respectively to
tear it down again.
Removed migration blocker from VFIO PCI device specific structure and use
migration blocker from generic structure of  VFIO device.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 3710586caa5d91a52c0cf247e1c829a50f2e7b98
      
https://github.com/qemu/qemu/commit/3710586caa5d91a52c0cf247e1c829a50f2e7b98
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/common.c
    M hw/vfio/migration.c
    M include/hw/vfio/vfio-common.h
    M migration/migration.c
    M monitor/hmp-cmds.c
    M qapi/migration.json

  Log Message:
  -----------
  qapi: Add VFIO devices migration stats in Migration stats

Added amount of bytes transferred to the VM at destination by all VFIO
devices

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 84567ea763874c633eddfd8c522d48bbe0bc5c8f
      
https://github.com/qemu/qemu/commit/84567ea763874c633eddfd8c522d48bbe0bc5c8f
  Author: Matthew Rosato <mjrosato@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M scripts/update-linux-headers.sh

  Log Message:
  -----------
  update-linux-headers: Add vfio_zdev.h

vfio_zdev.h is used by s390x zPCI support to pass device-specific
CLP information between host and userspace.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 53ba2eee52bff5a746e96835539a1079f6bcadd1
      
https://github.com/qemu/qemu/commit/53ba2eee52bff5a746e96835539a1079f6bcadd1
  Author: Matthew Rosato <mjrosato@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h
    M include/standard-headers/linux/ethtool.h
    M include/standard-headers/linux/fuse.h
    M include/standard-headers/linux/input-event-codes.h
    M include/standard-headers/linux/pci_regs.h
    M include/standard-headers/linux/virtio_fs.h
    M include/standard-headers/linux/virtio_gpu.h
    M include/standard-headers/linux/virtio_mmio.h
    M include/standard-headers/linux/virtio_pci.h
    M linux-headers/asm-arm64/kvm.h
    M linux-headers/asm-arm64/mman.h
    M linux-headers/asm-generic/hugetlb_encode.h
    M linux-headers/asm-generic/unistd.h
    M linux-headers/asm-mips/unistd_n32.h
    M linux-headers/asm-mips/unistd_n64.h
    M linux-headers/asm-mips/unistd_o32.h
    M linux-headers/asm-powerpc/unistd_32.h
    M linux-headers/asm-powerpc/unistd_64.h
    M linux-headers/asm-s390/unistd_32.h
    M linux-headers/asm-s390/unistd_64.h
    M linux-headers/asm-x86/kvm.h
    M linux-headers/asm-x86/unistd_32.h
    M linux-headers/asm-x86/unistd_64.h
    M linux-headers/asm-x86/unistd_x32.h
    M linux-headers/linux/kvm.h
    M linux-headers/linux/mman.h
    M linux-headers/linux/vfio.h
    A linux-headers/linux/vfio_zdev.h

  Log Message:
  -----------
  linux-headers: update against 5.10-rc1

commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
[aw: drop pvrdma_ring.h changes to avoid revert of d73415a31547 
("qemu/atomic.h: rename atomic_ to qatomic_")]
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 408b55db8be3e3edae041d46ef8786fabc1476aa
      
https://github.com/qemu/qemu/commit/408b55db8be3e3edae041d46ef8786fabc1476aa
  Author: Matthew Rosato <mjrosato@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M hw/s390x/s390-pci-bus.c
    R hw/s390x/s390-pci-bus.h
    M hw/s390x/s390-pci-inst.c
    R hw/s390x/s390-pci-inst.h
    M hw/s390x/s390-virtio-ccw.c
    A include/hw/s390x/s390-pci-bus.h
    A include/hw/s390x/s390-pci-inst.h

  Log Message:
  -----------
  s390x/pci: Move header files to include/hw/s390x

Seems a more appropriate location for them.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 3ab7a0b40d4be5ade3b61d4afd1518193b199423
      
https://github.com/qemu/qemu/commit/3ab7a0b40d4be5ade3b61d4afd1518193b199423
  Author: Matthew Rosato <mjrosato@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/common.c

  Log Message:
  -----------
  vfio: Create shared routine for scanning info capabilities

Rather than duplicating the same loop in multiple locations,
create a static function to do the work.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 7486a62845b1e12011dd99973e4739f69d57cd38
      
https://github.com/qemu/qemu/commit/7486a62845b1e12011dd99973e4739f69d57cd38
  Author: Matthew Rosato <mjrosato@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/common.c
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: Find DMA available capability

The underlying host may be limiting the number of outstanding DMA
requests for type 1 IOMMU.  Add helper functions to check for the
DMA available capability and retrieve the current number of DMA
mappings allowed.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
[aw: vfio_get_info_dma_avail moved inside CONFIG_LINUX]
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: cd7498d07fbb20fa04790ff7ee168a8a8d01cb30
      
https://github.com/qemu/qemu/commit/cd7498d07fbb20fa04790ff7ee168a8a8d01cb30
  Author: Matthew Rosato <mjrosato@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/s390x/meson.build
    A hw/s390x/s390-pci-vfio.c
    A include/hw/s390x/s390-pci-vfio.h

  Log Message:
  -----------
  s390x/pci: Add routine to get the vfio dma available count

Create new files for separating out vfio-specific work for s390
pci. Add the first such routine, which issues VFIO_IOMMU_GET_INFO
ioctl to collect the current dma available count.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
[aw: Fix non-Linux build with CONFIG_LINUX]
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 37fa32de707340f3a93959ad5a1ebc41ba1520ee
      
https://github.com/qemu/qemu/commit/37fa32de707340f3a93959ad5a1ebc41ba1520ee
  Author: Matthew Rosato <mjrosato@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-inst.c
    M hw/s390x/s390-pci-vfio.c
    M include/hw/s390x/s390-pci-bus.h
    M include/hw/s390x/s390-pci-inst.h
    M include/hw/s390x/s390-pci-vfio.h

  Log Message:
  -----------
  s390x/pci: Honor DMA limits set by vfio

When an s390 guest is using lazy unmapping, it can result in a very
large number of oustanding DMA requests, far beyond the default
limit configured for vfio.  Let's track DMA usage similar to vfio
in the host, and trigger the guest to flush their DMA mappings
before vfio runs out.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
[aw: non-Linux build fixes]
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: c04274f49e0dd1f1279c0f74cbb89a902d8372eb
      
https://github.com/qemu/qemu/commit/c04274f49e0dd1f1279c0f74cbb89a902d8372eb
  Author: Pierre Morel <pmorel@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M include/hw/s390x/s390-pci-bus.h
    A include/hw/s390x/s390-pci-clp.h
    M include/hw/s390x/s390-pci-inst.h

  Log Message:
  -----------
  s390x/pci: create a header dedicated to PCI CLP

To have a clean separation between s390-pci-bus.h and s390-pci-inst.h
headers we export the PCI CLP instructions in a dedicated header.

Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 28dc86a07299fba784ca2352f95e30fe603e17ab
      
https://github.com/qemu/qemu/commit/28dc86a07299fba784ca2352f95e30fe603e17ab
  Author: Pierre Morel <pmorel@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-inst.c
    M include/hw/s390x/s390-pci-bus.h

  Log Message:
  -----------
  s390x/pci: use a PCI Group structure

We use a S390PCIGroup structure to hold the information related to a
zPCI Function group.

This allows us to be ready to support multiple groups and to retrieve
the group information from the host.

Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: b354d5d8049c513444b51ce841bd3136fed2e234
      
https://github.com/qemu/qemu/commit/b354d5d8049c513444b51ce841bd3136fed2e234
  Author: Matthew Rosato <mjrosato@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/s390x/s390-pci-bus.c

  Log Message:
  -----------
  s390x/pci: clean up s390 PCI groups

Add a step to remove all stashed PCI groups to avoid stale data between
machine resets.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 9670ee752727945d8ce4f76efc0b68364b832f20
      
https://github.com/qemu/qemu/commit/9670ee752727945d8ce4f76efc0b68364b832f20
  Author: Pierre Morel <pmorel@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-inst.c
    M include/hw/s390x/s390-pci-bus.h

  Log Message:
  -----------
  s390x/pci: use a PCI Function structure

We use a ClpRspQueryPci structure to hold the information related to a
zPCI Function.

This allows us to be ready to support different zPCI functions and to
retrieve the zPCI function information from the host.

Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 92fe289ace3e559e2d18d0c2e49cdfb4cbd5a59b
      
https://github.com/qemu/qemu/commit/92fe289ace3e559e2d18d0c2e49cdfb4cbd5a59b
  Author: Matthew Rosato <mjrosato@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/common.c
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: Add routine for finding VFIO_DEVICE_GET_INFO capabilities

Now that VFIO_DEVICE_GET_INFO supports capability chains, add a helper
function to find specific capabilities in the chain.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 1e7552ff5c34972a7a17d2b06900a0b66c79a68b
      
https://github.com/qemu/qemu/commit/1e7552ff5c34972a7a17d2b06900a0b66c79a68b
  Author: Matthew Rosato <mjrosato@linux.ibm.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-pci-vfio.c
    M hw/s390x/trace-events
    M include/hw/s390x/s390-pci-bus.h
    M include/hw/s390x/s390-pci-clp.h
    M include/hw/s390x/s390-pci-vfio.h

  Log Message:
  -----------
  s390x/pci: get zPCI function info from host

We use the capability chains of the VFIO_DEVICE_GET_INFO ioctl to retrieve
the CLP information that the kernel exports.

To be compatible with previous kernel versions we fall back on previous
predefined values, same as the emulation values, when the ioctl is found
to not support capability chains. If individual CLP capabilities are not
found, we fall back on default values for only those capabilities missing
from the chain.

This patch is based on work previously done by Pierre Morel.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
[aw: non-Linux build fixes]
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 88eef59796f91271e3d288f64457e975dd7c8ac9
      
https://github.com/qemu/qemu/commit/88eef59796f91271e3d288f64457e975dd7c8ac9
  Author: Amey Narkhede <ameynarkhede03@gmail.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/platform.c

  Log Message:
  -----------
  hw/vfio: Use lock guard macros

Use qemu LOCK_GUARD macros in hw/vfio.
Saves manual unlock calls

Signed-off-by: Amey Narkhede <ameynarkhede03@gmail.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: c624b6b312680b76d2a19a4c65cfdb234e875e1b
      
https://github.com/qemu/qemu/commit/c624b6b312680b76d2a19a4c65cfdb234e875e1b
  Author: Zhengui li <lizhengui@huawei.com>
  Date:   2020-11-01 (Sun, 01 Nov 2020)

  Changed paths:
    M hw/vfio/common.c

  Log Message:
  -----------
  vfio: fix incorrect print type

The type of input variable is unsigned int
while the printer type is int. So fix incorrect print type.

Signed-off-by: Zhengui li <lizhengui@huawei.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 2c6605389c1f76973d92b69b85d40d94b8f1092c
      
https://github.com/qemu/qemu/commit/2c6605389c1f76973d92b69b85d40d94b8f1092c
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M hw/s390x/meson.build
    M hw/s390x/s390-pci-bus.c
    R hw/s390x/s390-pci-bus.h
    M hw/s390x/s390-pci-inst.c
    R hw/s390x/s390-pci-inst.h
    A hw/s390x/s390-pci-vfio.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/trace-events
    M hw/vfio/common.c
    M hw/vfio/meson.build
    A hw/vfio/migration.c
    M hw/vfio/pci.c
    M hw/vfio/pci.h
    M hw/vfio/platform.c
    M hw/vfio/trace-events
    A include/hw/s390x/s390-pci-bus.h
    A include/hw/s390x/s390-pci-clp.h
    A include/hw/s390x/s390-pci-inst.h
    A include/hw/s390x/s390-pci-vfio.h
    M include/hw/vfio/vfio-common.h
    M include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h
    M include/standard-headers/linux/ethtool.h
    M include/standard-headers/linux/fuse.h
    M include/standard-headers/linux/input-event-codes.h
    M include/standard-headers/linux/pci_regs.h
    M include/standard-headers/linux/virtio_fs.h
    M include/standard-headers/linux/virtio_gpu.h
    M include/standard-headers/linux/virtio_mmio.h
    M include/standard-headers/linux/virtio_pci.h
    M linux-headers/asm-arm64/kvm.h
    M linux-headers/asm-arm64/mman.h
    M linux-headers/asm-generic/hugetlb_encode.h
    M linux-headers/asm-generic/unistd.h
    M linux-headers/asm-mips/unistd_n32.h
    M linux-headers/asm-mips/unistd_n64.h
    M linux-headers/asm-mips/unistd_o32.h
    M linux-headers/asm-powerpc/unistd_32.h
    M linux-headers/asm-powerpc/unistd_64.h
    M linux-headers/asm-s390/unistd_32.h
    M linux-headers/asm-s390/unistd_64.h
    M linux-headers/asm-x86/kvm.h
    M linux-headers/asm-x86/unistd_32.h
    M linux-headers/asm-x86/unistd_64.h
    M linux-headers/asm-x86/unistd_x32.h
    M linux-headers/linux/kvm.h
    M linux-headers/linux/mman.h
    M linux-headers/linux/vfio.h
    A linux-headers/linux/vfio_zdev.h
    M migration/migration.c
    M monitor/hmp-cmds.c
    M qapi/migration.json
    M scripts/update-linux-headers.sh
    M softmmu/memory.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20201101.0' 
into staging

VFIO update 2020-11-01

 * Migration support (Kirti Wankhede)
 * s390 DMA limiting (Matthew Rosato)
 * zPCI hardware info (Matthew Rosato)
 * Lock guard (Amey Narkhede)
 * Print fixes (Zhengui li)
 * Warning/build fixes

# gpg: Signature made Sun 01 Nov 2020 20:38:10 GMT
# gpg:                using RSA key 239B9B6E3BB08B22
# gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>" [full]
# gpg:                 aka "Alex Williamson <alex@shazbot.org>" [full]
# gpg:                 aka "Alex Williamson <alwillia@redhat.com>" [full]
# gpg:                 aka "Alex Williamson <alex.l.williamson@gmail.com>" 
[full]
# Primary key fingerprint: 42F6 C04E 540B D1A9 9E7B  8A90 239B 9B6E 3BB0 8B22

* remotes/awilliam/tags/vfio-update-20201101.0: (32 commits)
  vfio: fix incorrect print type
  hw/vfio: Use lock guard macros
  s390x/pci: get zPCI function info from host
  vfio: Add routine for finding VFIO_DEVICE_GET_INFO capabilities
  s390x/pci: use a PCI Function structure
  s390x/pci: clean up s390 PCI groups
  s390x/pci: use a PCI Group structure
  s390x/pci: create a header dedicated to PCI CLP
  s390x/pci: Honor DMA limits set by vfio
  s390x/pci: Add routine to get the vfio dma available count
  vfio: Find DMA available capability
  vfio: Create shared routine for scanning info capabilities
  s390x/pci: Move header files to include/hw/s390x
  linux-headers: update against 5.10-rc1
  update-linux-headers: Add vfio_zdev.h
  qapi: Add VFIO devices migration stats in Migration stats
  vfio: Make vfio-pci device migration capable
  vfio: Add ioctl to get dirty pages bitmap during dma unmap
  vfio: Dirty page tracking when vIOMMU is enabled
  vfio: Add vfio_listener_log_sync to mark dirty pages
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: b149dea55cce97cb226683d06af61984a1c11e96
      
https://github.com/qemu/qemu/commit/b149dea55cce97cb226683d06af61984a1c11e96
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M tests/qtest/libqos/virtio-9p.c
    M tests/qtest/libqos/virtio-9p.h
    M tests/qtest/virtio-9p-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/cschoenebeck/tags/pull-9p-20201102' 
into staging

9pfs: only test case changes this time

* Fix occasional test failures with parallel tests.

* Fix coverity error in test code.

* Avoid error when auto removing test directory if it disappeared
  for some reason.

* Refactor: Rename functions to make top-level test functions fs_*()
  easily distinguishable from utility test functions do_*().

* Refactor: Drop unnecessary function arguments in utility test
  functions.

* More test cases using the 9pfs 'local' filesystem driver backend,
  namely for the following 9p requests: Tunlinkat, Tlcreate, Tsymlink
  and Tlink.

# gpg: Signature made Mon 02 Nov 2020 09:31:35 GMT
# gpg:                using RSA key 96D8D110CF7AF8084F88590134C2B58765A47395
# gpg:                issuer "qemu_oss@crudebyte.com"
# gpg: Good signature from "Christian Schoenebeck <qemu_oss@crudebyte.com>" 
[unknown]
# 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: ECAB 1A45 4014 1413 BA38  4926 30DB 47C3 A012 D5F4
#      Subkey fingerprint: 96D8 D110 CF7A F808 4F88  5901 34C2 B587 65A4 7395

* remotes/cschoenebeck/tags/pull-9p-20201102:
  tests/9pfs: add local Tunlinkat hard link test
  tests/9pfs: add local Tlink test
  tests/9pfs: add local Tunlinkat symlink test
  tests/9pfs: add local Tsymlink test
  tests/9pfs: add local Tunlinkat file test
  tests/9pfs: add local Tlcreate test
  tests/9pfs: add local Tunlinkat directory test
  tests/9pfs: simplify do_mkdir()
  tests/9pfs: Turn fs_mkdir() into a helper
  tests/9pfs: Turn fs_readdir_split() into a helper
  tests/9pfs: Factor out do_attach() helper
  tests/9pfs: Set alloc in fs_create_dir()
  tests/9pfs: Factor out do_version() helper
  tests/9pfs: Force removing of local 9pfs test directory
  tests/9pfs: fix coverity error in create_local_test_dir()
  tests/9pfs: fix test dir for parallel tests
  tests/9pfs: make create/remove test dir public

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 045b1d4dbb44da67f1f86efa75b02843c0e951ef
      
https://github.com/qemu/qemu/commit/045b1d4dbb44da67f1f86efa75b02843c0e951ef
  Author: Anthony PERARD <anthony.perard@citrix.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M hw/ide/piix.c

  Log Message:
  -----------
  xen: rework pci_piix3_xen_ide_unplug

This is to allow IDE disks to be unplugged when adding to QEMU via:
    -drive file=/root/disk_file,if=none,id=ide-disk0,format=raw
    -device ide-hd,drive=ide-disk0,bus=ide.0,unit=0

as the current code only works for disk added with:
    -drive file=/root/disk_file,if=ide,index=0,media=disk,format=raw

Since the code already have the IDE controller as `dev`, we don't need
to use the legacy DriveInfo to find all the drive we want to unplug.
We can simply use `blk` from the controller, as it kind of was already
assume to be the same, by setting it to NULL.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Acked-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Message-Id: <20201027154058.495112-1-anthony.perard@citrix.com>
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>


  Commit: b519e2e982f7f5368c5976ca44d9ca7bbb7a3378
      
https://github.com/qemu/qemu/commit/b519e2e982f7f5368c5976ca44d9ca7bbb7a3378
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M qga/commands-win32.c
    M qga/qapi-schema.json

  Log Message:
  -----------
  qga: Rename guest-get-devices return member 'address' to 'id'

Member 'address' is union GuestDeviceAddress with a single branch
GuestDeviceAddressPCI, containing PCI vendor ID and device ID.  This
is not a PCI address.  Type GuestPCIAddress is.  Messed up in recent
commit 2e4211cee4 "qga: add command guest-get-devices for reporting
VirtIO devices".

Rename type GuestDeviceAddressPCI to GuestDeviceIdPCI, type
GuestDeviceAddress to GuestDeviceId, and member 'address' to 'id'.

Document the member properly while there.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: a88bceef789f0b8bfe96bb77cef686e9b4976699
      
https://github.com/qemu/qemu/commit/a88bceef789f0b8bfe96bb77cef686e9b4976699
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M qga/commands-win32.c
    M qga/qapi-schema.json

  Log Message:
  -----------
  qga: Use common time encoding for guest-get-devices 'driver-date'

guest-get-devices returns 'driver-date' as string in the format
YYYY-MM-DD.  Goes back to recent commit 2e4211cee4 "qga: add command
guest-get-devices for reporting VirtIO devices".

We should avoid use of multiple encodings for the same kind of data.
Especially string encodings.  Change it to return nanoseconds since
the epoch, like guest-get-time does.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: 939caddc2c24a9f4840e5d9d52eb0465deed1c47
      
https://github.com/qemu/qemu/commit/939caddc2c24a9f4840e5d9d52eb0465deed1c47
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M qga/commands-win32.c

  Log Message:
  -----------
  qga-win: Fix guest-get-devices error API violations

The Error ** argument must be NULL, &error_abort, &error_fatal, or a
pointer to a variable containing NULL.  Passing an argument of the
latter kind twice without clearing it in between is wrong: if the
first call sets an error, it no longer points to NULL for the second
call.

qmp_guest_get_devices() is wrong that way: it calls error_setg() in a
loop.

If no iteration fails, the function returns a value and sets no error.
Okay.

If exactly one iteration fails, the function returns a value and sets
an error.  Wrong.

If multiple iterations fail, the function trips error_setv()'s
assertion.

Fix it to return immediately on error.

Perhaps the failure to convert the driver version to UTF-8 should not
be an error.  We could simply not report the botched version string
instead.

Drop a superfluous continue while there.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: 0083124b3adb67bb740f1f06c2360335a5ce1533
      
https://github.com/qemu/qemu/commit/0083124b3adb67bb740f1f06c2360335a5ce1533
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M qga/commands-win32.c
    M qga/qapi-schema.json

  Log Message:
  -----------
  qga: Flatten simple union GuestDeviceId

Simple unions are simpler than flat unions in the schema, but more
complicated in C and on the QMP wire: there's extra indirection in C
and extra nesting on the wire, both pointless.  They should be avoided
in new code.

GuestDeviceId was recently added for guest-get-devices.  Convert it to
a flat union.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: c27ea3f9ef7c7f29e55bde91879f8514abce9c38
      
https://github.com/qemu/qemu/commit/c27ea3f9ef7c7f29e55bde91879f8514abce9c38
  Author: Tomáš Golembiovský <tgolembi@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M qga/commands-posix.c
    M qga/commands-win32.c
    M qga/qapi-schema.json

  Log Message:
  -----------
  qga: add command guest-get-disks

Add API and stubs for new guest-get-disks command.

The command guest-get-fsinfo can be used to list information about disks
and partitions but it is limited only to mounted disks with filesystem.
This new command should allow listing information about disks of the VM
regardles whether they are mounted or not. This can be usefull for
management applications for mapping virtualized devices or pass-through
devices to device names in the guest OS.

Signed-off-by: Tomáš Golembiovský <tgolembi@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: b139d11ae198aba0e009daddf7a3370ce84b2d09
      
https://github.com/qemu/qemu/commit/b139d11ae198aba0e009daddf7a3370ce84b2d09
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M hw/ide/piix.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/aperard/tags/pull-xen-20201102' into 
staging

xen patch

- Rework Xen disk unplug to work with newer command line
  options.

# gpg: Signature made Mon 02 Nov 2020 14:42:37 GMT
# gpg:                using RSA key F80C006308E22CFD8A92E7980CF5572FD7FB55AF
# gpg:                issuer "anthony.perard@citrix.com"
# gpg: Good signature from "Anthony PERARD <anthony.perard@gmail.com>" 
[marginal]
# gpg:                 aka "Anthony PERARD <anthony.perard@citrix.com>" 
[marginal]
# 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: 5379 2F71 024C 600F 778A  7161 D8D5 7199 DF83 42C8
#      Subkey fingerprint: F80C 0063 08E2 2CFD 8A92  E798 0CF5 572F D7FB 55AF

* remotes/aperard/tags/pull-xen-20201102:
  xen: rework pci_piix3_xen_ide_unplug

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 015ee81a4c06b644969f621fd9965cc6372b879e
      
https://github.com/qemu/qemu/commit/015ee81a4c06b644969f621fd9965cc6372b879e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/translate-neon.c.inc
    M target/arm/translate-vfp.c.inc
    M target/arm/translate.c

  Log Message:
  -----------
  target/arm: Introduce neon_full_reg_offset

This function makes it clear that we're talking about the whole
register, and not the 32-bit piece at index 0.  This fixes a bug
when running on a big-endian host.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030022618.785675-2-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7ec85c02833f4264840c6ed78b749443a7b4ffe0
      
https://github.com/qemu/qemu/commit/7ec85c02833f4264840c6ed78b749443a7b4ffe0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/translate-neon.c.inc
    M target/arm/translate.c

  Log Message:
  -----------
  target/arm: Move neon_element_offset to translate.c

This will shortly have users outside of translate-neon.c.inc.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030022618.785675-3-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 0f2cdc82276a723ee58562b56b9d537a4bd7bfef
      
https://github.com/qemu/qemu/commit/0f2cdc82276a723ee58562b56b9d537a4bd7bfef
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/translate.c

  Log Message:
  -----------
  target/arm: Use neon_element_offset in neon_load/store_reg

These are the only users of neon_reg_offset, so remove that.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030022618.785675-4-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: d8719785fde2f5041986853a314c05c6f567d3cb
      
https://github.com/qemu/qemu/commit/d8719785fde2f5041986853a314c05c6f567d3cb
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/translate.c

  Log Message:
  -----------
  target/arm: Use neon_element_offset in vfp_reg_offset

This seems a bit more readable than using offsetof CPU_DoubleU.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030022618.785675-5-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a712266f5d5a36d04b22fe69fa15592d62bed019
      
https://github.com/qemu/qemu/commit/a712266f5d5a36d04b22fe69fa15592d62bed019
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/translate-neon.c.inc
    M target/arm/translate.c

  Log Message:
  -----------
  target/arm: Add read/write_neon_element32

Model these off the aa64 read/write_vec_element functions.
Use it within translate-neon.c.inc.  The new functions do
not allocate or free temps, so this rearranges the calling
code a bit.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030022618.785675-6-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 4d5fa5a80ac28f34b8497be1e85371272413a12e
      
https://github.com/qemu/qemu/commit/4d5fa5a80ac28f34b8497be1e85371272413a12e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/translate-vfp.c.inc
    M target/arm/translate.c

  Log Message:
  -----------
  target/arm: Expand read/write_neon_element32 to all MemOp

We can then use this to improve VMOV (scalar to gp) and
VMOV (gp to scalar) so that we simply perform the memory
operation that we wanted, rather than inserting or
extracting from a 32-bit quantity.

These were the last uses of neon_load/store_reg, so remove them.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030022618.785675-7-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 21c1c0e50b73c580c6bfc8f2314d1b6a14793561
      
https://github.com/qemu/qemu/commit/21c1c0e50b73c580c6bfc8f2314d1b6a14793561
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/translate-vfp.c.inc
    M target/arm/translate.c

  Log Message:
  -----------
  target/arm: Rename neon_load_reg32 to vfp_load_reg32

The only uses of this function are for loading VFP
single-precision values, and nothing to do with NEON.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030022618.785675-8-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 0aa8e700a53b0aa7275ed747b8fa3acb61d35f2d
      
https://github.com/qemu/qemu/commit/0aa8e700a53b0aa7275ed747b8fa3acb61d35f2d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/translate-neon.c.inc
    M target/arm/translate.c

  Log Message:
  -----------
  target/arm: Add read/write_neon_element64

Replace all uses of neon_load/store_reg64 within translate-neon.c.inc.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030022618.785675-9-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: b38b96ca90827012ab8eb045c1337cea83a54c4b
      
https://github.com/qemu/qemu/commit/b38b96ca90827012ab8eb045c1337cea83a54c4b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/translate-vfp.c.inc
    M target/arm/translate.c

  Log Message:
  -----------
  target/arm: Rename neon_load_reg64 to vfp_load_reg64

The only uses of this function are for loading VFP
double-precision values, and nothing to do with NEON.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030022618.785675-10-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 9f1a5f93c2dd345dc6c8fe86ed14bf1485056f6e
      
https://github.com/qemu/qemu/commit/9f1a5f93c2dd345dc6c8fe86ed14bf1485056f6e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/translate-neon.c.inc

  Log Message:
  -----------
  target/arm: Simplify do_long_3d and do_2scalar_long

In both cases, we can sink the write-back and perform
the accumulate into the normal destination temps.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030022618.785675-11-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 8aab18a2c5209e4e48998a61fbc2d89f374331ed
      
https://github.com/qemu/qemu/commit/8aab18a2c5209e4e48998a61fbc2d89f374331ed
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/translate-neon.c.inc
    M target/arm/translate.c

  Log Message:
  -----------
  target/arm: Improve do_prewiden_3d

We can use proper widening loads to extend 32-bit inputs,
and skip the "widenfn" step.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030022618.785675-12-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 552714c0812a10e5cff239bd29928e5fcb8d8b3b
      
https://github.com/qemu/qemu/commit/552714c0812a10e5cff239bd29928e5fcb8d8b3b
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/vec_helper.c

  Log Message:
  -----------
  target/arm: Fix float16 pairwise Neon ops on big-endian hosts

In the neon_padd/pmax/pmin helpers for float16, a cut-and-paste error
meant we were using the H4() address swizzler macro rather than the
H2() which is required for 2-byte data.  This had no effect on
little-endian hosts but meant we put the result data into the
destination Dreg in the wrong order on big-endian hosts.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201028191712.4910-2-peter.maydell@linaro.org


  Commit: d1a9254be5cc93afb15be19f7543da6ff4806256
      
https://github.com/qemu/qemu/commit/d1a9254be5cc93afb15be19f7543da6ff4806256
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/vec_helper.c

  Log Message:
  -----------
  target/arm: Fix VUDOT/VSDOT (scalar) on big-endian hosts

The helper functions for performing the udot/sdot operations against
a scalar were not using an address-swizzling macro when converting
the index of the scalar element into a pointer into the vm array.
This had no effect on little-endian hosts but meant we generated
incorrect results on big-endian hosts.

For these insns, the index is indexing over group of 4 8-bit values,
so 32 bits per indexed entity, and H4() is therefore what we want.
(For Neon the only possible input indexes are 0 and 1.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201028191712.4910-3-peter.maydell@linaro.org


  Commit: 373e7ffde9bae90a20fb5db21b053f23091689f4
      
https://github.com/qemu/qemu/commit/373e7ffde9bae90a20fb5db21b053f23091689f4
  Author: Rémi Denis-Courmont <remi.denis.courmont@huawei.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/helper.c

  Log Message:
  -----------
  target/arm: fix handling of HCR.FB

HCR should be applied when NS is set, not when it is cleared.

Signed-off-by: Rémi Denis-Courmont <remi.denis.courmont@huawei.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 9bd268bae5c4760870522292fb1d46e7da7e372a
      
https://github.com/qemu/qemu/commit/9bd268bae5c4760870522292fb1d46e7da7e372a
  Author: Rémi Denis-Courmont <remi.denis.courmont@huawei.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/helper.c

  Log Message:
  -----------
  target/arm: fix LORID_EL1 access check

Secure mode is not exempted from checking SCR_EL3.TLOR, and in the
future HCR_EL2.TLOR when S-EL2 is enabled.

Signed-off-by: Rémi Denis-Courmont <remi.denis.courmont@huawei.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 437588d81d99ac91cb1e4ff060610458e67852d5
      
https://github.com/qemu/qemu/commit/437588d81d99ac91cb1e4ff060610458e67852d5
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M disas/capstone.c

  Log Message:
  -----------
  disas/capstone: Fix monitor disassembly of >32 bytes

If we're using the capstone disassembler, disassembly of a run of
instructions more than 32 bytes long disassembles the wrong data for
instructions beyond the 32 byte mark:

(qemu) xp /16x 0x100
0000000000000100: 0x00000005 0x54410001 0x00000001 0x00001000
0000000000000110: 0x00000000 0x00000004 0x54410002 0x3c000000
0000000000000120: 0x00000000 0x00000004 0x54410009 0x74736574
0000000000000130: 0x00000000 0x00000000 0x00000000 0x00000000
(qemu) xp /16i 0x100
0x00000100: 00000005 andeq r0, r0, r5
0x00000104: 54410001 strbpl r0, [r1], #-1
0x00000108: 00000001 andeq r0, r0, r1
0x0000010c: 00001000 andeq r1, r0, r0
0x00000110: 00000000 andeq r0, r0, r0
0x00000114: 00000004 andeq r0, r0, r4
0x00000118: 54410002 strbpl r0, [r1], #-2
0x0000011c: 3c000000 .byte 0x00, 0x00, 0x00, 0x3c
0x00000120: 54410001 strbpl r0, [r1], #-1
0x00000124: 00000001 andeq r0, r0, r1
0x00000128: 00001000 andeq r1, r0, r0
0x0000012c: 00000000 andeq r0, r0, r0
0x00000130: 00000004 andeq r0, r0, r4
0x00000134: 54410002 strbpl r0, [r1], #-2
0x00000138: 3c000000 .byte 0x00, 0x00, 0x00, 0x3c
0x0000013c: 00000000 andeq r0, r0, r0

Here the disassembly of 0x120..0x13f is using the data that is in
0x104..0x123.

This is caused by passing the wrong value to the read_memory_func().
The intention is that at this point in the loop the 'cap_buf' buffer
already contains 'csize' bytes of data for the instruction at guest
addr 'pc', and we want to read in an extra 'tsize' bytes.  Those
extra bytes are therefore at 'pc + csize', not 'pc'.  On the first
time through the loop 'csize' happens to be zero, so the initial read
of 32 bytes into cap_buf is correct and as long as the disassembly
never needs to read more data we return the correct information.

Use the correct guest address in the call to read_memory_func().

Cc: qemu-stable@nongnu.org
Fixes: https://bugs.launchpad.net/qemu/+bug/1900779
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201022132445.25039-1-peter.maydell@linaro.org


  Commit: 744a790ec01a30033309e6a2155df4d61061e184
      
https://github.com/qemu/qemu/commit/744a790ec01a30033309e6a2155df4d61061e184
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M hw/arm/smmuv3.c

  Log Message:
  -----------
  hw/arm/smmuv3: Fix potential integer overflow (CID 1432363)

Use the BIT_ULL() macro to ensure we use 64-bit arithmetic.
This fixes the following Coverity issue (OVERFLOW_BEFORE_WIDEN):

  CID 1432363 (#1 of 1): Unintentional integer overflow:

  overflow_before_widen:
    Potentially overflowing expression 1 << scale with type int
    (32 bits, signed) is evaluated using 32-bit arithmetic, and
    then used in a context that expects an expression of type
    hwaddr (64 bits, unsigned).

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20201030144617.1535064-1-philmd@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 3f0b59070c89f2261ff5961980ff5203b0c6bea9
      
https://github.com/qemu/qemu/commit/3f0b59070c89f2261ff5961980ff5203b0c6bea9
  Author: Rémi Denis-Courmont <remi.denis.courmont@huawei.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M hw/arm/boot.c

  Log Message:
  -----------
  hw/arm/boot: fix SVE for EL3 direct kernel boot

When booting a CPU with EL3 using the -kernel flag, set up CPTR_EL3 so
that SVE will not trap to EL3.

Signed-off-by: Rémi Denis-Courmont <remi.denis.courmont@huawei.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201030151541.11976-1-remi@remlab.net
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 0080edc45e93324e085e93db89180a2945897c5a
      
https://github.com/qemu/qemu/commit/0080edc45e93324e085e93db89180a2945897c5a
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M hw/display/omap_lcdc.c

  Log Message:
  -----------
  hw/display/omap_lcdc: Fix potential NULL pointer dereference

In omap_lcd_interrupts(), the pointer omap_lcd is dereferinced before
being check if it is valid, which may lead to NULL pointer dereference.
So move the assignment to surface after checking that the omap_lcd is valid
and move surface_bits_per_pixel(surface) to after the surface assignment.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: AlexChen <alex.chen@huawei.com>
Message-id: 5F9CDB8A.9000001@huawei.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 18520fa465a08b81972afd9a25056f102f0180c9
      
https://github.com/qemu/qemu/commit/18520fa465a08b81972afd9a25056f102f0180c9
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M hw/display/exynos4210_fimd.c

  Log Message:
  -----------
  hw/display/exynos4210_fimd: Fix potential NULL pointer dereference

In exynos4210_fimd_update(), the pointer s is dereferinced before
being check if it is valid, which may lead to NULL pointer dereference.
So move the assignment to global_width after checking that the s is valid.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 5F9F8D88.9030102@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7142eb9e24b4aa5118cd67038057f15694d782aa
      
https://github.com/qemu/qemu/commit/7142eb9e24b4aa5118cd67038057f15694d782aa
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M target/arm/m_helper.c

  Log Message:
  -----------
  target/arm: Get correct MMU index for other-security-state

In arm_v7m_mmu_idx_for_secstate() we get the 'priv' level to pass to
armv7m_mmu_idx_for_secstate_and_priv() by calling arm_current_el().
This is incorrect when the security state being queried is not the
current one, because arm_current_el() uses the current security state
to determine which of the banked CONTROL.nPRIV bits to look at.
The effect was that if (for instance) Secure state was in privileged
mode but Non-Secure was not then we would return the wrong MMU index.

The only places where we are using this function in a way that could
trigger this bug are for the stack loads during a v8M function-return
and for the instruction fetch of a v8M SG insn.

Fix the bug by expanding out the M-profile version of the
arm_current_el() logic inline so it can use the passed in secstate
rather than env->v7m.secure.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201022164408.13214-1-peter.maydell@linaro.org


  Commit: 76346b6264a9b01979829a5d4366c3799e2dd15a
      
https://github.com/qemu/qemu/commit/76346b6264a9b01979829a5d4366c3799e2dd15a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Test that gio libs from pkg-config work

On some hosts (eg Ubuntu Bionic) pkg-config returns a set of
libraries for gio-2.0 which don't actually work when compiling
statically. (Specifically, the returned library string includes
-lmount, but not -lblkid which -lmount depends upon, so linking
fails due to missing symbols.)

Check that the libraries work, and don't enable gio if they don't,
in the same way we do for gnutls.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20200928160402.7961-1-peter.maydell@linaro.org


  Commit: c20a135a7a14d846699b0cfc9f74bcc2a226bee6
      
https://github.com/qemu/qemu/commit/c20a135a7a14d846699b0cfc9f74bcc2a226bee6
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M hw/intc/arm_gicv3_cpuif.c
    M include/hw/intc/arm_gicv3_common.h

  Log Message:
  -----------
  hw/intc/arm_gicv3_cpuif: Make GIC maintenance interrupts work

In gicv3_init_cpuif() we copy the ARMCPU gicv3_maintenance_interrupt
into the GICv3CPUState struct's maintenance_irq field.  This will
only work if the board happens to have already wired up the CPU
maintenance IRQ before the GIC was realized.  Unfortunately this is
not the case for the 'virt' board, and so the value that gets copied
is NULL (since a qemu_irq is really a pointer to an IRQState struct
under the hood).  The effect is that the CPU interface code never
actually raises the maintenance interrupt line.

Instead, since the GICv3CPUState has a pointer to the CPUState, make
the dereference at the point where we want to raise the interrupt, to
avoid an implicit requirement on board code to wire things up in a
particular order.

Reported-by: Jose Martins <josemartins90@gmail.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20201009153904.28529-1-peter.maydell@linaro.org
Reviewed-by: Luc Michel <luc@lmichel.fr>


  Commit: 92bb29f9b2c3d4a98eef5f0db935d4be291eec72
      
https://github.com/qemu/qemu/commit/92bb29f9b2c3d4a98eef5f0db935d4be291eec72
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts/kerneldoc: For Sphinx 3 use c:macro for macros with arguments

The kerneldoc script currently emits Sphinx markup for a macro with
arguments that uses the c:function directive. This is correct for
Sphinx versions earlier than Sphinx 3, where c:macro doesn't allow
documentation of macros with arguments and c:function is not picky
about the syntax of what it is passed. However, in Sphinx 3 the
c:macro directive was enhanced to support macros with arguments,
and c:function was made more picky about what syntax it accepted.

When kerneldoc is told that it needs to produce output for Sphinx
3 or later, make it emit c:function only for functions and c:macro
for macros with arguments. We assume that anything with a return
type is a function and anything without is a macro.

This fixes the Sphinx error:

/home/petmay01/linaro/qemu-from-laptop/qemu/docs/../include/qom/object.h:155:Error
 in declarator
If declarator-id with parameters (e.g., 'void f(int arg)'):
  Invalid C declaration: Expected identifier in nested name. [error at 25]
    DECLARE_INSTANCE_CHECKER ( InstanceType,  OBJ_NAME,  TYPENAME)
    -------------------------^
If parenthesis in noptr-declarator (e.g., 'void (*f(int arg))(double)'):
  Error in declarator or parameters
  Invalid C declaration: Expecting "(" in parameters. [error at 39]
    DECLARE_INSTANCE_CHECKER ( InstanceType,  OBJ_NAME,  TYPENAME)
    ---------------------------------------^

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Tested-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20201030174700.7204-2-peter.maydell@linaro.org


  Commit: 5a4b0d411283c92c5a394aaa4b7c19f6568a54fd
      
https://github.com/qemu/qemu/commit/5a4b0d411283c92c5a394aaa4b7c19f6568a54fd
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M docs/qemu-option-trace.rst.inc

  Log Message:
  -----------
  qemu-option-trace.rst.inc: Don't use option:: markup

Sphinx 3.2 is pickier than earlier versions about the option:: markup,
and complains about our usage in qemu-option-trace.rst:

../../docs/qemu-option-trace.rst.inc:4:Malformed option description
  '[enable=]PATTERN', should look like "opt", "-opt args", "--opt args",
  "/opt args" or "+opt args"

In this file, we're really trying to document the different parts of
the top-level --trace option, which qemu-nbd.rst and qemu-img.rst
have already introduced with an option:: markup.  So it's not right
to use option:: here anyway.  Switch to a different markup
(definition lists) which gives about the same formatted output.

(Unlike option::, this markup doesn't produce index entries; but
at the moment we don't do anything much with indexes anyway, and
in any case I think it doesn't make much sense to have individual
index entries for the sub-parts of the --trace option.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Tested-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20201030174700.7204-3-peter.maydell@linaro.org


  Commit: ffb4fbf90a2f63c9cb33e4bb9f854c79bf04ca4a
      
https://github.com/qemu/qemu/commit/ffb4fbf90a2f63c9cb33e4bb9f854c79bf04ca4a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M tests/qtest/npcm7xx_rng-test.c

  Log Message:
  -----------
  tests/qtest/npcm7xx_rng-test: Disable randomness tests

The randomness tests in the NPCM7xx RNG test fail intermittently
but fairly frequently. On my machine running the test in a loop:
 while QTEST_QEMU_BINARY=./qemu-system-aarch64 ./tests/qtest/npcm7xx_rng-test; 
do true; done

will fail in less than a minute with an error like:
ERROR:../../tests/qtest/npcm7xx_rng-test.c:256:test_first_byte_runs:
assertion failed (calc_runs_p(buf.l, sizeof(buf) * BITS_PER_BYTE) > 0.01): 
(0.00286205989 > 0.01)

(Failures have been observed on all 4 of the randomness tests,
not just first_byte_runs.)

It's not clear why these tests are failing like this, but intermittent
failures make CI and merge testing awkward, so disable running them
unless a developer specifically sets QEMU_TEST_FLAKY_RNG_TESTS when
running the test suite, until we work out the cause.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20201102152454.8287-1-peter.maydell@linaro.org
Reviewed-by: Havard Skinnemoen <hskinnemoen@google.com>


  Commit: 8680d6e36468f1ca00e2fe749bef50585d632401
      
https://github.com/qemu/qemu/commit/8680d6e36468f1ca00e2fe749bef50585d632401
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M MAINTAINERS
    A docs/specs/nvme.txt
    M docs/specs/pci-ids.txt
    M hw/block/meson.build
    A hw/block/nvme-ns.c
    A hw/block/nvme-ns.h
    M hw/block/nvme.c
    M hw/block/nvme.h
    M hw/block/trace-events
    M hw/core/machine.c
    M include/block/nvme.h
    M include/hw/pci/pci.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/nvme/tags/pull-nvme-20201102' into 
staging

nvme pull 2 Nov 2020

# gpg: Signature made Mon 02 Nov 2020 15:20:30 GMT
# gpg:                using RSA key DBC11D2D373B4A3755F502EC625156610A4F6CC0
# gpg: Good signature from "Keith Busch <kbusch@kernel.org>" [unknown]
# gpg:                 aka "Keith Busch <keith.busch@gmail.com>" [unknown]
# gpg:                 aka "Keith Busch <keith.busch@intel.com>" [unknown]
# 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: DBC1 1D2D 373B 4A37 55F5  02EC 6251 5661 0A4F 6CC0

* remotes/nvme/tags/pull-nvme-20201102: (30 commits)
  hw/block/nvme: fix queue identifer validation
  hw/block/nvme: fix create IO SQ/CQ status codes
  hw/block/nvme: fix prp mapping status codes
  hw/block/nvme: report actual LBA data shift in LBAF
  hw/block/nvme: add trace event for requests with non-zero status code
  hw/block/nvme: add nsid to get/setfeat trace events
  hw/block/nvme: reject io commands if only admin command set selected
  hw/block/nvme: support for admin-only command set
  hw/block/nvme: validate command set selected
  hw/block/nvme: support per-namespace smart log
  hw/block/nvme: fix log page offset check
  hw/block/nvme: remove pointless rw indirection
  hw/block/nvme: update nsid when registered
  hw/block/nvme: change controller pci id
  pci: allocate pci id for nvme
  hw/block/nvme: support multiple namespaces
  hw/block/nvme: refactor identify active namespace id list
  hw/block/nvme: add support for sgl bit bucket descriptor
  hw/block/nvme: add support for scatter gather lists
  hw/block/nvme: harden cmb access
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: fed3956429d560a06fc2d2fcf1a01efb58659f87
      
https://github.com/qemu/qemu/commit/fed3956429d560a06fc2d2fcf1a01efb58659f87
  Author: Tomáš Golembiovský <tgolembi@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: add implementation of guest-get-disks for Linux

The command lists all disks (real and virtual) as well as disk
partitions. For each disk the list of dependent disks is also listed and
/dev path is used as a handle so it can be matched with "name" field of
other returned disk entries. For disk partitions the "dependents" list
is populated with the the parent device for easier tracking of
hierarchy.

Example output:
{
  "return": [
    ...
    {
      "name": "/dev/dm-0",
      "partition": false,
      "dependents": [
        "/dev/sda2"
      ],
      "alias": "luks-7062202e-5b9b-433e-81e8-6628c40da9f7"
    },
    {
      "name": "/dev/sda2",
      "partition": true,
      "dependents": [
        "/dev/sda"
      ]
    },
    {
      "name": "/dev/sda",
      "partition": false,
      "address": {
        "serial": "SAMSUNG_MZ7LN512HCHP-000L1_S1ZKNXAG822493",
        "bus-type": "sata",
        ...
        "dev": "/dev/sda",
        "target": 0
      },
      "dependents": []
    },
    ...
  ]
}

Signed-off-by: Tomáš Golembiovský <tgolembi@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
*add missing stub for !defined(CONFIG_FSFREEZE)
*remove unused deps_dir variable
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: c67d2efd9d1771fd886e3b58771adaa62897f3d9
      
https://github.com/qemu/qemu/commit/c67d2efd9d1771fd886e3b58771adaa62897f3d9
  Author: Tomáš Golembiovský <tgolembi@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M qga/commands-win32.c

  Log Message:
  -----------
  qga: add implementation of guest-get-disks for Windows

The command lists all the physical disk drives. Unlike for Linux
partitions and virtual volumes are not listed.

Example output:

{
  "return": [
    {
      "name": "\\\\.\\PhysicalDrive0",
      "partition": false,
      "address": {
        "serial": "QM00001",
        "bus-type": "sata",
        ...
      },
      "dependents": []
    }
  ]
}

Signed-off-by: Tomáš Golembiovský <tgolembi@redhat.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: cc5ab87200257199eba91aba9baf141ae0e91d0c
      
https://github.com/qemu/qemu/commit/cc5ab87200257199eba91aba9baf141ae0e91d0c
  Author: Peter Xu <peterx@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M migration/postcopy-ram.c
    M migration/savevm.c

  Log Message:
  -----------
  migration: Unify reset of last_rb on destination node when recover

When postcopy recover happens, we need to reset last_rb after each return of
postcopy_pause_fault_thread() because that means we just got the postcopy
migration continued.

Unify this reset to the place right before we want to kick the fault thread
again, when we get the command MIG_CMD_POSTCOPY_RESUME from source.

This is actually more than that - because the main thread on destination will
now be able to call migrate_send_rp_req_pages_pending() too, so the fault
thread is not the only user of last_rb now.  Move the reset earlier will allow
the first call to migrate_send_rp_req_pages_pending() to use the reset value
even if called from the main thread.

(NOTE: this is not a real fix to 0c26781c09 mentioned below, however it is just
 a mark that when picking up 0c26781c09 we'd better have this one too; the real
 fix will come later)

Fixes: 0c26781c09 ("migration: Sync requested pages after postcopy recovery")
Tested-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20201102153010.11979-2-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 5e773431134a6c3f65c0088d578384577c4a3f2c
      
https://github.com/qemu/qemu/commit/5e773431134a6c3f65c0088d578384577c4a3f2c
  Author: Peter Xu <peterx@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M migration/savevm.c

  Log Message:
  -----------
  migration: Postpone the kick of the fault thread after recover

The new migrate_send_rp_req_pages_pending() call should greatly improve
destination responsiveness because it will resync faulted address after
postcopy recovery.  However it is also the 1st place to initiate the page
request from the main thread.

One thing is overlooked on that migrate_send_rp_message_req_pages() is not
designed to be thread-safe.  So if we wake the fault thread before syncing all
the faulted pages in the main thread, it means they can race.

Postpone the wake up operation after the sync of faulted addresses.

Fixes: 0c26781c09 ("migration: Sync requested pages after postcopy recovery")
Tested-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20201102153010.11979-3-peterx@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: dcaac9f124833e62e720d0733aa53453f438b7d7
      
https://github.com/qemu/qemu/commit/dcaac9f124833e62e720d0733aa53453f438b7d7
  Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M tools/virtiofsd/passthrough_seccomp.c

  Log Message:
  -----------
  virtiofsd: Seccomp: Add 'send' for syslog

On ppc, and some other archs, it looks like syslog ends up using 'send'
rather than 'sendto'.

Reference: https://github.com/kata-containers/kata-containers/issues/1050

Reported-by: amulmek1@in.ibm.com
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20201102150750.34565-1-dgilbert@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 2693026042d2f6f5749babb8827b8098ed5d7eb4
      
https://github.com/qemu/qemu/commit/2693026042d2f6f5749babb8827b8098ed5d7eb4
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M tools/virtiofsd/fuse_virtio.c

  Log Message:
  -----------
  tools/virtiofsd: Check vu_init() return value (CID 1435958)

Since commit 6f5fd837889, vu_init() can fail if malloc() returns NULL.

This fixes the following Coverity warning:

  CID 1435958 (#1 of 1): Unchecked return value (CHECKED_RETURN)

Fixes: 6f5fd837889 ("libvhost-user: support many virtqueues")
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201102092339.2034297-1-philmd@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 0429eaf518be1d4742356056e6c886b7f9bc9712
      
https://github.com/qemu/qemu/commit/0429eaf518be1d4742356056e6c886b7f9bc9712
  Author: Jiachen Zhang <zhangjiachen.jaycee@bytedance.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M tools/virtiofsd/helper.c

  Log Message:
  -----------
  virtiofsd: Fix the help message of posix lock

The commit 88fc107956a5812649e5918e0c092d3f78bb28ad disabled remote
posix locks by default. But the --help message still says it is enabled
by default. So fix it to output no_posix_lock.

Signed-off-by: Jiachen Zhang <zhangjiachen.jaycee@bytedance.com>
Message-Id: <20201027081558.29904-1-zhangjiachen.jaycee@bytedance.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 9c6ac0436356132da97c4bbb7f6c90b062438176
      
https://github.com/qemu/qemu/commit/9c6ac0436356132da97c4bbb7f6c90b062438176
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M tools/virtiofsd/fuse_common.h
    M tools/virtiofsd/fuse_lowlevel.c

  Log Message:
  -----------
  virtiofsd: Check FUSE_SUBMOUNTS

FUSE_SUBMOUNTS is a pure indicator by the kernel to signal that it
supports submounts.  It does not check its state in the init reply, so
there is nothing for fuse_lowlevel.c to do but to check its existence
and copy it into fuse_conn_info.capable.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201102161859.156603-2-mreitz@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 93e79851abb78fe36882232b84edc795d1d942fd
      
https://github.com/qemu/qemu/commit/93e79851abb78fe36882232b84edc795d1d942fd
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M tools/virtiofsd/fuse_lowlevel.c
    M tools/virtiofsd/fuse_lowlevel.h

  Log Message:
  -----------
  virtiofsd: Add attr_flags to fuse_entry_param

fuse_entry_param is converted to fuse_attr on the line (by
fill_entry()), so it should have a member that mirrors fuse_attr.flags.

fill_entry() should then copy this fuse_entry_param.attr_flags to
fuse_attr.flags.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201102161859.156603-3-mreitz@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 84e319a575d04e9d53c24d801572a3ead538f9e4
      
https://github.com/qemu/qemu/commit/84e319a575d04e9d53c24d801572a3ead538f9e4
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson.build: Check for statx()

Check whether the glibc provides statx() and if so, define CONFIG_STATX.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201102161859.156603-4-mreitz@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: d672fce6baa0a02dfa64d717fb072c06e301d695
      
https://github.com/qemu/qemu/commit/d672fce6baa0a02dfa64d717fb072c06e301d695
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M tools/virtiofsd/passthrough_ll.c
    M tools/virtiofsd/passthrough_seccomp.c

  Log Message:
  -----------
  virtiofsd: Add mount ID to the lo_inode key

Using st_dev is not sufficient to uniquely identify a mount: You can
mount the same device twice, but those are still separate trees, and
e.g. by mounting something else inside one of them, they may differ.

Using statx(), we can get a mount ID that uniquely identifies a mount.
If that is available, add it to the lo_inode key.

Most of this patch is taken from Miklos's mail here:
https://marc.info/?l=fuse-devel&m=160062521827983
(virtiofsd-use-mount-id.patch attachment)

Suggested-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201102161859.156603-5-mreitz@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 9d82f6a3e68c2986633ad11687da2193e9acb0cb
      
https://github.com/qemu/qemu/commit/9d82f6a3e68c2986633ad11687da2193e9acb0cb
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M tools/virtiofsd/helper.c
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  virtiofsd: Announce sub-mount points

Whenever we encounter a directory with an st_dev or mount ID that
differs from that of its parent, we set the FUSE_ATTR_SUBMOUNT flag so
the guest can create a submount for it.

We only need to do so in lo_do_lookup().  The following functions return
a fuse_attr object:
- lo_create(), though fuse_reply_create(): Calls lo_do_lookup().
- lo_lookup(), though fuse_reply_entry(): Calls lo_do_lookup().
- lo_mknod_symlink(), through fuse_reply_entry(): Calls lo_do_lookup().
- lo_link(), through fuse_reply_entry(): Creating a link cannot create a
  submount, so there is no need to check for it.
- lo_getattr(), through fuse_reply_attr(): Announcing submounts when the
  node is first detected (at lookup) is sufficient.  We do not need to
  return the submount attribute later.
- lo_do_readdir(), through fuse_add_direntry_plus(): Calls
  lo_do_lookup().

Make announcing submounts optional, so submounts are only announced to
the guest with the announce_submounts option.  Some users may prefer the
current behavior, so that the guest learns nothing about the host mount
structure.

(announce_submounts is force-disabled when the guest does not present
the FUSE_SUBMOUNTS capability, or when there is no statx().)

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201102161859.156603-6-mreitz@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 0a7798037acb65cf4e9d64372690a47018e60d02
      
https://github.com/qemu/qemu/commit/0a7798037acb65cf4e9d64372690a47018e60d02
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M tests/acceptance/boot_linux.py

  Log Message:
  -----------
  tests/acceptance/boot_linux: Accept SSH pubkey

Let download_cloudinit() take an optional pubkey, which subclasses of
BootLinux can pass through setUp().

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201102161859.156603-7-mreitz@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: af1bb3fe7f146fafdaadb479975ca2b53b49df40
      
https://github.com/qemu/qemu/commit/af1bb3fe7f146fafdaadb479975ca2b53b49df40
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    A tests/acceptance/virtiofs_submounts.py
    A tests/acceptance/virtiofs_submounts.py.data/cleanup.sh
    A tests/acceptance/virtiofs_submounts.py.data/guest-cleanup.sh
    A tests/acceptance/virtiofs_submounts.py.data/guest.sh
    A tests/acceptance/virtiofs_submounts.py.data/host.sh

  Log Message:
  -----------
  tests/acceptance: Add virtiofs_submounts.py

This test invokes several shell scripts to create a random directory
tree full of submounts, and then check in the VM whether every submount
has its own ID and the structure looks as expected.

(Note that the test scripts must be non-executable, so Avocado will not
try to execute them as if they were tests on their own, too.)

Because at this commit's date it is unlikely that the Linux kernel on
the image provided by boot_linux.py supports submounts in virtio-fs, the
test will be cancelled if no custom Linux binary is provided through the
vmlinuz parameter.  (The on-image kernel can be used by providing an
empty string via vmlinuz=.)

So, invoking the test can be done as follows:
$ avocado run \
    tests/acceptance/virtiofs_submounts.py \
    -p vmlinuz=/path/to/linux/build/arch/x86/boot/bzImage

This test requires root privileges (through passwordless sudo -n),
because at this point, virtiofsd requires them.  (If you have a
timestamp_timeout period for sudoers (e.g. the default of 5 min), you
can provide this by executing something like "sudo true" before invoking
Avocado.)

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20201102161859.156603-8-mreitz@redhat.com>
Tested-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 8545ae485b1e8e43cc0137310c4c68dbece59990
      
https://github.com/qemu/qemu/commit/8545ae485b1e8e43cc0137310c4c68dbece59990
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M meson.build
    M migration/postcopy-ram.c
    M migration/savevm.c
    M tests/acceptance/boot_linux.py
    A tests/acceptance/virtiofs_submounts.py
    A tests/acceptance/virtiofs_submounts.py.data/cleanup.sh
    A tests/acceptance/virtiofs_submounts.py.data/guest-cleanup.sh
    A tests/acceptance/virtiofs_submounts.py.data/guest.sh
    A tests/acceptance/virtiofs_submounts.py.data/host.sh
    M tools/virtiofsd/fuse_common.h
    M tools/virtiofsd/fuse_lowlevel.c
    M tools/virtiofsd/fuse_lowlevel.h
    M tools/virtiofsd/fuse_virtio.c
    M tools/virtiofsd/helper.c
    M tools/virtiofsd/passthrough_ll.c
    M tools/virtiofsd/passthrough_seccomp.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20201102a' 
into staging

Migration and virtiofs fixes 2020-11-02

Fixes for postcopy migration test hang
A seccomp crash for virtiofsd on some !x86
Help message and minor CID fix

And another crack at Max's set.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

# gpg: Signature made Mon 02 Nov 2020 19:54:59 GMT
# gpg:                using RSA key 45F5C71B4A0CB7FB977A9FA90516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" 
[full]
# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A  9FA9 0516 331E BC5B FDE7

* remotes/dgilbert/tags/pull-migration-20201102a:
  tests/acceptance: Add virtiofs_submounts.py
  tests/acceptance/boot_linux: Accept SSH pubkey
  virtiofsd: Announce sub-mount points
  virtiofsd: Add mount ID to the lo_inode key
  meson.build: Check for statx()
  virtiofsd: Add attr_flags to fuse_entry_param
  virtiofsd: Check FUSE_SUBMOUNTS
  virtiofsd: Fix the help message of posix lock
  tools/virtiofsd: Check vu_init() return value (CID 1435958)
  virtiofsd: Seccomp: Add 'send' for syslog
  migration: Postpone the kick of the fault thread after recover
  migration: Unify reset of last_rb on destination node when recover

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 6d593ab451c490b0ca941c6a519894231634751e
      
https://github.com/qemu/qemu/commit/6d593ab451c490b0ca941c6a519894231634751e
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M include/glib-compat.h

  Log Message:
  -----------
  glib-compat: add g_unix_get_passwd_entry_qemu()

The glib function was introduced in 2.64. It's a safer version of
getpwnam, and also simpler to use than getpwnam_r.

Currently, it's only use by the next patch in qemu-ga, which doesn't
(well well...) need the thread safety guarantees. Since the fallback
version is still unsafe, I would rather keep the _qemu postfix, to make
sure it's not being misused by mistake. When/if necessary, we can
implement a safer fallback and drop the _qemu suffix.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
*fix checkpatch warnings about newlines before/after block comments
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: 8d769ec777dccbff199711aba43aa6297fe4a0e0
      
https://github.com/qemu/qemu/commit/8d769ec777dccbff199711aba43aa6297fe4a0e0
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    A qga/commands-posix-ssh.c
    M qga/meson.build
    M qga/qapi-schema.json

  Log Message:
  -----------
  qga: add ssh-{add,remove}-authorized-keys

Add new commands to add and remove SSH public keys from
~/.ssh/authorized_keys.

I took a different approach for testing, including the unit tests right
with the code. I wanted to overwrite the function to get the user
details, I couldn't easily do that over QMP. Furthermore, I prefer
having unit tests very close to the code, and unit files that are domain
specific (commands-posix is too crowded already). FWIW, that
coding/testing style is Rust-style (where tests can or should even be
part of the documentation!).

Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=1885332

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
*squashed in fix-ups for setting file ownership and use of QAPI
 conditionals for CONFIG_POSIX instead of stub definitions
*disable qga-ssh-test for now due to G_TEST_OPTION_ISOLATE_DIRS
 triggering leak detector in build-oss-fuzz
*fix disallowed g_assert* usage reported by checkpatch
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: 0e3c94758e3851f0ab30d2a1e63a73284499775d
      
https://github.com/qemu/qemu/commit/0e3c94758e3851f0ab30d2a1e63a73284499775d
  Author: Michael Roth <michael.roth@amd.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M qga/commands-posix-ssh.c
    M qga/qapi-schema.json

  Log Message:
  -----------
  qga: add *reset argument to ssh-add-authorized-keys

I prefer 'reset' over 'clear', since 'clear' and keys may have some
other relations or meaning.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
*fix disallowed g_assert* usage reported by checkpatch
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: 2a127f96a558bf6a42067604860d6ee63ffe685a
      
https://github.com/qemu/qemu/commit/2a127f96a558bf6a42067604860d6ee63ffe685a
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M qga/meson.build

  Log Message:
  -----------
  meson: minor simplification

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: cad97c08a1c17830d77a46780088bc0199df89d1
      
https://github.com/qemu/qemu/commit/cad97c08a1c17830d77a46780088bc0199df89d1
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M qga/commands-posix-ssh.c
    M qga/meson.build
    M qga/qapi-schema.json

  Log Message:
  -----------
  qga: add ssh-get-authorized-keys

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
*fix-up merge conflicts due to qga-ssh-test being disabled in earlier
 patch due to G_TEST_OPTION_ISOLATE_DIRS triggering build-oss-fuzz
 leak detector.
*fix up style and disallowed g_assert* usage reported by checkpatch
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: c7a7a877b716cf14848f1fd5c754d293e2f8d852
      
https://github.com/qemu/qemu/commit/c7a7a877b716cf14848f1fd5c754d293e2f8d852
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M configure
    M disas/capstone.c
    M docs/qemu-option-trace.rst.inc
    M hw/arm/boot.c
    M hw/arm/smmuv3.c
    M hw/display/exynos4210_fimd.c
    M hw/display/omap_lcdc.c
    M hw/intc/arm_gicv3_cpuif.c
    M include/hw/intc/arm_gicv3_common.h
    M scripts/kernel-doc
    M target/arm/helper.c
    M target/arm/m_helper.c
    M target/arm/translate-neon.c.inc
    M target/arm/translate-vfp.c.inc
    M target/arm/translate.c
    M target/arm/vec_helper.c
    M tests/qtest/npcm7xx_rng-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20201102' 
into staging

target-arm queue:
 * target/arm: Fix Neon emulation bugs on big-endian hosts
 * target/arm: fix handling of HCR.FB
 * target/arm: fix LORID_EL1 access check
 * disas/capstone: Fix monitor disassembly of >32 bytes
 * hw/arm/smmuv3: Fix potential integer overflow (CID 1432363)
 * hw/arm/boot: fix SVE for EL3 direct kernel boot
 * hw/display/omap_lcdc: Fix potential NULL pointer dereference
 * hw/display/exynos4210_fimd: Fix potential NULL pointer dereference
 * target/arm: Get correct MMU index for other-security-state
 * configure: Test that gio libs from pkg-config work
 * hw/intc/arm_gicv3_cpuif: Make GIC maintenance interrupts work
 * docs: Fix building with Sphinx 3
 * tests/qtest/npcm7xx_rng-test: Disable randomness tests

# gpg: Signature made Mon 02 Nov 2020 17:09:00 GMT
# gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:                issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" 
[ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* remotes/pmaydell/tags/pull-target-arm-20201102: (26 commits)
  tests/qtest/npcm7xx_rng-test: Disable randomness tests
  qemu-option-trace.rst.inc: Don't use option:: markup
  scripts/kerneldoc: For Sphinx 3 use c:macro for macros with arguments
  hw/intc/arm_gicv3_cpuif: Make GIC maintenance interrupts work
  configure: Test that gio libs from pkg-config work
  target/arm: Get correct MMU index for other-security-state
  hw/display/exynos4210_fimd: Fix potential NULL pointer dereference
  hw/display/omap_lcdc: Fix potential NULL pointer dereference
  hw/arm/boot: fix SVE for EL3 direct kernel boot
  hw/arm/smmuv3: Fix potential integer overflow (CID 1432363)
  disas/capstone: Fix monitor disassembly of >32 bytes
  target/arm: fix LORID_EL1 access check
  target/arm: fix handling of HCR.FB
  target/arm: Fix VUDOT/VSDOT (scalar) on big-endian hosts
  target/arm: Fix float16 pairwise Neon ops on big-endian hosts
  target/arm: Improve do_prewiden_3d
  target/arm: Simplify do_long_3d and do_2scalar_long
  target/arm: Rename neon_load_reg64 to vfp_load_reg64
  target/arm: Add read/write_neon_element64
  target/arm: Rename neon_load_reg32 to vfp_load_reg32
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 54420332b595d4563d9c0e417d796baecd2debfa
      
https://github.com/qemu/qemu/commit/54420332b595d4563d9c0e417d796baecd2debfa
  Author: Michael S. Tsirkin <mst@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  pc: comment style fixup

Fix up checkpatch comment style warnings.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Chen Qun <kuhn.chenqun@huawei.com>


  Commit: d31992ae131527b63284d406d5dac21b02d4f3ef
      
https://github.com/qemu/qemu/commit/d31992ae131527b63284d406d5dac21b02d4f3ef
  Author: David Hildenbrand <david@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/virtio-mem.c

  Log Message:
  -----------
  virtio-mem: Make sure "addr" is always multiples of the block size

The spec states:
  "The device MUST set addr, region_size, usable_region_size, plugged_size,
   requested_size to multiples of block_size."

In some cases, we currently don't guarantee that for "addr": For example,
when starting a VM with 4 GiB boot memory and a virtio-mem device with a
block size of 2 GiB, "memaddr"/"addr" will be auto-assigned to
0x140000000 (5 GiB).

We'll try to improve auto-assignment for memory devices next, to avoid
bailing out in case memory device code selects a bad address.

Note: The Linux driver doesn't support such big block sizes yet.

Reviewed-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Fixes: 910b25766b33 ("virtio-mem: Paravirtualized memory hot(un)plug")
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Wei Yang <richardw.yang@linux.intel.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20201008083029.9504-2-david@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 0aed28006114b17d64a8491071d382f4c8a83e41
      
https://github.com/qemu/qemu/commit/0aed28006114b17d64a8491071d382f4c8a83e41
  Author: David Hildenbrand <david@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/virtio-mem.c

  Log Message:
  -----------
  virtio-mem: Make sure "usable_region_size" is always multiples of the block 
size

The spec states:
  "The device MUST set addr, region_size, usable_region_size, plugged_size,
   requested_size to multiples of block_size."

With block sizes > 256MB, we currently wouldn't guarantee that for the
usable_region_size.

Note that we cannot exceed the region_size, as we already enforce the
alignment there properly.

Fixes: 910b25766b33 ("virtio-mem: Paravirtualized memory hot(un)plug")
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Wei Yang <richardw.yang@linux.intel.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20201008083029.9504-3-david@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 228957fea3a998735524abf6354634f1fb710e61
      
https://github.com/qemu/qemu/commit/228957fea3a998735524abf6354634f1fb710e61
  Author: David Hildenbrand <david@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/virtio-mem.c

  Log Message:
  -----------
  virtio-mem: Probe THP size to determine default block size

Let's allow a minimum block size of 1 MiB in all configurations. Select
the default block size based on
- The page size of the memory backend.
- The THP size if the memory backend size corresponds to the real host
  page size.
- The global minimum of 1 MiB.
and warn if something smaller is configured by the user.

VIRTIO_MEM only supports Linux (depends on LINUX), so we can probe the
THP size unconditionally.

For now we only support virtio-mem on x86-64 - there isn't a user-visible
change (x86-64 only supports 2 MiB THP on the PMD level) - the default
was, and will be 2 MiB.

If we ever have THP on the PUD level (e.g., 1 GiB THP on x86-64), we
expect it to be more transparent - e.g., to only optimize fully populated
ranges unless explicitly told /configured otherwise (in contrast to PMD
THP).

Reviewed-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Wei Yang <richardw.yang@linux.intel.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20201008083029.9504-4-david@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 780a4d24e73dd0a7c7fc3f6f8b104aab70b7bfff
      
https://github.com/qemu/qemu/commit/780a4d24e73dd0a7c7fc3f6f8b104aab70b7bfff
  Author: David Hildenbrand <david@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/mem/memory-device.c

  Log Message:
  -----------
  memory-device: Support big alignment requirements

Let's warn instead of bailing out - the worst thing that can happen is
that we'll fail hot/coldplug later. The user got warned, and this should
be rare.

This will be necessary for memory devices with rather big (user-defined)
alignment requirements - say a virtio-mem device with a 2G block size -
which will become important, for example, when supporting vfio in the
future.

Reviewed-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Wei Yang <richardw.yang@linux.intel.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20201008083029.9504-5-david@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: c726aa69419ba2ecd38ae14dc62aaa189c3510e5
      
https://github.com/qemu/qemu/commit/c726aa69419ba2ecd38ae14dc62aaa189c3510e5
  Author: David Hildenbrand <david@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/mem/memory-device.c
    M include/hw/mem/memory-device.h

  Log Message:
  -----------
  memory-device: Add get_min_alignment() callback

Add a callback that can be used to express additional alignment
requirements (exceeding the ones from the memory region).

Will be used by virtio-mem to express special alignment requirements due
to manually configured, big block sizes (e.g., 1GB with an ordinary
memory-backend-ram). This avoids failing later when realizing, because
auto-detection wasn't able to assign a properly aligned address.

Reviewed-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Wei Yang <richardw.yang@linux.intel.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20201008083029.9504-6-david@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 296e88fd9f407c1ca5d749b921e12407e7f9da1d
      
https://github.com/qemu/qemu/commit/296e88fd9f407c1ca5d749b921e12407e7f9da1d
  Author: David Hildenbrand <david@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/virtio-mem-pci.c

  Log Message:
  -----------
  virito-mem: Implement get_min_alignment()

The block size determines the alignment requirements. Implement
get_min_alignment() of the TYPE_MEMORY_DEVICE interface.

This allows auto-assignment of a properly aligned address in guest
physical address space. For example, when specifying a 2GB block size
for a virtio-mem device with 10GB with a memory setup "-m 4G, 20G",
we'll no longer fail when realizing.

Reviewed-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Wei Yang <richardw.yang@linux.intel.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20201008083029.9504-7-david@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 88eed1989619b4059d225c593f6c59860e0271c8
      
https://github.com/qemu/qemu/commit/88eed1989619b4059d225c593f6c59860e0271c8
  Author: Xinhao Zhang <zhangxinhao1@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/acpi/nvdimm.c

  Log Message:
  -----------
  hw/acpi : Don't use '#' flag of printf format

Fix code style. Don't use '#' flag of printf format ('%#') in
format strings, use '0x' prefix instead

Signed-off-by: Xinhao Zhang <zhangxinhao1@huawei.com>
Signed-off-by: Kai Deng <dengkai1@huawei.com>
Message-Id: <20201103102634.273021-1-zhangxinhao1@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 4cbf31a8fef91648995f3f576f7ede661b3e0c18
      
https://github.com/qemu/qemu/commit/4cbf31a8fef91648995f3f576f7ede661b3e0c18
  Author: Xinhao Zhang <zhangxinhao1@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/acpi/core.c

  Log Message:
  -----------
  hw/acpi : add space before the open parenthesis '('

Fix code style. Space required before the open parenthesis '('.

Signed-off-by: Xinhao Zhang <zhangxinhao1@huawei.com>
Signed-off-by: Kai Deng <dengkai1@huawei.com>
Message-Id: <20201103102634.273021-2-zhangxinhao1@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 510feed79a364521df41508ced6498ebf30728cd
      
https://github.com/qemu/qemu/commit/510feed79a364521df41508ced6498ebf30728cd
  Author: Xinhao Zhang <zhangxinhao1@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/acpi/pcihp.c

  Log Message:
  -----------
  hw/acpi : add spaces around operator

Fix code style. Operator needs spaces both sides.

Signed-off-by: Xinhao Zhang <zhangxinhao1@huawei.com>
Signed-off-by: Kai Deng <dengkai1@huawei.com>
Message-Id: <20201103102634.273021-3-zhangxinhao1@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 8faf2f1de40e2fb919d8f584478d407a2fa7c80a
      
https://github.com/qemu/qemu/commit/8faf2f1de40e2fb919d8f584478d407a2fa7c80a
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/vhost-backend.c

  Log Message:
  -----------
  hw/virtio/vhost-backend: Fix Coverity CID 1432871

Fix uninitialized value issues reported by Coverity:

  Field 'msg.reserved' is uninitialized when calling write().

While the 'struct vhost_msg' does not have a 'reserved' field,
we still initialize it to have the two parts of the function
consistent.

Reported-by: Coverity (CID 1432864: UNINIT)
Fixes: c471ad0e9bd ("vhost_net: device IOTLB support")
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201103063541.2463363-1-philmd@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 8055d2fb7f4717c6aa7c4ca801a487153945a15d
      
https://github.com/qemu/qemu/commit/8055d2fb7f4717c6aa7c4ca801a487153945a15d
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/smbios/smbios.c

  Log Message:
  -----------
  hw/smbios: Fix leaked fd in save_opt_one() error path

Fix the following Coverity issue (RESOURCE_LEAK):

  CID 1432879: Resource leak

    Handle variable fd going out of scope leaks the handle.

Replace a close() call by qemu_close() since the handle is
opened with qemu_open().

Fixes: bb99f4772f5 ("hw/smbios: support loading OEM strings values from a file")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201030152742.1553968-1-philmd@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: bfe7a961737452ae8e616df758406e86ac289972
      
https://github.com/qemu/qemu/commit/bfe7a961737452ae8e616df758406e86ac289972
  Author: Jean-Philippe Brucker <jean-philippe@linaro.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/virtio-iommu.c

  Log Message:
  -----------
  virtio-iommu: Fix virtio_iommu_mr()

Due to an invalid mask, virtio_iommu_mr() may return the wrong memory
region. It hasn't been too problematic so far because the function was
only used to test existence of an endpoint, but that is about to change.

Fixes: cfb42188b24d ("virtio-iommu: Implement attach/detach command")
Cc: QEMU Stable <qemu-stable@nongnu.org>
Acked-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20201030180510.747225-2-jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 31aa323fb97bae3786f5bce5a88668f76fdb0cec
      
https://github.com/qemu/qemu/commit/31aa323fb97bae3786f5bce5a88668f76fdb0cec
  Author: Jean-Philippe Brucker <jean-philippe@linaro.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/virtio-iommu.c

  Log Message:
  -----------
  virtio-iommu: Store memory region in endpoint struct

Store the memory region associated to each endpoint into the endpoint
structure, to allow efficient memory notification on map/unmap.

Acked-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20201030180510.747225-3-jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 15e4c8f01b7f06b9dde13bc13949c834b25160f3
      
https://github.com/qemu/qemu/commit/15e4c8f01b7f06b9dde13bc13949c834b25160f3
  Author: Bharat Bhushan <bbhushan2@marvell.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/trace-events
    M hw/virtio/virtio-iommu.c

  Log Message:
  -----------
  virtio-iommu: Add memory notifiers for map/unmap

Extend VIRTIO_IOMMU_T_MAP/UNMAP request to notify memory listeners. It
will call VFIO notifier to map/unmap regions in the physical IOMMU.

Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20201030180510.747225-4-jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 2f6eeb5f0bb1efea09510b9481e2ff82fe69b440
      
https://github.com/qemu/qemu/commit/2f6eeb5f0bb1efea09510b9481e2ff82fe69b440
  Author: Bharat Bhushan <bbhushan2@marvell.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/virtio-iommu.c

  Log Message:
  -----------
  virtio-iommu: Call memory notifiers in attach/detach

Call the memory notifiers when attaching an endpoint to a domain, to
replay existing mappings, and when detaching the endpoint, to remove all
mappings.

Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20201030180510.747225-5-jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 308e5e1b5f811aa28063006088ff276a63a034d3
      
https://github.com/qemu/qemu/commit/308e5e1b5f811aa28063006088ff276a63a034d3
  Author: Bharat Bhushan <bbhushan2@marvell.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/trace-events
    M hw/virtio/virtio-iommu.c

  Log Message:
  -----------
  virtio-iommu: Add replay() memory region callback

Implement the replay callback to setup all mappings for a new memory
region.

Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20201030180510.747225-6-jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 6978bfaa688df55dc9ea581fe32b226f81aebc3a
      
https://github.com/qemu/qemu/commit/6978bfaa688df55dc9ea581fe32b226f81aebc3a
  Author: Bharat Bhushan <bbhushan2@marvell.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/trace-events
    M hw/virtio/virtio-iommu.c

  Log Message:
  -----------
  virtio-iommu: Add notify_flag_changed() memory region callback

Add notify_flag_changed() to notice when memory listeners are added and
removed.

Acked-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20201030180510.747225-7-jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 457f8cbbd80f631cee02057c3c844a43ca65b5c4
      
https://github.com/qemu/qemu/commit/457f8cbbd80f631cee02057c3c844a43ca65b5c4
  Author: Bharat Bhushan <bbhushan2@marvell.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M include/exec/memory.h
    M softmmu/memory.c

  Log Message:
  -----------
  memory: Add interface to set iommu page size mask

Allow to set the page size mask supported by an iommu memory region.
This enables a vIOMMU to communicate the page size granule supported by
an assigned device, on hosts that use page sizes greater than 4kB.

Acked-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20201030180510.747225-8-jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: b917749842493abdfa49f5265ea236c922c05cb2
      
https://github.com/qemu/qemu/commit/b917749842493abdfa49f5265ea236c922c05cb2
  Author: Bharat Bhushan <bbhushan2@marvell.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/vfio/common.c

  Log Message:
  -----------
  vfio: Set IOMMU page size as per host supported page size

Set IOMMU supported page size mask same as host Linux supported page
size mask.

Acked-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20201030180510.747225-9-jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 5c3cfe33f4185841feaedd07bea1d6d7e02011a0
      
https://github.com/qemu/qemu/commit/5c3cfe33f4185841feaedd07bea1d6d7e02011a0
  Author: Bharat Bhushan <bbhushan2@marvell.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/virtio/trace-events
    M hw/virtio/virtio-iommu.c

  Log Message:
  -----------
  virtio-iommu: Set supported page size mask

The virtio-iommu device can deal with arbitrary page sizes for virtual
endpoints, but for endpoints assigned with VFIO it must follow the page
granule used by the host IOMMU driver.

Implement the interface to set the vIOMMU page size mask, called by VFIO
for each endpoint. We assume that all host IOMMU drivers use the same
page granule (the host page granule). Override the page_size_mask field
in the virtio config space.

Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20201030180510.747225-10-jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 83851c7c60c90e9fb6a23ff48076387a77bc33cd
      
https://github.com/qemu/qemu/commit/83851c7c60c90e9fb6a23ff48076387a77bc33cd
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M include/glib-compat.h
    A qga/commands-posix-ssh.c
    M qga/commands-posix.c
    M qga/commands-win32.c
    M qga/meson.build
    M qga/qapi-schema.json

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mdroth/tags/qga-pull-2020-10-27-v3-tag' 
into staging

qemu-ga patch queue for soft-freeze

* add guest-get-disks for w32/linux
* add guest-{add,remove,get}-authorized-keys
* fix API violations and schema documentation inconsistencies with
  recently-added guest-get-devices

v3:
- fix checkpatch errors regarding disallowed usages of g_assert*
  macros and other warnings

v2:
- fix BSD build error due to missing stub for guest_get_disks
- fix clang build error on linux due to unused variable
- disable qga-ssh-test for now due to a memory leak within GLib when
  G_TEST_OPTION_ISOLATE_DIRS is passed to g_test_init() since it
  break Gitlab CI build-oss-fuzz test
- rebased and re-tested on master

# gpg: Signature made Tue 03 Nov 2020 02:30:50 GMT
# gpg:                using RSA key CEACC9E15534EBABB82D3FA03353C9CEF108B584
# gpg:                issuer "michael.roth@amd.com"
# gpg: Good signature from "Michael Roth <flukshun@gmail.com>" [full]
# gpg:                 aka "Michael Roth <mdroth@utexas.edu>" [full]
# gpg:                 aka "Michael Roth <mdroth@linux.vnet.ibm.com>" [full]
# Primary key fingerprint: CEAC C9E1 5534 EBAB B82D  3FA0 3353 C9CE F108 B584

* remotes/mdroth/tags/qga-pull-2020-10-27-v3-tag:
  qga: add ssh-get-authorized-keys
  meson: minor simplification
  qga: add *reset argument to ssh-add-authorized-keys
  qga: add ssh-{add,remove}-authorized-keys
  glib-compat: add g_unix_get_passwd_entry_qemu()
  qga: add implementation of guest-get-disks for Windows
  qga: add implementation of guest-get-disks for Linux
  qga: add command guest-get-disks
  qga: Flatten simple union GuestDeviceId
  qga-win: Fix guest-get-devices error API violations
  qga: Use common time encoding for guest-get-devices 'driver-date'
  qga: Rename guest-get-devices return member 'address' to 'id'

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 9ce22da0d834f0c9f57bd36f5d0d10e5e2f4992c
      
https://github.com/qemu/qemu/commit/9ce22da0d834f0c9f57bd36f5d0d10e5e2f4992c
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/test-util-sockets.c

  Log Message:
  -----------
  test-util-sockets: Plug file descriptor leak

Fixes: 4d3a329af59ef8acd076f99f05e82531d8129b34
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: d1a393211b5333f9374b439394424f594f69d282
      
https://github.com/qemu/qemu/commit/d1a393211b5333f9374b439394424f594f69d282
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/test-util-sockets.c

  Log Message:
  -----------
  test-util-sockets: Correct to set has_abstract, has_tight

The code tested doesn't care, which is a bug I will fix shortly.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: 718a9be02df880ca4b4e34ce253daf2bfc5d059c
      
https://github.com/qemu/qemu/commit/718a9be02df880ca4b4e34ce253daf2bfc5d059c
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/test-util-sockets.c

  Log Message:
  -----------
  test-util-sockets: Clean up SocketAddress construction

The thread functions build the SocketAddress from global variable
@abstract_sock_name and the tight flag passed as pointer
argument (either NULL or (gpointer)1).  There is no need for such
hackery; simply pass the SocketAddress instead.

While there, dumb down g_rand_int_range() to g_random_int().

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: 89cb0bb554ee2365d948d3f593ea04f03d5bc4f8
      
https://github.com/qemu/qemu/commit/89cb0bb554ee2365d948d3f593ea04f03d5bc4f8
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/test-util-sockets.c

  Log Message:
  -----------
  test-util-sockets: Factor out test_socket_unix_abstract_one()

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: 39458d4e3059d37e3331258a50fd77f8cf5b365e
      
https://github.com/qemu/qemu/commit/39458d4e3059d37e3331258a50fd77f8cf5b365e
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/test-util-sockets.c

  Log Message:
  -----------
  test-util-sockets: Synchronize properly, don't sleep(1)

The abstract sockets test spawns a thread to listen and accept, and a
second one to connect, with a sleep(1) in between to "ensure" the
former is listening when the latter tries to connect.  Review fail.
Risks spurious test failure, say when a heavily loaded machine doesn't
schedule the first thread quickly enough.  It's also slow.

Listen and accept in the main thread, and start the connect thread in
between.  Look ma, no sleep!  Run time drops from 2s wall clock to a
few milliseconds.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: a72f6754a10ea4f4bf76e83ecaa7f82931991c24
      
https://github.com/qemu/qemu/commit/a72f6754a10ea4f4bf76e83ecaa7f82931991c24
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/test-util-sockets.c

  Log Message:
  -----------
  test-util-sockets: Test the complete abstract socket matrix

The test covers only two out of nine combinations.  Test all nine.
Four turn out to be broken.  Marked /* BUG */.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: b08cc97d6ba4250439829a8a1d476064a1cb54da
      
https://github.com/qemu/qemu/commit/b08cc97d6ba4250439829a8a1d476064a1cb54da
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M chardev/char-socket.c
    M tests/test-util-sockets.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  sockets: Fix default of UnixSocketAddress member @tight

An optional bool member of a QAPI struct can be false, true, or absent.
The previous commit demonstrated that socket_listen() and
socket_connect() are broken for absent @tight, and indeed QMP chardev-
add also defaults absent member @tight to false instead of true.

In C, QAPI members are represented by two fields, has_MEMBER and MEMBER.
We have:

            has_MEMBER    MEMBER
    false         true     false
    true          true      true
    absent       false  false/ignore

When has_MEMBER is false, MEMBER should be set to false on write, and
ignored on read.

For QMP, the QAPI visitors handle absent @tight by setting both
@has_tight and @tight to false.  unix_listen_saddr() and
unix_connect_saddr() however use @tight only, disregarding @has_tight.
This is wrong and means that absent @tight defaults to false whereas it
should default to true.

The same is true for @has_abstract, though @abstract defaults to
false and therefore has the same behavior for all of QMP, HMP and CLI.
Fix unix_listen_saddr() and unix_connect_saddr() to check
@has_abstract/@has_tight, and to default absent @tight to true.

However, this is only half of the story.  HMP chardev-add and CLI
-chardev so far correctly defaulted @tight to true, but defaults to
false again with the above fix for HMP and CLI.  In fact, the "tight"
and "abstract" options now break completely.

Digging deeper, we find that qemu_chr_parse_socket() also ignores
@has_tight, leaving it false when it sets @tight.  That is also wrong,
but the two wrongs cancelled out.  Fix qemu_chr_parse_socket() to set
@has_tight and @has_abstract; writing testcases for HMP and CLI is left
for another day.

Fixes: 776b97d3605ed0fc94443048fdf988c7725e38a9
Reported-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: 3b14b4ec49a801067da19d6b8469eb1c1911c020
      
https://github.com/qemu/qemu/commit/3b14b4ec49a801067da19d6b8469eb1c1911c020
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M util/qemu-sockets.c

  Log Message:
  -----------
  sockets: Fix socket_sockaddr_to_address_unix() for abstract sockets

Commit 776b97d360 "qemu-sockets: add abstract UNIX domain socket
support" neglected to update socket_sockaddr_to_address_unix().  The
function returns a non-abstract socket address for abstract
sockets (wrong) with a null @path (also wrong; a non-optional QAPI str
member must never be null).

The null @path is due to confused code going back all the way to
commit 17c55decec "sockets: add helpers for creating SocketAddress
from a socket".

Add the required special case, and simplify the confused code.

Fixes: 776b97d3605ed0fc94443048fdf988c7725e38a9
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: dea7cd1794f33c52e4b59fe085daffb318a4bb07
      
https://github.com/qemu/qemu/commit/dea7cd1794f33c52e4b59fe085daffb318a4bb07
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  char-socket: Fix qemu_chr_socket_address() for abstract sockets

Commit 776b97d360 "qemu-sockets: add abstract UNIX domain socket
support" neglected to update qemu_chr_socket_address().  It shows
shows neither @abstract nor @tight.  Fix that.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: ef298e3826e574c712d10e38a5f2a3629d6f5e01
      
https://github.com/qemu/qemu/commit/ef298e3826e574c712d10e38a5f2a3629d6f5e01
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M util/qemu-sockets.c

  Log Message:
  -----------
  sockets: Bypass "replace empty @path" for abstract unix sockets

unix_listen_saddr() replaces empty @path by unique value.  It obtains
the value by creating and deleting a unique temporary file with
mkstemp().  This is racy, as the comment explains.  It's also entirely
undocumented as far as I can tell.  Goes back to commit d247d25f18
"sockets: helper functions for qemu (Gerd Hoffman)", v0.10.0.

Since abstract socket addresses have no connection with filesystem
pathnames, making them up with mkstemp() seems inappropriate.  Bypass
the replacement of empty @path.

Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: 8acefc79deaab1c7ee2ab07b540b0e3edf0f9f47
      
https://github.com/qemu/qemu/commit/8acefc79deaab1c7ee2ab07b540b0e3edf0f9f47
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M chardev/char-socket.c
    M chardev/char.c
    M qapi/sockets.json
    M tests/test-util-sockets.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  sockets: Make abstract UnixSocketAddress depend on CONFIG_LINUX

The abstract socket namespace is a non-portable Linux extension.  An
attempt to use it elsewhere should fail with ENOENT (the abstract
address looks like a "" pathname, which does not resolve).  We report
this failure like

    Failed to connect socket abc: No such file or directory

Tolerable, although ENOTSUP would be better.

However, introspection lies: it has @abstract regardless of host
support.  Easy enough to fix: since Linux provides them since 2.2,
'if': 'defined(CONFIG_LINUX)' should do.

The above failure becomes

    Parameter 'backend.data.addr.data.abstract' is unexpected

I consider this an improvement.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: ad262888993f795db68fd7c2bdfa72f467fe0096
      
https://github.com/qemu/qemu/commit/ad262888993f795db68fd7c2bdfa72f467fe0096
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M chardev/char-socket.c
    M chardev/char.c
    M qapi/sockets.json
    M tests/test-util-sockets.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/berrange-gitlab/tags/sock-next-pull-request' into staging

 - Fix inverted logic in abstract socket QAPI support
 - Only report abstract socket support in QAPI on Linux hosts
 - Expand test coverage
 - Misc other code cleanups

# gpg: Signature made Tue 03 Nov 2020 14:00:53 GMT
# gpg:                using RSA key DAF3A6FDB26B62912D0E8E3FBE86EBB415104FDF
# gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" [full]
# gpg:                 aka "Daniel P. Berrange <berrange@redhat.com>" [full]
# Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E  8E3F BE86 EBB4 1510 4FDF

* remotes/berrange-gitlab/tags/sock-next-pull-request:
  sockets: Make abstract UnixSocketAddress depend on CONFIG_LINUX
  sockets: Bypass "replace empty @path" for abstract unix sockets
  char-socket: Fix qemu_chr_socket_address() for abstract sockets
  sockets: Fix socket_sockaddr_to_address_unix() for abstract sockets
  sockets: Fix default of UnixSocketAddress member @tight
  test-util-sockets: Test the complete abstract socket matrix
  test-util-sockets: Synchronize properly, don't sleep(1)
  test-util-sockets: Factor out test_socket_unix_abstract_one()
  test-util-sockets: Clean up SocketAddress construction
  test-util-sockets: Correct to set has_abstract, has_tight
  test-util-sockets: Plug file descriptor leak

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 090afdc5e61e80de4ac158fa4cb2a578ee69be54
      
https://github.com/qemu/qemu/commit/090afdc5e61e80de4ac158fa4cb2a578ee69be54
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M include/qemu/cutils.h
    M util/cutils.c

  Log Message:
  -----------
  cutils: replace strdup with g_strdup

Memory returned by get_relocated_path must be freed with
free or g_free depending on the path that the function
took; Coverity takes exception to this practice.  The
fix lets caller use g_free as is standard in QEMU.

While at it, mention the requirements on the caller in
the doc comment.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2eba427eb1e9057ee6bd2b4e6c4c78cda3534bfe
      
https://github.com/qemu/qemu/commit/2eba427eb1e9057ee6bd2b4e6c4c78cda3534bfe
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M docs/devel/build-system.rst
    M docs/devel/kconfig.rst

  Log Message:
  -----------
  docs: expand sourceset documentation

Expand on the usage of sourcesets and describe the CONFIG_ALL
symbol.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 379218511219feddb85fde6362c0eefd94dd4828
      
https://github.com/qemu/qemu/commit/379218511219feddb85fde6362c0eefd94dd4828
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M softmmu/physmem.c

  Log Message:
  -----------
  exec: Remove dead code (CID 1432876)

We removed the global_locking field in commit 4174495408a,
leaving dead code around the 'unlocked' variable. Remove it
to fix the DEADCODE issue reported by Coverity (CID 1432876).

Fixes: 4174495408a ("exec: Remove MemoryRegion::global_locking field")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201030153752.1557776-1-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f8b8f3746327d577cdd25d6f86bd993178aece58
      
https://github.com/qemu/qemu/commit/f8b8f3746327d577cdd25d6f86bd993178aece58
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M scripts/oss-fuzz/build.sh

  Log Message:
  -----------
  scripts/oss-fuzz: rename bin/qemu-fuzz-i386

OSS-Fuzz changed the way it scans for fuzzers in $DEST_DIR. The new code
also scans subdirectories for fuzzers. This means that OSS-Fuzz is
considering bin/qemu-fuzz-i386 as an independent fuzzer (it is not - it
requires a --fuzz-target argument). This has led to coverage-build
failures and false crash reports. To work around this, we take advantage
of OSS-Fuzz' filename extension check - OSS-Fuzz will not run anything
that has an extension that is not ".exe":
https://github.com/google/oss-fuzz/blob/master/infra/utils.py#L115

Reported-by: OSS-Fuzz (Issue 26725)
Reported-by: OSS-Fuzz (Issue 26679)
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201101212245.185819-1-alxndr@bu.edu>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 4177b062fc58dd250667415e487618ac59393d04
      
https://github.com/qemu/qemu/commit/4177b062fc58dd250667415e487618ac59393d04
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/isa/lpc_ich9.c
    M include/hw/i386/ich9.h

  Log Message:
  -----------
  hw/isa/lpc_ich9: Ignore reserved/invalid SCI IRQ

libFuzzer triggered the following assertion:

  cat << EOF | qemu-system-i386 -M pc-q35-5.0 \
    -nographic -monitor none -serial none \
    -qtest stdio -d guest_errors -trace pci\*
  outl 0xcf8 0x8400f841
  outl 0xcfc 0xebed205d
  outl 0x5d02 0xedf82049
  EOF
  pci_cfg_write ICH9-LPC 31:0 @0x41 <- 0xebed205d
  hw/pci/pci.c:268: int pci_bus_get_irq_level(PCIBus *, int): Assertion 
`irq_num < bus->nirq' failed.

This is because ich9_lpc_sci_irq() returns -1 for reserved
(illegal) values, but ich9_lpc_pmbase_sci_update() considers
it valid and store it in a 8-bit unsigned type. Then the 255
value is used as GSI IRQ, resulting in a PIRQ value of 247,
more than ICH9_LPC_NB_PIRQS (8).

Fix by simply ignoring the invalid access (and reporting it):

  pci_cfg_write ICH9-LPC 31:0 @0x41 <- 0xebed205d
  ICH9 LPC: SCI IRQ SEL #3 is reserved
  pci_cfg_read mch 00:0 @0x0 -> 0x8086
  pci_cfg_read mch 00:0 @0x0 -> 0x29c08086
  ...

Cc: qemu-stable@nongnu.org
Reported-by: Alexander Bulekov <alxndr@bu.edu>
Fixes: 8f242cb724 ("ich9: implement SCI_IRQ_SEL register")
BugLink: https://bugs.launchpad.net/qemu/+bug/1878642
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200717151705.18611-1-f4bug@amsat.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: fd250172842b3bbd4213242eb83bd5fa989f7381
      
https://github.com/qemu/qemu/commit/fd250172842b3bbd4213242eb83bd5fa989f7381
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/qtest/fuzz-test.c

  Log Message:
  -----------
  qtest: add a reproducer for LP#1878642

https://bugs.launchpad.net/qemu/+bug/1878642

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201102163336.115444-1-alxndr@bu.edu>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a5cb7c5afe717d42ae8845cd4b8805ea17b3f64d
      
https://github.com/qemu/qemu/commit/a5cb7c5afe717d42ae8845cd4b8805ea17b3f64d
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M configure
    M meson.build

  Log Message:
  -----------
  meson: use b_staticpic=false for meson >=0.56.0

Meson 0.56.0 correctly builds non-PIC static libraries with -fPIE if
b_pie=true.  We do not have to pass b_staticpic=true if PIE is requested
if Meson is new-enough, which improves performance.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cd57deabad8f60a6b0d135318810909bc0b7a93f
      
https://github.com/qemu/qemu/commit/cd57deabad8f60a6b0d135318810909bc0b7a93f
  Author: Marc Hartmayer <mhartmay@linux.ibm.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M contrib/vhost-user-gpu/meson.build
    M tools/virtiofsd/meson.build

  Log Message:
  -----------
  meson: vhost-user-gpu/virtiofsd: use absolute path

The option `libexecdir` is relative to `prefix` (see
https://mesonbuild.com/Builtin-options.html), so we have to be aware
of this when creating 50-qemu-gpu.json and
50-qemu-virtiofsd.json. Otherwise, tools like libvirt will not be able
to find the executable.

Fixes: 16bf7a3326d8 ("configure: move directory options from config-host.mak to 
meson")
Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Message-Id: <20201103112333.24734-1-mhartmay@linux.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 1d72d9c4874f61c38df9a473e2fd4de869ba0b11
      
https://github.com/qemu/qemu/commit/1d72d9c4874f61c38df9a473e2fd4de869ba0b11
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/qtest/libqtest.c

  Log Message:
  -----------
  tests/qtest/libqtest.c: Check for setsockopt() failure

In socket_accept() we use setsockopt() to set SO_RCVTIMEO,
but we don't check the return value for failure. Do so.

Fixes: Coverity CID 1432321
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20201103115112.19211-1-peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 0250edf1eb4ff0b164c0cdabcbf4313507f3082e
      
https://github.com/qemu/qemu/commit/0250edf1eb4ff0b164c0cdabcbf4313507f3082e
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/qtest/libqos/ahci.c

  Log Message:
  -----------
  tests/qtest/libqos/ahci.c: Avoid NULL dereference in ahci_exec()

In ahci_exec() we attempt to permit the caller to pass a NULL pointer
for opts_in (in which case we use a default set of options).  However
although we check for NULL when setting up the opts variable at the
top of the function, we unconditionally dereference opts_in at the
end of the function as part of freeing the opts->buffer.

Switch to checking whether the final buffer is the same as the
buffer we started with, instead of assuming the value we started
with is always opts_in->buffer.

At the moment all the callers pass a non-NULL opts argument, so
we never saw any crashes in practice.

Fixes: Coverity CID 1432302
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20201103115257.23623-1-peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: af2c0e854bd2b93a61f2d7111822154ccccd86c9
      
https://github.com/qemu/qemu/commit/af2c0e854bd2b93a61f2d7111822154ccccd86c9
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M docs/meson.build

  Log Message:
  -----------
  meson: fix warning for bad sphinx-build

The warning was printing an empty string if the bad sphinx-build
was not passed on the command line.  Instead, always use the
path that was returned by find_program.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 3569a5dfc11f2c4880b7cddd9e0091b29aa0e015
      
https://github.com/qemu/qemu/commit/3569a5dfc11f2c4880b7cddd9e0091b29aa0e015
  Author: Bruce Rogers <brogers@suse.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: fix gio_libs reference

The gio library detection code no longer works, due to a missing $ in
front of the gio_libs reference. Make the string be $gio_libs.

Fixes: 76346b6264a ("configure: Test that gio libs from pkg-config
work")

Signed-off-by: Bruce Rogers <brogers@suse.com>
Message-Id: <20201103145121.668865-1-brogers@suse.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c59c582d56ee3bbde15e6788c0d28329792b2573
      
https://github.com/qemu/qemu/commit/c59c582d56ee3bbde15e6788c0d28329792b2573
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/qtest/fuzz/qos_fuzz.c

  Log Message:
  -----------
  tests/qtest: Fix potential NULL pointer dereference in qos_build_main_args()

In qos_build_main_args(), the pointer 'path' is dereferenced before
checking it is valid, which may lead to NULL pointer dereference.
So move the assignment to 'cmd_line' after checking 'path' is valid.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Message-Id: <5FA16ED5.4000203@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d5c90cf3f648c544af7a75a8908b58722062dc57
      
https://github.com/qemu/qemu/commit/d5c90cf3f648c544af7a75a8908b58722062dc57
  Author: Anup Patel <anup.patel@wdc.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/riscv/sifive_u.c

  Log Message:
  -----------
  hw/riscv: sifive_u: Allow passing custom DTB

Extend sifive_u machine to allow passing custom DTB using "-dtb"
command-line parameter. This will help users pass modified DTB
or Linux SiFive DTB to sifive_u machine.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201022053225.2596110-1-anup.patel@wdc.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 4e1e3003fbfbba38bd46d0fd3677b2d43b0a91e3
      
https://github.com/qemu/qemu/commit/4e1e3003fbfbba38bd46d0fd3677b2d43b0a91e3
  Author: Anup Patel <anup.patel@wdc.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/riscv/virt.c

  Log Message:
  -----------
  hw/riscv: virt: Allow passing custom DTB

Extend virt machine to allow passing custom DTB using "-dtb"
command-line parameter. This will help users pass modified DTB
to virt machine.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201022053225.2596110-2-anup.patel@wdc.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 284d697c74ef3f4210cbccc5cd6b4894740e4ab3
      
https://github.com/qemu/qemu/commit/284d697c74ef3f4210cbccc5cd6b4894740e4ab3
  Author: Yifei Jiang <jiangyifei@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M target/riscv/cpu.c
    M target/riscv/cpu.h
    M target/riscv/cpu_bits.h
    M target/riscv/cpu_helper.c
    M target/riscv/csr.c
    M target/riscv/op_helper.c

  Log Message:
  -----------
  target/riscv: Merge m/vsstatus and m/vsstatush into one uint64_t unit

mstatus/mstatush and vsstatus/vsstatush are two halved for RISCV32.
This patch expands mstatus and vsstatus to uint64_t instead of
target_ulong so that it can be saved as one unit and reduce some
ifdefs in the code.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Yipeng Yin <yinyipeng1@huawei.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201026115530.304-2-jiangyifei@huawei.com


  Commit: f7697f0e629eb75d411bc6f314c6fff68fa4c238
      
https://github.com/qemu/qemu/commit/f7697f0e629eb75d411bc6f314c6fff68fa4c238
  Author: Yifei Jiang <jiangyifei@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M target/riscv/cpu.c
    M target/riscv/internals.h
    A target/riscv/machine.c
    M target/riscv/meson.build

  Log Message:
  -----------
  target/riscv: Add basic vmstate description of CPU

Add basic CPU state description to the newly created machine.c

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Yipeng Yin <yinyipeng1@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201026115530.304-3-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 24beb03e46de8602b318d5f234ce0ba489a7dbfc
      
https://github.com/qemu/qemu/commit/24beb03e46de8602b318d5f234ce0ba489a7dbfc
  Author: Yifei Jiang <jiangyifei@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M target/riscv/machine.c
    M target/riscv/pmp.c
    M target/riscv/pmp.h

  Log Message:
  -----------
  target/riscv: Add PMP state description

In the case of supporting PMP feature, add PMP state description
to vmstate_riscv_cpu.

'vmstate_pmp_addr' and 'num_rules' could be regenerated by
pmp_update_rule(). But there exists the problem of updating
num_rules repeatedly in pmp_update_rule(). So here extracts
pmp_update_rule_addr() and pmp_update_rule_nums() to update
'vmstate_pmp_addr' and 'num_rules' respectively.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Yipeng Yin <yinyipeng1@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201026115530.304-4-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 35e07821ff99a7511cf2594bd14bbcf8e8b7a528
      
https://github.com/qemu/qemu/commit/35e07821ff99a7511cf2594bd14bbcf8e8b7a528
  Author: Yifei Jiang <jiangyifei@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M target/riscv/machine.c

  Log Message:
  -----------
  target/riscv: Add H extension state description

In the case of supporting H extension, add H extension description
to vmstate_riscv_cpu.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Yipeng Yin <yinyipeng1@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201026115530.304-5-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: bb02edcd86755a15535b3f8956e6f75df41770ad
      
https://github.com/qemu/qemu/commit/bb02edcd86755a15535b3f8956e6f75df41770ad
  Author: Yifei Jiang <jiangyifei@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M target/riscv/machine.c

  Log Message:
  -----------
  target/riscv: Add V extension state description

In the case of supporting V extension, add V extension description
to vmstate_riscv_cpu.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Yipeng Yin <yinyipeng1@huawei.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201026115530.304-6-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: dbd3ec548ae9ada6e6a5c1f5b6359521fd29fd4b
      
https://github.com/qemu/qemu/commit/dbd3ec548ae9ada6e6a5c1f5b6359521fd29fd4b
  Author: Yifei Jiang <jiangyifei@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/intc/sifive_plic.c
    M include/hw/intc/sifive_plic.h

  Log Message:
  -----------
  target/riscv: Add sifive_plic vmstate

Add sifive_plic vmstate for supporting sifive_plic migration.
Current vmstate framework only supports one structure parameter
as num field to describe variable length arrays, so introduce
num_enables.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Yipeng Yin <yinyipeng1@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201026115530.304-7-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 08b86e3b8f5209b1c39f22a6d367f347eaf0f8be
      
https://github.com/qemu/qemu/commit/08b86e3b8f5209b1c39f22a6d367f347eaf0f8be
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/riscv/microchip_pfsoc.c

  Log Message:
  -----------
  hw/riscv: microchip_pfsoc: Document where to look at the SoC memory maps

It is not easy to find out the memory map for a specific component
in the PolarFire SoC as the information is scattered in different
documents. Add some comments so that people can know where to get
such information from the Microchip website.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 1603863010-15807-2-git-send-email-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 3400b15bbe0fbc672fee9a18268154b07a1fed2e
      
https://github.com/qemu/qemu/commit/3400b15bbe0fbc672fee9a18268154b07a1fed2e
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M hw/misc/Kconfig
    A hw/misc/mchp_pfsoc_dmc.c
    M hw/misc/meson.build
    A include/hw/misc/mchp_pfsoc_dmc.h

  Log Message:
  -----------
  hw/misc: Add Microchip PolarFire SoC DDR Memory Controller support

The PolarFire SoC DDR Memory Controller mainly includes 2 modules,
called SGMII PHY module and the CFG module, as documented in the
chipset datasheet.

This creates a single file that groups these 2 modules, providing
the minimum functionalities that make the HSS DDR initialization
codes happy.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 1603863010-15807-3-git-send-email-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 933f73f13e5ceb9357e9c9d51ce39c43aa1d534f
      
https://github.com/qemu/qemu/commit/933f73f13e5ceb9357e9c9d51ce39c43aa1d534f
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/riscv/Kconfig
    M hw/riscv/microchip_pfsoc.c
    M include/hw/riscv/microchip_pfsoc.h

  Log Message:
  -----------
  hw/riscv: microchip_pfsoc: Connect DDR memory controller modules

Connect DDR SGMII PHY module and CFG module to the PolarFire SoC.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 1603863010-15807-4-git-send-email-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: a937b302831f12094437cdbdfc859bff9f093525
      
https://github.com/qemu/qemu/commit/a937b302831f12094437cdbdfc859bff9f093525
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M hw/misc/Kconfig
    A hw/misc/mchp_pfsoc_ioscb.c
    M hw/misc/meson.build
    A include/hw/misc/mchp_pfsoc_ioscb.h

  Log Message:
  -----------
  hw/misc: Add Microchip PolarFire SoC IOSCB module support

This creates a model for PolarFire SoC IOSCB [1] module. It actually
contains lots of sub-modules like various PLLs to control different
peripherals. Only the mininum capabilities are emulated to make the
HSS DDR memory initialization codes happy. Lots of sub-modules are
created as an unimplemented devices.

[1] PF_SoC_RegMap_V1_1/MPFS250T/mpfs250t_ioscb_memmap_dri.htm in
    
https://www.microsemi.com/document-portal/doc_download/1244581-polarfire-soc-register-map

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 1603863010-15807-5-git-send-email-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: e35d617919a76b92af799baa483c4ff0e7c090e3
      
https://github.com/qemu/qemu/commit/e35d617919a76b92af799baa483c4ff0e7c090e3
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/riscv/Kconfig
    M hw/riscv/microchip_pfsoc.c
    M include/hw/riscv/microchip_pfsoc.h

  Log Message:
  -----------
  hw/riscv: microchip_pfsoc: Connect the IOSCB module

Previously IOSCB_CFG was created as an unimplemented device. With
the new IOSCB model, its memory range is already covered by the
IOSCB hence remove the previous unimplemented device creation in
the SoC codes.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 1603863010-15807-6-git-send-email-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 0f25065cb616f74729383fbf30369c374305ebb1
      
https://github.com/qemu/qemu/commit/0f25065cb616f74729383fbf30369c374305ebb1
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M hw/misc/Kconfig
    A hw/misc/mchp_pfsoc_sysreg.c
    M hw/misc/meson.build
    A include/hw/misc/mchp_pfsoc_sysreg.h

  Log Message:
  -----------
  hw/misc: Add Microchip PolarFire SoC SYSREG module support

This creates a minimum model for Microchip PolarFire SoC SYSREG
module. It only implements the ENVM_CR register to tell guest
software that eNVM is running at the configured divider rate.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 1603863010-15807-7-git-send-email-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: cdd58c70fbcb7276d3df656941278e4395ecce14
      
https://github.com/qemu/qemu/commit/cdd58c70fbcb7276d3df656941278e4395ecce14
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/riscv/Kconfig
    M hw/riscv/microchip_pfsoc.c
    M include/hw/riscv/microchip_pfsoc.h

  Log Message:
  -----------
  hw/riscv: microchip_pfsoc: Connect the SYSREG module

Previously SYSREG was created as an unimplemented device. Now that
we have a simple SYSREG module, connect it.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 1603863010-15807-8-git-send-email-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 27c22b2de08f71500df581563cc9d22638a14b4d
      
https://github.com/qemu/qemu/commit/27c22b2de08f71500df581563cc9d22638a14b4d
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/riscv/microchip_pfsoc.c
    M include/hw/riscv/microchip_pfsoc.h

  Log Message:
  -----------
  hw/riscv: microchip_pfsoc: Map the reserved memory at address 0

Somehow HSS needs to access address 0 [1] for the DDR calibration data
which is in the chipset's reserved memory. Let's map it.

[1] See the config_copy() calls in various places in ddr_setup() in
    the HSS source codes.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 1603863010-15807-9-git-send-email-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: f03100d718579f022316349687dc9127ff01f0ee
      
https://github.com/qemu/qemu/commit/f03100d718579f022316349687dc9127ff01f0ee
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/riscv/microchip_pfsoc.c
    M include/hw/riscv/microchip_pfsoc.h

  Log Message:
  -----------
  hw/riscv: microchip_pfsoc: Correct DDR memory map

When system memory is larger than 1 GiB (high memory), PolarFire SoC
maps it at address 0x10_0000_0000. Address 0xC000_0000 and above is
aliased to the same 1 GiB low memory with different cache attributes.

At present QEMU maps the system memory contiguously from 0x8000_0000.
This corrects the wrong QEMU logic. Note address 0x14_0000_0000 is
the alias to the high memory, and even physical memory is only 1 GiB,
the HSS codes still tries to probe the high memory alias address.
It seems there is no issue on the real hardware, so we will have to
take that into the consideration in our emulation. Due to this, we
we increase the default system memory size to 1537 MiB (the minimum
required high memory size by HSS) so that user gets notified an error
when less than 1537 MiB is specified.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201101170538.3732-1-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 90742c5496f3bf76203c0759f783444af10fb61a
      
https://github.com/qemu/qemu/commit/90742c5496f3bf76203c0759f783444af10fb61a
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/riscv/microchip_pfsoc.c
    M include/hw/riscv/microchip_pfsoc.h

  Log Message:
  -----------
  hw/riscv: microchip_pfsoc: Hook the I2C1 controller

The latest SD card image [1] released by Microchip ships a Linux
kernel with built-in PolarFire SoC I2C driver support. The device
tree file includes the description for the I2C1 node hence kernel
tries to probe the I2C1 device during boot.

It is enough to create an unimplemented device for I2C1 to allow
the kernel to continue booting to the shell.

[1] 
ftp://ftpsoc.microsemi.com/outgoing/core-image-minimal-dev-icicle-kit-es-sd-20201009141623.rootfs.wic.gz

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 1603863010-15807-11-git-send-email-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: 422819776101520cb56658ee5facf926526cf870
      
https://github.com/qemu/qemu/commit/422819776101520cb56658ee5facf926526cf870
  Author: Xinhao Zhang <zhangxinhao1@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M target/riscv/csr.c

  Log Message:
  -----------
  target/riscv/csr.c : add space before the open parenthesis '('

Fix code style. Space required before the open parenthesis '('.

Signed-off-by: Xinhao Zhang <zhangxinhao1@huawei.com>
Signed-off-by: Kai Deng <dengkai1@huawei.com>
Reported-by: Euler Robot <euler.robot@huawei.com>
Reviewed-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20201030004815.4172849-1-zhangxinhao1@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>


  Commit: eada6d9220b77ffee13a86ca8a7aba8fc4451e71
      
https://github.com/qemu/qemu/commit/eada6d9220b77ffee13a86ca8a7aba8fc4451e71
  Author: Volker Rümelin <vr_qemu@t-online.de>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M util/aio-win32.c

  Log Message:
  -----------
  qmp: fix aio_poll() assertion failure on Windows

Commit 9ce44e2ce2 "qmp: Move dispatcher to a coroutine" modified
aio_poll() in util/aio-posix.c to avoid an assertion failure. This
change is missing in util/aio-win32.c.

Apply the changes to util/aio-posix.c to util/aio-win32.c too.
This fixes an assertion failure on Windows whenever QEMU exits.

$ ./qemu-system-x86_64.exe -machine pc,accel=tcg -display gtk
**
ERROR:../qemu/util/aio-win32.c:337:aio_poll: assertion failed:
(in_aio_context_home_thread(ctx))
Bail out! ERROR:../qemu/util/aio-win32.c:337:aio_poll: assertion
failed: (in_aio_context_home_thread(ctx))

Fixes: 9ce44e2ce2 ("qmp: Move dispatcher to a coroutine")
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20201021064033.8600-1-vr_qemu@t-online.de>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 6aec830e77a3f80952b41e421dc23c0041c1e399
      
https://github.com/qemu/qemu/commit/6aec830e77a3f80952b41e421dc23c0041c1e399
  Author: Tuguoyi <tu.guoyi@h3c.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img convert: Free @sn_opts in all error cases

@sn_opts is initialized at the beginning, so it should be deleted
after jumping to the lable 'fail_getopt'

Signed-off-by: Guoyi Tu <tu.guoyi@h3c.com>
Message-Id: <6ff1c5d372944494be3932274f75485d@h3c.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 503c2b31b675c9fba2ff9711a79e55585304895a
      
https://github.com/qemu/qemu/commit/503c2b31b675c9fba2ff9711a79e55585304895a
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  iotests.py: Fix type check errors in wait_migration()

Commit 1847a4a8c20 clarified that event_wait() can return None (though
only with timeout=0) and commit f12a282ff47 annotated it as returning
Optional[QMPMessage].

Type checks in wait_migration() fail because of the unexpected optional
return type:

iotests.py:750: error: Value of type variable "Msg" of "log" cannot be 
"Optional[Dict[str, Any]]"
iotests.py:751: error: Value of type "Optional[Dict[str, Any]]" is not indexable
iotests.py:754: error: Value of type "Optional[Dict[str, Any]]" is not indexable

Fortunately, the non-zero default timeout is used in the event_wait()
call, so we can make mypy happy by just asserting this.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20201027163806.290960-2-kwolf@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: eeb7314c46545a2426c39e2c00f03a0ab5f4f4f1
      
https://github.com/qemu/qemu/commit/eeb7314c46545a2426c39e2c00f03a0ab5f4f4f1
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/qemu-iotests/pylintrc

  Log Message:
  -----------
  iotests: Disable unsubscriptable-object in pylint

When run with Python 3.9, pylint incorrectly warns about things like
Optional[foo] because it doesn't recognise Optional as unsubscriptable.
This is a known pylint bug:

    https://github.com/PyCQA/pylint/issues/3882

Just disable this check to get rid of the warnings.

Disabling this shouldn't make us miss any real bug because mypy also
has a similar check ("... is not indexable").

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20201027163806.290960-3-kwolf@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 757ae0ec5cc6849b88280e2aaca70fe5eb022a0d
      
https://github.com/qemu/qemu/commit/757ae0ec5cc6849b88280e2aaca70fe5eb022a0d
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  iotests: Use Python 3 style super()

pylint complains about the use of super with the current class and
instance as arguments in VM.__init__():

iotests.py:546:8: R1725: Consider using Python 3 style super() without 
arguments (super-with-arguments)

No reason not to follow the advice and make it happy, so let's do this.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20201027163806.290960-4-kwolf@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: c9eb2f3e386840844bcc91e66d0a3475bc650780
      
https://github.com/qemu/qemu/commit/c9eb2f3e386840844bcc91e66d0a3475bc650780
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M block/vvfat.c

  Log Message:
  -----------
  block/vvfat: Fix bad printf format specifiers

We should use printf format specifier "%u" instead of "%d" for
argument of type "unsigned int".
In addition, fix two error format problems found by checkpatch.pl:
ERROR: space required after that ',' (ctx:VxV)
+        fprintf(stderr,"%s attributes=0x%02x begin=%u size=%d\n",
                       ^
ERROR: line over 90 characters
+        fprintf(stderr, "%d, %s (%u, %d)\n", i, commit->path ? commit->path : 
"(null)", commit->param.rename.cluster, commit->action);

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Message-Id: <5FA12620.6030705@huawei.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: f169413c27130ac9ebf96a1212100bba92f348ba
      
https://github.com/qemu/qemu/commit/f169413c27130ac9ebf96a1212100bba92f348ba
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M default-configs/devices/mips-softmmu-common.mak
    M docs/system/deprecated.rst
    M hw/mips/Kconfig
    M hw/mips/meson.build
    R hw/mips/r4k.c
    M tests/qtest/cdrom-test.c
    M tests/qtest/endianness-test.c

  Log Message:
  -----------
  hw/mips: Remove the 'r4k' machine

We deprecated the support for the 'r4k' machine for the 5.0 release
(commit d32dc61421), which means that our deprecation policy allows
us to drop it in release 5.2. Remove the code.

To repeat the rationale from the deprecation note:
- this virtual machine has no specification
- the Linux kernel dropped support for it 10 years ago

Users are recommended to use the Malta board instead.

Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
ACKed-by: Peter Krempa <pkrempa@redhat.com>
Message-Id: <20201102201311.2220005-1-f4bug@amsat.org>


  Commit: d136ecc085283dc068ab55ec830af8d10b5f938d
      
https://github.com/qemu/qemu/commit/d136ecc085283dc068ab55ec830af8d10b5f938d
  Author: Chetan Pant <chetan4windows@gmail.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/mips/cps.c
    M hw/misc/mips_cpc.c
    M hw/misc/mips_itu.c
    M include/hw/mips/cps.h
    M include/hw/misc/mips_cpc.h
    M include/hw/misc/mips_itu.h

  Log Message:
  -----------
  hw/mips: Fix Lesser GPL version number

There is no "version 2" of the "Lesser" General Public License.
It is either "GPL version 2.0" or "Lesser GPL version 2.1".
This patch replaces all occurrences of "Lesser GPL version 2" with
"Lesser GPL version 2.1" in comment section.

Signed-off-by: Chetan Pant <chetan4windows@gmail.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201016143509.26692-1-chetan4windows@gmail.com>
[PMD: Split hw/ vs target/]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 4a129ccdf25f920788a953df1ccc0e485f7b977c
      
https://github.com/qemu/qemu/commit/4a129ccdf25f920788a953df1ccc0e485f7b977c
  Author: Chetan Pant <chetan4windows@gmail.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/core/loader-fit.c
    M hw/mips/boston.c
    M hw/pci-host/xilinx-pcie.c
    M include/hw/pci-host/xilinx-pcie.h

  Log Message:
  -----------
  hw/mips/boston: Fix Lesser GPL version number

There is no "version 2" of the "Lesser" General Public License.
It is either "GPL version 2.0" or "Lesser GPL version 2.1".
This patch replaces all occurrences of "Lesser GPL version 2" with
"Lesser GPL version 2.1" in comment section.

Signed-off-by: Chetan Pant <chetan4windows@gmail.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201023122633.19466-1-chetan4windows@gmail.com>
[PMD: Added hw/mips/ prefix in subject]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: a300c04f136a70c507e6f481b028363c879d16e5
      
https://github.com/qemu/qemu/commit/a300c04f136a70c507e6f481b028363c879d16e5
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/intc/loongson_liointc.c

  Log Message:
  -----------
  hw/intc/loongson: Fix incorrect 'core' calculation in liointc_read/write

According to the loongson spec
(http://www.loongson.cn/uploadfile/cpu/3B1500/Loongson_3B1500_cpu_user_1.pdf)
and the macro definition(#define R_PERCORE_ISR(x) (0x40 + 0x8 * x)), we know
that the ISR size per CORE is 8, so here we need to divide
(addr - R_PERCORE_ISR(0)) by 8, not 4.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <5FA12391.8090400@huawei.com>
[PMD: Shortened subject]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 89975214e684acb2767d28884610194b96640a12
      
https://github.com/qemu/qemu/commit/89975214e684acb2767d28884610194b96640a12
  Author: Chetan Pant <chetan4windows@gmail.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M target/mips/cp0_helper.c
    M target/mips/dsp_helper.c
    M target/mips/fpu_helper.c
    M target/mips/gdbstub.c
    M target/mips/helper.c
    M target/mips/lmmi_helper.c
    M target/mips/mips-semi.c
    M target/mips/msa_helper.c
    M target/mips/op_helper.c
    M target/mips/translate.c
    M target/mips/translate_init.c.inc

  Log Message:
  -----------
  target/mips: Fix Lesser GPL version number

There is no "version 2" of the "Lesser" General Public License.
It is either "GPL version 2.0" or "Lesser GPL version 2.1".
This patch replaces all occurrences of "Lesser GPL version 2" with
"Lesser GPL version 2.1" in comment section.

Signed-off-by: Chetan Pant <chetan4windows@gmail.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201016143509.26692-1-chetan4windows@gmail.com>
[PMD: Split hw/ vs target/]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 8a805609d126ff2be9ad9ec118185dfc52633d6f
      
https://github.com/qemu/qemu/commit/8a805609d126ff2be9ad9ec118185dfc52633d6f
  Author: Huacai Chen <zltjiangshi@gmail.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M target/mips/translate.c

  Log Message:
  -----------
  target/mips: Add unaligned access support for MIPS64R6 and Loongson-3

MIPSR6 (not only MIPS32R6) processors support unaligned access in
hardware, so set MO_UNALN in their default_tcg_memop_mask. Btw, new
Loongson-3 (such as Loongson-3A4000) also support unaligned access,
since both old and new Loongson-3 use the same binaries, we can simply
set MO_UNALN for all Loongson-3 processors.

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <1604053541-27822-3-git-send-email-chenhc@lemote.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 8507c9d5c9a62de2a0e281b640f995e26eac46af
      
https://github.com/qemu/qemu/commit/8507c9d5c9a62de2a0e281b640f995e26eac46af
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M block/vvfat.c
    M qemu-img.c
    M tests/qemu-iotests/iotests.py
    M tests/qemu-iotests/pylintrc
    M util/aio-win32.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging

Block layer patches:

- iotests: Fix pylint/mypy warnings with Python 3.9
- qmp: fix aio_poll() assertion failure on Windows
- Some minor fixes

# gpg: Signature made Tue 03 Nov 2020 15:25:01 GMT
# gpg:                using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg:                issuer "kwolf@redhat.com"
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream:
  block/vvfat: Fix bad printf format specifiers
  iotests: Use Python 3 style super()
  iotests: Disable unsubscriptable-object in pylint
  iotests.py: Fix type check errors in wait_migration()
  qemu-img convert: Free @sn_opts in all error cases
  qmp: fix aio_poll() assertion failure on Windows

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 9167d34921fdd4d2cccfd71aad3409ae1090c95a
      
https://github.com/qemu/qemu/commit/9167d34921fdd4d2cccfd71aad3409ae1090c95a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M hw/intc/sifive_plic.c
    M hw/misc/Kconfig
    A hw/misc/mchp_pfsoc_dmc.c
    A hw/misc/mchp_pfsoc_ioscb.c
    A hw/misc/mchp_pfsoc_sysreg.c
    M hw/misc/meson.build
    M hw/riscv/Kconfig
    M hw/riscv/microchip_pfsoc.c
    M hw/riscv/sifive_u.c
    M hw/riscv/virt.c
    M include/hw/intc/sifive_plic.h
    A include/hw/misc/mchp_pfsoc_dmc.h
    A include/hw/misc/mchp_pfsoc_ioscb.h
    A include/hw/misc/mchp_pfsoc_sysreg.h
    M include/hw/riscv/microchip_pfsoc.h
    M target/riscv/cpu.c
    M target/riscv/cpu.h
    M target/riscv/cpu_bits.h
    M target/riscv/cpu_helper.c
    M target/riscv/csr.c
    M target/riscv/internals.h
    A target/riscv/machine.c
    M target/riscv/meson.build
    M target/riscv/op_helper.c
    M target/riscv/pmp.c
    M target/riscv/pmp.h

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/alistair/tags/pull-riscv-to-apply-20201103' into staging

This series adds support for migration to RISC-V QEMU and expands the
Microchip PFSoC to allow unmodified HSS and Linux boots.

# gpg: Signature made Tue 03 Nov 2020 15:19:45 GMT
# gpg:                using RSA key F6C4AC46D4934868D3B8CE8F21E10D29DF977054
# gpg: Good signature from "Alistair Francis <alistair@alistair23.me>" [full]
# Primary key fingerprint: F6C4 AC46 D493 4868 D3B8  CE8F 21E1 0D29 DF97 7054

* remotes/alistair/tags/pull-riscv-to-apply-20201103:
  target/riscv/csr.c : add space before the open parenthesis '('
  hw/riscv: microchip_pfsoc: Hook the I2C1 controller
  hw/riscv: microchip_pfsoc: Correct DDR memory map
  hw/riscv: microchip_pfsoc: Map the reserved memory at address 0
  hw/riscv: microchip_pfsoc: Connect the SYSREG module
  hw/misc: Add Microchip PolarFire SoC SYSREG module support
  hw/riscv: microchip_pfsoc: Connect the IOSCB module
  hw/misc: Add Microchip PolarFire SoC IOSCB module support
  hw/riscv: microchip_pfsoc: Connect DDR memory controller modules
  hw/misc: Add Microchip PolarFire SoC DDR Memory Controller support
  hw/riscv: microchip_pfsoc: Document where to look at the SoC memory maps
  target/riscv: Add sifive_plic vmstate
  target/riscv: Add V extension state description
  target/riscv: Add H extension state description
  target/riscv: Add PMP state description
  target/riscv: Add basic vmstate description of CPU
  target/riscv: Merge m/vsstatus and m/vsstatush into one uint64_t unit
  hw/riscv: virt: Allow passing custom DTB
  hw/riscv: sifive_u: Allow passing custom DTB

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a9f67c1d51dda405bc6a406d13c8802b98df904e
      
https://github.com/qemu/qemu/commit/a9f67c1d51dda405bc6a406d13c8802b98df904e
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/qtest/fuzz/generic_fuzz.c

  Log Message:
  -----------
  fuzz: fix writing DMA patterns

This code had all sorts of issues. We used a loop similar to
address_space_write_rom, but I did not remove a "break" that only made
sense in the context of the switch statement in the original code. Then,
after the loop, we did a separate qtest_memwrite over the entire DMA
access range, defeating the purpose of the loop. Additionally, we
increment the buf pointer, and then try to g_free() it. Fix these
problems.

Reported-by: OSS-Fuzz (Issue 26725)
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reported-by: OSS-Fuzz (Issue 26691)
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20201029172901.534442-2-alxndr@bu.edu>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cc3d99c7418925b9f252482d67055e7c3f2c4814
      
https://github.com/qemu/qemu/commit/cc3d99c7418925b9f252482d67055e7c3f2c4814
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/qtest/fuzz/generic_fuzz.c

  Log Message:
  -----------
  fuzz: check the MR in the DMA callback

We should be checking that the device is trying to read from RAM, before
filling the region with data. Otherwise, we will try to populate
nonsensical addresses in RAM for callbacks on PIO/MMIO reads. We did
this originally, however the final version I sent had the line commented
out..

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20201029172901.534442-3-alxndr@bu.edu>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 953e6d7c0e94126dbfdb63ba1546e6b74ed9ccee
      
https://github.com/qemu/qemu/commit/953e6d7c0e94126dbfdb63ba1546e6b74ed9ccee
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M tests/qtest/fuzz/generic_fuzz.c

  Log Message:
  -----------
  fuzz: fuzz offsets within pio/mmio regions

The code did not add offsets to FlatRange bases, so we did not fuzz
offsets within device MemoryRegions.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20201029172901.534442-4-alxndr@bu.edu>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e19c520fe6545230bf37c2458c6d97ed18cd0c4f
      
https://github.com/qemu/qemu/commit/e19c520fe6545230bf37c2458c6d97ed18cd0c4f
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  semihosting: fix order of initialization functions

qemu_semihosting_console_init uses semihosting.chardev which is set
by qemu_semihosting_connect_chardevs.  Thus qemu_semihosting_connect_chardevs
has to be called first.

Both have to be called after processing -serial and friends though, so
that the semihosting console can connect to a multiplexer as in
"-serial mon:stdio -semihosting-config chardev=serial0"

Suggested-by: Alex Bennée <alex.bennee@linaro.org>
Fixes: 619985e937 ("semihosting: defer connect_chardevs a little more to use 
serialx", 2020-07-27)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 3d6e32347a3b57dac7f469a07c5f520e69bd070a
      
https://github.com/qemu/qemu/commit/3d6e32347a3b57dac7f469a07c5f520e69bd070a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M VERSION

  Log Message:
  -----------
  Update version for v5.2.0-rc0 release

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 1b296c3def4b9b63d2fdbce6646edd108a3e616c
      
https://github.com/qemu/qemu/commit/1b296c3def4b9b63d2fdbce6646edd108a3e616c
  Author: Jean-Philippe Brucker <jean-philippe@linaro.org>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/vfio/common.c

  Log Message:
  -----------
  vfio: Don't issue full 2^64 unmap

IOMMUs may declare memory regions spanning from 0 to UINT64_MAX. When
attempting to deal with such region, vfio_listener_region_del() passes a
size of 2^64 to int128_get64() which throws an assertion failure.  Even
ignoring this, the VFIO_IOMMU_DMA_MAP ioctl cannot handle this size
since the size field is 64-bit. Split the request in two.

Acked-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20201030180510.747225-11-jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 57b3a7d81bd7b5fb846ab5c05597a853259a1853
      
https://github.com/qemu/qemu/commit/57b3a7d81bd7b5fb846ab5c05597a853259a1853
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vhost-vdpa: Add qemu_close in vhost_vdpa_cleanup

fix the bug that fd will still open after the cleanup

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20201016030909.9522-1-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 1bc211a166be2c98f98852124b6fdb61e0b0be32
      
https://github.com/qemu/qemu/commit/1bc211a166be2c98f98852124b6fdb61e0b0be32
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M net/net.c

  Log Message:
  -----------
  net: Add vhost-vdpa in show_netdevs()

Fix the bug that while Check qemu supported netdev,
there is no vhost-vdpa

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20201016030909.9522-2-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: b7c1bd9d78480481455678602c9a8505cc8adadd
      
https://github.com/qemu/qemu/commit/b7c1bd9d78480481455678602c9a8505cc8adadd
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/block/vhost-user-blk.c
    M hw/virtio/vhost.c
    M include/hw/virtio/vhost.h

  Log Message:
  -----------
  Revert "vhost-blk: set features before setting inflight feature"

This reverts commit adb29c027341ba095a3ef4beef6aaef86d3a520e.

The commit broke -device vhost-user-blk-pci because the
vhost_dev_prepare_inflight() function it introduced segfaults in
vhost_dev_set_features() when attempting to access struct vhost_dev's
vdev pointer before it has been assigned.

To reproduce the segfault simply launch a vhost-user-blk device with the
contrib vhost-user-blk device backend:

  $ build/contrib/vhost-user-blk/vhost-user-blk -s /tmp/vhost-user-blk.sock -r 
-b /var/tmp/foo.img
  $ build/qemu-system-x86_64 \
        -device vhost-user-blk-pci,id=drv0,chardev=char1,addr=4.0 \
        -object memory-backend-memfd,id=mem,size=1G,share=on \
        -M memory-backend=mem,accel=kvm \
        -chardev socket,id=char1,path=/tmp/vhost-user-blk.sock
  Segmentation fault (core dumped)

Cc: Jin Yu <jin.yu@intel.com>
Cc: Raphael Norwitz <raphael.norwitz@nutanix.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201102165709.232180-1-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 1b0063b3048af65dfaae6422a572c87db8575a92
      
https://github.com/qemu/qemu/commit/1b0063b3048af65dfaae6422a572c87db8575a92
  Author: Jin Yu <jin.yu@intel.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M hw/block/vhost-user-blk.c
    M hw/virtio/vhost.c
    M include/hw/virtio/vhost.h

  Log Message:
  -----------
  vhost-blk: set features before setting inflight feature

Virtqueue has split and packed, so before setting inflight,
you need to inform the back-end virtqueue format.

Signed-off-by: Jin Yu <jin.yu@intel.com>
Acked-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Message-Id: <20201103123617.28256-1-jin.yu@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: de65d4978571769eae98e4d757b23dcd03313ba2
      
https://github.com/qemu/qemu/commit/de65d4978571769eae98e4d757b23dcd03313ba2
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M contrib/libvhost-user/libvhost-user.h

  Log Message:
  -----------
  libvhost-user: follow QEMU comment style

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201027173528.213464-2-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: bc15e44cb2191bbb2318878acdf5038134e56394
      
https://github.com/qemu/qemu/commit/bc15e44cb2191bbb2318878acdf5038134e56394
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M block/export/export.c
    M block/export/meson.build
    M configure
    M util/meson.build

  Log Message:
  -----------
  configure: introduce --enable-vhost-user-blk-server

Make it possible to compile out the vhost-user-blk server. It is enabled
by default on Linux.

Note that vhost-user-server.c depends on libvhost-user, which requires
CONFIG_LINUX. The CONFIG_VHOST_USER dependency was erroneous since that
option controls vhost-user frontends (previously known as "master") and
not device backends (previously known as "slave").

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201027173528.213464-3-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 11f60f7eaee2630dd6fa0c3a8c49f792e46c4cf1
      
https://github.com/qemu/qemu/commit/11f60f7eaee2630dd6fa0c3a8c49f792e46c4cf1
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M block/export/vhost-user-blk-server.c

  Log Message:
  -----------
  block/export: make vhost-user-blk config space little-endian

VIRTIO 1.0 devices have little-endian configuration space. The
vhost-user-blk-server.c code already uses little-endian for virtqueue
processing but not for the configuration space fields. Fix this so the
vhost-user-blk export works on big-endian hosts.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201027173528.213464-4-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: f8ffcb2bda22bad8e91da70c28ec52724a054f92
      
https://github.com/qemu/qemu/commit/f8ffcb2bda22bad8e91da70c28ec52724a054f92
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M block/export/vhost-user-blk-server.c

  Log Message:
  -----------
  block/export: fix vhost-user-blk get_config() information leak

Refuse get_config() requests in excess of sizeof(struct virtio_blk_config).

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201027173528.213464-5-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 9f6df01d0e128c2df179789b37140d6aeddfcb92
      
https://github.com/qemu/qemu/commit/9f6df01d0e128c2df179789b37140d6aeddfcb92
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M contrib/vhost-user-blk/vhost-user-blk.c

  Log Message:
  -----------
  contrib/vhost-user-blk: fix get_config() information leak

Refuse get_config() in excess of sizeof(struct virtio_blk_config).

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201027173528.213464-6-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: adab8d48cff47ddb6c53c8b131f434e16fef133c
      
https://github.com/qemu/qemu/commit/adab8d48cff47ddb6c53c8b131f434e16fef133c
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hw/usb/dev-serial.c

  Log Message:
  -----------
  dev-serial: style changes to improve readability and checkpatch fixes

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-id: 20201027150456.24606-2-mark.cave-ayland@ilande.co.uk
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 8a0e4ee704a684d0e0e0c7e8ff9c37e56bba26c5
      
https://github.com/qemu/qemu/commit/8a0e4ee704a684d0e0e0c7e8ff9c37e56bba26c5
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hw/usb/dev-serial.c

  Log Message:
  -----------
  dev-serial: use USB_SERIAL QOM macro for USBSerialState assignments

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201027150456.24606-3-mark.cave-ayland@ilande.co.uk
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: ebb1132023db782570e4157112b8e2c0ea00f4fc
      
https://github.com/qemu/qemu/commit/ebb1132023db782570e4157112b8e2c0ea00f4fc
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hw/usb/dev-serial.c
    M hw/usb/trace-events

  Log Message:
  -----------
  dev-serial: convert from DPRINTF to trace-events

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201027150456.24606-4-mark.cave-ayland@ilande.co.uk
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 655ec806c86621a8f5fe3a278649b3b6ba2bc829
      
https://github.com/qemu/qemu/commit/655ec806c86621a8f5fe3a278649b3b6ba2bc829
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hw/usb/dev-serial.c
    M hw/usb/trace-events

  Log Message:
  -----------
  dev-serial: add trace-events for baud rate and data parameters

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201027150456.24606-5-mark.cave-ayland@ilande.co.uk
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 687dfe63e3d9dd8a1a682a7da76bec75a5f656ba
      
https://github.com/qemu/qemu/commit/687dfe63e3d9dd8a1a682a7da76bec75a5f656ba
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hw/usb/dev-serial.c

  Log Message:
  -----------
  dev-serial: replace DeviceOutVendor/DeviceInVendor with equivalent macros 
from usb.h

The DeviceOutVendor and DeviceInVendor macros can be replaced with their
equivalent VendorDeviceOutRequest and VendorDeviceRequest macros from usb.h.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201027150456.24606-6-mark.cave-ayland@ilande.co.uk
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 66007a95674d4b8e616245541faad6cdf5e9f70d
      
https://github.com/qemu/qemu/commit/66007a95674d4b8e616245541faad6cdf5e9f70d
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hw/usb/dev-serial.c

  Log Message:
  -----------
  dev-serial: add always-plugged property to ensure USB device is always 
attached

Some operating systems will generate a new device ID when a USB device is 
unplugged
and then replugged into the USB. If this is done whilst switching between 
multiple
applications over a virtual serial port, the change of device ID requires going
back into the OS/application to locate the new device accordingly.

Add a new always-plugged property that if specified will ensure that the device
always remains attached to the USB regardless of the state of the backend
chardev.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-id: 20201027150456.24606-7-mark.cave-ayland@ilande.co.uk
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: a79f86cdbe9ccd5c3be76a9c6288d07a7716cb12
      
https://github.com/qemu/qemu/commit/a79f86cdbe9ccd5c3be76a9c6288d07a7716cb12
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hw/usb/dev-serial.c
    M hw/usb/trace-events

  Log Message:
  -----------
  dev-serial: add support for setting data_bits in QEMUSerialSetParams

Also implement the behaviour reported in Linux's ftdi_sio.c whereby if an 
invalid
data_bits value is provided then the hardware defaults to using 8.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201027150456.24606-8-mark.cave-ayland@ilande.co.uk
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 963a7bed570ce12604a48755c78244a2b6e179b3
      
https://github.com/qemu/qemu/commit/963a7bed570ce12604a48755c78244a2b6e179b3
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hw/usb/dev-serial.c
    M hw/usb/trace-events

  Log Message:
  -----------
  dev-serial: store flow control and xon/xoff characters

Note that whilst the device does not do anything with these values, they are
logged with trace events and stored to allow future implementation.

The default flow control is set to none at reset as documented in the Linux
ftdi_sio.h header file.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-id: 20201027150456.24606-9-mark.cave-ayland@ilande.co.uk
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: e18d9a9687ff0c30b70ee0a694d9fcf9333cd844
      
https://github.com/qemu/qemu/commit/e18d9a9687ff0c30b70ee0a694d9fcf9333cd844
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M util/qemu-coroutine-lock.c

  Log Message:
  -----------
  coroutine: let CoQueue wake up outside a coroutine

The assert() was added in commit b681a1c73e15 ("block: Repair the
throttling code."), when the qemu_co_queue_do_restart() function
required to be running in a coroutine. It was later made unnecessary in
commit a9d9235567e7 ("coroutine-lock: reschedule coroutine on the
AioContext it was running on").

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201027133602.3038018-2-marcandre.lureau@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: d00ec2fe86e141324c26816c5847f425a63f851d
      
https://github.com/qemu/qemu/commit/d00ec2fe86e141324c26816c5847f425a63f851d
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M ui/console.c
    M ui/trace-events

  Log Message:
  -----------
  console: modify ppm_save to take a pixman image ref

The function is going to be called from a coroutine, and may yield.
Let's ensure our image reference doesn't change over time (due to resize
etc) by keeping a ref.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201027133602.3038018-3-marcandre.lureau@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 0d9b90ce5c73505648909a89bcd5272081b9c348
      
https://github.com/qemu/qemu/commit/0d9b90ce5c73505648909a89bcd5272081b9c348
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hmp-commands.hx
    M monitor/hmp-cmds.c
    M qapi/ui.json
    M ui/console.c

  Log Message:
  -----------
  console: make QMP/HMP screendump run in coroutine

Thanks to the monitors' coroutine support (merge commit b7092cda1b3),
the screendump handler can trigger a graphic_hw_update(), yield and let
the main loop run until update is done. Then the handler is resumed, and
ppm_save() will write the screen image to disk in the coroutine context.

The IO is still blocking though, as the file is set blocking so far,
this could be addressed by some future change (with other caveats).

Related to:
https://bugzilla.redhat.com/show_bug.cgi?id=1230527

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-id: 20201027133602.3038018-4-marcandre.lureau@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 2ddafce7f797082ad216657c830afd4546f16e37
      
https://github.com/qemu/qemu/commit/2ddafce7f797082ad216657c830afd4546f16e37
  Author: Ding Hui <dinghui@sangfor.com.cn>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M ui/vnc-auth-sasl.c
    M ui/vnc-auth-vencrypt.c
    M ui/vnc-jobs.c
    M ui/vnc-ws.c
    M ui/vnc.c

  Log Message:
  -----------
  vnc: fix resource leak when websocket channel error

When we connect to vnc by websocket channel, and disconnect
(maybe by some network exception) before handshake,
qemu will left CLOSE_WAIT socket and never close it

After 04d2529da2 ("ui: convert VNC server to use QIOChannelSocket")
and dd154c4d9f ("io: fix handling of EOF / error conditions in websock 
GSource"),
the vnc call qio_channel_add_watch only care about G_IO_IN,
but mising G_IO_HUP and G_IO_ERR.
When the websocket channel get EOF or error, it cannot callback,
because the caller ignore the event, that leads to resource leak

We need handle G_IO_HUP and G_IO_ERR event, then cleanup the channel

Fixes: 04d2529da2 ("ui: convert VNC server to use QIOChannelSocket")
Fixes: dd154c4d9f ("io: fix handling of EOF / error conditions in websock 
GSource")
Cc: qemu-stable@nongnu.org
Signed-off-by: Ding Hui <dinghui@sangfor.com.cn>
Message-id: 20201029032241.11040-1-dinghui@sangfor.com.cn
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: ca1f9cbfdce4d63b10d57de80fef89a89d92a540
      
https://github.com/qemu/qemu/commit/ca1f9cbfdce4d63b10d57de80fef89a89d92a540
  Author: Prasad J Pandit <pjp@fedoraproject.org>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hw/display/ati_2d.c

  Log Message:
  -----------
  ati: check x y display parameter values

The source and destination x,y display parameters in ati_2d_blt()
may run off the vga limits if either of s->regs.[src|dst]_[xy] is
zero. Check the parameter values to avoid potential crash.

Reported-by: Gaoning Pan <pgn@zju.edu.cn>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Message-id: 20201021103818.1704030-1-ppandit@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 577b808b0974fa4af53131cdfece6e9de3c6e4fd
      
https://github.com/qemu/qemu/commit/577b808b0974fa4af53131cdfece6e9de3c6e4fd
  Author: Bruce Rogers <brogers@suse.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M roms/Makefile

  Log Message:
  -----------
  roms/Makefile: Add qboot to .PHONY list

Adding qboot to the .PHONY directive will allow a
make -C roms qboot invocation to work as expected

Signed-off-by: Bruce Rogers <brogers@suse.com>
Message-id: 20201020152512.837769-1-brogers@suse.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: e46912b66f50b2d8b38f937a154f97e32b1c0332
      
https://github.com/qemu/qemu/commit/e46912b66f50b2d8b38f937a154f97e32b1c0332
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M default-configs/devices/mips-softmmu-common.mak
    M docs/system/deprecated.rst
    M hw/core/loader-fit.c
    M hw/intc/loongson_liointc.c
    M hw/mips/Kconfig
    M hw/mips/boston.c
    M hw/mips/cps.c
    M hw/mips/meson.build
    R hw/mips/r4k.c
    M hw/misc/mips_cpc.c
    M hw/misc/mips_itu.c
    M hw/pci-host/xilinx-pcie.c
    M include/hw/mips/cps.h
    M include/hw/misc/mips_cpc.h
    M include/hw/misc/mips_itu.h
    M include/hw/pci-host/xilinx-pcie.h
    M target/mips/cp0_helper.c
    M target/mips/dsp_helper.c
    M target/mips/fpu_helper.c
    M target/mips/gdbstub.c
    M target/mips/helper.c
    M target/mips/lmmi_helper.c
    M target/mips/mips-semi.c
    M target/mips/msa_helper.c
    M target/mips/op_helper.c
    M target/mips/translate.c
    M target/mips/translate_init.c.inc
    M tests/qtest/cdrom-test.c
    M tests/qtest/endianness-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/philmd-gitlab/tags/mips-fixes-20201103' 
into staging

MIPS patches queue

- Removal of the 'r4k' machine (deprecated before 5.0)
- Fix LGPL license text (Chetan Pant)
- Support unaligned accesses on Loongson-3 (Huacai Chen)
- Fix out-of-bound access in Loongson-3 embedded I/O interrupt
  controller (Alex Chen)

CI jobs results:
. https://cirrus-ci.com/build/6324890389184512
. https://gitlab.com/philmd/qemu/-/pipelines/211275262
. https://travis-ci.org/github/philmd/qemu/builds/741188958

# gpg: Signature made Tue 03 Nov 2020 17:30:30 GMT
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* remotes/philmd-gitlab/tags/mips-fixes-20201103:
  target/mips: Add unaligned access support for MIPS64R6 and Loongson-3
  target/mips: Fix Lesser GPL version number
  hw/intc/loongson: Fix incorrect 'core' calculation in liointc_read/write
  hw/mips/boston: Fix Lesser GPL version number
  hw/mips: Fix Lesser GPL version number
  hw/mips: Remove the 'r4k' machine

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 872882e771cf0873f5e8e78ea7333367a3f87d8b
      
https://github.com/qemu/qemu/commit/872882e771cf0873f5e8e78ea7333367a3f87d8b
  Author: Jason J. Herne <jjherne@linux.ibm.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M pc-bios/s390-ccw/main.c

  Log Message:
  -----------
  s390-bios: Skip writing iplb location to low core for ccw ipl

The architecture states that the iplb location is only written to low
core for list directed ipl and not for traditional ccw ipl. If we don't
skip this then operating systems that load by reading into low core
memory may fail to start.

We should also not write the iplb pointer for network boot as it might
overwrite content that we got via network.

Fixes: 9bfc04f9ef68 ("pc-bios: s390x: Save iplb location in lowcore")
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201030122823.347140-1-borntraeger@de.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: 5e592947de2d12f6696ccea0472b833ecaffc204
      
https://github.com/qemu/qemu/commit/5e592947de2d12f6696ccea0472b833ecaffc204
  Author: Cornelia Huck <cohuck@redhat.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M pc-bios/s390-ccw.img
    M pc-bios/s390-netboot.img

  Log Message:
  -----------
  pc-bios/s390: update s390-ccw bios binaries

Contains "s390-bios: Skip writing iplb location to low core for ccw ipl".

Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: b1266b6ee5aecb8f14db1a1e43109b8ecae6131a
      
https://github.com/qemu/qemu/commit/b1266b6ee5aecb8f14db1a1e43109b8ecae6131a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hw/usb/dev-serial.c
    M hw/usb/trace-events

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kraxel/tags/usb-20201104-pull-request' 
into staging

usb: bugfixes for usb-serial

# gpg: Signature made Wed 04 Nov 2020 12:13:05 GMT
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/usb-20201104-pull-request:
  dev-serial: store flow control and xon/xoff characters
  dev-serial: add support for setting data_bits in QEMUSerialSetParams
  dev-serial: add always-plugged property to ensure USB device is always 
attached
  dev-serial: replace DeviceOutVendor/DeviceInVendor with equivalent macros 
from usb.h
  dev-serial: add trace-events for baud rate and data parameters
  dev-serial: convert from DPRINTF to trace-events
  dev-serial: use USB_SERIAL QOM macro for USBSerialState assignments
  dev-serial: style changes to improve readability and checkpatch fixes

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 3c8c36c9087da957f580a9bb5ebf7814a753d1c6
      
https://github.com/qemu/qemu/commit/3c8c36c9087da957f580a9bb5ebf7814a753d1c6
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hmp-commands.hx
    M monitor/hmp-cmds.c
    M qapi/ui.json
    M ui/console.c
    M ui/trace-events
    M util/qemu-coroutine-lock.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kraxel/tags/ui-20201104-pull-request' 
into staging

ui: run screendump in coroutine

# gpg: Signature made Wed 04 Nov 2020 13:53:50 GMT
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/ui-20201104-pull-request:
  console: make QMP/HMP screendump run in coroutine
  console: modify ppm_save to take a pixman image ref
  coroutine: let CoQueue wake up outside a coroutine

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 794b95608f8d92189baba697a7d6072e94ed2e0e
      
https://github.com/qemu/qemu/commit/794b95608f8d92189baba697a7d6072e94ed2e0e
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M tests/qtest/ivshmem-test.c

  Log Message:
  -----------
  ivshmem-test: do not use short-form boolean option

This QemuOpts idiom will be deprecated, so get rid of it in the tests.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e27bd4987699df5f49a03e93cf57941abeb82938
      
https://github.com/qemu/qemu/commit/e27bd4987699df5f49a03e93cf57941abeb82938
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M tests/qtest/device-introspect-test.c

  Log Message:
  -----------
  qtest: escape device name in device-introspect-test

device-introspect-test uses HMP, so it should escape the device name
properly.  Because of this, a few devices that had commas in their
names were escaping testing.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 372bcb2585cd2f06a01f13b1a208370ccf7479cf
      
https://github.com/qemu/qemu/commit/372bcb2585cd2f06a01f13b1a208370ccf7479cf
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M include/qapi/util.h
    M qapi/opts-visitor.c
    M qapi/qapi-util.c
    M qapi/qobject-input-visitor.c
    M qapi/string-input-visitor.c
    M util/qemu-option.c

  Log Message:
  -----------
  qapi, qemu-options: make all parsing visitors parse boolean options the same

OptsVisitor, StringInputVisitor and the keyval visitor have
three different ideas of how a human could write the value of
a boolean option.  Pay homage to the backwards-compatibility
gods and make the new common helper accept all four sets (on/off,
true/false, y/n and yes/no), but remove case-insensitivity.

Since OptsVisitor is supposed to match qemu-options, adjust
it as well.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201103161339.447118-1-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f14bed3fd4a17e1255e2ed6db1dfe50e654e601d
      
https://github.com/qemu/qemu/commit/f14bed3fd4a17e1255e2ed6db1dfe50e654e601d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Remove assert from set_jmp_reset_offset

Since 6e6c4efed99, there has been a more appropriate range check
done later at the end of tcg_gen_code.  There, a failing range
check results in a returned error code, which causes the TB to
be restarted at half the size.

Reported-by: Sai Pavan Boddu <saipava@xilinx.com>
Tested-by: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c56caea3b2a4ef5d760266f554df0d92c5a45f87
      
https://github.com/qemu/qemu/commit/c56caea3b2a4ef5d760266f554df0d92c5a45f87
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg: Revert "tcg/optimize: Flush data at labels not TCG_OPF_BB_END"

This reverts commit cd0372c515c4732d8bd3777cdd995c139c7ed7ea.

The patch is incorrect in that it retains copies between globals and
non-local temps, and non-local temps still die at the end of the BB.

Failing test case for hppa:

        .globl  _start
_start:
        cmpiclr,=       0x24,%r19,%r0
        cmpiclr,<>      0x2f,%r19,%r19

 ---- 00010057 0001005b
 movi_i32 tmp0,$0x24
 sub_i32 tmp1,tmp0,r19
 mov_i32 tmp2,tmp0
 mov_i32 tmp3,r19
 movi_i32 tmp1,$0x0

 ---- 0001005b 0001005f
 brcond_i32 tmp2,tmp3,eq,$L1
 movi_i32 tmp0,$0x2f
 sub_i32 tmp1,tmp0,r19
 mov_i32 tmp2,tmp0
 mov_i32 tmp3,r19
 movi_i32 tmp1,$0x0
 mov_i32 r19,tmp1
 setcond_i32 psw_n,tmp2,tmp3,ne
 set_label $L1

In this case, both copies of "mov_i32 tmp3,r19" are removed.  The
second because opt thought it was redundant.  The first is removed
later by liveness because tmp3 is known to be dead.  This leaves
the setcond_i32 with an uninitialized input.

Revert the entire patch for 5.2, and a proper optimization across
the branch may be considered for the next development cycle.

Reported-by: qemu@igor2.repo.hu
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 81966c1801b8fb04bca451819f16ca92120ba970
      
https://github.com/qemu/qemu/commit/81966c1801b8fb04bca451819f16ca92120ba970
  Author: Chen Qun <kuhn.chenqun@huawei.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M linux-user/mips/cpu_loop.c

  Log Message:
  -----------
  linux-user/mips/cpu_loop: silence the compiler warnings

When using -Wimplicit-fallthrough in our CFLAGS, the compiler showed warning:
linux-user/mips/cpu_loop.c: In function ‘cpu_loop’:
linux-user/mips/cpu_loop.c:104:24: warning: this statement may fall through 
[-Wimplicit-fallthrough=]
  104 |                     if ((ret = get_user_ual(arg8, sp_reg + 28)) != 0) {
      |                        ^
linux-user/mips/cpu_loop.c:107:17: note: here
  107 |                 case 7:
      |                 ^~~~
linux-user/mips/cpu_loop.c:108:24: warning: this statement may fall through 
[-Wimplicit-fallthrough=]
  108 |                     if ((ret = get_user_ual(arg7, sp_reg + 24)) != 0) {
      |                        ^
linux-user/mips/cpu_loop.c:111:17: note: here
  111 |                 case 6:
      |                 ^~~~
linux-user/mips/cpu_loop.c:112:24: warning: this statement may fall through 
[-Wimplicit-fallthrough=]
  112 |                     if ((ret = get_user_ual(arg6, sp_reg + 20)) != 0) {
      |                        ^
linux-user/mips/cpu_loop.c:115:17: note: here
  115 |                 case 5:
      |                 ^~~~

Add the corresponding "fall through" comment to fix it.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20201030004046.2191790-5-kuhn.chenqun@huawei.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 36d2dbc72df682df49c94a7a55f1e483f4f029a2
      
https://github.com/qemu/qemu/commit/36d2dbc72df682df49c94a7a55f1e483f4f029a2
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user: Use "!= 0" when checking if MAP_FIXED_NOREPLACE is non-zero

In pgd_find_hole_fallback(), Coverity doesn't like the use
of "if (MAP_FIXED_NOREPLACE || ...)" because it's using a
logical operator on a constant other than 0 or 1 and its
heuristic thinks we might have intended a bitwise operator
instead.

The logic is correct (we are checking whether the host really
has a MAP_FIXED_NOREPLACE or whether we fell back to the
"#define as 0 to ignore" from osdep.h); make Coverity
happier by explicitly writing out the comparison with zero.

Fixes: Coverity CID 1431059
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201103142636.21125-1-peter.maydell@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: e4ce178b6153205c2e17a9b719287c83e1e67a72
      
https://github.com/qemu/qemu/commit/e4ce178b6153205c2e17a9b719287c83e1e67a72
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user/syscall: Fix missing target_to_host_timespec64() check

Coverity pointed out (CID 1432339) that target_to_host_timespec64() can
fail with -TARGET_EFAULT but we never check the return value. This patch
checks the return value and handles the error.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: 
<cad74fae734d2562746b94acd9c34b00081c89bf.1604432881.git.alistair.francis@wdc.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 022625a8ade3005addb42700a145bae6a1653240
      
https://github.com/qemu/qemu/commit/022625a8ade3005addb42700a145bae6a1653240
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user: Check copy_from_user() return value in vma_dump_size()

Coverity points out that we don't check the return value from
copy_from_user() in vma_dump_size(). This is to some extent
a "can't happen" error since we've already checked the page
with an access_ok() call earlier, but it's simple enough to
handle the error anyway.

Fixes: Coverity CID 1432362
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20201103141532.19912-1-peter.maydell@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: e2766868d45d8c8f8991cfd133e6a0c14abfe577
      
https://github.com/qemu/qemu/commit/e2766868d45d8c8f8991cfd133e6a0c14abfe577
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-04 (Wed, 04 Nov 2020)

  Changed paths:
    M hw/display/ati_2d.c
    M roms/Makefile
    M ui/vnc-auth-sasl.c
    M ui/vnc-auth-vencrypt.c
    M ui/vnc-jobs.c
    M ui/vnc-ws.c
    M ui/vnc.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/kraxel/tags/fixes-20201104-pull-request' into staging

misc bugfixes for 5.2

# gpg: Signature made Wed 04 Nov 2020 15:46:33 GMT
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/fixes-20201104-pull-request:
  roms/Makefile: Add qboot to .PHONY list
  ati: check x y display parameter values
  vnc: fix resource leak when websocket channel error

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 295397f53cc1e337e5c1ada62a9ac9feea4d4e97
      
https://github.com/qemu/qemu/commit/295397f53cc1e337e5c1ada62a9ac9feea4d4e97
  Author: Chen Qun <kuhn.chenqun@huawei.com>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc/excp_helper: Add a fallthrough for fix compiler warning

When using -Wimplicit-fallthrough in our CFLAGS, the compiler showed warning:
../target/ppc/excp_helper.c: In function ‘powerpc_excp’:
../target/ppc/excp_helper.c:529:13: warning: this statement may fall through 
[-Wimplicit-fallthrough=]
  529 |         msr |= env->error_code;
      |         ~~~~^~~~~~~~~~~~~~~~~~
../target/ppc/excp_helper.c:530:5: note: here
  530 |     case POWERPC_EXCP_HDECR:     /* Hypervisor decrementer exception    
     */
      |     ^~~~

Add the corresponding "fall through" comment to fix it.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
Message-Id: <20201028055107.2170401-1-kuhn.chenqun@huawei.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 184b813e7b1fe2dc27e7657befc907b5aac3b619
      
https://github.com/qemu/qemu/commit/184b813e7b1fe2dc27e7657befc907b5aac3b619
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  spapr: Drop dead code in spapr_reallocate_hpt()

Sometimes QEMU needs to allocate the HPT in userspace, namely with TCG
or PR KVM. This is performed with qemu_memalign() because of alignment
requirements. Like glib's allocators, its behaviour is to abort on OOM
instead of returning NULL.

This could be changed to qemu_try_memalign(), but in the specific case
of spapr_reallocate_hpt(), the outcome would be to terminate QEMU anyway
since no HPT means no MMU for the guest. Drop the dead code instead.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160398562892.32380.15006707861753544263.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: f29b959dc6871c9d8df781d1bedcfaebc76d5565
      
https://github.com/qemu/qemu/commit/f29b959dc6871c9d8df781d1bedcfaebc76d5565
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M hw/ppc/spapr_hcall.c

  Log Message:
  -----------
  spapr: Convert hpt_prepare_thread() to use qemu_try_memalign()

HPT resizing is asynchronous: the guest first kicks off the creation of a
new HPT, then it waits for that new HPT to be actually created and finally
it asks the current HPT to be replaced by the new one.

In the case of a userland allocated HPT, this currently relies on calling
qemu_memalign() which aborts on OOM and never returns NULL. Since we seem
to have path to report the failure to the guest with an H_NO_MEM return
value, use qemu_try_memalign() instead of qemu_memalign().

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160398563636.32380.1747166034877173994.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 5e49e89cb6e71c8bc06fe9dd1afd4037917b10bb
      
https://github.com/qemu/qemu/commit/5e49e89cb6e71c8bc06fe9dd1afd4037917b10bb
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M target/s390x/insn-data.def
    M target/s390x/translate.c

  Log Message:
  -----------
  target/s390x: fix execution with icount

This patch adds some gen_io_start() calls to allow execution
of s390x targets in icount mode with -smp 1.
It enables deterministic timers and record/replay features.

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: David Hildenbrand <david@redhat.com>
Message-Id: <160455551747.32240.17074484658979970129.stgit@pasha-ThinkPad-X280>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: 77280d33bc9cfdbfb5b5d462259d644f5aefe9b3
      
https://github.com/qemu/qemu/commit/77280d33bc9cfdbfb5b5d462259d644f5aefe9b3
  Author: Cornelia Huck <cohuck@redhat.com>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M hw/s390x/meson.build
    M include/hw/s390x/s390-pci-vfio.h

  Log Message:
  -----------
  s390x: fix build for --without-default-devices

s390-pci-vfio.c calls into the vfio code, so we need it to be
built conditionally on vfio (which implies CONFIG_LINUX).

Fixes: cd7498d07fbb ("s390x/pci: Add routine to get the vfio dma available 
count")
Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Message-Id: <20201103123237.718242-1-cohuck@redhat.com>
Acked-by: Greg Kurz <groug@kaod.org>
Tested-by: Greg Kurz <groug@kaod.org>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>


  Commit: 747c6b3811ef5f06278ab364261e3723bcbb4031
      
https://github.com/qemu/qemu/commit/747c6b3811ef5f06278ab364261e3723bcbb4031
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M configure
    M contrib/vhost-user-gpu/meson.build
    M docs/devel/build-system.rst
    M docs/devel/kconfig.rst
    M docs/meson.build
    M hw/isa/lpc_ich9.c
    M include/hw/i386/ich9.h
    M include/qapi/util.h
    M include/qemu/cutils.h
    M meson.build
    M qapi/opts-visitor.c
    M qapi/qapi-util.c
    M qapi/qobject-input-visitor.c
    M qapi/string-input-visitor.c
    M scripts/oss-fuzz/build.sh
    M softmmu/physmem.c
    M softmmu/vl.c
    M tests/qtest/device-introspect-test.c
    M tests/qtest/fuzz-test.c
    M tests/qtest/fuzz/generic_fuzz.c
    M tests/qtest/fuzz/qos_fuzz.c
    M tests/qtest/ivshmem-test.c
    M tests/qtest/libqos/ahci.c
    M tests/qtest/libqtest.c
    M tools/virtiofsd/meson.build
    M util/cutils.c
    M util/qemu-option.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into 
staging

Doc and bug fixes

# gpg: Signature made Wed 04 Nov 2020 17:01:29 GMT
# 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:
  qapi, qemu-options: make all parsing visitors parse boolean options the same
  qtest: escape device name in device-introspect-test
  ivshmem-test: do not use short-form boolean option
  semihosting: fix order of initialization functions
  fuzz: fuzz offsets within pio/mmio regions
  fuzz: check the MR in the DMA callback
  fuzz: fix writing DMA patterns
  tests/qtest: Fix potential NULL pointer dereference in qos_build_main_args()
  configure: fix gio_libs reference
  meson: fix warning for bad sphinx-build
  tests/qtest/libqos/ahci.c: Avoid NULL dereference in ahci_exec()
  tests/qtest/libqtest.c: Check for setsockopt() failure
  meson: vhost-user-gpu/virtiofsd: use absolute path
  meson: use b_staticpic=false for meson >=0.56.0
  qtest: add a reproducer for LP#1878642
  hw/isa/lpc_ich9: Ignore reserved/invalid SCI IRQ
  scripts/oss-fuzz: rename bin/qemu-fuzz-i386
  exec: Remove dead code (CID 1432876)
  docs: expand sourceset documentation
  cutils: replace strdup with g_strdup

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 01011733ea3177e437d8999b77c73caa93266896
      
https://github.com/qemu/qemu/commit/01011733ea3177e437d8999b77c73caa93266896
  Author: Xinhao Zhang <zhangxinhao1@huawei.com>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M hw/9pfs/9p-local.c
    M hw/9pfs/9p.c

  Log Message:
  -----------
  hw/9pfs : add spaces around operator

Fix code style. Operator needs spaces both sides.

Signed-off-by: Xinhao Zhang <zhangxinhao1@huawei.com>
Signed-off-by: Kai Deng <dengkai1@huawei.com>
Reported-by: Euler Robot <euler.robot@huawei.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: <20201030043515.1030223-1-zhangxinhao1@huawei.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 487729e9f667644ee0d6762b24269e7758ad2e5e
      
https://github.com/qemu/qemu/commit/487729e9f667644ee0d6762b24269e7758ad2e5e
  Author: Xinhao Zhang <zhangxinhao1@huawei.com>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M hw/9pfs/9p.h

  Log Message:
  -----------
  hw/9pfs : open brace '{' following struct go on the same line

Fix code style. Open braces for struct should go on the same line.

Signed-off-by: Xinhao Zhang <zhangxinhao1@huawei.com>
Signed-off-by: Kai Deng <dengkai1@huawei.com>
Reported-by: Euler Robot <euler.robot@huawei.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: <20201030043515.1030223-2-zhangxinhao1@huawei.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 22e13675874dabcb314de98134fe6142cd9864a7
      
https://github.com/qemu/qemu/commit/22e13675874dabcb314de98134fe6142cd9864a7
  Author: Xinhao Zhang <zhangxinhao1@huawei.com>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M hw/9pfs/cofs.c

  Log Message:
  -----------
  hw/9pfs : add space before the open parenthesis '('

Fix code style. Space required before the open parenthesis '('.

Signed-off-by: Xinhao Zhang <zhangxinhao1@huawei.com>
Signed-off-by: Kai Deng <dengkai1@huawei.com>
Reported-by: Euler Robot <euler.robot@huawei.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: <20201030043515.1030223-3-zhangxinhao1@huawei.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: e6b99460b14469e0b83febc8d5a501947d1d5c7c
      
https://github.com/qemu/qemu/commit/e6b99460b14469e0b83febc8d5a501947d1d5c7c
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M hw/9pfs/Kconfig
    M hw/9pfs/meson.build

  Log Message:
  -----------
  hw/9pfs: Fix Kconfig dependency problem between 9pfs and Xen

Commit b2c00bce54c ("meson: convert hw/9pfs, cleanup") introduced
CONFIG_9PFS (probably a wrong conflict resolution). This config is
not used anywhere. Backends depend on CONFIG_FSDEV_9P which itself
depends on CONFIG_VIRTFS.

Remove the invalid CONFIG_9PFS and use CONFIG_FSDEV_9P instead, to
fix the './configure --without-default-devices --enable-xen' build:

  /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
`xen_be_register_common':
  hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
  /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): undefined 
reference to `local_ops'
  /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): undefined 
reference to `synth_ops'
  /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): undefined 
reference to `proxy_ops'
  collect2: error: ld returned 1 exit status

Fixes: b2c00bce54c ("meson: convert hw/9pfs, cleanup")
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Greg Kurz <groug@kaod.org>
Tested-by: Greg Kurz <groug@kaod.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Message-Id: <20201104115706.3101190-3-philmd@redhat.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>


  Commit: 85c3ed44171d757e399bcbb3db3608c1848c0984
      
https://github.com/qemu/qemu/commit/85c3ed44171d757e399bcbb3db3608c1848c0984
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M block/export/export.c
    M block/export/meson.build
    M block/export/vhost-user-blk-server.c
    M configure
    M contrib/libvhost-user/libvhost-user.h
    M contrib/vhost-user-blk/vhost-user-blk.c
    M hw/acpi/core.c
    M hw/acpi/nvdimm.c
    M hw/acpi/pcihp.c
    M hw/block/vhost-user-blk.c
    M hw/i386/pc.c
    M hw/mem/memory-device.c
    M hw/smbios/smbios.c
    M hw/vfio/common.c
    M hw/virtio/trace-events
    M hw/virtio/vhost-backend.c
    M hw/virtio/vhost.c
    M hw/virtio/virtio-iommu.c
    M hw/virtio/virtio-mem-pci.c
    M hw/virtio/virtio-mem.c
    M include/exec/memory.h
    M include/hw/mem/memory-device.h
    M include/hw/virtio/vhost.h
    M net/net.c
    M net/vhost-vdpa.c
    M softmmu/memory.c
    M util/meson.build

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging

pc,pci,vhost,virtio: fixes

Lots of fixes all over the place.
virtio-mem and virtio-iommu patches are kind of fixes but
it seems better to just make them behave sanely than
try to educate users about the limitations ...

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

# gpg: Signature made Wed 04 Nov 2020 18:40:03 GMT
# 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: (31 commits)
  contrib/vhost-user-blk: fix get_config() information leak
  block/export: fix vhost-user-blk get_config() information leak
  block/export: make vhost-user-blk config space little-endian
  configure: introduce --enable-vhost-user-blk-server
  libvhost-user: follow QEMU comment style
  vhost-blk: set features before setting inflight feature
  Revert "vhost-blk: set features before setting inflight feature"
  net: Add vhost-vdpa in show_netdevs()
  vhost-vdpa: Add qemu_close in vhost_vdpa_cleanup
  vfio: Don't issue full 2^64 unmap
  virtio-iommu: Set supported page size mask
  vfio: Set IOMMU page size as per host supported page size
  memory: Add interface to set iommu page size mask
  virtio-iommu: Add notify_flag_changed() memory region callback
  virtio-iommu: Add replay() memory region callback
  virtio-iommu: Call memory notifiers in attach/detach
  virtio-iommu: Add memory notifiers for map/unmap
  virtio-iommu: Store memory region in endpoint struct
  virtio-iommu: Fix virtio_iommu_mr()
  hw/smbios: Fix leaked fd in save_opt_one() error path
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: fbd9cc20ad26708a6e854460f8a173ea9f958165
      
https://github.com/qemu/qemu/commit/fbd9cc20ad26708a6e854460f8a173ea9f958165
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M tcg/optimize.c
    M tcg/tcg.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20201104' into staging

Fix assert in set_jmp_reset_offset
Revert cross-branch optimization in tcg/optimize.c.

# gpg: Signature made Thu 05 Nov 2020 00:28:07 GMT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* remotes/rth/tags/pull-tcg-20201104:
  tcg: Revert "tcg/optimize: Flush data at labels not TCG_OPF_BB_END"
  tcg: Remove assert from set_jmp_reset_offset

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 326c9a0eb67672f3d7515fe41e9deaa58fb15227
      
https://github.com/qemu/qemu/commit/326c9a0eb67672f3d7515fe41e9deaa58fb15227
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M hw/ppc/spapr.c
    M hw/ppc/spapr_hcall.c
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dg-gitlab/tags/ppc-for-5.2-20201105' 
into staging

ppc patch queue for 2020-11-05

A small PR this time, one bugfix, one removal of minor dead code, one
warning suppression.

# gpg: Signature made Thu 05 Nov 2020 03:44:51 GMT
# gpg:                using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full]
# gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full]
# gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" 
[full]
# gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>" 
[unknown]
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392

* remotes/dg-gitlab/tags/ppc-for-5.2-20201105:
  spapr: Convert hpt_prepare_thread() to use qemu_try_memalign()
  spapr: Drop dead code in spapr_reallocate_hpt()
  target/ppc/excp_helper: Add a fallthrough for fix compiler warning

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 42705e269186fb309dd9120f540e2cab05422cb9
      
https://github.com/qemu/qemu/commit/42705e269186fb309dd9120f540e2cab05422cb9
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-05 (Thu, 05 Nov 2020)

  Changed paths:
    M linux-user/elfload.c
    M linux-user/mips/cpu_loop.c
    M linux-user/syscall.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/vivier2/tags/linux-user-for-5.2-pull-request' into staging

Coverity and compiler warning fixes

# gpg: Signature made Thu 05 Nov 2020 07:07:56 GMT
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" 
[full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/linux-user-for-5.2-pull-request:
  linux-user: Check copy_from_user() return value in vma_dump_size()
  linux-user/syscall: Fix missing target_to_host_timespec64() check
  linux-user: Use "!= 0" when checking if MAP_FIXED_NOREPLACE is non-zero
  linux-user/mips/cpu_loop: silence the compiler warnings

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a47c284a7cf8f6e98df974b1009bf412653ce01e
      
https://github.com/qemu/qemu/commit/a47c284a7cf8f6e98df974b1009bf412653ce01e
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-06 (Fri, 06 Nov 2020)

  Changed paths:
    M hw/9pfs/9p-local.c
    M hw/9pfs/9p.c
    M hw/9pfs/9p.h
    M hw/9pfs/Kconfig
    M hw/9pfs/cofs.c
    M hw/9pfs/meson.build

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/cschoenebeck/tags/pull-9p-20201106' 
into staging

9pfs: some fixes

* Fix meson build config for Xen.

* Code style fixes.

# gpg: Signature made Fri 06 Nov 2020 09:12:51 GMT
# gpg:                using RSA key 96D8D110CF7AF8084F88590134C2B58765A47395
# gpg:                issuer "qemu_oss@crudebyte.com"
# gpg: Good signature from "Christian Schoenebeck <qemu_oss@crudebyte.com>" 
[unknown]
# 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: ECAB 1A45 4014 1413 BA38  4926 30DB 47C3 A012 D5F4
#      Subkey fingerprint: 96D8 D110 CF7A F808 4F88  5901 34C2 B587 65A4 7395

* remotes/cschoenebeck/tags/pull-9p-20201106:
  hw/9pfs: Fix Kconfig dependency problem between 9pfs and Xen
  hw/9pfs : add space before the open parenthesis '('
  hw/9pfs : open brace '{' following struct go on the same line
  hw/9pfs : add spaces around operator

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 3493c36f0371777c62d1d72b205b0eb6117e2156
      
https://github.com/qemu/qemu/commit/3493c36f0371777c62d1d72b205b0eb6117e2156
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-06 (Fri, 06 Nov 2020)

  Changed paths:
    M hw/s390x/meson.build
    M include/hw/s390x/s390-pci-vfio.h
    M pc-bios/s390-ccw.img
    M pc-bios/s390-ccw/main.c
    M pc-bios/s390-netboot.img
    M target/s390x/insn-data.def
    M target/s390x/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20201106' into staging

some s390x fixes, including a bios update

# gpg: Signature made Fri 06 Nov 2020 13:08:42 GMT
# gpg:                using RSA key C3D0D66DC3624FF6A8C018CEDECF6B93C6F02FAF
# gpg:                issuer "cohuck@redhat.com"
# gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>" [unknown]
# gpg:                 aka "Cornelia Huck <huckc@linux.vnet.ibm.com>" [full]
# gpg:                 aka "Cornelia Huck <cornelia.huck@de.ibm.com>" [full]
# gpg:                 aka "Cornelia Huck <cohuck@kernel.org>" [unknown]
# gpg:                 aka "Cornelia Huck <cohuck@redhat.com>" [unknown]
# Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF

* remotes/cohuck/tags/s390x-20201106:
  s390x: fix build for --without-default-devices
  target/s390x: fix execution with icount
  pc-bios/s390: update s390-ccw bios binaries
  s390-bios: Skip writing iplb location to low core for ccw ipl

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a60442eb8d97d37d3ae031739503dec4912a1127
      
https://github.com/qemu/qemu/commit/a60442eb8d97d37d3ae031739503dec4912a1127
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M docs/system/deprecated.rst

  Log Message:
  -----------
  target/mips: Deprecate nanoMIPS ISA

The nanoMIPS ISA has been announced in 2018 for various projects:

GCC:   https://gcc.gnu.org/legacy-ml/gcc/2018-05/msg00012.html
Linux: https://lwn.net/Articles/753605/
QEMU:  https://www.mail-archive.com/qemu-devel@nongnu.org/msg530721.html

Unfortunately the links referenced doesn't work anymore (www.mips.com).

>From this Wayback machine link [1] we can get to a working place to
download a toolchain (a more recent release than the one referenced
in the announcement mails):
http://codescape.mips.com/components/toolchain/nanomips/2018.04-02/downloads.html

The toolchain page mention LLVM but simply links http://llvm.org/
where there is no reference on nanoMIPS.

The only reference in the GCC mailing list, is the nanoMIPS
announcement: https://gcc.gnu.org/pipermail/gcc/2018-May.txt

The developer who authored the announcements have been emailed [2]
to ask for more information but all their emails are now bouncing:

- Your message to Stefan.Markovic@mips.com couldn't be delivered.

- Your message to smarkovic@wavecomp.com couldn't be delivered.

- Couldn't deliver the message to the following recipients:
    Robert.Suchanek@mips.com, matthew.fortune@mips.com,
    marcin.nowakowski@mips.com

Our deprecation policy do not allow feature removal before 2 release,
therefore declare the nanoMIPS ISA code deprecated as of QEMU 5.2.
This gives time to developers to update the QEMU community, or
interested parties to step in to maintain this code.

[1] 
https://web.archive.org/web/20180904044530/https://www.mips.com/develop/tools/compilers/
[2] https://www.mail-archive.com/qemu-devel@nongnu.org/msg756392.html

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20201102202710.2224691-1-f4bug@amsat.org>


  Commit: d40b55bc1b8630a0028f54d9df376930e133cc4a
      
https://github.com/qemu/qemu/commit/d40b55bc1b8630a0028f54d9df376930e133cc4a
  Author: Jiaxun Yang <jiaxun.yang@flygoat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M target/mips/cp0_helper.c
    M target/mips/cpu.h

  Log Message:
  -----------
  target/mips: Fix PageMask with variable page size

Our current code assumed the target page size is always 4k
when handling PageMask and VPN2, however, variable page size
was just added to mips target and that's no longer true.

Fixes: ee3863b9d414 ("target/mips: Support variable page size")
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Message-Id: <1604636510-8347-2-git-send-email-chenhc@lemote.com>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
[PMD: Replaced find_first_zero_bit() by cto32()]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: bf4ee88ab63fcf2dcb75f0d68cc6c8d2edb68212
      
https://github.com/qemu/qemu/commit/bf4ee88ab63fcf2dcb75f0d68cc6c8d2edb68212
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M hw/mips/boston.c

  Log Message:
  -----------
  hw/mips/boston: Fix memory leak in boston_fdt_filter() error-handling paths

Coverity points out that the error-handling paths in the
boston_fdt_filter() function don't free the fdt that was allocated.
Fix the leak by using g_autofree.

Fixes: Coverity CID 1432275

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201106175823.1650-1-peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: f166061c73f070ce98a9003bdaeedd39ab034eed
      
https://github.com/qemu/qemu/commit/f166061c73f070ce98a9003bdaeedd39ab034eed
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Demote Renesas target & hardware to 'Odd Fixes'

To be fair with other subsystems listed as 'Odd Fixes' but having
maintainers more present, demote the Renesas sections from being
'Maintained' to 'Odd Fixes' (has a maintainer but they don't have
time to do much other than throw the odd patch in.)

This matches Magnus's possibilities so far:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg710319.html

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201102104001.2062572-1-f4bug@amsat.org>


  Commit: 60f6de8fbafa5dc57af63792e3ba1a910239d195
      
https://github.com/qemu/qemu/commit/60f6de8fbafa5dc57af63792e3ba1a910239d195
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M hw/rx/rx-gdbsim.c

  Log Message:
  -----------
  hw/rx/rx-gdbsim: Fix memory leak (CID 1432307)

As load_device_tree() returns allocated memory,
we need to free it.

Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Fixes: bda19d7bb56 ("hw/rx: Add RX GDB simulator")
Reported-by: Coverity (CID 1432307: RESOURCE_LEAK)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201102104542.2064745-1-f4bug@amsat.org>


  Commit: c4cdf54cff933d7176083581523748d4171db6e6
      
https://github.com/qemu/qemu/commit/c4cdf54cff933d7176083581523748d4171db6e6
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M docs/devel/qapi-code-gen.txt

  Log Message:
  -----------
  docs/devel/qapi-code-gen: Fix up examples

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201027121026.3025930-1-armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


  Commit: 92a3c6aac8da5f97f7ec86d12c2d0417cc3bf325
      
https://github.com/qemu/qemu/commit/92a3c6aac8da5f97f7ec86d12c2d0417cc3bf325
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add QAPI schema modules to their subsystems

Add the relevant QAPI schema modules to section Audio, QMP, Tracing,
Cryptography.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201102081550.171061-2-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: a1d12a2148e75dc67743de9c45bf925ca6f26739
      
https://github.com/qemu/qemu/commit/a1d12a2148e75dc67743de9c45bf925ca6f26739
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M qapi/audio.json
    M qapi/authz.json

  Log Message:
  -----------
  qapi: Fix missing headers in QMP Reference Manual

Audio stuff is under "Miscellanea", and authorization stuff is under
"Input".  Add suitable header doc comments to correct that.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201102081550.171061-3-armbru@redhat.com>
Acked-by: Daniel P. Berrangé <berrange@redhat.com>


  Commit: ffb515fa50c286ec572a0dcc3923652085dd63f8
      
https://github.com/qemu/qemu/commit/ffb515fa50c286ec572a0dcc3923652085dd63f8
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M qapi/block-core.json

  Log Message:
  -----------
  qapi/block-core: Improve MapEntry documentation

MapEntry and BlockDeviceMapEntry are kind of the same thing, and the
latter is not used, so we want to remove it.  However, the documentation
it provides for some fields is better than that of MapEntry, so steal
some of it for the latter.

(And adjust them a bit in the process, because I feel like we can make
them even clearer.)

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20201104165513.72720-2-mreitz@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 143d51e1792ecf2c8e5b0fc3a8c6022676c723d4
      
https://github.com/qemu/qemu/commit/143d51e1792ecf2c8e5b0fc3a8c6022676c723d4
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M qapi/block-core.json

  Log Message:
  -----------
  block: Remove unused BlockDeviceMapEntry

BlockDeviceMapEntry has never been used.  It was added in commit
facd6e2 "so that it is published through the introspection mechanism."
What exactly introspecting types that aren't used for anything could
accomplish isn't clear.  What "introspection mechanism" to use is also
nebulous.  To the best of my knowledge, there has never been one that
covered this type.  Certainly not query-qmp-schema, which includes
only types that are actually used in QMP.

Not being able to introspect BlockDeviceMapEntry hasn't bothered
anyone enough to complain in almost four years.  Get rid of it.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Eric Blake <eblake@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201104165513.72720-3-mreitz@redhat.com>


  Commit: b54b82df250685b8ee7f947909d10dc30a0ac2b1
      
https://github.com/qemu/qemu/commit/b54b82df250685b8ee7f947909d10dc30a0ac2b1
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: Clarify the confusing vhost-user vs. vhost-kernel output

The configuration summary prints a line with "vhost-user: YES/NO",
but the value is currently the vhost-kernel setting instead which
looks wrong. Print the kernel setting in a separate line and switch
the "vhost-user:" line to CONFIG_VHOST_USER instead.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201109085906.87921-1-thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 1023e0033db712b0742de226f133a494f7c474c8
      
https://github.com/qemu/qemu/commit/1023e0033db712b0742de226f133a494f7c474c8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  fix make clean/distclean

A misplaced $(quiet-@) meant that "make clean" and "make distclean" did
not work properly.

Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: dc24926baf9d577bb00b385f12ade9cad6bb4cba
      
https://github.com/qemu/qemu/commit/dc24926baf9d577bb00b385f12ade9cad6bb4cba
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M replay/replay-debugging.c

  Log Message:
  -----------
  replay: remove some dead code

This patch removes dead code in replay_continue_stop() function.

Signed-off-by: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <160455661411.3455.4177953912304752892.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 784106ec98b68cd4c1470a3f92cc46ac3e8926c1
      
https://github.com/qemu/qemu/commit/784106ec98b68cd4c1470a3f92cc46ac3e8926c1
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  Makefile: No echoing for 'make help V=1'

It doesn't bring much to have echoing with "make help". Suppress it
unconditionally.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160459122012.462591.8467906402712875729.stgit@bahia.lan>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 193f51ddcf1d87d725f1dfd51b8a95351c910e8f
      
https://github.com/qemu/qemu/commit/193f51ddcf1d87d725f1dfd51b8a95351c910e8f
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M docs/system/deprecated.rst
    M hw/mips/boston.c
    M target/mips/cp0_helper.c
    M target/mips/cpu.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/philmd-gitlab/tags/mips-fixes-20201109' 
into staging

MIPS patches queue

- Deprecate nanoMIPS ISA
- Fix PageMask with variable page size (Huacai Chen)
- Fix memory leak in boston_fdt_filter (Coverity CID 1432275, Peter Maydell)

CI jobs results:
. https://cirrus-ci.com/build/5439131968864256
. https://gitlab.com/philmd/qemu/-/pipelines/213403385
. https://travis-ci.org/github/philmd/qemu/builds/742312387

# gpg: Signature made Sun 08 Nov 2020 23:41:19 GMT
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* remotes/philmd-gitlab/tags/mips-fixes-20201109:
  hw/mips/boston: Fix memory leak in boston_fdt_filter() error-handling paths
  target/mips: Fix PageMask with variable page size
  target/mips: Deprecate nanoMIPS ISA

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 2a190a7256a3e0563b29ffd67e0164097b4a6dac
      
https://github.com/qemu/qemu/commit/2a190a7256a3e0563b29ffd67e0164097b4a6dac
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M hw/rx/rx-gdbsim.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/philmd-gitlab/tags/renesas-fixes-20201109' into staging

Renesas patches queue

- Demote target & hardware sections to 'Odd Fixes'
- Fix memory leak (CID 1432307)

CI jobs results:
. https://cirrus-ci.com/build/5340929353580544
. https://gitlab.com/philmd/qemu/-/pipelines/213407241
. https://travis-ci.org/github/philmd/qemu/builds/742315021

# gpg: Signature made Sun 08 Nov 2020 23:58:37 GMT
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* remotes/philmd-gitlab/tags/renesas-fixes-20201109:
  hw/rx/rx-gdbsim: Fix memory leak (CID 1432307)
  MAINTAINERS: Demote Renesas target & hardware to 'Odd Fixes'

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a2547c1ba911a0c53a10fe02d94a0f539dc064cc
      
https://github.com/qemu/qemu/commit/a2547c1ba911a0c53a10fe02d94a0f539dc064cc
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M MAINTAINERS
    M docs/devel/qapi-code-gen.txt
    M qapi/audio.json
    M qapi/authz.json
    M qapi/block-core.json

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2020-11-09' into 
staging

QAPI patches patches for 2020-11-09

# gpg: Signature made Mon 09 Nov 2020 08:16:33 GMT
# gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg:                issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* remotes/armbru/tags/pull-qapi-2020-11-09:
  block: Remove unused BlockDeviceMapEntry
  qapi/block-core: Improve MapEntry documentation
  qapi: Fix missing headers in QMP Reference Manual
  MAINTAINERS: Add QAPI schema modules to their subsystems
  docs/devel/qapi-code-gen: Fix up examples

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 3d86af858ec081b2b385b6fd5af09e42ca825a96
      
https://github.com/qemu/qemu/commit/3d86af858ec081b2b385b6fd5af09e42ca825a96
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M block/dmg-lzfse.c

  Log Message:
  -----------
  block: Remove unused include

The "qemu-common.h" include is not used, remove it.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: AlexChen <alex.chen@huawei.com>
Message-Id: <5F8FFB94.3030209@huawei.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: 009cde17a527993b8bc45da831fe0643229a04ee
      
https://github.com/qemu/qemu/commit/009cde17a527993b8bc45da831fe0643229a04ee
  Author: Greg Kurz <groug@kaod.org>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M include/block/block.h
    M include/block/block_int.h

  Log Message:
  -----------
  block: Move bdrv_drain_all_end_quiesce() to block_int.h

This function is really an internal helper for bdrv_close(). Update its
doc comment to make this clear and make the function private.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <160387245480.131299.13430357162209598411.stgit@bahia>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: 3441ad4bc42ce9d9c6004cd013b91da0a454f143
      
https://github.com/qemu/qemu/commit/3441ad4bc42ce9d9c6004cd013b91da0a454f143
  Author: Alberto Garcia <berto@igalia.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M block/qcow2-cluster.c
    M block/qcow2.c
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Document and enforce the QCowL2Meta invariants

The QCowL2Meta structure is used to store information about a part of
a write request that touches clusters that need changes in their L2
entries. This happens with newly-allocated clusters or subclusters.

This structure has changed a bit since it was first created and its
current documentation is not quite up-to-date.

A write request can span a region consisting of a combination of
clusters of different types, and qcow2_alloc_host_offset() can
repeatedly call handle_copied() and handle_alloc() to add more
clusters to the mix as long as they all are contiguous on the image
file.

Because of this a write request has a list of QCowL2Meta structures,
one for each part of the request that needs changes in the L2
metadata.

Each one of them spans nb_clusters and has two copy-on-write regions
located immediately before and after the middle region touched by that
part of the write request. Even when those regions themselves are
empty their offsets must be correct because they are used to know the
location of the middle region.

This was not always the case but it is not a problem anymore
because the only two places where QCowL2Meta structures are created
(calculate_l2_meta() and qcow2_co_truncate()) ensure that the
copy-on-write regions are correctly defined, and so do assertions like
the ones in perform_cow().

The conditional initialization of the 'written_to' variable is
therefore unnecessary and is removed by this patch.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20201007161323.4667-1-berto@igalia.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: 8ce648056fe2e1b071579b66401c8a58ecbebe05
      
https://github.com/qemu/qemu/commit/8ce648056fe2e1b071579b66401c8a58ecbebe05
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: fix null ns in register namespace

Fix dereference after NULL check.

Reported-by: Coverity (CID 1436128)
Fixes: b20804946bce ("hw/block/nvme: update nsid when registered")
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Message-Id: <20201104102248.32168-2-its@irrelevant.dk>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: bf288953f13b4a3c57e6e59656ac5367491c65eb
      
https://github.com/qemu/qemu/commit/bf288953f13b4a3c57e6e59656ac5367491c65eb
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: fix uint16_t use of uint32_t sgls member

nvme_map_sgl_data erroneously uses the sgls member of NvmeIdNs as a
uint16_t.

Reported-by: Coverity (CID 1436129)
Fixes: cba0a8a344fe ("hw/block/nvme: add support for scatter gather lists")
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Message-Id: <20201104102248.32168-3-its@irrelevant.dk>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: 73ad0ff216d2e1cf08909a0597e7b072babfe9c4
      
https://github.com/qemu/qemu/commit/73ad0ff216d2e1cf08909a0597e7b072babfe9c4
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: fix free of array-typed value

Since 7f0f1acedf15 ("hw/block/nvme: support multiple namespaces"), the
namespaces member of NvmeCtrl is no longer a dynamically allocated
array. Remove the free.

Fixes: 7f0f1acedf15 ("hw/block/nvme: support multiple namespaces")
Reported-by: Coverity (CID 1436131)
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Message-Id: <20201104102248.32168-4-its@irrelevant.dk>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: 2daba442059a838f8f3c80d8fa52a85768ba7c4c
      
https://github.com/qemu/qemu/commit/2daba442059a838f8f3c80d8fa52a85768ba7c4c
  Author: Maxim Levitsky <mlevitsk@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  iotests: add filter_qmp_virtio_scsi function

filter_qmp_virtio_scsi can be used to filter virtio-scsi-pci/ccw differences.
Note that this patch was only tested on x86.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201104185025.434703-2-mlevitsk@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: c6ac463631a124eaa47cae8a9a4aaac4d0761d28
      
https://github.com/qemu/qemu/commit/c6ac463631a124eaa47cae8a9a4aaac4d0761d28
  Author: Maxim Levitsky <mlevitsk@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M tests/qemu-iotests/240
    M tests/qemu-iotests/240.out

  Log Message:
  -----------
  iotests: rewrite iotest 240 in python

The recent changes that brought RCU delayed device deletion,
broke few tests and this test breakage went unnoticed.

Fix this test by rewriting it in python
(which allows to wait for DEVICE_DELETED events before continuing).

Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201104185025.434703-3-mlevitsk@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: c63b0201ae3a1bb6a17136f641d84fe9bd28d285
      
https://github.com/qemu/qemu/commit/c63b0201ae3a1bb6a17136f641d84fe9bd28d285
  Author: Yonggang Luo <luoyonggang@gmail.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M block/nfs.c

  Log Message:
  -----------
  block: Fixes nfs compiling error on msys2/mingw

These compiling errors are fixed:
../block/nfs.c:27:10: fatal error: poll.h: No such file or directory
   27 | #include <poll.h>
      |          ^~~~~~~~
compilation terminated.

../block/nfs.c:63:5: error: unknown type name 'blkcnt_t'
   63 |     blkcnt_t st_blocks;
      |     ^~~~~~~~
../block/nfs.c: In function 'nfs_client_open':
../block/nfs.c:550:27: error: 'struct _stat64' has no member named 'st_blocks'
  550 |     client->st_blocks = st.st_blocks;
      |                           ^
../block/nfs.c: In function 'nfs_get_allocated_file_size':
../block/nfs.c:751:41: error: 'struct _stat64' has no member named 'st_blocks'
  751 |     return (task.ret < 0 ? task.ret : st.st_blocks * 512);
      |                                         ^
../block/nfs.c: In function 'nfs_reopen_prepare':
../block/nfs.c:805:31: error: 'struct _stat64' has no member named 'st_blocks'
  805 |         client->st_blocks = st.st_blocks;
      |                               ^
../block/nfs.c: In function 'nfs_get_allocated_file_size':
../block/nfs.c:752:1: error: control reaches end of non-void function 
[-Werror=return-type]
  752 | }
      | ^

On msys2/mingw, there is no st_blocks in struct _stat64 yet, we disable the 
usage of it
on msys2/mingw, and create a typedef long long blkcnt_t; for further 
implementation

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Message-Id: <20201105123116.674-2-luoyonggang@gmail.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: 7c5c53830636a9da263a9be5b510ac528bbd75d5
      
https://github.com/qemu/qemu/commit/7c5c53830636a9da263a9be5b510ac528bbd75d5
  Author: Yonggang Luo <luoyonggang@gmail.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M .cirrus.yml

  Log Message:
  -----------
  block: enable libnfs on msys2/mingw in cirrus.yml

Initially, libnfs has not been enabled, and now it's fixed, so enable it
on cirrus.

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Message-Id: <20201105123116.674-3-luoyonggang@gmail.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: 122860bae7c3a3cf45f9f2dedddb0e2492f09888
      
https://github.com/qemu/qemu/commit/122860bae7c3a3cf45f9f2dedddb0e2492f09888
  Author: Eric Blake <eblake@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Fix integer promotion error in bdrv_getlength()

Back in 2015, we attempted to fix error reporting for images that
claimed to have more than INT64_MAX/512 sectors, but due to the type
promotions caused by BDRV_SECTOR_SIZE being unsigned, this
inadvertently forces all negative ret values to be slammed into -EFBIG
rather than the original error.  While we're at it, we can avoid the
confusing ?: by spelling the logic more directly.

Fixes: 4a9c9ea0d3
Reported-by: Guoyi Tu <tu.guoyi@h3c.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201105155122.60943-1-eblake@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: a3f6be81aa95f4f80504face9bc6de6d2dc1743f
      
https://github.com/qemu/qemu/commit/a3f6be81aa95f4f80504face9bc6de6d2dc1743f
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: always include contrib/libvhost-user

libvhost-user is needed when CONFIG_LINUX is set. The CONFIG_VHOST_USER
check in meson.build is incorrect.

In fact, no explicit check is needed since this dependency is not built
by default. If something declares a dependency on libvhost-user then it
will be built, otherwise it won't be built (i.e. on non-Linux hosts).

This fixes ./configure --disable-vhost-user && make.

Fixes: bc15e44cb2191bbb2318878acdf5038134e56394 ("configure: introduce 
--enable-vhost-user-blk-server")
Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reported-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201106210340.698771-1-stefanha@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 45716765b1d0bb1741688e5347aea967b9492d28
      
https://github.com/qemu/qemu/commit/45716765b1d0bb1741688e5347aea967b9492d28
  Author: Brad Smith <brad@comstyle.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M tests/vm/openbsd

  Log Message:
  -----------
  tests/vm: update openbsd to release 6.8

A double dash at the end of a package name removes ambiguity
when the intent is to install a non-FLAVORed package.

Signed-off-by: Brad Smith <brad@comstyle.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Tested-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201027053048.GB64546@humpty.home.comstyle.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 8a47836548851ac00863a4f520ad761253ea4a86
      
https://github.com/qemu/qemu/commit/8a47836548851ac00863a4f520ad761253ea4a86
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M scripts/device-crash-test

  Log Message:
  -----------
  device-crash-test: Check if path is actually an executable file

After the transition to Meson, the build directory now have
subdirectories named "qemu-system-*.p", and device-crash-test
will try to execute them as if they were binaries.  This results
in errors like:

  PermissionError: [Errno 13] Permission denied: './qemu-system-or1k.p'

When generating the default list of binaries to test, check if
the path is actually a file and if it's executable.

Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20201026125238.2752882-1-ehabkost@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 3dc057923d3f3cd92ddc1685ff44022eec175c9c
      
https://github.com/qemu/qemu/commit/3dc057923d3f3cd92ddc1685ff44022eec175c9c
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M tests/qtest/arm-cpu-features.c

  Log Message:
  -----------
  qtest: Fix bad printf format specifiers

We should use printf format specifier "%u" instead of "%d" for
argument of type "unsigned int".

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Message-Id: <5FA28117.3020802@huawei.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: dccaea2514007dd526a54038ffcaef5fb9c95c0c
      
https://github.com/qemu/qemu/commit/dccaea2514007dd526a54038ffcaef5fb9c95c0c
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M tests/qtest/tpm-tests.c

  Log Message:
  -----------
  tests/qtest/tpm: Remove redundant check in the tpm_test_swtpm_test()

The 'addr' would not be NULL after checking 'succ' is valid,
and it has been dereferenced in the previous code(args = g_strdup_printf()).
So the check on 'addr' in the tpm_test_swtpm_test() is redundant. Remove it.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Message-Id: <5FA41448.4040404@huawei.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 7433a6860bee36d570c69720760238252a92090b
      
https://github.com/qemu/qemu/commit/7433a6860bee36d570c69720760238252a92090b
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M .gitlab-ci.yml

  Log Message:
  -----------
  gitlab-ci: Drop generic cache rule

This cache rule is meant for Avocado artifacts, but affects
all jobs. Moreover the 'acceptance_template' template already
include a more detailled rule to cache artifacts.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201108221925.2344515-2-philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 5f14f31d2bbb2c00b59c7e9cbbd584d0cee80273
      
https://github.com/qemu/qemu/commit/5f14f31d2bbb2c00b59c7e9cbbd584d0cee80273
  Author: shiliyang <shiliyang@huawei.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M block/blkdebug.c
    M block/dmg.c
    M block/qcow2.c
    M block/qcow2.h
    M block/vpc.c

  Log Message:
  -----------
  block: Fix some code style problems, "foo* bar" should be "foo *bar"

There have some code style problems be found when read the block driver code.
So I fixes some problems of this error, ERROR: "foo* bar" should be "foo *bar".

Signed-off-by: Liyang Shi <shiliyang@huawei.com>
Reported-by: Euler Robot <euler.robot@huawei.com>
Message-Id: <3211f389-6d22-46c1-4a16-e6a2ba66f070@huawei.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: 6c5f7b3a1002ebe552782de4f3664a486d444323
      
https://github.com/qemu/qemu/commit/6c5f7b3a1002ebe552782de4f3664a486d444323
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: add forgotten bdrv_abort_perm_update() to bdrv_co_invalidate_cache()

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20201106124241.16950-2-vsementsov@virtuozzo.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: 313274bbd4677f44631921ef4366f4ffc81cc5d5
      
https://github.com/qemu/qemu/commit/313274bbd4677f44631921ef4366f4ffc81cc5d5
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: add bdrv_replace_node_common()

Add new parameter to bdrv_replace_node(): auto_skip. With
auto_skip=false we'll have stricter behavior: update _all_ from
parents or fail. New behaviour will be used in the following commit in
block.c, so keep original function name as public interface.

Note: new error message is a bit funny in contrast with further
"Cannot" in case of frozen child, but we'd better keep some difference
to make it possible to distinguish one from another on failure. Still,
actually we'd better refactor should_update_child() call to distinguish
also different kinds of "should not". Let's do it later.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20201106124241.16950-3-vsementsov@virtuozzo.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: d669ed6ab028497d634e1f236c74a98725f9e45f
      
https://github.com/qemu/qemu/commit/d669ed6ab028497d634e1f236c74a98725f9e45f
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: make bdrv_drop_intermediate() less wrong

First, permission update loop tries to do iterations transactionally,
but the whole update is not transactional: nobody roll-back successful
loop iterations when some iteration fails.

Second, in the iteration we have nested permission update:
c->klass->update_filename may point to bdrv_child_cb_update_filename()
which calls bdrv_backing_update_filename(), which may do node reopen to
RW.

Permission update system is not prepared to nested updates, at least it
has intermediate permission-update state stored in BdrvChild
structures: has_backup_perm, backup_perm and backup_shared_perm.

So, let's first do bdrv_replace_node_common() (which is more
transactional than open-coded update in bdrv_drop_intermediate()) and
then call update_filename() in separate. We still do not rollback
changes in case of update_filename() failure but it's not much worse
than pre-patch behavior.

Note that bdrv_replace_node_common() does check for frozen children,
so corresponding check is dropped in bdrv_drop_intermediate().

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20201106124241.16950-4-vsementsov@virtuozzo.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>


  Commit: 2b030ce1ed75e075d35b0d1008a0cacd73624b28
      
https://github.com/qemu/qemu/commit/2b030ce1ed75e075d35b0d1008a0cacd73624b28
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M .cirrus.yml
    M block.c
    M block/blkdebug.c
    M block/dmg-lzfse.c
    M block/dmg.c
    M block/nfs.c
    M block/qcow2-cluster.c
    M block/qcow2.c
    M block/qcow2.h
    M block/vpc.c
    M hw/block/nvme.c
    M include/block/block.h
    M include/block/block_int.h
    M tests/qemu-iotests/240
    M tests/qemu-iotests/240.out
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2020-11-09-v2' 
into staging

Block patches for 5.2.0-rc1:
- Some nvme fixes (addressing problems spotted by Coverity)
- Fix nfs compiling on mingw (and enable it in Cirrus)
- Fix an error path in bdrv_co_invalidate_cache() (permission update
  was initiated, but not aborted)
- Fix (on-error) roll back in bdrv_drop_intermediate(): Instead of
  inlining bdrv_replace_node() (wrongly), call that function
- Fix for iotest 240
- Fix error handling in bdrv_getlength()
- Be more explicit about how QCowL2Meta objects are handled
- Cleanups

# gpg: Signature made Mon 09 Nov 2020 17:45:06 GMT
# gpg:                using RSA key 91BEB60A30DB3E8857D11829F407DB0061D5CF40
# gpg:                issuer "mreitz@redhat.com"
# gpg: Good signature from "Max Reitz <mreitz@redhat.com>" [full]
# Primary key fingerprint: 91BE B60A 30DB 3E88 57D1  1829 F407 DB00 61D5 CF40

* remotes/maxreitz/tags/pull-block-2020-11-09-v2:
  block: make bdrv_drop_intermediate() less wrong
  block: add bdrv_replace_node_common()
  block: add forgotten bdrv_abort_perm_update() to bdrv_co_invalidate_cache()
  block: Fix some code style problems, "foo* bar" should be "foo *bar"
  block: Fix integer promotion error in bdrv_getlength()
  block: enable libnfs on msys2/mingw in cirrus.yml
  block: Fixes nfs compiling error on msys2/mingw
  iotests: rewrite iotest 240 in python
  iotests: add filter_qmp_virtio_scsi function
  hw/block/nvme: fix free of array-typed value
  hw/block/nvme: fix uint16_t use of uint32_t sgls member
  hw/block/nvme: fix null ns in register namespace
  qcow2: Document and enforce the QCowL2Meta invariants
  block: Move bdrv_drain_all_end_quiesce() to block_int.h
  block: Remove unused include

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: b1b9ab1c04d560f86d8da3dfca4d8b21de75fee6
      
https://github.com/qemu/qemu/commit/b1b9ab1c04d560f86d8da3dfca4d8b21de75fee6
  Author: Michael Roth <michael.roth@amd.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: fix missing closedir() in qmp_guest_get_disks()

We opendir("/sys/block") at the beginning of the function, but we never
close it prior to returning.

Fixes: Coverity CID 1436130
Fixes: fed3956429d5 ("qga: add implementation of guest-get-disks for Linux")
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Tomáš Golembiovský <tgolembi@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>


  Commit: 43afbbd9fea1b255cc81f5f4bfd0b6a88826c735
      
https://github.com/qemu/qemu/commit/43afbbd9fea1b255cc81f5f4bfd0b6a88826c735
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mdroth/tags/qga-pull-2020-11-09-tag' 
into staging

qemu-ga patch queue for hard-freeze

* fix leaked DIR* descriptor in guest-get-disks spotted by coverity

# gpg: Signature made Mon 09 Nov 2020 20:11:08 GMT
# gpg:                using RSA key CEACC9E15534EBABB82D3FA03353C9CEF108B584
# gpg:                issuer "michael.roth@amd.com"
# gpg: Good signature from "Michael Roth <flukshun@gmail.com>" [full]
# gpg:                 aka "Michael Roth <mdroth@utexas.edu>" [full]
# gpg:                 aka "Michael Roth <mdroth@linux.vnet.ibm.com>" [full]
# Primary key fingerprint: CEAC C9E1 5534 EBAB B82D  3FA0 3353 C9CE F108 B584

* remotes/mdroth/tags/qga-pull-2020-11-09-tag:
  qga: fix missing closedir() in qmp_guest_get_disks()

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: c445593d30037d0c82241e8ec23eb845bca476e9
      
https://github.com/qemu/qemu/commit/c445593d30037d0c82241e8ec23eb845bca476e9
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M target/riscv/cpu-param.h
    M target/riscv/cpu.h
    M target/riscv/cpu_helper.c

  Log Message:
  -----------
  target/riscv: Add a virtualised MMU Mode

Add a new MMU mode that includes the current virt mode.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 
4b301bc0ea36da962fc1605371b65019ac3073df.1604464950.git.alistair.francis@wdc.com


  Commit: 3e5979046f3f5f65828d3950d0c3ec9846d63715
      
https://github.com/qemu/qemu/commit/3e5979046f3f5f65828d3950d0c3ec9846d63715
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M target/riscv/op_helper.c

  Log Message:
  -----------
  target/riscv: Set the virtualised MMU mode when doing hyp accesses

When performing the hypervisor load/store operations set the MMU mode to
indicate that we are virtualised.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 
e411c61a1452cad16853f13cac2fb86dc91ebee8.1604464950.git.alistair.francis@wdc.com


  Commit: 1c1c060aa866986ef8b7eb334abbb8c104a46e5c
      
https://github.com/qemu/qemu/commit/1c1c060aa866986ef8b7eb334abbb8c104a46e5c
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M target/riscv/cpu.h
    M target/riscv/cpu_bits.h
    M target/riscv/cpu_helper.c
    M target/riscv/op_helper.c

  Log Message:
  -----------
  target/riscv: Remove the HS_TWO_STAGE flag

The HS_TWO_STAGE flag is no longer required as the MMU index contains
the information if we are performing a two stage access.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 
f514b128b1ff0fb41c85f914cee18f905007a922.1604464950.git.alistair.francis@wdc.com


  Commit: 743077b35b1ed88ed243daefafe9403d88a958f6
      
https://github.com/qemu/qemu/commit/743077b35b1ed88ed243daefafe9403d88a958f6
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M target/riscv/cpu.h
    M target/riscv/helper.h
    M target/riscv/insn_trans/trans_rvh.c.inc
    M target/riscv/op_helper.c
    M target/riscv/translate.c

  Log Message:
  -----------
  target/riscv: Remove the hyp load and store functions

Remove the special Virtulisation load and store functions and just use
the standard tcg tcg_gen_qemu_ld_tl() and tcg_gen_qemu_st_tl() functions
instead.

As part of this change we ensure we still run an access check to make
sure we can perform the operations.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 
189ac3e53ef2854824d18aad7074c6649f17de2c.1604464950.git.alistair.francis@wdc.com


  Commit: 7687537ab0c16e0b1e69e7707456573a64b8e13b
      
https://github.com/qemu/qemu/commit/7687537ab0c16e0b1e69e7707456573a64b8e13b
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M target/riscv/helper.h
    M target/riscv/insn_trans/trans_rvh.c.inc
    M target/riscv/op_helper.c

  Log Message:
  -----------
  target/riscv: Split the Hypervisor execute load helpers

Split the hypervisor execute load functions into two seperate functions.
This avoids us having to pass the memop to the C helper functions.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 
5b1550f0faa3c435cc77f3c1ae811dea98ab9e36.1604464950.git.alistair.francis@wdc.com


  Commit: 96338fefc19a143abdc91f6c44f37683274b08d4
      
https://github.com/qemu/qemu/commit/96338fefc19a143abdc91f6c44f37683274b08d4
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   2020-11-09 (Mon, 09 Nov 2020)

  Changed paths:
    M hw/intc/ibex_plic.c

  Log Message:
  -----------
  hw/intc/ibex_plic: Clear the claim register when read

After claiming the interrupt by reading the claim register we want to
clear the register to make sure the interrupt doesn't appear at the next
read.

This matches the documentation for the claim register as when an interrupt
is claimed by a target the relevant bit of IP is cleared (which we already
do): https://docs.opentitan.org/hw/ip/rv_plic/doc/index.html

This also matches the current hardware.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 
68d4575deef2559b7a747f3bda193fcf43af4558.1604629928.git.alistair.francis@wdc.com


  Commit: b8ae597f0e6df9d1d80e07083fabf763fcb46013
      
https://github.com/qemu/qemu/commit/b8ae597f0e6df9d1d80e07083fabf763fcb46013
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M linux-user/sparc/signal.c

  Log Message:
  -----------
  linux-user/sparc: Fix errors in target_ucontext structures

The various structs that make up the SPARC target_ucontext had some
errors:
 * target structures must not include fields which are host pointers,
   which might be the wrong size.  These should be abi_ulong instead
 * because we don't have the 'long double' part of the mcfpu_fregs
   union in our version of the target_mc_fpu struct, we need to
   manually force it to be 16-aligned

In particular, the lack of 16-alignment caused sparc64_get_context()
and sparc64_set_context() to read and write all the registers at the
wrong offset, which triggered a guest glibc stack check in
siglongjmp:
  *** longjmp causes uninitialized stack frame ***: terminated
when trying to run bash.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20201105212314.9628-2-peter.maydell@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 266b41582e0de8c30707614d6733ecf6485c7677
      
https://github.com/qemu/qemu/commit/266b41582e0de8c30707614d6733ecf6485c7677
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M linux-user/sparc/signal.c

  Log Message:
  -----------
  linux-user/sparc: Correct set/get_context handling of fp and i7

Because QEMU's user-mode emulation just directly accesses guest CPU
state, for SPARC the guest register window state is not the same in
the sparc64_get_context() and sparc64_set_context() functions as it
is for the real kernel's versions of those functions.  Specifically,
for the kernel it has saved the user space state such that the O*
registers go into a pt_regs struct as UREG_I*, and the I* registers
have been spilled onto the userspace stack.  For QEMU, we haven't
done that, so the guest's O* registers are still in WREG_O* and the
I* registers in WREG_I*.

The code was already accessing the O* registers correctly for QEMU,
but had copied the kernel code for accessing the I* registers off the
userspace stack.  Replace this with direct accesses to fp and i7 in
the CPU state, and add a comment explaining why we differ from the
kernel code here.

This fix is sufficient to get bash to a shell prompt.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20201105212314.9628-3-peter.maydell@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: c3ab5df2f5c466d998917f2c707e206322063dcd
      
https://github.com/qemu/qemu/commit/c3ab5df2f5c466d998917f2c707e206322063dcd
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M linux-user/sparc/signal.c

  Log Message:
  -----------
  linux-user/sparc: Don't zero high half of PC, NPC, PSR in sigreturn

The function do_sigreturn() tries to store the PC, NPC and PSR in
uint32_t local variables, which implicitly drops the high half of
these fields for 64-bit guests.

The usual effect was that a guest which used signals would crash on
return from a signal unless it was lucky enough to take it while the
PC was in the low 4GB of the address space.  In particular, Debian
/bin/dash and /bin/bash would segfault after executing external
commands.

Use abi_ulong, which is the type these fields all have in the
__siginfo_t struct.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20201105212314.9628-4-peter.maydell@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 3758e88bb8b38d54134a90f5afd6b21c7495ed5a
      
https://github.com/qemu/qemu/commit/3758e88bb8b38d54134a90f5afd6b21c7495ed5a
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add gitlab-pipeline-status script to GitLab CI section

Do not let the gitlab-pipeline-status script unmaintained,
add it to the 'GitLab Continuous Integration' section.

Fixes: c02b2eac55e ("GitLab Gating CI: introduce pipeline-status contrib 
script")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201108204535.2319870-5-philmd@redhat.com>
Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: f3a0208f24775c23c3db867a5e6df889d5132ed6
      
https://github.com/qemu/qemu/commit/f3a0208f24775c23c3db867a5e6df889d5132ed6
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M MAINTAINERS
    A docs/devel/fuzzing.rst
    R docs/devel/fuzzing.txt
    M docs/devel/index.rst

  Log Message:
  -----------
  docs/fuzz: rST-ify the fuzzing documentation

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201106180600.360110-2-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: e6a3e1322ba9e05a7919d9cd10d05c8c23fa8698
      
https://github.com/qemu/qemu/commit/e6a3e1322ba9e05a7919d9cd10d05c8c23fa8698
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M docs/devel/fuzzing.rst

  Log Message:
  -----------
  docs/fuzz: update fuzzing documentation post-meson

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201106180600.360110-3-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: bb451d248719aaa6c32524e418444a1b8159b7dd
      
https://github.com/qemu/qemu/commit/bb451d248719aaa6c32524e418444a1b8159b7dd
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M scripts/oss-fuzz/build.sh

  Log Message:
  -----------
  scripts/oss-fuzz: give all fuzzers -target names

We switched to hardlinks in
a942f64cc4 ("scripts/oss-fuzz: use hardlinks instead of copying")

The motivation was to conserve space (50 fuzzers built with ASAN, can
weigh close to 9 GB).

Unfortunately, OSS-Fuzz (partially) treated the underlying copy of the
fuzzer as a standalone fuzzer. To attempt to fix, we tried:

f8b8f37463 ("scripts/oss-fuzz: rename bin/qemu-fuzz-i386")

This was also not a complete fix, because though OSS-Fuzz
ignores the renamed fuzzer, the underlying ClusterFuzz, doesn't:
https://storage.googleapis.com/clusterfuzz-builds/qemu/targets.list.address
https://oss-fuzz-build-logs.storage.googleapis.com/log-9bfb55f9-1c20-4aa6-a49c-ede12864eeb2.txt
(clusterfuzz still lists qemu-fuzz-i386.base as a fuzzer)

This change keeps the hard-links, but makes them all point to a file
with a qemu-fuzz-i386-target-.. name. If we have targets, A, B, C, the
result will be:

qemu-fuzz-i386-target-A (base file)
qemu-fuzz-i386-target-B -> qemu-fuzz-i386-target-A
qemu-fuzz-i386-target-C -> qemu-fuzz-i386-target-A

The result should be that every file that looks like a fuzzer to
OSS-Fuzz/ClusterFuzz, can run as a fuzzer (we don't have a separate base
copy). Unfortunately, there is not simple way to test this locally.

In the future, it might be worth it to link the majority of QEMU in as a
shared-object (see https://github.com/google/oss-fuzz/issues/4575 )

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201108171136.160607-1-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: aba378dee666fe2aa07f3d318fdf904f454389af
      
https://github.com/qemu/qemu/commit/aba378dee666fe2aa07f3d318fdf904f454389af
  Author: Daniele Buono <dbuono@linux.vnet.ibm.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M tests/qtest/fuzz/fork_fuzz.ld

  Log Message:
  -----------
  fuzz: Make fork_fuzz.ld compatible with LLVM's LLD

LLVM's linker, LLD, supports the keyword "INSERT AFTER", starting with
version 11.
However, when multiple sections are defined in the same "INSERT AFTER",
they are added in a reversed order, compared to BFD's LD.

This patch makes fork_fuzz.ld generic enough to work with both linkers.
Each section now has its own "INSERT AFTER" keyword, so proper ordering is
defined between the sections added.

Signed-off-by: Daniele Buono <dbuono@linux.vnet.ibm.com>
Message-Id: <20201105221905.1350-2-dbuono@linux.vnet.ibm.com>
Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 2deca810d8c2b8d0c56782ef8d9f4bfbfcacd261
      
https://github.com/qemu/qemu/commit/2deca810d8c2b8d0c56782ef8d9f4bfbfcacd261
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: surface deprecated targets in the help output

Show the targets but keep them separate from the main list.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201029201449.6926-1-alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 4daa9055beffa17ed47a71d52e7af219acc38e29
      
https://github.com/qemu/qemu/commit/4daa9055beffa17ed47a71d52e7af219acc38e29
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M .gitlab-ci.yml

  Log Message:
  -----------
  gitlab: publish the docs built during CI

Most of the build jobs will create the sphinx documentation. If we
expose this as an artifact of a "pages" job in a "public" directory, it
will get published using GitLab Pages. This means a user can push a
branch with docs changes to GitLab and view the results at

  https://yourusername.gitlab.io/qemu/

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20201102130926.161183-2-berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: d0f26e68a0545db5010e8fac7386739a2c7213b3
      
https://github.com/qemu/qemu/commit/d0f26e68a0545db5010e8fac7386739a2c7213b3
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M .gitlab-ci.yml

  Log Message:
  -----------
  gitlab: force enable docs build in Fedora, Ubuntu, Debian

Meson runs a test to see if Sphinx works, and automatically disables it
on error. This can lead to the CI jobs skipping docs build without
maintainers noticing the problem. Use --enable-docs to force a fatal
error if Sphinx doesn't work on the jobs where we expect it to be OK.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20201102130926.161183-3-berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 704a256da83d6535fce879ba4137299bbe626e5e
      
https://github.com/qemu/qemu/commit/704a256da83d6535fce879ba4137299bbe626e5e
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    A docs/_templates/editpage.html
    M docs/conf.py
    A docs/devel/_templates/editpage.html
    A docs/interop/_templates/editpage.html
    A docs/specs/_templates/editpage.html
    A docs/system/_templates/editpage.html
    A docs/tools/_templates/editpage.html
    A docs/user/_templates/editpage.html

  Log Message:
  -----------
  docs: add "page source" link to sphinx documentation

Add a link to the top of the sidebar in every docs page that takes the
user back to the source code in gitlab.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20201102130926.161183-5-berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: d4e279141bf59e702beae3a1002b482f733a2ac2
      
https://github.com/qemu/qemu/commit/d4e279141bf59e702beae3a1002b482f733a2ac2
  Author: Dima Stepanov <dimastep@yandex-team.ru>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M tests/qtest/fuzz/meson.build
    A tests/qtest/fuzz/virtio_blk_fuzz.c

  Log Message:
  -----------
  fuzz: add virtio-blk fuzz target

The virtio-blk fuzz target sets up and fuzzes the available virtio-blk
queues. The implementation is based on two files:
  - tests/qtest/fuzz/virtio_scsi_fuzz.c
  - tests/qtest/virtio_blk_test.c

Signed-off-by: Dima Stepanov <dimastep@yandex-team.ru>
Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: 
<e2405c459302ecaee2555405604975353bfa3837.1604920905.git.dimastep@yandex-team.ru>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: ad57e2b1f53f507392807e6e2b36c34454b270fa
      
https://github.com/qemu/qemu/commit/ad57e2b1f53f507392807e6e2b36c34454b270fa
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M tests/qtest/libqos/libqtest.h
    M tests/qtest/libqtest-single.h

  Log Message:
  -----------
  qtest: Update references to parse_escape() in comments

In commit 61030280ca2d67bd in 2018 we renamed the parse_escape()
function to parse_interpolation(), but we didn't catch the references
to this function in doc comments in libqtest.h. Update them.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20201109162621.18885-1-peter.maydell@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 074df27f744f0a72f8b33b2fd5a6cdc557f48f7b
      
https://github.com/qemu/qemu/commit/074df27f744f0a72f8b33b2fd5a6cdc557f48f7b
  Author: Daniele Buono <dbuono@linux.vnet.ibm.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M target/s390x/cpu_models.c

  Log Message:
  -----------
  s390x: fix clang 11 warnings in cpu_models.c

There are void * pointers that get casted to enums, in cpu_models.c
Such casts can result in a small integer type and are caught as
warnings with clang, starting with version 11:

Clang 11 finds a bunch of spots in the code that trigger this new warnings:

../qemu-base/target/s390x/cpu_models.c:985:21: error: cast to smaller integer 
type 'S390Feat' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
    S390Feat feat = (S390Feat) opaque;
                    ^~~~~~~~~~~~~~~~~
../qemu-base/target/s390x/cpu_models.c:1002:21: error: cast to smaller integer 
type 'S390Feat' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
    S390Feat feat = (S390Feat) opaque;
                    ^~~~~~~~~~~~~~~~~
../qemu-base/target/s390x/cpu_models.c:1036:27: error: cast to smaller integer 
type 'S390FeatGroup' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
    S390FeatGroup group = (S390FeatGroup) opaque;
                          ^~~~~~~~~~~~~~~~~~~~~~
../qemu-base/target/s390x/cpu_models.c:1057:27: error: cast to smaller integer 
type 'S390FeatGroup' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
    S390FeatGroup group = (S390FeatGroup) opaque;
                          ^~~~~~~~~~~~~~~~~~~~~~
4 errors generated.

Avoid this warning by casting the pointer to uintptr_t first.

Signed-off-by: Daniele Buono <dbuono@linux.vnet.ibm.com>
Message-Id: <20201105221905.1350-3-dbuono@linux.vnet.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: a58cabd0e355fc51f18db359ba260da268df26ef
      
https://github.com/qemu/qemu/commit/a58cabd0e355fc51f18db359ba260da268df26ef
  Author: Daniele Buono <dbuono@linux.vnet.ibm.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M hw/s390x/ipl.h

  Log Message:
  -----------
  s390x: Avoid variable size warning in ipl.h

S390IPLState contains two IplParameterBlock, which may in turn have
either a IPLBlockPV or a IplBlockFcp, both ending with a variable
sized field (an array).

This causes a warning with clang 11 or greater, which checks that
variable sized type are only allocated at the end of the struct:

In file included from ../qemu-cfi-v3/target/s390x/diag.c:21:
../qemu-cfi-v3/hw/s390x/ipl.h:161:23: error: field 'iplb' with variable sized 
type 'IplParameterBlock' (aka 'union IplParameterBlock') not at the end of a 
struct or class is a GNU extension 
[-Werror,-Wgnu-variable-sized-type-not-at-end]
    IplParameterBlock iplb;
                      ^
../qemu-cfi-v3/hw/s390x/ipl.h:162:23: error: field 'iplb_pv' with variable 
sized type 'IplParameterBlock' (aka 'union IplParameterBlock') not at the end 
of a struct or class is a GNU extension 
[-Werror,-Wgnu-variable-sized-type-not-at-end]
    IplParameterBlock iplb_pv;

In this case, however, the warning is a false positive, because
IPLBlockPV and IplBlockFcp are allocated in a union wrapped at 4K,
making the union non-variable sized.

Fix the warning by turning the two variable sized arrays into arrays
of size 0. This avoids the compiler error and should produce the
same code.

Signed-off-by: Daniele Buono <dbuono@linux.vnet.ibm.com>
Message-Id: <20201105221905.1350-5-dbuono@linux.vnet.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: f7e1914adad8885a5d4c70239ab90d901ed97e9f
      
https://github.com/qemu/qemu/commit/f7e1914adad8885a5d4c70239ab90d901ed97e9f
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M hw/intc/ibex_plic.c
    M target/riscv/cpu-param.h
    M target/riscv/cpu.h
    M target/riscv/cpu_bits.h
    M target/riscv/cpu_helper.c
    M target/riscv/helper.h
    M target/riscv/insn_trans/trans_rvh.c.inc
    M target/riscv/op_helper.c
    M target/riscv/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/alistair/tags/pull-riscv-to-apply-20201109' into staging

This fixes two bugs in the RISC-V port. One is a bug in the
Ibex PLIC, the other fixes the Hypvervisor access functions.

# gpg: Signature made Tue 10 Nov 2020 03:53:49 GMT
# gpg:                using RSA key F6C4AC46D4934868D3B8CE8F21E10D29DF977054
# gpg: Good signature from "Alistair Francis <alistair@alistair23.me>" [full]
# Primary key fingerprint: F6C4 AC46 D493 4868 D3B8  CE8F 21E1 0D29 DF97 7054

* remotes/alistair/tags/pull-riscv-to-apply-20201109:
  hw/intc/ibex_plic: Clear the claim register when read
  target/riscv: Split the Hypervisor execute load helpers
  target/riscv: Remove the hyp load and store functions
  target/riscv: Remove the HS_TWO_STAGE flag
  target/riscv: Set the virtualised MMU mode when doing hyp accesses
  target/riscv: Add a virtualised MMU Mode

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 6c8e801f076109a31d864fdbeec57badd159fb06
      
https://github.com/qemu/qemu/commit/6c8e801f076109a31d864fdbeec57badd159fb06
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M linux-user/sparc/signal.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/vivier2/tags/linux-user-for-5.2-pull-request' into staging

Some linux-user/sparc fixes

# gpg: Signature made Tue 10 Nov 2020 08:30:17 GMT
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" 
[full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/linux-user-for-5.2-pull-request:
  linux-user/sparc: Don't zero high half of PC, NPC, PSR in sigreturn
  linux-user/sparc: Correct set/get_context handling of fp and i7
  linux-user/sparc: Fix errors in target_ucontext structures

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 9ad5f6b05f181b36bc368e2bf60b1548d2937667
      
https://github.com/qemu/qemu/commit/9ad5f6b05f181b36bc368e2bf60b1548d2937667
  Author: Andrew Jones <drjones@redhat.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M hw/arm/Kconfig

  Log Message:
  -----------
  hw/arm/Kconfig: ARM_V7M depends on PTIMER

commit 32bd322a0134 ("hw/timer/armv7m_systick: Rewrite to use ptimers")
changed armv7m_systick to build on ptimers. Make sure we have ptimers
in the build when building armv7m_systick.

Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20201104103343.30392-1-drjones@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 9df0a97298292f1638d4de9258ff1fc9092b7813
      
https://github.com/qemu/qemu/commit/9df0a97298292f1638d4de9258ff1fc9092b7813
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M hw/ssi/imx_spi.c
    M hw/ssi/xilinx_spi.c

  Log Message:
  -----------
  ssi: Fix bad printf format specifiers

We should use printf format specifier "%u" instead of "%d" for
argument of type "unsigned int".

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 5FA280F5.8060902@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: bdc3b6f570e8bd219aa6a24a149b35a691e6986c
      
https://github.com/qemu/qemu/commit/bdc3b6f570e8bd219aa6a24a149b35a691e6986c
  Author: Xinhao Zhang <zhangxinhao1@huawei.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M target/arm/arch_dump.c
    M target/arm/arm-semi.c
    M target/arm/helper.c

  Log Message:
  -----------
  target/arm: add spaces around operator

Fix code style. Operator needs spaces both sides.

Signed-off-by: Xinhao Zhang <zhangxinhao1@huawei.com>
Signed-off-by: Kai Deng <dengkai1@huawei.com>
Message-id: 20201103114529.638233-1-zhangxinhao1@huawei.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 6eb55edbabb9eed1e4c7dfb233e7d738e8b5fa89
      
https://github.com/qemu/qemu/commit/6eb55edbabb9eed1e4c7dfb233e7d738e8b5fa89
  Author: Xinhao Zhang <zhangxinhao1@huawei.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M target/arm/translate-a64.c

  Log Message:
  -----------
  target/arm: Don't use '#' flag of printf format

Fix code style. Don't use '#' flag of printf format ('%#') in
format strings, use '0x' prefix instead

Signed-off-by: Xinhao Zhang <zhangxinhao1@huawei.com>
Signed-off-by: Kai Deng <dengkai1@huawei.com>
Message-id: 20201103114529.638233-2-zhangxinhao1@huawei.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7f350a87e3a85e8a260ce4b133d549a7b2789213
      
https://github.com/qemu/qemu/commit/7f350a87e3a85e8a260ce4b133d549a7b2789213
  Author: Xinhao Zhang <zhangxinhao1@huawei.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M target/arm/translate.c

  Log Message:
  -----------
  target/arm: add space before the open parenthesis '('

Fix code style. Space required before the open parenthesis '('.

Signed-off-by: Xinhao Zhang <zhangxinhao1@huawei.com>
Signed-off-by: Kai Deng <dengkai1@huawei.com>
Message-id: 20201103114529.638233-3-zhangxinhao1@huawei.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 0339c2a86fe645413b884ac96f7a7d5d9ce9e39e
      
https://github.com/qemu/qemu/commit/0339c2a86fe645413b884ac96f7a7d5d9ce9e39e
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    A docs/system/arm/sbsa.rst
    M docs/system/target-arm.rst

  Log Message:
  -----------
  docs: add some notes on the sbsa-ref machine

We should at least document what this machine is about.

Reviewed-by: Graeme Gregory <graeme@nuviainc.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20201104165254.24822-1-alex.bennee@linaro.org
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Shashi Mallela <shashi.mallela@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
[PMM: fixed filename mismatch]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: bec3c97e0cf9a80f555dc056cc60b53fcd43c424
      
https://github.com/qemu/qemu/commit/bec3c97e0cf9a80f555dc056cc60b53fcd43c424
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M hw/arm/Kconfig

  Log Message:
  -----------
  hw/arm/virt: Remove dependency on Cortex-A15 MPCore peripherals

When using a Cortex-A15, the Virt machine does not use any
MPCore peripherals. Remove the dependency.

Fixes: 7951c7b7c05 ("hw/arm: Express dependencies of the virt machine with 
Kconfig")
Reported-by: Miroslav Rezanina <mrezanin@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20201107114852.271922-1-philmd@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 604cef3e57eaeeef77074d78f6cf2eca1be11c62
      
https://github.com/qemu/qemu/commit/604cef3e57eaeeef77074d78f6cf2eca1be11c62
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M target/arm/helper.h
    M target/arm/op_helper.c
    M target/arm/translate-neon.c.inc

  Log Message:
  -----------
  target/arm: Fix neon VTBL/VTBX for len > 1

The helper function did not get updated when we reorganized
the vector register file for SVE.  Since then, the neon dregs
are non-sequential and cannot be simply indexed.

At the same time, make the helper function operate on 64-bit
quantities so that we do not have to call it twice.

Fixes: c39c2b9043e
Reported-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
[PMM: use aa32_vfp_dreg() rather than opencoding]
Message-id: 20201105171126.88014-1-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 509602eed4d5d51cb71911ffc9c5ecc1cd04db06
      
https://github.com/qemu/qemu/commit/509602eed4d5d51cb71911ffc9c5ecc1cd04db06
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M hw/arm/armsse.c

  Log Message:
  -----------
  hw/arm/armsse: Correct expansion MPC interrupt lines

We can use one MPC per SRAM bank, but we currently only wire the
IRQ from the first expansion MPC to the IRQ splitter. Fix that.

Fixes: bb75e16d5e6 ("hw/arm/iotkit: Wire up MPC interrupt lines")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201107193403.436146-2-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 2108e5092a67aaaa710845159cab9df514e28716
      
https://github.com/qemu/qemu/commit/2108e5092a67aaaa710845159cab9df514e28716
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M hw/arm/stm32f205_soc.c
    M hw/misc/stm32f2xx_syscfg.c
    M include/hw/misc/stm32f2xx_syscfg.h

  Log Message:
  -----------
  hw/misc/stm32f2xx_syscfg: Remove extraneous IRQ

The system configuration controller (SYSCFG) doesn't have
any output IRQ (and the INTC input #71 belongs to the UART6).
Remove the invalid code.

Fixes: db635521a02 ("stm32f205: Add the stm32f205 SoC")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201107193403.436146-3-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: bdad3654d3c55f478e538037d9eccd204e5fc8ee
      
https://github.com/qemu/qemu/commit/bdad3654d3c55f478e538037d9eccd204e5fc8ee
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M hw/arm/nseries.c

  Log Message:
  -----------
  hw/arm/nseries: Remove invalid/unnecessary n8x0_uart_setup()

omap2420_mpu_init() introduced in commit 827df9f3c5f ("Add basic
OMAP2 chip support") takes care of creating the 3 UARTs.

Then commit 58a26b477e9 ("Emulate a serial bluetooth HCI with H4+
extensions and attach to n8x0's UART") added n8x0_uart_setup()
which create the UART and connects it to an IRQ output,
overwritting the existing peripheral and its IRQ connection.
This is incorrect.

Fortunately we don't need to fix this, because commit 6da68df7f9b
("hw/arm/nseries: Replace the bluetooth chardev with a "null"
chardev") removed the use of this peripheral. We can simply
remove the code.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201107193403.436146-4-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 498661dd22a1b60461e41d256a7197fea3c4ff0e
      
https://github.com/qemu/qemu/commit/498661dd22a1b60461e41d256a7197fea3c4ff0e
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M hw/arm/Kconfig
    M hw/arm/musicpal.c

  Log Message:
  -----------
  hw/arm/musicpal: Don't connect two qemu_irqs directly to the same input

The MusicPal board code connects both of the IRQ outputs of the UART
to the same INTC qemu_irq. Connecting two qemu_irqs outputs directly
to the same input is not valid as it produces subtly wrong behaviour
(for instance if both the IRQ lines are high, and then one goes
low, the INTC input will see this as a high-to-low transition
even though the second IRQ line should still be holding it high).

This kind of wiring needs an explicitly created OR gate; add one.

Inspired-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201107193403.436146-5-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 44cbf34975b81ac40e715cd3ee488a114d7b7d29
      
https://github.com/qemu/qemu/commit/44cbf34975b81ac40e715cd3ee488a114d7b7d29
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M hw/arm/musicpal.c

  Log Message:
  -----------
  hw/arm/musicpal: Only use qdev_get_gpio_in() when necessary

We don't need to fill the full pic[] array if we only use
few of the interrupt lines. Directly call qdev_get_gpio_in()
when necessary.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201107193403.436146-6-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 0e5dc775736fda574e0df9c4c9a29c92201833fe
      
https://github.com/qemu/qemu/commit/0e5dc775736fda574e0df9c4c9a29c92201833fe
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M hw/arm/nseries.c

  Log Message:
  -----------
  hw/arm/nseries: Check return value from load_image_targphys()

The nseries machines have a codepath that allows them to load a
secondary bootloader.  This code wasn't checking that the
load_image_targphys() succeeded.  Check the return value and report
the error to the user.

While we're in the vicinity, fix the comment style of the
comment documenting what this image load is doing.

Fixes: Coverity CID 1192904
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201103114918.11807-1-peter.maydell@linaro.org


  Commit: 8006c9842bf6f52fdcfb1c8f64c9bd714e661301
      
https://github.com/qemu/qemu/commit/8006c9842bf6f52fdcfb1c8f64c9bd714e661301
  Author: Havard Skinnemoen <hskinnemoen@google.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M tests/qtest/npcm7xx_rng-test.c

  Log Message:
  -----------
  tests/qtest/npcm7xx_rng-test: count runs properly

The number of runs is equal to the number of 0-1 and 1-0 transitions,
plus one. Currently, it's counting the number of times these transitions
do _not_ happen, plus one.

Source:
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-22r1a.pdf
section 2.3.4 point (3).

Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20201103011457.2959989-2-hskinnemoen@google.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: b6c56c8a9a4064ea783f352f43c5df6231a110fa
      
https://github.com/qemu/qemu/commit/b6c56c8a9a4064ea783f352f43c5df6231a110fa
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M target/arm/translate-neon.c.inc

  Log Message:
  -----------
  target/arm/translate-neon.c: Handle VTBL UNDEF case before VFP access check

Checks for UNDEF cases should go before the "is VFP enabled?" access
check, except in special cases. Move a stray UNDEF check in the VTBL
trans function up above the access check.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201109145324.2859-1-peter.maydell@linaro.org


  Commit: a3a929083b03c839b3c87c461769e605ec79b0a7
      
https://github.com/qemu/qemu/commit/a3a929083b03c839b3c87c461769e605ec79b0a7
  Author: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M softmmu/physmem.c

  Log Message:
  -----------
  physmem: improve ram size error messages

 Ram size mismatch condition logs below message.

   "Length mismatch: pc.ram: 0x80000000 in != 0x180000000: Invalid argument"

 This patch improves the readability of error messages.
 Removed the superflous "in" and changed "Length" to "Size".

Signed-off-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Reported-by: Li Zhang <li.zhang@cloud.ionos.com>
Message-Id: <20201022111302.8105-1-pankaj.gupta.linux@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 879860ca706fa1ef47ba511c49a6e2b1b49be9b7
      
https://github.com/qemu/qemu/commit/879860ca706fa1ef47ba511c49a6e2b1b49be9b7
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M .gitlab-ci.yml
    M MAINTAINERS
    M configure
    A docs/_templates/editpage.html
    M docs/conf.py
    A docs/devel/_templates/editpage.html
    A docs/devel/fuzzing.rst
    R docs/devel/fuzzing.txt
    M docs/devel/index.rst
    A docs/interop/_templates/editpage.html
    A docs/specs/_templates/editpage.html
    A docs/system/_templates/editpage.html
    A docs/tools/_templates/editpage.html
    A docs/user/_templates/editpage.html
    M hw/s390x/ipl.h
    M meson.build
    M scripts/device-crash-test
    M scripts/oss-fuzz/build.sh
    M target/s390x/cpu_models.c
    M tests/qtest/arm-cpu-features.c
    M tests/qtest/fuzz/fork_fuzz.ld
    M tests/qtest/fuzz/meson.build
    A tests/qtest/fuzz/virtio_blk_fuzz.c
    M tests/qtest/libqos/libqtest.h
    M tests/qtest/libqtest-single.h
    M tests/qtest/tpm-tests.c
    M tests/vm/openbsd

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/huth-gitlab/tags/pull-request-2020-11-10' into staging

* Some small qtest fixes
* Oss-fuzz updates
* Publish the docs built during gitlab CI to the user's gitlab.io page
* Update the OpenBSD VM test to v6.8
* Fix the device-crash-test script to run with the meson build system
* Some small s390x fixes

# gpg: Signature made Tue 10 Nov 2020 11:05:06 GMT
# 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/huth-gitlab/tags/pull-request-2020-11-10:
  s390x: Avoid variable size warning in ipl.h
  s390x: fix clang 11 warnings in cpu_models.c
  qtest: Update references to parse_escape() in comments
  fuzz: add virtio-blk fuzz target
  docs: add "page source" link to sphinx documentation
  gitlab: force enable docs build in Fedora, Ubuntu, Debian
  gitlab: publish the docs built during CI
  configure: surface deprecated targets in the help output
  fuzz: Make fork_fuzz.ld compatible with LLVM's LLD
  scripts/oss-fuzz: give all fuzzers -target names
  docs/fuzz: update fuzzing documentation post-meson
  docs/fuzz: rST-ify the fuzzing documentation
  MAINTAINERS: Add gitlab-pipeline-status script to GitLab CI section
  gitlab-ci: Drop generic cache rule
  tests/qtest/tpm: Remove redundant check in the tpm_test_swtpm_test()
  qtest: Fix bad printf format specifiers
  device-crash-test: Check if path is actually an executable file
  tests/vm: update openbsd to release 6.8
  meson: always include contrib/libvhost-user

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 3e7d06d05a3689972171ad6a289315d54ea2e915
      
https://github.com/qemu/qemu/commit/3e7d06d05a3689972171ad6a289315d54ea2e915
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    A docs/system/arm/sbsa.rst
    M docs/system/target-arm.rst
    M hw/arm/Kconfig
    M hw/arm/armsse.c
    M hw/arm/musicpal.c
    M hw/arm/nseries.c
    M hw/arm/stm32f205_soc.c
    M hw/misc/stm32f2xx_syscfg.c
    M hw/ssi/imx_spi.c
    M hw/ssi/xilinx_spi.c
    M include/hw/misc/stm32f2xx_syscfg.h
    M target/arm/arch_dump.c
    M target/arm/arm-semi.c
    M target/arm/helper.c
    M target/arm/helper.h
    M target/arm/op_helper.c
    M target/arm/translate-a64.c
    M target/arm/translate-neon.c.inc
    M target/arm/translate.c
    M tests/qtest/npcm7xx_rng-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20201110' 
into staging

target-arm queue:
 * hw/arm/Kconfig: ARM_V7M depends on PTIMER
 * Minor coding style fixes
 * docs: add some notes on the sbsa-ref machine
 * hw/arm/virt: Remove dependency on Cortex-A15 MPCore peripherals
 * target/arm: Fix neon VTBL/VTBX for len > 1
 * hw/arm/armsse: Correct expansion MPC interrupt lines
 * hw/misc/stm32f2xx_syscfg: Remove extraneous IRQ
 * hw/arm/nseries: Remove invalid/unnecessary n8x0_uart_setup()
 * hw/arm/musicpal: Don't connect two qemu_irqs directly to the same input
 * hw/arm/musicpal: Only use qdev_get_gpio_in() when necessary
 * hw/arm/nseries: Check return value from load_image_targphys()
 * tests/qtest/npcm7xx_rng-test: count runs properly
 * target/arm/translate-neon.c: Handle VTBL UNDEF case before VFP access check

# gpg: Signature made Tue 10 Nov 2020 11:17:45 GMT
# gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:                issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" 
[ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* remotes/pmaydell/tags/pull-target-arm-20201110:
  target/arm/translate-neon.c: Handle VTBL UNDEF case before VFP access check
  tests/qtest/npcm7xx_rng-test: count runs properly
  hw/arm/nseries: Check return value from load_image_targphys()
  hw/arm/musicpal: Only use qdev_get_gpio_in() when necessary
  hw/arm/musicpal: Don't connect two qemu_irqs directly to the same input
  hw/arm/nseries: Remove invalid/unnecessary n8x0_uart_setup()
  hw/misc/stm32f2xx_syscfg: Remove extraneous IRQ
  hw/arm/armsse: Correct expansion MPC interrupt lines
  target/arm: Fix neon VTBL/VTBX for len > 1
  hw/arm/virt: Remove dependency on Cortex-A15 MPCore peripherals
  docs: add some notes on the sbsa-ref machine
  target/arm: add space before the open parenthesis '('
  target/arm: Don't use '#' flag of printf format
  target/arm: add spaces around operator
  ssi: Fix bad printf format specifiers
  hw/arm/Kconfig: ARM_V7M depends on PTIMER

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: c6f28ed5075df79fef39c500362a3f4089256c9c
      
https://github.com/qemu/qemu/commit/c6f28ed5075df79fef39c500362a3f4089256c9c
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M VERSION

  Log Message:
  -----------
  Update version for v5.2.0-rc1 release

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: e87936ea299d8204e496b5ff19ffdca46c21610e
      
https://github.com/qemu/qemu/commit/e87936ea299d8204e496b5ff19ffdca46c21610e
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M hw/net/virtio-net.c

  Log Message:
  -----------
  virtio-net: Set mac address to hardware if the peer is vdpa

If the peer's type is vdpa, we need to set the mac address to hardware
in virtio_net_device_realize,

Signed-off-by: Cindy Lu <lulu@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: b492a4b8cad9977334fa4c80983e686184d6bb30
      
https://github.com/qemu/qemu/commit/b492a4b8cad9977334fa4c80983e686184d6bb30
  Author: Pan Nengyuan <pannengyuan@huawei.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M net/filter-rewriter.c

  Log Message:
  -----------
  net/filter-rewriter: destroy g_hash_table in colo_rewriter_cleanup

s->connection_track_table forgot to destroy in colo_rewriter_cleanup. Fix it.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 33609e95b206788681263b76d6649a556d064e4d
      
https://github.com/qemu/qemu/commit/33609e95b206788681263b76d6649a556d064e4d
  Author: Rao, Lei <lei.rao@intel.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M net/colo-compare.c

  Log Message:
  -----------
  Optimize seq_sorter function for colo-compare

The seq of tcp has been filled in fill_pkt_tcp_info, it
can be used directly here.

Signed-off-by: Lei Rao <lei.rao@intel.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: b70cb3b4854dc4d65c89a8f6704c0f1e9d900ac3
      
https://github.com/qemu/qemu/commit/b70cb3b4854dc4d65c89a8f6704c0f1e9d900ac3
  Author: Rao, Lei <lei.rao@intel.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  Reduce the time of checkpoint for COLO

we should set ram_bulk_stage to false after ram_state_init,
otherwise the bitmap will be unused in migration_bitmap_find_dirty.
all pages in ram cache will be flushed to the ram of secondary guest
for each checkpoint.

Signed-off-by: Lei Rao <lei.rao@intel.com>
Signed-off-by: Derek Su <dereksu@qnap.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 5647051f432b7c9b57525470b0a79a31339062d2
      
https://github.com/qemu/qemu/commit/5647051f432b7c9b57525470b0a79a31339062d2
  Author: Rao, Lei <lei.rao@intel.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  Fix the qemu crash when guest shutdown in COLO mode

In COLO mode, if the startup parameters of QEMU include "no-shutdown",
QEMU will crash when the guest shutdown. The root cause is when the
guest shutdown, the state of VM will switch COLO to SHUTDOWN. When do
checkpoint again, the state will be changed to COLO. But the state
switch is undefined in runstate_transitions_def, we should add it.
This patch fixes the following:
qemu-system-x86_64: invalid runstate transition: 'shutdown' -> 'colo'
Aborted

Signed-off-by: Lei Rao <lei.rao@intel.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 862ee1e07e9d4dc97263fc919cb76364a2b6d193
      
https://github.com/qemu/qemu/commit/862ee1e07e9d4dc97263fc919cb76364a2b6d193
  Author: Li Zhijian <lizhijian@cn.fujitsu.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M net/colo.c

  Log Message:
  -----------
  colo-compare: fix missing compare_seq initialization

Fixes: f449c9e549c ("colo: compare the packet based on the tcp sequence
number")

Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 45b9e8c33a844c80d6067a3271652af5654ba7bd
      
https://github.com/qemu/qemu/commit/45b9e8c33a844c80d6067a3271652af5654ba7bd
  Author: Li Zhijian <lizhijian@cn.fujitsu.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M net/colo-compare.c

  Log Message:
  -----------
  colo-compare: check mark in mutual exclusion

Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 0c4266ef2690312512512ad6f4e44b5ac1d44c0c
      
https://github.com/qemu/qemu/commit/0c4266ef2690312512512ad6f4e44b5ac1d44c0c
  Author: Zhang Chen <chen.zhang@intel.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M net/colo-compare.c

  Log Message:
  -----------
  net/colo-compare.c: Fix compare_timeout format issue

This parameter need compare with the return of qemu_clock_get_ms(),
it is uint64_t. So we need fix this issue here.

Fixes: 9cc43c94b31 ("net/colo-compare.c: Expose "compare_timeout" to users")

Reported-by: Derek Su <dereksu@qnap.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: ec081984f4ae7017e30f58599be54271e1b66d29
      
https://github.com/qemu/qemu/commit/ec081984f4ae7017e30f58599be54271e1b66d29
  Author: Zhang Chen <chen.zhang@intel.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M net/colo-compare.c

  Log Message:
  -----------
  net/colo-compare.c: Change the timer clock type

The virtual clock only runs during the emulation. It stops
when the virtual machine is stopped.
The host clock should be used for device models that emulate accurate
real time sources. It will continue to run when the virtual machine
is suspended. COLO need to know the host time here.

Fixes: dd321ecfc2e ("colo-compare: Use IOThread to Check old packet
regularly and Process packets of the primary")

Reported-by: Derek Su <dereksu@qnap.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 17475df2c1f5dc5b9a4fecd5997765897782832e
      
https://github.com/qemu/qemu/commit/17475df2c1f5dc5b9a4fecd5997765897782832e
  Author: Zhang Chen <chen.zhang@intel.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M net/colo-compare.c

  Log Message:
  -----------
  net/colo-compare.c: Add secondary old packet detection

Detect queued secondary packet to sync VM state in time.

Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 2f2fcff323349b6d4ffe00e897f8efb507f071b9
      
https://github.com/qemu/qemu/commit/2f2fcff323349b6d4ffe00e897f8efb507f071b9
  Author: Zhang Chen <chen.zhang@intel.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M net/colo-compare.c

  Log Message:
  -----------
  net/colo-compare.c: Increase default queued packet scan frequency

In my test, use this default parameter looks better.

Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 7564bf7701f00214cdc8a678a9f7df765244def1
      
https://github.com/qemu/qemu/commit/7564bf7701f00214cdc8a678a9f7df765244def1
  Author: Prasad J Pandit <pjp@fedoraproject.org>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M net/eth.c

  Log Message:
  -----------
  net: remove an assert call in eth_get_gso_type

eth_get_gso_type() routine returns segmentation offload type based on
L3 protocol type. It calls g_assert_not_reached if L3 protocol is
unknown, making the following return statement unreachable. Remove the
g_assert call, it maybe triggered by a guest user.

Reported-by: Gaoning Pan <pgn@zju.edu.cn>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: d949fe64b074af7adca1076556aaebbcfdf6932e
      
https://github.com/qemu/qemu/commit/d949fe64b074af7adca1076556aaebbcfdf6932e
  Author: AlexChen <alex.chen@huawei.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M net/l2tpv3.c

  Log Message:
  -----------
  net/l2tpv3: Remove redundant check in net_init_l2tpv3()

The result has been checked to be NULL before, it cannot be NULL here,
so the check is redundant. Remove it.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: AlexChen <alex.chen@huawei.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: b1b0393c3c58c0e96c7c44e2e98baa252d6c6813
      
https://github.com/qemu/qemu/commit/b1b0393c3c58c0e96c7c44e2e98baa252d6c6813
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M hw/core/machine.c
    M hw/misc/pvpanic.c
    M tests/qtest/pvpanic-test.c

  Log Message:
  -----------
  pvpanic: Advertise the PVPANIC_CRASHLOADED event support

Advertise both types of events as supported when the guest OS
queries the pvpanic device.  Currently only PVPANIC_PANICKED is
exposed; PVPANIC_CRASHLOADED must also be advertised, but only on
new machine types.

Fixes: 7dc58deea79a ("pvpanic: implement crashloaded event handling")
Reported-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: ce437484fced8292d90497d7b740335428fffed6
      
https://github.com/qemu/qemu/commit/ce437484fced8292d90497d7b740335428fffed6
  Author: LemonBoy <thatlemon@gmail.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M linux-user/alpha/target_signal.h
    M linux-user/arm/target_signal.h
    M linux-user/cris/target_signal.h
    M linux-user/hppa/target_signal.h
    M linux-user/i386/target_signal.h
    M linux-user/m68k/target_signal.h
    M linux-user/microblaze/target_signal.h
    M linux-user/mips/target_signal.h
    M linux-user/mips64/target_signal.h
    M linux-user/nios2/target_signal.h
    M linux-user/ppc/target_signal.h
    M linux-user/s390x/target_signal.h
    M linux-user/sh4/target_signal.h
    M linux-user/sparc/target_signal.h
    M linux-user/x86_64/target_signal.h

  Log Message:
  -----------
  linux-user: Correct definition of stack_t

Some platforms used the wrong definition of stack_t where the flags and
size fields were swapped or where the flags field had type ulong instead
of int.

Due to the presence of padding space in the structure and the prevalence
of little-endian machines this problem went unnoticed for a long time.

The type definitions have been cross-checked with the ones defined in
the Linux kernel v5.9, plus some older versions for a few architecture
that have been removed and Xilinx's kernel fork for NiosII [1].

The bsd-user headers remain unchanged as I don't know if they are wrong
or not.

[1] 
https://github.com/Xilinx/linux-xlnx/blob/master/arch/nios2/include/uapi/asm/signal.h

Signed-off-by: Giuseppe Musacchio <thatlemon@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <e9d47692-ee92-009f-6007-0abc3f502b97@gmail.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: c7811022ebfcaae64e06383ff734f3b3651bf892
      
https://github.com/qemu/qemu/commit/c7811022ebfcaae64e06383ff734f3b3651bf892
  Author: LemonBoy <thatlemon@gmail.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: Prevent crash in epoll_ctl

>From 894bb5172705e46a3a04c93b4962c0f0cafee814 Mon Sep 17 00:00:00 2001
From: Giuseppe Musacchio <thatlemon@gmail.com>
Date: Fri, 17 Apr 2020 17:25:07 +0200
Subject: [PATCH] linux-user: Prevent crash in epoll_ctl

The `event` parameter is ignored by the kernel if `op` is EPOLL_CTL_DEL,
do the same and avoid returning EFAULT if garbage is passed instead of a
valid pointer.

Signed-off-by: Giuseppe Musacchio <thatlemon@gmail.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <a244fa67-dace-abdb-995a-3198bd80fee8@gmail.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 5e73953a276106f8e2be475cca3299748bfd1201
      
https://github.com/qemu/qemu/commit/5e73953a276106f8e2be475cca3299748bfd1201
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M hw/net/can/ctucan_core.c

  Log Message:
  -----------
  hw/net/can/ctucan: Don't allow guest to write off end of tx_buffer

The ctucan device has 4 CAN bus cores, each of which has a set of 20
32-bit registers for writing the transmitted data. The registers are
however not contiguous; each core's buffers is 0x100 bytes after
the last.

We got the checks on the address wrong in the ctucan_mem_write()
function:
 * the first "is addr in range at all" check allowed
   addr == CTUCAN_CORE_MEM_SIZE, which is actually the first
   byte off the end of the range
 * the decode of addresses into core-number plus offset in the
   tx buffer for that core failed to check that the offset was
   in range, so the guest could write off the end of the
   tx_buffer[] array

NB: currently the values of CTUCAN_CORE_MEM_SIZE, CTUCAN_CORE_TXBUF_NUM,
etc, make "buff_num >= CTUCAN_CORE_TXBUF_NUM" impossible, but we
retain this as a runtime check rather than an assertion to permit
those values to be changed in future (in hardware they are
configurable synthesis parameters).

Fix the top level check, and check the offset is within the buffer.

Fixes: Coverity CID 1432874
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Tested-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: e0784d8375962da584fa92be8457845f433e2ae2
      
https://github.com/qemu/qemu/commit/e0784d8375962da584fa92be8457845f433e2ae2
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M hw/net/can/ctucan_core.c

  Log Message:
  -----------
  hw/net/can/ctucan: Avoid unused value in ctucan_send_ready_buffers()

Coverity points out that in ctucan_send_ready_buffers() we
set buff_st_mask = 0xf << (i * 4) inside the loop, but then
we never use it before overwriting it later.

The only thing we use the mask for is as part of the code that is
inserting the new buff_st field into tx_status.  That is more
comprehensibly written using deposit32(), so do that and drop the
mask variable entirely.

We also update the buff_st local variable at multiple points
during this function, but nothing can ever see these
intermediate values, so just drop those, write the final
TXT_TOK as a fixed constant value, and collapse the only
remaining set/use of buff_st down into an extract32().

Fixes: Coverity CID 1432869
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Tested-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 676ea985c0d13c9d39b9ead4c60005abb9ea4218
      
https://github.com/qemu/qemu/commit/676ea985c0d13c9d39b9ead4c60005abb9ea4218
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M hw/net/can/ctucan_core.h

  Log Message:
  -----------
  hw/net/can/ctucan_core: Handle big-endian hosts

The ctucan driver defines types for its registers which are a union
of a uint32_t with a struct with bitfields for the individual
fields within that register. This is a bad idea, because bitfields
aren't portable. The ctu_can_fd_regs.h header works around the
most glaring of the portability issues by defining the
fields in two different orders depending on the setting of the
__LITTLE_ENDIAN_BITFIELD define. However, in ctucan_core.h this
is unconditionally set to 1, which is wrong for big-endian hosts.

Set it only if HOST_WORDS_BIGENDIAN is not set. There is no need
for a "have we defined it already" guard, because the only place
that should set it is ctucan_core.h, which has the usual
double-inclusion guard.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Tested-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 71182187ddae5d5b17bd48464f719798321484ed
      
https://github.com/qemu/qemu/commit/71182187ddae5d5b17bd48464f719798321484ed
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M hw/net/can/ctucan_core.c

  Log Message:
  -----------
  hw/net/can/ctucan_core: Use stl_le_p to write to tx_buffers

Instead of casting an address within a uint8_t array to a
uint32_t*, use stl_le_p(). This handles possibly misaligned
addresses which would otherwise crash on some hosts.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Tested-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 92eecfff32763ee138f4cebc1a12c5b051ad5bb5
      
https://github.com/qemu/qemu/commit/92eecfff32763ee138f4cebc1a12c5b051ad5bb5
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M bsd-user/main.c
    M linux-user/main.c
    M qemu-img.c
    M qemu-io.c
    M qemu-nbd.c
    M scsi/qemu-pr-helper.c
    M softmmu/vl.c
    M storage-daemon/qemu-storage-daemon.c
    M trace/control.c
    M trace/control.h

  Log Message:
  -----------
  trace: remove argument from trace_init_file

It is not needed, all the callers are just saving what was
retrieved from -trace and trace_init_file can retrieve it
on its own.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20201102115841.4017692-1-pbonzini@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 35e28cb0f210cae3d9c98113d519fe5a4bef5866
      
https://github.com/qemu/qemu/commit/35e28cb0f210cae3d9c98113d519fe5a4bef5866
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M scripts/tracetool/format/d.py

  Log Message:
  -----------
  scripts/tracetool: silence SystemTap dtrace(1) long long warnings

SystemTap's dtrace(1) prints the following warning when it encounters
long long arguments:

  Warning: /usr/bin/dtrace:trace/trace-dtrace-hw_virtio.dtrace:76: syntax error 
near:
  probe vhost_vdpa_dev_start

  Warning: Proceeding as if --no-pyparsing was given.

Use the uint64_t and int64_t types, respectively. This works with all
host CPU 32- and 64-bit data models (ILP32, LP64, and LLP64) that QEMU
supports.

Reported-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20201020094043.159935-1-stefanha@redhat.com
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 54cd1213ce1faac196c1b57110a9ee4f18969e6c
      
https://github.com/qemu/qemu/commit/54cd1213ce1faac196c1b57110a9ee4f18969e6c
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M hw/net/can/ctucan_core.c
    M hw/net/can/ctucan_core.h
    M hw/net/virtio-net.c
    M migration/ram.c
    M net/colo-compare.c
    M net/colo.c
    M net/eth.c
    M net/filter-rewriter.c
    M net/l2tpv3.c
    M softmmu/vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into 
staging

# gpg: Signature made Wed 11 Nov 2020 13:04:02 GMT
# gpg:                using RSA key EF04965B398D6211
# gpg: Good signature from "Jason Wang (Jason Wang on RedHat) 
<jasowang@redhat.com>" [marginal]
# 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: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211

* remotes/jasowang/tags/net-pull-request:
  hw/net/can/ctucan_core: Use stl_le_p to write to tx_buffers
  hw/net/can/ctucan_core: Handle big-endian hosts
  hw/net/can/ctucan: Avoid unused value in ctucan_send_ready_buffers()
  hw/net/can/ctucan: Don't allow guest to write off end of tx_buffer
  net/l2tpv3: Remove redundant check in net_init_l2tpv3()
  net: remove an assert call in eth_get_gso_type
  net/colo-compare.c: Increase default queued packet scan frequency
  net/colo-compare.c: Add secondary old packet detection
  net/colo-compare.c: Change the timer clock type
  net/colo-compare.c: Fix compare_timeout format issue
  colo-compare: check mark in mutual exclusion
  colo-compare: fix missing compare_seq initialization
  Fix the qemu crash when guest shutdown in COLO mode
  Reduce the time of checkpoint for COLO
  Optimize seq_sorter function for colo-compare
  net/filter-rewriter: destroy g_hash_table in colo_rewriter_cleanup
  virtio-net: Set mac address to hardware if the peer is vdpa

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 46d407f84a437f2cbd4afb2f3d23d685448ba272
      
https://github.com/qemu/qemu/commit/46d407f84a437f2cbd4afb2f3d23d685448ba272
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M Makefile
    M hw/core/machine.c
    M hw/misc/pvpanic.c
    M meson.build
    M replay/replay-debugging.c
    M softmmu/physmem.c
    M tests/qtest/pvpanic-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into 
staging

Bug fixes

# gpg: Signature made Wed 11 Nov 2020 08:59:24 GMT
# 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:
  pvpanic: Advertise the PVPANIC_CRASHLOADED event support
  physmem: improve ram size error messages
  Makefile: No echoing for 'make help V=1'
  replay: remove some dead code
  fix make clean/distclean
  meson: Clarify the confusing vhost-user vs. vhost-kernel output

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a4c141dca466ed3e9451f147efe6304b1b659ff5
      
https://github.com/qemu/qemu/commit/a4c141dca466ed3e9451f147efe6304b1b659ff5
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M bsd-user/main.c
    M linux-user/main.c
    M qemu-img.c
    M qemu-io.c
    M qemu-nbd.c
    M scripts/tracetool/format/d.py
    M scsi/qemu-pr-helper.c
    M softmmu/vl.c
    M storage-daemon/qemu-storage-daemon.c
    M trace/control.c
    M trace/control.h

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/stefanha-gitlab/tags/tracing-pull-request' into staging

Tracing pull request

# gpg: Signature made Wed 11 Nov 2020 15:56:18 GMT
# gpg:                using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
# gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* remotes/stefanha-gitlab/tags/tracing-pull-request:
  scripts/tracetool: silence SystemTap dtrace(1) long long warnings
  trace: remove argument from trace_init_file

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 674ee1245b4f14d998299d83410ac147e6e54eca
      
https://github.com/qemu/qemu/commit/674ee1245b4f14d998299d83410ac147e6e54eca
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-11 (Wed, 11 Nov 2020)

  Changed paths:
    M linux-user/alpha/target_signal.h
    M linux-user/arm/target_signal.h
    M linux-user/cris/target_signal.h
    M linux-user/hppa/target_signal.h
    M linux-user/i386/target_signal.h
    M linux-user/m68k/target_signal.h
    M linux-user/microblaze/target_signal.h
    M linux-user/mips/target_signal.h
    M linux-user/mips64/target_signal.h
    M linux-user/nios2/target_signal.h
    M linux-user/ppc/target_signal.h
    M linux-user/s390x/target_signal.h
    M linux-user/sh4/target_signal.h
    M linux-user/sparc/target_signal.h
    M linux-user/syscall.c
    M linux-user/x86_64/target_signal.h

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/vivier2/tags/linux-user-for-5.2-pull-request' into staging

Fixes for epoll_ctl and stack_t

# gpg: Signature made Wed 11 Nov 2020 21:40:16 GMT
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" 
[full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/linux-user-for-5.2-pull-request:
  linux-user: Prevent crash in epoll_ctl
  linux-user: Correct definition of stack_t

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 6bfa035ec31f4f5a14499f17e08f62e8f14760cc
      
https://github.com/qemu/qemu/commit/6bfa035ec31f4f5a14499f17e08f62e8f14760cc
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M hw/misc/macio/macio.c

  Log Message:
  -----------
  macio: set user_creatable to false in macio_class_init()

Commit 348b8d1a76 "macio: don't reference serial_hd() directly within the 
device"
removed the setting of user_creatable to false on the basis that the restriction
was due to the use of serial_hd() in macio_instance_init().

Unfortunately this isn't the full story since the PIC object property links
must still be set before the device is realized. Whilst it is possible to update
the macio device and Mac machines to resolve this, the fix is too invasive at
this point in the release cycle.

For now simply set user_creatable back to false in macio_class_init() to
prevent QEMU from segfaulting in anticipation of the proper fix arriving in
QEMU 6.0.

Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201110103111.18395-1-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: cb5d19e8294486551c422759260883ed290226d9
      
https://github.com/qemu/qemu/commit/cb5d19e8294486551c422759260883ed290226d9
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M hw/misc/macio/macio.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mcayland/tags/qemu-macppc-20201112' 
into staging

qemu-macppc fix for 5.2

# gpg: Signature made Thu 12 Nov 2020 09:50:45 GMT
# gpg:                using RSA key CC621AB98E82200D915CC9C45BC2C56FAE0F321F
# gpg:                issuer "mark.cave-ayland@ilande.co.uk"
# gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>" 
[full]
# Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F

* remotes/mcayland/tags/qemu-macppc-20201112:
  macio: set user_creatable to false in macio_class_init()

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: af3bbbe98405fe2d274696abe5def679a3b0c673
      
https://github.com/qemu/qemu/commit/af3bbbe98405fe2d274696abe5def679a3b0c673
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration/ram: Fix hexadecimal format string specifier

The '%u' conversion specifier is for decimal notation.
When prefixing a format with '0x', we want the hexadecimal
specifier ('%x').

Inspired-by: Dov Murik <dovmurik@linux.vnet.ibm.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20201103112558.2554390-5-philmd@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 136fc6aa2cf38205fa3b47e155ebac11baccc789
      
https://github.com/qemu/qemu/commit/136fc6aa2cf38205fa3b47e155ebac11baccc789
  Author: Peng Liang <liangpeng10@huawei.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M hw/acpi/generic_event_device.c

  Log Message:
  -----------
  ACPI: Avoid infinite recursion when dump-vmstate

There is a field with vmstate_ghes_state as vmsd in vmstate_ghes_state,
which will lead to infinite recursion in dump_vmstate_vmsd.

Fixes: a08a64627b ("ACPI: Record the Generic Error Status Block address")
Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Peng Liang <liangpeng10@huawei.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20201112020638.874515-1-liangpeng10@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: a1af605bd5ade1a6dd571f553a6746b97f3d6869
      
https://github.com/qemu/qemu/commit/a1af605bd5ade1a6dd571f553a6746b97f3d6869
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M migration/multifd.c

  Log Message:
  -----------
  migration/multifd: fix hangup with TLS-Multifd due to blocking handshake

The qemu main loop could hang up forever when we enable TLS+Multifd.
The Src multifd_send_0 invokes tls handshake, it sends hello to sever
and wait response.
However, the Dst main qemu loop has been waiting recvmsg() for multifd_recv_1.
Both of Src and Dst main qemu loop are blocking and waiting for reponse which
results in hanging up forever.

Src: (multifd_send_0)                                              Dst: 
(multifd_recv_1)
multifd_channel_connect                                            
migration_channel_process_incoming
  multifd_tls_channel_connect                                        
migration_tls_channel_process_incoming
    multifd_tls_channel_connect                                        
qio_channel_tls_handshake_task
       qio_channel_tls_handshake                                         
gnutls_handshake
          qio_channel_tls_handshake_task                                       
...
            qcrypto_tls_session_handshake                                      
...
              gnutls_handshake                                                 
...
                   ...                                                         
...
                recvmsg (Blocking I/O waiting for response)                
recvmsg (Blocking I/O waiting for response)

Fix this by offloadinig handshake work to a background thread.

Reported-by: Yan Jin <jinyan12@huawei.com>
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Message-Id: <1604643893-8223-1-git-send-email-zhengchuan@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: a24292830b7a356f528760e065c0012ff56e18ab
      
https://github.com/qemu/qemu/commit/a24292830b7a356f528760e065c0012ff56e18ab
  Author: Chen Qun <kuhn.chenqun@huawei.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M migration/migration.c

  Log Message:
  -----------
  migration: fix uninitialized variable warning in migrate_send_rp_req_pages()

After the WITH_QEMU_LOCK_GUARD macro is added, the compiler cannot identify
 that the statements in the macro must be executed. As a result, some variables
 assignment statements in the macro may be considered as unexecuted by the 
compiler.

When the -Wmaybe-uninitialized capability is enabled on GCC9,the compiler 
showed warning:
migration/migration.c: In function ‘migrate_send_rp_req_pages’:
migration/migration.c:384:8: warning: ‘received’ may be used uninitialized in 
this function [-Wmaybe-uninitialized]
 384 |     if (received) {
     |        ^

Add a default value for 'received' to prevented the warning.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201111142203.2359370-6-kuhn.chenqun@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: a18ed79b19ec63368bf825eaf708e31f49888d40
      
https://github.com/qemu/qemu/commit/a18ed79b19ec63368bf825eaf708e31f49888d40
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M migration/dirtyrate.c

  Log Message:
  -----------
  migration/dirtyrate: simplify includes in dirtyrate.c

Remove redundant blank line which is left by Commit 662770af7c6e8c,
also take this opportunity to remove redundant includes in dirtyrate.c.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Message-Id: <1604030281-112946-1-git-send-email-zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 9e8424088c5648959e4c5d715290e6cfa96df087
      
https://github.com/qemu/qemu/commit/9e8424088c5648959e4c5d715290e6cfa96df087
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M migration/multifd.c

  Log Message:
  -----------
  multifd/tls: fix memoryleak of the QIOChannelSocket object when cancelling 
migration

When creating new tls client, the tioc->master will be referenced which results 
in socket
leaking after multifd_save_cleanup if we cancel migration.
Fix it by do object_unref() after tls client creation.

Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Message-Id: <1605104763-118687-1-git-send-email-zhengchuan@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 6ba11211bd616237d028fb5d27f8576fc8cf7b1c
      
https://github.com/qemu/qemu/commit/6ba11211bd616237d028fb5d27f8576fc8cf7b1c
  Author: Longpeng(Mike) <longpeng2@huawei.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M migration/migration.c

  Log Message:
  -----------
  migration: handle CANCELLING state in migration_completion()

The following sequence may cause the VM abort during migration:

1. RUN_STATE_RUNNING,MIGRATION_STATUS_ACTIVE

2. before call migration_completion(), we send migrate_cancel
   QMP command, the state machine is changed to:
     RUN_STATE_RUNNING,MIGRATION_STATUS_CANCELLING

3. call migration_completion(), and the state machine is
   switch to: RUN_STATE_RUNNING,MIGRATION_STATUS_COMPLETED

4. call migration_iteration_finish(), because the migration
   status is COMPLETED, so it will try to set the runstate
   to POSTMIGRATE, but RUNNING-->POSTMIGRATE is an invalid
   transition, so abort().

The migration_completion() should not change the migration state
to COMPLETED if it is already changed to CANCELLING.

Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com>
Message-Id: <20201105091726.148-1-longpeng2@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: f26688a911ed4bc122f597333c9d5b45175e683c
      
https://github.com/qemu/qemu/commit/f26688a911ed4bc122f597333c9d5b45175e683c
  Author: Max Reitz <mreitz@redhat.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  virtiofsd: Announce submounts even without statx()

Contrary to what the check (and warning) in lo_init() claims, we can
announce submounts just fine even without statx() -- the check is based
on comparing both the mount ID and st_dev of parent and child.  Without
statx(), we will not have the mount ID; but we always have st_dev.

The only problems we have (without statx() and its mount ID) are:

(1) Mounting the same device twice may lead to both trees being treated
    as exactly the same tree by virtiofsd.  But that is a problem that
    is completely independent of mirroring host submounts in the guest.
    Both submount roots will still show the FUSE_SUBMOUNT flag, because
    their st_dev still differs from their respective parent.

(2) There is only one exception to (1), and that is if you mount a
    device inside a mount of itself: Then, its st_dev will be the same
    as that of its parent, and so without a mount ID, virtiofsd will not
    be able to recognize the nested mount's root as a submount.
    However, thanks to virtiofsd then treating both trees as exactly the
    same tree, it will be caught up in a loop when the guest tries to
    examine the nested submount, so the guest will always see nothing
    but an ELOOP there.  Therefore, this case is just fully broken
    without statx(), whether we check for submounts (based on st_dev) or
    not.

All in all, checking for submounts works well even without comparing the
mount ID (i.e., without statx()).  The only concern is an edge case
that, without statx() mount IDs, is utterly broken anyway.

Thus, drop said check in lo_init().

Reported-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20201103164135.169325-1-mreitz@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 7fa87944f82d75d21b7166570ac87d7874c151d5
      
https://github.com/qemu/qemu/commit/7fa87944f82d75d21b7166570ac87d7874c151d5
  Author: Haotian Li <lihaotian9@huawei.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M tools/virtiofsd/buffer.c

  Log Message:
  -----------
  tools/virtiofsd/buffer.c: check whether buf is NULL in fuse_bufvec_advance 
func

In fuse_bufvec_advance func, calling fuse_bufvec_current func
may return NULL, so we should check whether buf is NULL before
using it.

Signed-off-by: Haotian Li <lihaotian9@huawei.com>
Signed-off-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
Message-Id: <29fc87c2-b87c-4c34-40d4-75381f228849@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: db2e026a39d9871217289e5ed5cb97a2b7f476e5
      
https://github.com/qemu/qemu/commit/db2e026a39d9871217289e5ed5cb97a2b7f476e5
  Author: Haotian Li <lihaotian9@huawei.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  virtiofsd: check whether lo_map_reserve returns NULL in, main func

In main func, func lo_map_reserve is called without NULL check.
If reallocing new_elems fails in func lo_map_grow, the func
lo_map_reserve may return NULL. We should check whether
lo_map_reserve returns NULL before using it.

Signed-off-by: Haotian Li <lihaotian9@huawei.com>
Signed-off-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
Message-Id: <48887813-1c95-048c-6d10-48e3dd2bac71@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 7632b56c8f880a8f86cf049a3785069e1ffd2997
      
https://github.com/qemu/qemu/commit/7632b56c8f880a8f86cf049a3785069e1ffd2997
  Author: Haotian Li <lihaotian9@huawei.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  virtiofsd: check whether strdup lo.source return NULL in main func

In main func, strdup lo.source may fail. So check whether strdup
lo.source return NULL before using it.

Signed-off-by: Haotian Li <lihaotian9@huawei.com>
Signed-off-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
Message-Id: <f1e48ca8-d6de-d901-63c8-4f4024bda518@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 4cfac0152e798f9c60472706c0441501da13183c
      
https://github.com/qemu/qemu/commit/4cfac0152e798f9c60472706c0441501da13183c
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M hw/acpi/generic_event_device.c
    M migration/dirtyrate.c
    M migration/migration.c
    M migration/multifd.c
    M migration/ram.c
    M tools/virtiofsd/buffer.c
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20201112a' 
into staging

Migration & virtiofs fixes for 5.2

A bunch of small fixes.

# gpg: Signature made Thu 12 Nov 2020 18:34:41 GMT
# gpg:                using RSA key 45F5C71B4A0CB7FB977A9FA90516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" 
[full]
# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A  9FA9 0516 331E BC5B FDE7

* remotes/dgilbert/tags/pull-migration-20201112a:
  virtiofsd: check whether strdup lo.source return NULL in main func
  virtiofsd: check whether lo_map_reserve returns NULL in, main func
  tools/virtiofsd/buffer.c: check whether buf is NULL in fuse_bufvec_advance 
func
  virtiofsd: Announce submounts even without statx()
  migration: handle CANCELLING state in migration_completion()
  multifd/tls: fix memoryleak of the QIOChannelSocket object when cancelling 
migration
  migration/dirtyrate: simplify includes in dirtyrate.c
  migration: fix uninitialized variable warning in migrate_send_rp_req_pages()
  migration/multifd: fix hangup with TLS-Multifd due to blocking handshake
  ACPI: Avoid infinite recursion when dump-vmstate
  migration/ram: Fix hexadecimal format string specifier

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: e408aeef8663fd6e3075aef252404c55d710a75e
      
https://github.com/qemu/qemu/commit/e408aeef8663fd6e3075aef252404c55d710a75e
  Author: Kirti Wankhede <kwankhede@nvidia.com>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M hw/vfio/migration.c

  Log Message:
  -----------
  Fix use after free in vfio_migration_probe

Fixes Coverity issue:
CID 1436126:  Memory - illegal accesses  (USE_AFTER_FREE)

Fixes: a9e271ec9b36 ("vfio: Add migration region initialization and finalize 
function")
Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: David Edmondson <dme@dme.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


  Commit: 336f744e148a7b9d50ebf205d5dba7b0fec271d9
      
https://github.com/qemu/qemu/commit/336f744e148a7b9d50ebf205d5dba7b0fec271d9
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-11-12 (Thu, 12 Nov 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Replace my twiddle.net address

Consolidate all of my MAINTAINERS entries on my work address.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b0f8c22d6d4d07f3bd2307bcc62e1660ef965472
      
https://github.com/qemu/qemu/commit/b0f8c22d6d4d07f3bd2307bcc62e1660ef965472
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-13 (Fri, 13 Nov 2020)

  Changed paths:
    M hw/vfio/migration.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20201112.0' 
into staging

VFIO update 2020-11-12

 * Fix coverity reported use-after-free (Kirti Wankhede)

# gpg: Signature made Thu 12 Nov 2020 23:00:13 GMT
# gpg:                using RSA key 239B9B6E3BB08B22
# gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>" [full]
# gpg:                 aka "Alex Williamson <alex@shazbot.org>" [full]
# gpg:                 aka "Alex Williamson <alwillia@redhat.com>" [full]
# gpg:                 aka "Alex Williamson <alex.l.williamson@gmail.com>" 
[full]
# Primary key fingerprint: 42F6 C04E 540B D1A9 9E7B  8A90 239B 9B6E 3BB0 8B22

* remotes/awilliam/tags/vfio-update-20201112.0:
  Fix use after free in vfio_migration_probe

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: be2df2ac6f6b9eeee21cc057de0a119ac30fbc60
      
https://github.com/qemu/qemu/commit/be2df2ac6f6b9eeee21cc057de0a119ac30fbc60
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-13 (Fri, 13 Nov 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20201112' into staging

Use richard.henderson@linaro.org in MAINTAINERS

# gpg: Signature made Fri 13 Nov 2020 04:38:15 GMT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* remotes/rth/tags/pull-tcg-20201112:
  MAINTAINERS: Replace my twiddle.net address

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/67e849893786...be2df2ac6f6b



reply via email to

[Prev in Thread] Current Thread [Next in Thread]