qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 9ce75d: shpc: disallow unplug when power indi


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 9ce75d: shpc: disallow unplug when power indicator is blin...
Date: Thu, 02 Feb 2023 02:15:39 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 9ce75d4d5eaf30333797fd6f8b5c6ee7f917951f
      
https://github.com/qemu/qemu/commit/9ce75d4d5eaf30333797fd6f8b5c6ee7f917951f
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
  Date:   2023-01-27 (Fri, 27 Jan 2023)

  Changed paths:
    M hw/pci/shpc.c

  Log Message:
  -----------
  shpc: disallow unplug when power indicator is blinking

Pressing attention button has special meaning when power indicator is
blinking. Better just not do it.

For example, trying to remove device immediately after hotplug leads to
both commands succeded but device not actually unrealized.

Same thing for PCIE hotplug was done in
  81124b3c7a5dae "pcie: add power indicator blink check"

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-Id: <20221116214458.82090-1-vsementsov@yandex-team.ru>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 1f1b30af753288c176ddff2bc62b6d3d37aa8a6d
      
https://github.com/qemu/qemu/commit/1f1b30af753288c176ddff2bc62b6d3d37aa8a6d
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-01-27 (Fri, 27 Jan 2023)

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

  Log Message:
  -----------
  hw/i386/acpi-build: Remove unused attributes

Ammends commit 3db119da7915 'pc: acpi: switch to AML API composed DSDT'.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230121151941.24120-2-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 9c6c0aeacda7d9c3e3d5743f4927d31f5ac76888
      
https://github.com/qemu/qemu/commit/9c6c0aeacda7d9c3e3d5743f4927d31f5ac76888
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-01-27 (Fri, 27 Jan 2023)

  Changed paths:
    M hw/acpi/acpi_interface.c
    M hw/i2c/smbus_ich9.c
    M hw/i386/acpi-microvm.c
    M hw/isa/isa-bus.c
    M hw/isa/lpc_ich9.c
    M hw/isa/piix3.c
    M include/hw/acpi/acpi_aml_interface.h
    M include/hw/isa/isa.h

  Log Message:
  -----------
  hw/isa/isa-bus: Turn isa_build_aml() into qbus_build_aml()

Frees isa-bus.c from implicit ACPI dependency.

While at it, resolve open coding of qbus_build_aml() in piix3 and ich9.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230121151941.24120-3-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: edfa7180106162765a75f7be17be8df0e4ab823e
      
https://github.com/qemu/qemu/commit/edfa7180106162765a75f7be17be8df0e4ab823e
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-01-27 (Fri, 27 Jan 2023)

  Changed paths:
    M hw/acpi/piix4.c

  Log Message:
  -----------
  hw/acpi/piix4: No need to #include "hw/southbridge/piix.h"

hw/acpi/piix4 has its own header with its structure definition etc.

Ammends commit 2bfd0845f0 'hw/acpi/piix4: move PIIX4PMState into
separate piix4.h header'.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230121151941.24120-4-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: d395b18dce82855d03d934e30a515caf5a10a885
      
https://github.com/qemu/qemu/commit/d395b18dce82855d03d934e30a515caf5a10a885
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-01-27 (Fri, 27 Jan 2023)

  Changed paths:
    M hw/acpi/acpi-x86-stub.c
    M hw/acpi/cpu.c
    M hw/i386/acpi-common.c
    M include/hw/acpi/acpi_dev_interface.h
    M include/hw/i386/pc.h

  Log Message:
  -----------
  hw/acpi/acpi_dev_interface: Remove unused parameter from 
AcpiDeviceIfClass::madt_cpu

The only function ever assigned to AcpiDeviceIfClass::madt_cpu is
pc_madt_cpu_entry() which doesn't use the AcpiDeviceIf parameter.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230121151941.24120-5-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 744734ccc9eff28394a453de462b2a155f364118
      
https://github.com/qemu/qemu/commit/744734ccc9eff28394a453de462b2a155f364118
  Author: Akihiko Odaki <akihiko.odaki@daynix.com>
  Date:   2023-01-27 (Fri, 27 Jan 2023)

  Changed paths:
    M hw/virtio/vhost-user.c

  Log Message:
  -----------
  vhost-user: Correct a reference of TARGET_AARCH64

Presumably TARGET_ARM_64 should be a mistake of TARGET_AARCH64.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20230109063130.81296-1-akihiko.odaki@daynix.com>
Fixes: 27598393a2 ("Lift max memory slots limit imposed by vhost-user")
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 8a8c9c3a747f77e664fa2288735b45a9d750be75
      
https://github.com/qemu/qemu/commit/8a8c9c3a747f77e664fa2288735b45a9d750be75
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-01-27 (Fri, 27 Jan 2023)

  Changed paths:
    M hw/pci-host/grackle.c
    M hw/pci-host/raven.c
    M hw/pci-host/uninorth.c

  Log Message:
  -----------
  hw/pci-host: Use register definitions from PCI standard

No need to document magic values when the definition names
from "standard-headers/linux/pci_regs.h" are self-explicit.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230105173702.56610-1-philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Bernhard Beschow <shentey@gmail.com>


  Commit: bad9c5a5166fd5e3a892b7b0477cf2f4bd3a959a
      
https://github.com/qemu/qemu/commit/bad9c5a5166fd5e3a892b7b0477cf2f4bd3a959a
  Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Date:   2023-01-27 (Fri, 27 Jan 2023)

  Changed paths:
    M hw/core/machine.c

  Log Message:
  -----------
  virtio-rng-pci: fix migration compat for vectors

Fixup the migration compatibility for existing machine types
so that they do not enable msi-x.

Symptom:

(qemu) qemu: get_pci_config_device: Bad config data: i=0x34 read: 84 device: 98 
cmask: ff wmask: 0 w1cmask:0
qemu: Failed to load PCIDevice:config
qemu: Failed to load virtio-rng:virtio
qemu: error while loading state for instance 0x0 of device 
'0000:00:03.0/virtio-rng'
qemu: load of migration failed: Invalid argument

Note: This fix will break migration from 7.2->7.2-fixed with this patch

bz: https://bugzilla.redhat.com/show_bug.cgi?id=2155749
Fixes: 9ea02e8f1 ("virtio-rng-pci: Allow setting nvectors, so we can use MSI-X")

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20230109105809.163975-1-dgilbert@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Acked-by: David Daney <david.daney@fungible.com>
Fixes: 9ea02e8f1 (&quot;virtio-rng-pci: Allow setting nvectors, so we can use 
MSI-X&quot;)<br>
Signed-off-by: Dr. David Alan Gilbert &lt;<a href="mailto:dgilbert@redhat.com"; 
target="_blank">dgilbert@redhat.com</a>&gt;<br>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 8a7c606016d283a1716290c657f6f45bc7c4d817
      
https://github.com/qemu/qemu/commit/8a7c606016d283a1716290c657f6f45bc7c4d817
  Author: Peter Xu <peterx@redhat.com>
  Date:   2023-01-27 (Fri, 27 Jan 2023)

  Changed paths:
    M include/exec/memory.h
    M include/hw/i386/intel_iommu.h

  Log Message:
  -----------
  intel-iommu: Document iova_tree

It seems not super clear on when iova_tree is used, and why.  Add a rich
comment above iova_tree to track why we needed the iova_tree, and when we
need it.

Also comment for the map/unmap messages, on how they're used and
implications (e.g. unmap can be larger than the mapped ranges).

Suggested-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20230109193727.1360190-1-peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: eac7a7791bb6d719233deed750034042318ffd56
      
https://github.com/qemu/qemu/commit/eac7a7791bb6d719233deed750034042318ffd56
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/i386/microvm.c
    M hw/i386/x86.c
    M hw/nvram/fw_cfg.c
    M include/hw/i386/microvm.h
    M include/hw/nvram/fw_cfg.h

  Log Message:
  -----------
  x86: don't let decompressed kernel image clobber setup_data

The setup_data links are appended to the compressed kernel image. Since
the kernel image is typically loaded at 0x100000, setup_data lives at
`0x100000 + compressed_size`, which does not get relocated during the
kernel's boot process.

The kernel typically decompresses the image starting at address
0x1000000 (note: there's one more zero there than the compressed image
above). This usually is fine for most kernels.

However, if the compressed image is actually quite large, then
setup_data will live at a `0x100000 + compressed_size` that extends into
the decompressed zone at 0x1000000. In other words, if compressed_size
is larger than `0x1000000 - 0x100000`, then the decompression step will
clobber setup_data, resulting in crashes.

Visually, what happens now is that QEMU appends setup_data to the kernel
image:

          kernel image            setup_data
   |--------------------------||----------------|
0x100000                  0x100000+l1     0x100000+l1+l2

The problem is that this decompresses to 0x1000000 (one more zero). So
if l1 is > (0x1000000-0x100000), then this winds up looking like:

          kernel image            setup_data
   |--------------------------||----------------|
0x100000                  0x100000+l1     0x100000+l1+l2

                                 d e c o m p r e s s e d   k e r n e l
                     
|-------------------------------------------------------------|
                0x1000000                                                     
0x1000000+l3

The decompressed kernel seemingly overwriting the compressed kernel
image isn't a problem, because that gets relocated to a higher address
early on in the boot process, at the end of startup_64. setup_data,
however, stays in the same place, since those links are self referential
and nothing fixes them up.  So the decompressed kernel clobbers it.

Fix this by appending setup_data to the cmdline blob rather than the
kernel image blob, which remains at a lower address that won't get
clobbered.

This could have been done by overwriting the initrd blob instead, but
that poses big difficulties, such as no longer being able to use memory
mapped files for initrd, hurting performance, and, more importantly, the
initrd address calculation is hard coded in qboot, and it always grows
down rather than up, which means lots of brittle semantics would have to
be changed around, incurring more complexity. In contrast, using cmdline
is simple and doesn't interfere with anything.

The microvm machine has a gross hack where it fiddles with fw_cfg data
after the fact. So this hack is updated to account for this appending,
by reserving some bytes.

Fixup-by: Michael S. Tsirkin <mst@redhat.com>
Cc: x86@kernel.org
Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Message-Id: <20221230220725.618763-1-Jason@zx2c4.com>
Message-ID: <20230128061015-mutt-send-email-mst@kernel.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Eric Biggers <ebiggers@google.com>
Tested-by: Mathias Krause <minipli@grsecurity.net>


  Commit: 0711c2849735eb77b5082803c05cbaed99ccd852
      
https://github.com/qemu/qemu/commit/0711c2849735eb77b5082803c05cbaed99ccd852
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M tests/qtest/libqtest.c

  Log Message:
  -----------
  tests: qtest: print device_add error before failing test

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-2-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 36773faeebbc965e6063802ae3c215f1a5f01bda
      
https://github.com/qemu/qemu/commit/36773faeebbc965e6063802ae3c215f1a5f01bda
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: cleanup arguments to make them more readable

 no functional change

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-3-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 89b36fd8614a7d02e15a72c6aa25a3682fc7fcef
      
https://github.com/qemu/qemu/commit/89b36fd8614a7d02e15a72c6aa25a3682fc7fcef
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: whitelist DSDT blobs for tests that use pci-bridges

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-4-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 9ebb74d61486abdc1183aeb2852ffe0587d35fea
      
https://github.com/qemu/qemu/commit/9ebb74d61486abdc1183aeb2852ffe0587d35fea
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: extend pcihp with nested bridges

add nested bridges/root-ports to pcihp tests, to make sure
follow up patches don't break nested enumeration of bridges
in DSDT.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-5-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 48dde093d30dc6d09e832e478cb6661cf633a882
      
https://github.com/qemu/qemu/commit/48dde093d30dc6d09e832e478cb6661cf633a882
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M tests/data/acpi/pc/DSDT.bridge
    M tests/data/acpi/pc/DSDT.roothp
    M tests/data/acpi/q35/DSDT.multi-bridge
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests: acpi: update expected blobs

add extra nested bridges/root ports to blobs so it would be
posible to check how follow up patches would affect it.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-6-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: c1a9ac9bdeea213162a76f7b9e2f876c89a50a94
      
https://github.com/qemu/qemu/commit/c1a9ac9bdeea213162a76f7b9e2f876c89a50a94
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: cleanup use_uefi argument usage

'use_uefi' is used for the flag is a part of 'test_data *data'
argument that is passed to the same functions, which
makes use_uefi argument redundant.

Drop it and use 'data::uefi_*' directly, instead.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-7-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 025cfbbac81d350d58599f4f2d00c51770068058
      
https://github.com/qemu/qemu/commit/025cfbbac81d350d58599f4f2d00c51770068058
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/pci-bridge/pci_bridge_dev.c

  Log Message:
  -----------
  pci_bridge: remove whitespace

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-8-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: f7b35824b1247d1b32b0b1001ac481d6338891fa
      
https://github.com/qemu/qemu/commit/f7b35824b1247d1b32b0b1001ac481d6338891fa
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  x86: acpi: pcihp: clean up duplicate bridge_in_acpi assignment

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-9-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 1d77e15718c83b84aa46cfb12493a1dafa2a3252
      
https://github.com/qemu/qemu/commit/1d77e15718c83b84aa46cfb12493a1dafa2a3252
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/i386/pc_q35.c
    M hw/pci-bridge/gen_pcie_root_port.c
    M hw/pci/pcie.c
    M hw/pci/pcie_port.c
    M include/hw/pci/pcie_port.h

  Log Message:
  -----------
  pci: acpi hotplug: rename x-native-hotplug to 
x-do-not-expose-native-hotplug-cap

When ACPI PCI hotplug for Q35 was introduced (6.1), it was implemented
by hiding HPC capability on PCIE slot. That however led to a number of
regressions and to fix it, it was decided to keep HPC cap exposed
in ACPI PCI hotplug case and force guest in ACPI PCI hotplug mode
by other means [1].

That reduced meaning of x-native-hotplug to a compat knob [2] for
broken 6.1 machine type.
Rename property to match its current purpose.

1) 211afe5c69 (hw/i386/acpi-build: Deny control on PCIe Native Hot-plug in _OSC)
2) c318bef762 (hw/acpi/ich9: Add compat prop to keep HPC bit set for 6.1 
machine type)

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-10-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 45284cfb49a47bb4536e29b4965a41a0ecb63149
      
https://github.com/qemu/qemu/commit/45284cfb49a47bb4536e29b4965a41a0ecb63149
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/acpi/piix4.c

  Log Message:
  -----------
  pcihp: piix4: do not call acpi_pcihp_reset() when ACPI PCI hotplug is disabled

piix4_pm_reset() is calling acpi_pcihp_reset() when ACPI PCI hotplug
is disabled, which leads to assigning BSEL properties to bridges on path
   acpi_set_bsel()
       ...
       if (qbus_is_hotpluggable(BUS(bus))) {
          // above happens to be true by default (though it's SHPC hotplug 
handler)
          // set BSEL
       }

At the moment the issue is masked by the fact that we use not only BSEL,
to decide if we should generated hoplug AML but also pcihp_bridge_en knob.
However the later patches will drop dependency on pcihp_bridge_en,
and use only BSEL exclusively to decide if hotplug AML for slots should be 
built,
which exposes issue.

We should not ever call acpi_pcihp_reset() if ACPI PCI hotplug is disabled,
make it so.

PS:
 * Q35 does the right thing (i.e. it calls acpi_pcihp_reset only when pcihp is 
enabled)
 * the issue also makes acpi_pcihp_update() logic run on SHPC enabled bridges,
   which seems to be harmless

Fixes: 3d7e78aa777 ("Introduce a new flag for i440fx to disable PCI hotplug on 
the root bus")
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-11-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 2940a4b9e3d206cc759c7630dde2fb7ded3e9ec2
      
https://github.com/qemu/qemu/commit/2940a4b9e3d206cc759c7630dde2fb7ded3e9ec2
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/acpi/pcihp.c

  Log Message:
  -----------
  pci: acpihp: assign BSEL only to coldplugged bridges

ACPI PCI hotplug would broken after bridge hotplug and then migration
if hotplugged bridge were specified on target at command line.
Currently it's not possible since, 'hotplugged' property was made
read-only for some time now.

The issue would happen due to BSEL being assigned to all bridges
during 1st 'reset':
 source seq:
   1. start 'pc' machine => sets BSEL to 0 on pci.0 (host-bridge)
   2. hotplug bridge, no bsel is assigned (so far is ok)
 target seq:
   1. start 'pc' machine with
        -S -device pci-bridge,id=hp_br,hotplugged=on
      BSEL gets assigned to as follows
        hp_br: 0
        pci.0: 1
as result hotplug requests with migrated AML generated on source
would be misdirected to 'hp_br' instead of intended pci.0

While it's not issue at the moment, it's based on implicit assumptions
 * 'hotplugged' property is read-only
 * 1st reset happens before QEMU drops into monitor mode
   which lets add hotplugged on source bridges as hotplugged ones
   (anything added at that stage counts as hotplugged
    (yet another assumption))

All of it looks too fragile to me, so lets restrict BSEL only
to cold-plugged bridges explicitly.

Migration wise it shouldn't break anything since assignment order
stays the same:
  * user can't specify 'hotplugged=on' on CLI
  * user can't specify 'hotplugged=off' at monitor stage or later
on older QEMU versions where 'hotplugged' is RW, hotplug is broken
after migration anyways and we cannot do anything to fix that.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-12-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: debbda1c67eac6c4b44d07fe4301ff9b57c82afa
      
https://github.com/qemu/qemu/commit/debbda1c67eac6c4b44d07fe4301ff9b57c82afa
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  x86: pcihp: fix invalid AML PCNT calls to hotplugged bridges

When QEMU is started with hotplugged bridges (think migration):

  QEMU  -S -monitor stdio \
        -device pci-bridge,chassis_nr=1 \
        -device pci-bridge,bus=pci.1,addr=1.0,chassis_nr=2

  (qemu) device_add pci-bridge,id=hpbr,bus=pci.1,addr=2.0,chassis_nr=3
  (qemu) cont

it will generate AML calls to hpbr's PCNT, which doesn't exists
since it's hotplugged bridge. As result DSDT becomes malformed,
with consequences that hotplug might stop working at best or
crash guest OS at worst, when it attempts to call non existing
PCNT method or during OS guest reboot when parsing DSDT again.

IASL de-compiles malformed AML of above config DSDT as:

   +    External (_SB_.PCI0.S18_.S10_.PCNT, MethodObj)    // Warning: Unknown 
method, guessing 1 arguments
   +    External (_SB_.PCI0.S18_.S19_.PCNT, MethodObj)    // Warning: Unknown 
method, guessing 2 arguments
   ...
                        BNUM = One
                        DVNT (PCIU, One)
                        DVNT (PCID, 0x03)
   -                    ^S08.PCNT ()
   +                    ^S19.PCNT (^S10.PCNT (^S08.PCNT ()))
                    }
                }

With BSEL assignment limited only to coldplugged bridges [1],
it should be possible to add PCNT call to a child bridge only
if the child has BSEL property, otherwise ignore it since it's
hotplugged. Which should fix the issue.

1) ("pci: acpihp: assign BSEL only to coldplugged bridges")

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-13-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 6dfcb0e797b7607d4f4ee98a7a93d01c5cb10bbc
      
https://github.com/qemu/qemu/commit/6dfcb0e797b7607d4f4ee98a7a93d01c5cb10bbc
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M tests/qtest/boot-sector.c

  Log Message:
  -----------
  tests: boot_sector_test: avoid crashing if status is not available yet

If test case was started in paused mode (-S CLI option) and then
allowed to continue via QMP, boot_sector_test could assert on
transient state with following error:

   assertion failed (qdict_get_try_str(qret, "status") == "running"): (NULL == 
"running")

Instead of crashing test if 'status' is not available yet, skip check
and repeat iteration again after TEST_DELAY has elapsed.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-14-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 2f447a36e7336129886db224661f9151f27b853c
      
https://github.com/qemu/qemu/commit/2f447a36e7336129886db224661f9151f27b853c
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: extend bridge tests with hotplugged bridges

with previous commit fixing malformed PCNT calls to hotplugged
bridges, it should be possible add coldplug/hotplug test when
describing PCI topology in DSDT without breeaking CI.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-15-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 2efe88a94863d5ca6ec04126b9090c2c2cd64f97
      
https://github.com/qemu/qemu/commit/2efe88a94863d5ca6ec04126b9090c2c2cd64f97
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M tests/qtest/boot-sector.c

  Log Message:
  -----------
  tests: boot_sector_test(): make it multi-shot

if the function is called the 2nd time within the same qtest session,
it will prematurely return before boot sector is executed due to
remaining signature.

Follow up patch will add VM reboot to a test case and will
call boot_sector_test() again within the same qtest env,
which may lead to above issue.

To fix it make sure signature in VM RAM is no more before
exiting boot_sector_test(), so next time it's called it
will wait boot sector is completed again.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-16-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: c0d19126f39000181a007371b9200fd2e2b0dcc8
      
https://github.com/qemu/qemu/commit/c0d19126f39000181a007371b9200fd2e2b0dcc8
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: add reboot cycle to bridge test

hotplugged bridges should not be described in DSDT,
while it works on cold boot, some ACPPI PCI code
are invoked during reboot.

This patch will let us catch unexpected AML if hotplug
checks are broken.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-17-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 54836748fc32ea4c564585fad58a2a7e1fdae522
      
https://github.com/qemu/qemu/commit/54836748fc32ea4c564585fad58a2a7e1fdae522
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: whitelist DSDT before refactoring acpi based PCI hotplug 
machinery

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-18-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 19f5052cebe46a6faef3e0065e40a622a8798473
      
https://github.com/qemu/qemu/commit/19f5052cebe46a6faef3e0065e40a622a8798473
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  pcihp: drop pcihp_bridge_en dependency when composing PCNT method

 .. and use only BSEL presence to decide on how PCNT should be composed.
That simplifies possible combinations to consider, but mainly it makes
PCIHP AML be governed only by BSEL, which is property of PCIBus
(aka part of bridge) and as result it opens possibility to convert
build_append_pci_bus_devices() into AcpiDevAmlIf::build_dev_aml
callback to make bridges self describing.

PS:
used approach leaves unused PCNT, when ACPI hotplug is completely
disabled but that's harmless and followup commits will get rid of
it later.

     Scope (PCI0)
           ...
           Method (PCNT, 0, NotSerialized)
            {
            }
           ...
     }

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-19-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 54f82b6461703611b0a0a08c98a25ba226f6a07a
      
https://github.com/qemu/qemu/commit/54f82b6461703611b0a0a08c98a25ba226f6a07a
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M tests/data/acpi/pc/DSDT.hpbrroot
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests: acpi: update expected blobs

expected change:
     Scope (PCI0)
           ...
           Method (PCNT, 0, NotSerialized)
            {
            }
           ...
     }

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-20-imammedo@redhat.com>


  Commit: b111f43017ad22e44d114cf0adc932a32d16c405
      
https://github.com/qemu/qemu/commit/b111f43017ad22e44d114cf0adc932a32d16c405
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: whitelist DSDT before refactoring acpi based PCI hotplug 
machinery

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-21-imammedo@redhat.com>


  Commit: ddab4d3fae4e8cb3b1d70c9f2364987ddc18c6a3
      
https://github.com/qemu/qemu/commit/ddab4d3fae4e8cb3b1d70c9f2364987ddc18c6a3
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  pcihp: compose PCNT callchain right before its user _GPE._E01

it's a stepping stone to making build_append_pci_bus_devices() suitable
for AcpiDevAmlIfClass:build_dev_aml callback and lets further simplify
it by separating PCNT generation from slots descriptions.

It also makes PCNT callchain ASL much more readable since callchain
not longer cluttered by slots descriptors.

Plus, move will let next patch easily drop empty PCNT (pc/q35)
when there is nothing hotpluggable.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-22-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 219e638f3b3f3e34b5cf00c0a0d536a7e0155f70
      
https://github.com/qemu/qemu/commit/219e638f3b3f3e34b5cf00c0a0d536a7e0155f70
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  pcihp: do not put empty PCNT in DSDT

count number of PCNT methods that actually call Notify
and if there aren't any, drop PCNT altogether.
It mostly affects 'Q35' tests where there is no root-ports
/bridges attached and 'PC' machine when ACPI PCI hotplug is
completely disabled.

Expected ASL change:

-            Method (PCNT, 0, NotSerialized)
-            {
-            }
...
         Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
         {
-            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
-            \_SB.PCI0.PCNT ()
-            Release (\_SB.PCI0.BLCK)
         }

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-23-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 15dcfb197ee6c2c84a0a3d1a926bec81203e42dc
      
https://github.com/qemu/qemu/commit/15dcfb197ee6c2c84a0a3d1a926bec81203e42dc
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M tests/data/acpi/pc/DSDT
    M tests/data/acpi/pc/DSDT.acpierst
    M tests/data/acpi/pc/DSDT.acpihmat
    M tests/data/acpi/pc/DSDT.bridge
    M tests/data/acpi/pc/DSDT.cphp
    M tests/data/acpi/pc/DSDT.dimmpxm
    M tests/data/acpi/pc/DSDT.hpbridge
    M tests/data/acpi/pc/DSDT.hpbrroot
    M tests/data/acpi/pc/DSDT.ipmikcs
    M tests/data/acpi/pc/DSDT.memhp
    M tests/data/acpi/pc/DSDT.nohpet
    M tests/data/acpi/pc/DSDT.numamem
    M tests/data/acpi/pc/DSDT.roothp
    M tests/data/acpi/q35/DSDT
    M tests/data/acpi/q35/DSDT.acpierst
    M tests/data/acpi/q35/DSDT.acpihmat
    M tests/data/acpi/q35/DSDT.acpihmat-noinitiator
    M tests/data/acpi/q35/DSDT.applesmc
    M tests/data/acpi/q35/DSDT.bridge
    M tests/data/acpi/q35/DSDT.core-count2
    M tests/data/acpi/q35/DSDT.cphp
    M tests/data/acpi/q35/DSDT.cxl
    M tests/data/acpi/q35/DSDT.dimmpxm
    M tests/data/acpi/q35/DSDT.ipmibt
    M tests/data/acpi/q35/DSDT.ipmismbus
    M tests/data/acpi/q35/DSDT.ivrs
    M tests/data/acpi/q35/DSDT.memhp
    M tests/data/acpi/q35/DSDT.mmio64
    M tests/data/acpi/q35/DSDT.multi-bridge
    M tests/data/acpi/q35/DSDT.nohpet
    M tests/data/acpi/q35/DSDT.numamem
    M tests/data/acpi/q35/DSDT.pvpanic-isa
    M tests/data/acpi/q35/DSDT.tis.tpm12
    M tests/data/acpi/q35/DSDT.tis.tpm2
    M tests/data/acpi/q35/DSDT.viot
    M tests/data/acpi/q35/DSDT.xapic
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests: acpi: update expected blobs

Expected changes:
 * pc/bridge testcase due to
   ("pcihp: compose PCNT callchain right before its user _GPE._E01")
  ...
  +    Scope (\_SB.PCI0)
  +    {
  +        Scope (S18)
  +        {
  +            Scope (S08)
  +            {
  +                Method (PCNT, 0, NotSerialized)
  +                {
  +                    BNUM = 0x02
  +                    DVNT (PCIU, One)
  +                    DVNT (PCID, 0x03)
  +                }
  +            }

               Method (PCNT, 0, NotSerialized)
               {
  -                BNUM = Zero
  +                BNUM = One
                   DVNT (PCIU, One)
                   DVNT (PCID, 0x03)
  -                ^S18.PCNT ()
  +                ^S08.PCNT ()
               }
           }
  +
  +        Method (PCNT, 0, NotSerialized)
  +        {
  +            BNUM = Zero
  +            DVNT (PCIU, One)
  +            DVNT (PCID, 0x03)
  +            ^S18.PCNT ()
  +        }
       }

     Scope (_GPE)

 * due to ("pcihp: do not put empty PCNT in DSDT") in the most Q35 tests
  ...
               {
                   Name (_ADR, 0x001F0003)  // _ADR: Address
               }
  -
  -            Method (PCNT, 0, NotSerialized)
  -            {
  -            }
           }
       }

  ...
       {
           Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
           {
  -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
  -            \_SB.PCI0.PCNT ()
  -            Release (\_SB.PCI0.BLCK)
           }
       }

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-24-imammedo@redhat.com>


  Commit: 5d1aee56676c82c3bf2f678a816c0821d362a77b
      
https://github.com/qemu/qemu/commit/5d1aee56676c82c3bf2f678a816c0821d362a77b
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  whitelist DSDT before adding endpoint devices to bridge testcases

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-25-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: be8e333138d8e95602b0e1343a95a376785f6dc3
      
https://github.com/qemu/qemu/commit/be8e333138d8e95602b0e1343a95a376785f6dc3
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: add endpoint devices to bridges

to make sure that they are enumerated or ignored as expected

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-26-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 65e414a9dda6ea1bd52a74dc6e75003f3ca92003
      
https://github.com/qemu/qemu/commit/65e414a9dda6ea1bd52a74dc6e75003f3ca92003
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M tests/data/acpi/pc/DSDT.hpbrroot
    M tests/data/acpi/pc/DSDT.roothp
    M tests/data/acpi/q35/DSDT.bridge
    M tests/data/acpi/q35/DSDT.multi-bridge
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests: acpi: update expected blobs

previous commit added endpoint devices to bridge testcases,
which exposes extra non-hotpluggable slot in DSDT on bus where
hotplug is not available.
It should look like this (numbers may vary):

+            Device (S28)
+            {
+                Name (_ADR, 0x00050000)  // _ADR: Address
+            }

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-27-imammedo@redhat.com>


  Commit: ab84fc1c353cd396b420e3c3360508ada594f6a9
      
https://github.com/qemu/qemu/commit/ab84fc1c353cd396b420e3c3360508ada594f6a9
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  x86: pcihp: acpi: prepare slot ignore rule to work with self describing 
bridges

Before switching pci bridges to AcpiDevAmlIf interface, ensure that
ignored slots are handled correctly.
(existing rule works but only if bridge doesn't have AcpiDevAmlIf interface).
While at it rewrite related comments to be less confusing (hopefully).

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-28-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: d78644c7817617ea99b05ff30738580c56a6194f
      
https://github.com/qemu/qemu/commit/d78644c7817617ea99b05ff30738580c56a6194f
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/pci/pci_bridge.c

  Log Message:
  -----------
  pci: acpi: wire up AcpiDevAmlIf interface to generic bridge

... so that the concrete impl. won't has to duplicate it
every time. By default it doesn't do anything unless leaf class
defines and sets AcpiDevAmlIfClass::build_dev_aml handler.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-29-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 6c36ec46b0d28f682eed1ce1278989535c1307dc
      
https://github.com/qemu/qemu/commit/6c36ec46b0d28f682eed1ce1278989535c1307dc
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/acpi/Kconfig
    M hw/acpi/meson.build
    A hw/acpi/pci-bridge-stub.c
    A hw/acpi/pci-bridge.c
    M hw/i386/Kconfig
    M hw/i386/acpi-build.c
    M hw/pci/pci_bridge.c
    M include/hw/acpi/pci.h

  Log Message:
  -----------
  pcihp: make bridge describe itself using AcpiDevAmlIfClass:build_dev_aml

simplify build_append_pci_bus_devices() a bit by handling bridge
specific logic in bridge dedicated AcpiDevAmlIfClass::build_dev_aml
callback.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-30-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: c6f16471959e49db40a41371134240a8bd464450
      
https://github.com/qemu/qemu/commit/c6f16471959e49db40a41371134240a8bd464450
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/pci/pci.c
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: make sure pci_bus_is_express() won't error out with "discards ‘const’ 
qualifier"

function doesn't need RW aceess to passed in bus pointer,
make it const.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-31-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: a06c15a3b0778848c61b1bc3f03e41a3b585ea3d
      
https://github.com/qemu/qemu/commit/a06c15a3b0778848c61b1bc3f03e41a3b585ea3d
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  pcihp: isolate rule whether slot should be described in DSDT

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-32-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 2e827356dfa87156a944a83217f675f212294398
      
https://github.com/qemu/qemu/commit/2e827356dfa87156a944a83217f675f212294398
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: whitelist DSDT before decoupling PCI hotplug code from basic 
slots description

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-33-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 6fe5518e4fb75f6b3ae08d4b58da87fe8734a5de
      
https://github.com/qemu/qemu/commit/6fe5518e4fb75f6b3ae08d4b58da87fe8734a5de
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  pcihp: acpi: decouple hotplug and generic slots description

Split build_append_pci_bus_devices() onto generic part that builds
AML descriptions only for populated slots which is applicable to
both hotplug disabled and enabled bridges. And a hotplug only
part that complements generic AML with hotplug depended bits
(that depend on BSEL), like _SUN/_EJ0 entries, dynamic _DSM.

Hotplug part, will generate full 'Device' descriptors for
non-populated slots (like it used to be) and complementary
'Scope' descriptors for populated slots that are hotplug capable.
i.e. something like this:
  - ...
  +                Name (BSEL, 0x03)
  +                Scope (S00)
  +                {
  +                    Name (ASUN, Zero)
  +                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific 
Method
  +                    {
  +                        Local0 = Package (0x02)
  +                            {
  +                                BSEL,
  +                                ASUN
  +                            }
  +                        Return (PDSM (Arg0, Arg1, Arg2, Arg3, Local0))
  +                    }
  +  [ ... other hotplug depended bits ]
  +                }

While generic build_append_pci_bus_devices() still calls hotplug part at
its end it doesn't really depend on any hotplug bits anymore and later
both could be completely separated when it's necessary.

Main benefit though is that both build_append_pci_bus_devices() and
build_append_pcihp_slots() become more readable and it makes easier
to modify them with less risk of affecting another part. Also it opens
possibility to re-use generic part elsewhere (microvm, arm/virt).

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-34-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 912a5cf142e41110ec9cf0d0df3f412f24f32f12
      
https://github.com/qemu/qemu/commit/912a5cf142e41110ec9cf0d0df3f412f24f32f12
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M tests/data/acpi/pc/DSDT
    M tests/data/acpi/pc/DSDT.acpierst
    M tests/data/acpi/pc/DSDT.acpihmat
    M tests/data/acpi/pc/DSDT.bridge
    M tests/data/acpi/pc/DSDT.cphp
    M tests/data/acpi/pc/DSDT.dimmpxm
    M tests/data/acpi/pc/DSDT.hpbridge
    M tests/data/acpi/pc/DSDT.ipmikcs
    M tests/data/acpi/pc/DSDT.memhp
    M tests/data/acpi/pc/DSDT.nohpet
    M tests/data/acpi/pc/DSDT.numamem
    M tests/data/acpi/pc/DSDT.roothp
    M tests/data/acpi/q35/DSDT.bridge
    M tests/data/acpi/q35/DSDT.multi-bridge
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests: acpi: update expected blobs

Expected change for non-populated slots is that
thay are moved after non-hotpluggable PCI tree description.

And expected change for hotplug capable populated slots is:
  - ...
  +                Name (BSEL, 0x03)
  +                Scope (S00)
  +                {
  +                    Name (ASUN, Zero)
  +                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific 
Method
  +                    {
  +                        Local0 = Package (0x02)
  +                            {
  +                                BSEL,
  +                                ASUN
  +                            }
  +                        Return (PDSM (Arg0, Arg1, Arg2, Arg3, Local0))
  +                    }
  [ ... other hotplug depended bits ]
  +                }

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-35-imammedo@redhat.com>


  Commit: 9330847e6a3494a242a1180c8552ceab5d22b19d
      
https://github.com/qemu/qemu/commit/9330847e6a3494a242a1180c8552ceab5d22b19d
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: whitelist DSDT blobs before removing dynamic _DSM on coldplugged 
bridges

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-36-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 64a55106e4b9f5248f096bf158a9242c2b5cc8b9
      
https://github.com/qemu/qemu/commit/64a55106e4b9f5248f096bf158a9242c2b5cc8b9
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  pcihp: acpi: ignore coldplugged bridges when composing hotpluggable slots

coldplugged bridges are not unpluggable, so there is no need
to describe slots where they are plugged as hotpluggable. To
that effect we have a condition that marks slot as non-hotpluggable
if it's populated by coldplugged bridge and prevents generation
_SUN/_EJ0 objects for it. That leaves dynamic _DSM method on
such slot (which also depends on BSEL and pcihp hardware).
This _DSM method provides only dynamic acpi-index support so far,
which is not actually used/supported by linux kernel for bridges
and it's doubtful there will be need for it at all.

So it's rather pointless to generate acpi-index related AML
for bridges and we can simplify hotplug slots generator a bit
more by completely ignoring coldplugged bridges on hotplug path.

Another point in favor of dropping dynamic _DSM support, is
that we can replace it with static _DSM if necessary since
a slot with bridge can't change during VM runtime and without
any dependency on ACPI PCI hotplug at that.
Later I plan to implement bridge specific static _DSM
   PCI Firmware Specification 3.2
   4.6.5.  _DSM for Ignoring PCI Boot Configurations
part of spec, to fix longstanding issue with fixed IO/MEM
resource assignment that often leads to hotplugged device
being in-operational within the guest due limited IO/MEM
windows programmed on bridge at boot time.

Expected change when coldplugged bridge is ignored by hotplug
code, should look like:
-            Scope (S18)
-            {
-                Name (ASUN, 0x03)
-                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
-                {
-                    Local0 = Package (0x02)
-                        {
-                            BSEL,
-                            ASUN
-                        }
-                    Return (PDSM (Arg0, Arg1, Arg2, Arg3, Local0))
-                }
-            }

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-37-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: beb680ff28106b157f2d8372b2853753f96e15f5
      
https://github.com/qemu/qemu/commit/beb680ff28106b157f2d8372b2853753f96e15f5
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M tests/data/acpi/pc/DSDT.bridge
    M tests/data/acpi/pc/DSDT.hpbridge
    M tests/data/acpi/pc/DSDT.roothp
    M tests/data/acpi/q35/DSDT.multi-bridge
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests: acpi: update expected blobs

expected change is removal of dynamic _DSM bits from slots populated
by coldplugged bridges (something like):

    -            Scope (S18)
    -            {
    -                Name (ASUN, 0x03)
    -                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific 
Method
    -                {
    -                    Local0 = Package (0x02)
    -                        {
    -                            BSEL,
    -                            ASUN
    -                        }
    -                    Return (PDSM (Arg0, Arg1, Arg2, Arg3, Local0))
    -                }
    -            }

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-38-imammedo@redhat.com>


  Commit: 85ea72b96b746e2f88918e1b04495c9d329bb5c4
      
https://github.com/qemu/qemu/commit/85ea72b96b746e2f88918e1b04495c9d329bb5c4
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests: acpi: whitelist DSDT before moving non-hotpluggble slots description 
from hotplug path

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-39-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 17f4cedba14f882a4816c5be320ca2192f04e31c
      
https://github.com/qemu/qemu/commit/17f4cedba14f882a4816c5be320ca2192f04e31c
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  pcihp: generate populated non-hotpluggble slot descriptions on non-hotplug 
path

Generating slots descriptions populated by non-hotpluggable devices
is akward at best and complicates hotplug path (build_append_pcihp_slots)
needlessly, and builds only dynamic _DSM for such slots which is overlkill.
Clean it up and let non-hotplug path (build_append_pci_bus_devices)
to handle that task.

Such clean up effectively drops dynamic _DSM methods on non-hotpluggable
slots (even though bus itself is hotpluggable), but in practice it
affects only built-in devices (ide controllers/various bridges) that don't
use acpi-index anyways so effectively it doesn't matter (NICs are hotpluggble).

Follow up series will add static _DSM for non-hotpluggble devices/buses
that will not depend on ACPI PCI hotplug at all, and potentially would
allows us to reuse non-hotplug path elsewhere (PBX/microvm/arm-virt),
including new support for acpi-index for non-hotpluggable devices.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-40-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 4d6ee555ef649d00805a0730aa2e22fe152e90f0
      
https://github.com/qemu/qemu/commit/4d6ee555ef649d00805a0730aa2e22fe152e90f0
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M tests/data/acpi/pc/DSDT
    M tests/data/acpi/pc/DSDT.acpierst
    M tests/data/acpi/pc/DSDT.acpihmat
    M tests/data/acpi/pc/DSDT.bridge
    M tests/data/acpi/pc/DSDT.cphp
    M tests/data/acpi/pc/DSDT.dimmpxm
    M tests/data/acpi/pc/DSDT.hpbridge
    M tests/data/acpi/pc/DSDT.ipmikcs
    M tests/data/acpi/pc/DSDT.memhp
    M tests/data/acpi/pc/DSDT.nohpet
    M tests/data/acpi/pc/DSDT.numamem
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests: acpi: update expected blobs

Expected change removal of dynamic _DSM AML for non-hotpluggable
hots-bridge, storage, isa bridge devices from PC machine blobs:

  -            Scope (S00)
  -            {
  -                Name (ASUN, Zero)
  -                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
  -                {
  -                    Local0 = Package (0x02)
  -                        {
  -                            BSEL,
  -                            ASUN
  -                        }
  -                    Return (PDSM (Arg0, Arg1, Arg2, Arg3, Local0))
  -                }
  -            }
  -
  -            Scope (S08)
  -            {
  -                Name (ASUN, One)
  -                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
  -                {
  -                    Local0 = Package (0x02)
  -                        {
  -                            BSEL,
  -                            ASUN
  -                        }
  -                    Return (PDSM (Arg0, Arg1, Arg2, Arg3, Local0))
  -                }
  -            }
  -
  -            Scope (S10)
  -            {
  -                Name (ASUN, 0x02)
  -                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
  -                {
  -                    Local0 = Package (0x02)
  -                        {
  -                            BSEL,
  -                            ASUN
  -                        }
  -                    Return (PDSM (Arg0, Arg1, Arg2, Arg3, Local0))
  -                }
  -            }

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-41-imammedo@redhat.com>


  Commit: 920c184fa924da2890a1e9050282d01608291a34
      
https://github.com/qemu/qemu/commit/920c184fa924da2890a1e9050282d01608291a34
  Author: Minghao Yuan <yuanmh12@chinatelecom.cn>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/virtio/vhost-user.c

  Log Message:
  -----------
  vhost-user: Skip unnecessary duplicated VHOST_USER_ADD/REM_MEM_REG requests

The VHOST_USER_ADD/REM_MEM_REG requests should be categorized into
non-vring specific messages, and should be sent only once.

Signed-off-by: Minghao Yuan <yuanmh12@chinatelecom.cn>
Message-Id: <20230123122119.194347-1-yuanmh12@chinatelecom.cn>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: c45e7619dbe4033dfd525a417edb828af37a892e
      
https://github.com/qemu/qemu/commit/c45e7619dbe4033dfd525a417edb828af37a892e
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/arm/smmu-common.c
    M hw/virtio/virtio-iommu.c

  Log Message:
  -----------
  hw: Use TYPE_PCI_BUS definition where appropriate

Use the proper QOM type definition instead of magic string.
This also helps during eventual refactor while using git-grep.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230117193014.83502-1-philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>


  Commit: 4ffa3a1baa2678bb3c835aebdc3636e4a99c4ddf
      
https://github.com/qemu/qemu/commit/4ffa3a1baa2678bb3c835aebdc3636e4a99c4ddf
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

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

  Log Message:
  -----------
  tests/qtest/bios-tables-test: Make the test less verbose by default

We are facing the issues that our test logs in the gitlab CI are
too big (and thus cut off). The bios-tables-test is one of the few
qtests that prints many lines of output by default when running with
V=1, so it contributes to this problem. Almost all other qtests are
silent with V=1 and only print debug messages with V=2 and higher.
Thus let's change the bios-tables-test to behave more like the
other tests and only print the debug messages with V=2 (or higher).

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20230118125132.1694469-1-thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>


  Commit: f340a59d5a852d75ae34555723694c7e8eafbd0c
      
https://github.com/qemu/qemu/commit/f340a59d5a852d75ae34555723694c7e8eafbd0c
  Author: Greg Kurz <groug@kaod.org>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/virtio/vhost-user.c

  Log Message:
  -----------
  Revert "vhost-user: Monitor slave channel in vhost_user_read()"

This reverts commit db8a3772e300c1a656331a92da0785d81667dc81.

Motivation : this is breaking vhost-user with DPDK as reported in [0].

Received unexpected msg type. Expected 22 received 40
Fail to update device iotlb
Received unexpected msg type. Expected 40 received 22
Received unexpected msg type. Expected 22 received 11
Fail to update device iotlb
Received unexpected msg type. Expected 11 received 22
vhost VQ 1 ring restore failed: -71: Protocol error (71)
Received unexpected msg type. Expected 22 received 11
Fail to update device iotlb
Received unexpected msg type. Expected 11 received 22
vhost VQ 0 ring restore failed: -71: Protocol error (71)
unable to start vhost net: 71: falling back on userspace virtio

The failing sequence that leads to the first error is :
- QEMU sends a VHOST_USER_GET_STATUS (40) request to DPDK on the master
  socket
- QEMU starts a nested event loop in order to wait for the
  VHOST_USER_GET_STATUS response and to be able to process messages from
  the slave channel
- DPDK sends a couple of legitimate IOTLB miss messages on the slave
  channel
- QEMU processes each IOTLB request and sends VHOST_USER_IOTLB_MSG (22)
  updates on the master socket
- QEMU assumes to receive a response for the latest VHOST_USER_IOTLB_MSG
  but it gets the response for the VHOST_USER_GET_STATUS instead

The subsequent errors have the same root cause : the nested event loop
breaks the order by design. It lures QEMU to expect responses to the
latest message sent on the master socket to arrive first.

Since this was only needed for DAX enablement which is still not merged
upstream, just drop the code for now. A working solution will have to
be merged later on. Likely protect the master socket with a mutex
and service the slave channel with a separate thread, as discussed with
Maxime in the mail thread below.

[0] 
https://lore.kernel.org/qemu-devel/43145ede-89dc-280e-b953-6a2b436de395@redhat.com/

Reported-by: Yanghang Liu <yanghliu@redhat.com>
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2155173
Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <20230119172424.478268-2-groug@kaod.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>


  Commit: 4382138f642f69fdbc79ebf4e93d84be8061191f
      
https://github.com/qemu/qemu/commit/4382138f642f69fdbc79ebf4e93d84be8061191f
  Author: Greg Kurz <groug@kaod.org>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M hw/virtio/vhost-user.c

  Log Message:
  -----------
  Revert "vhost-user: Introduce nested event loop in vhost_user_read()"

This reverts commit a7f523c7d114d445c5d83aecdba3efc038e5a692.

The nested event loop is broken by design. It's only user was removed.
Drop the code as well so that nobody ever tries to use it again.

I had to fix a couple of trivial conflicts around return values because
of 025faa872bcf ("vhost-user: stick to -errno error return convention").

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <20230119172424.478268-3-groug@kaod.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>


  Commit: f5cb612867d3b10b86d6361ba041767e02c1b127
      
https://github.com/qemu/qemu/commit/f5cb612867d3b10b86d6361ba041767e02c1b127
  Author: Marcel Apfelbaum <marcel@redhat.com>
  Date:   2023-01-28 (Sat, 28 Jan 2023)

  Changed paths:
    M docs/pcie.txt

  Log Message:
  -----------
  docs/pcie.txt: Replace ioh3420 with pcie-root-port

Do not mention ioh3420 in the "how to" doc.
The device still works and can be used by already
existing setups, but no need to be mentioned.

Suggested-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20230123174205.683979-1-berrange@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: deabea6e88f7c4c3c12a36ee30051c6209561165
      
https://github.com/qemu/qemu/commit/deabea6e88f7c4c3c12a36ee30051c6209561165
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2023-02-02 (Thu, 02 Feb 2023)

  Changed paths:
    M docs/pcie.txt
    M hw/acpi/Kconfig
    M hw/acpi/acpi-x86-stub.c
    M hw/acpi/acpi_interface.c
    M hw/acpi/cpu.c
    M hw/acpi/meson.build
    A hw/acpi/pci-bridge-stub.c
    A hw/acpi/pci-bridge.c
    M hw/acpi/pcihp.c
    M hw/acpi/piix4.c
    M hw/arm/smmu-common.c
    M hw/core/machine.c
    M hw/i2c/smbus_ich9.c
    M hw/i386/Kconfig
    M hw/i386/acpi-build.c
    M hw/i386/acpi-common.c
    M hw/i386/acpi-microvm.c
    M hw/i386/microvm.c
    M hw/i386/pc_q35.c
    M hw/i386/x86.c
    M hw/isa/isa-bus.c
    M hw/isa/lpc_ich9.c
    M hw/isa/piix3.c
    M hw/nvram/fw_cfg.c
    M hw/pci-bridge/gen_pcie_root_port.c
    M hw/pci-bridge/pci_bridge_dev.c
    M hw/pci-host/grackle.c
    M hw/pci-host/raven.c
    M hw/pci-host/uninorth.c
    M hw/pci/pci.c
    M hw/pci/pci_bridge.c
    M hw/pci/pcie.c
    M hw/pci/pcie_port.c
    M hw/pci/shpc.c
    M hw/virtio/vhost-user.c
    M hw/virtio/virtio-iommu.c
    M include/exec/memory.h
    M include/hw/acpi/acpi_aml_interface.h
    M include/hw/acpi/acpi_dev_interface.h
    M include/hw/acpi/pci.h
    M include/hw/i386/intel_iommu.h
    M include/hw/i386/microvm.h
    M include/hw/i386/pc.h
    M include/hw/isa/isa.h
    M include/hw/nvram/fw_cfg.h
    M include/hw/pci/pci.h
    M include/hw/pci/pcie_port.h
    M tests/data/acpi/pc/DSDT
    M tests/data/acpi/pc/DSDT.acpierst
    M tests/data/acpi/pc/DSDT.acpihmat
    M tests/data/acpi/pc/DSDT.bridge
    M tests/data/acpi/pc/DSDT.cphp
    M tests/data/acpi/pc/DSDT.dimmpxm
    M tests/data/acpi/pc/DSDT.hpbridge
    M tests/data/acpi/pc/DSDT.hpbrroot
    M tests/data/acpi/pc/DSDT.ipmikcs
    M tests/data/acpi/pc/DSDT.memhp
    M tests/data/acpi/pc/DSDT.nohpet
    M tests/data/acpi/pc/DSDT.numamem
    M tests/data/acpi/pc/DSDT.roothp
    M tests/data/acpi/q35/DSDT
    M tests/data/acpi/q35/DSDT.acpierst
    M tests/data/acpi/q35/DSDT.acpihmat
    M tests/data/acpi/q35/DSDT.acpihmat-noinitiator
    M tests/data/acpi/q35/DSDT.applesmc
    M tests/data/acpi/q35/DSDT.bridge
    M tests/data/acpi/q35/DSDT.core-count2
    M tests/data/acpi/q35/DSDT.cphp
    M tests/data/acpi/q35/DSDT.cxl
    M tests/data/acpi/q35/DSDT.dimmpxm
    M tests/data/acpi/q35/DSDT.ipmibt
    M tests/data/acpi/q35/DSDT.ipmismbus
    M tests/data/acpi/q35/DSDT.ivrs
    M tests/data/acpi/q35/DSDT.memhp
    M tests/data/acpi/q35/DSDT.mmio64
    M tests/data/acpi/q35/DSDT.multi-bridge
    M tests/data/acpi/q35/DSDT.nohpet
    M tests/data/acpi/q35/DSDT.numamem
    M tests/data/acpi/q35/DSDT.pvpanic-isa
    M tests/data/acpi/q35/DSDT.tis.tpm12
    M tests/data/acpi/q35/DSDT.tis.tpm2
    M tests/data/acpi/q35/DSDT.viot
    M tests/data/acpi/q35/DSDT.xapic
    M tests/qtest/bios-tables-test.c
    M tests/qtest/boot-sector.c
    M tests/qtest/libqtest.c

  Log Message:
  -----------
  Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu 
into staging

virtio,pc,pci: features, cleanups, fixes

lots of fixes, cleanups

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

# -----BEGIN PGP SIGNATURE-----
#
# iQFDBAABCAAtFiEEXQn9CHHI+FuUyooNKB8NuNKNVGkFAmPYJdcPHG1zdEByZWRo
# YXQuY29tAAoJECgfDbjSjVRp08cIAMYq0y++RtepDpLnPjybR0v1G4cPgZS4DXFz
# 8uc/2nkAHe1Q2lJNmk9p3YjLLloSO8yC1bmuuhUpmry9BJokYzY1r7rfXc8jd/Za
# z2FjC9LuYX+sk26NTGUxPq9mhT0p14HXyoxpnQlCweuVL0DJg1Tip6HI4oOG2LJj
# Au6Rl9keMQNqf9qVtsR1djO+8nO4ywbx6D9d2CYSKkQ3pK3uLvNds9vqU16x8wq7
# mNPqV8BIoDgW4zEOL478h6rJcL7pDQo6kAT1wfg7q1JcMMHJfW36VcBeFfskfJFg
# Pej3TEP2rg1LsGfh5XVw5Rp6FZ4K2TEyTK9cPZ9F7CzKdUrgBHU=
# =S0zd
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 30 Jan 2023 20:17:27 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

* tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu: (56 
commits)
  docs/pcie.txt: Replace ioh3420 with pcie-root-port
  Revert "vhost-user: Introduce nested event loop in vhost_user_read()"
  Revert "vhost-user: Monitor slave channel in vhost_user_read()"
  tests/qtest/bios-tables-test: Make the test less verbose by default
  hw: Use TYPE_PCI_BUS definition where appropriate
  vhost-user: Skip unnecessary duplicated VHOST_USER_ADD/REM_MEM_REG requests
  tests: acpi: update expected blobs
  pcihp: generate populated non-hotpluggble slot descriptions on non-hotplug 
path
  tests: acpi: whitelist DSDT before moving non-hotpluggble slots description 
from hotplug path
  tests: acpi: update expected blobs
  pcihp: acpi: ignore coldplugged bridges when composing hotpluggable slots
  tests: acpi: whitelist DSDT blobs before removing dynamic _DSM on coldplugged 
bridges
  tests: acpi: update expected blobs
  pcihp: acpi: decouple hotplug and generic slots description
  tests: acpi: whitelist DSDT before decoupling PCI hotplug code from basic 
slots description
  pcihp: isolate rule whether slot should be described in DSDT
  pci: make sure pci_bus_is_express() won't error out with "discards ‘const’ 
qualifier"
  pcihp: make bridge describe itself using AcpiDevAmlIfClass:build_dev_aml
  pci: acpi: wire up AcpiDevAmlIf interface to generic bridge
  x86: pcihp: acpi: prepare slot ignore rule to work with self describing 
bridges
  ...

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


Compare: https://github.com/qemu/qemu/compare/026817fb6941...deabea6e88f7



reply via email to

[Prev in Thread] Current Thread [Next in Thread]