Branch: refs/heads/staging Home: https://github.com/qemu/qemu Commit: ab4dd2746c234f038206b3ccfe6bec1f19f98c24 https://github.com/qemu/qemu/commit/ab4dd2746c234f038206b3ccfe6bec1f19f98c24 Author: Philippe Mathieu-Daudé <phi...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021)
Changed paths: M hw/virtio/virtio.c Log Message: ----------- hw/virtio: Acquire RCU read lock in virtqueue_packed_drop_all() vring_get_region_caches() must be called with the RCU read lock acquired. virtqueue_packed_drop_all() does not, and uses the 'caches' pointer. Fix that by using the RCU_READ_LOCK_GUARD() macro. Reported-by: Stefano Garzarella <sgarz...@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> Message-Id: <20210906104318.1569967-3-phi...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Stefano Garzarella <sgarz...@redhat.com> Commit: d6ed27bae717ceac9de0c53a31389143846b8465 https://github.com/qemu/qemu/commit/d6ed27bae717ceac9de0c53a31389143846b8465 Author: Philippe Mathieu-Daudé <phi...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/virtio/virtio.c Log Message: ----------- hw/virtio: Have virtqueue_get_avail_bytes() pass caches arg to callees Both virtqueue_packed_get_avail_bytes() and virtqueue_split_get_avail_bytes() access the region cache, but their caller also does. Simplify by having virtqueue_get_avail_bytes calling both with RCU lock held, and passing the caches as argument. Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> Message-Id: <20210906104318.1569967-4-phi...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Stefano Garzarella <sgarz...@redhat.com> Commit: d6a9378f47515c6d70dbff4912c5740c98709880 https://github.com/qemu/qemu/commit/d6a9378f47515c6d70dbff4912c5740c98709880 Author: Stefano Garzarella <sgarz...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/core/machine.c M hw/virtio/vhost-vsock.c M include/hw/virtio/vhost-vsock.h Log Message: ----------- vhost-vsock: fix migration issue when seqpacket is supported Commit 1e08fd0a46 ("vhost-vsock: SOCK_SEQPACKET feature bit support") enabled the SEQPACKET feature bit. This commit is released with QEMU 6.1, so if we try to migrate a VM where the host kernel supports SEQPACKET but machine type version is less than 6.1, we get the following errors: Features 0x130000002 unsupported. Allowed features: 0x179000000 Failed to load virtio-vhost_vsock:virtio error while loading state for instance 0x0 of device '0000:00:05.0/virtio-vhost_vsock' load of migration failed: Operation not permitted Let's disable the feature bit for machine types < 6.1. We add a new OnOffAuto property for this, called `seqpacket`. When it is `auto` (default), QEMU behaves as before, trying to enable the feature, when it is `on` QEMU will fail if the backend (vhost-vsock kernel module) doesn't support it. Fixes: 1e08fd0a46 ("vhost-vsock: SOCK_SEQPACKET feature bit support") Cc: qemu-sta...@nongnu.org Reported-by: Jiang Wang <jiang.w...@bytedance.com> Signed-off-by: Stefano Garzarella <sgarz...@redhat.com> Message-Id: <20210921161642.206461-2-sgarz...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 46ce017167d800c5d96104a88cfaed9949c4a3b6 https://github.com/qemu/qemu/commit/46ce017167d800c5d96104a88cfaed9949c4a3b6 Author: Stefano Garzarella <sgarz...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/core/machine.c M hw/virtio/vhost-user-vsock.c M hw/virtio/vhost-vsock-common.c M hw/virtio/vhost-vsock.c M include/hw/virtio/vhost-vsock-common.h M include/hw/virtio/vhost-vsock.h Log Message: ----------- vhost-vsock: handle common features in vhost-vsock-common virtio-vsock features, like VIRTIO_VSOCK_F_SEQPACKET, can be handled by vhost-vsock-common parent class. In this way, we can reuse the same code for all virtio-vsock backends (i.e. vhost-vsock, vhost-user-vsock). Let's move `seqpacket` property to vhost-vsock-common class, add vhost_vsock_common_get_features() used by children, and disable `seqpacket` for vhost-user-vsock device for machine types < 6.2. The behavior of vhost-vsock device doesn't change; vhost-user-vsock device now supports `seqpacket` property. Signed-off-by: Stefano Garzarella <sgarz...@redhat.com> Message-Id: <20210921161642.206461-3-sgarz...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: c151fd87102cbb4082ac5dbcd704196b0495d28a https://github.com/qemu/qemu/commit/c151fd87102cbb4082ac5dbcd704196b0495d28a Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/aml-build.c M include/hw/acpi/aml-build.h Log Message: ----------- acpi: add helper routines to initialize ACPI tables Patch introduces acpi_table_begin()/ acpi_table_end() API that hides pointer/offset arithmetic from user as opposed to build_header(), to prevent errors caused by it [1]. acpi_table_begin(): initializes table header and keeps track of table data/offsets acpi_table_end(): sets actual table length and tells bios loader where table is for the later initialization on guest side. 1) commits bb9feea43179 x86: acpi: use offset instead of pointer when using build_header() 4d027afeb3a9 Virt: ACPI: fix qemu assert due to re-assigned table data address Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-2-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Tested-by: Stefan Berger <stef...@linux.ibm.com> Tested-by: Yanan Wang <wangyana...@huawei.com> Commit: ea298e83a7fb435e57913dd755b53e6b2264feed https://github.com/qemu/qemu/commit/ea298e83a7fb435e57913dd755b53e6b2264feed Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/aml-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: build_rsdt: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offests magic from API user. While at it switch to build_append_int_noprefix() to build entries to other tables (which also removes some manual offset calculations). Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-3-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: f497b7cae1cd052fdbc023f02d37921c4069f7e6 https://github.com/qemu/qemu/commit/f497b7cae1cd052fdbc023f02d37921c4069f7e6 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/aml-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: build_xsdt: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. While at it switch to build_append_int_noprefix() to build entries to other tables (which also removes some manual offset calculations). Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-4-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 7469f1991dc5e061ff724070c65e3fef96602bca https://github.com/qemu/qemu/commit/7469f1991dc5e061ff724070c65e3fef96602bca Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/aml-build.c Log Message: ----------- acpi: build_slit: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-5-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 4b56e1e4eb08e923f68203f0f92a1d3053bceb33 https://github.com/qemu/qemu/commit/4b56e1e4eb08e923f68203f0f92a1d3053bceb33 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/aml-build.c Log Message: ----------- acpi: build_fadt: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-6-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 3e39c1ed7b642a20b63afaeb3742e0917d25dbe0 https://github.com/qemu/qemu/commit/3e39c1ed7b642a20b63afaeb3742e0917d25dbe0 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/aml-build.c Log Message: ----------- acpi: build_tpm2: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Tested-by: Stefan Berger <stef...@linux.ibm.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-7-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 13229858cf76b9648ba20be93b70fca4429d7dcd https://github.com/qemu/qemu/commit/13229858cf76b9648ba20be93b70fca4429d7dcd Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/ghes.c Log Message: ----------- acpi: acpi_build_hest: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Dongjiu Geng <gengdongj...@gmail.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-8-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 578bc7a06462fd71c66d1562c457b01da307a7b6 https://github.com/qemu/qemu/commit/578bc7a06462fd71c66d1562c457b01da307a7b6 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/pci.c Log Message: ----------- acpi: build_mcfg: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-9-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 689ef4721a06dd724e447d8b8e2dc3622c866557 https://github.com/qemu/qemu/commit/689ef4721a06dd724e447d8b8e2dc3622c866557 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/hmat.c Log Message: ----------- acpi: build_hmat: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Also since acpi_table_begin() reserves space only for standard header while previous acpi_data_push() reserved the header + 4 bytes field, add 4 bytes 'Reserved' field into hmat_build_table_structs() which didn have it. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-10-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 7d1823beeffc43669aaf7c5bc274c30e1c16e6c2 https://github.com/qemu/qemu/commit/7d1823beeffc43669aaf7c5bc274c30e1c16e6c2 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/nvdimm.c Log Message: ----------- acpi: nvdimm_build_nfit: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Also since acpi_table_begin() reserves space only for standard header while previous acpi_data_push() reserved the header + 4 bytes field, add 4 bytes 'Reserved' field into nvdimm_build_nfit() which didn't have it. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-11-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: de67dd1be0af2b7fb02af441254ea05cd9bc1007 https://github.com/qemu/qemu/commit/de67dd1be0af2b7fb02af441254ea05cd9bc1007 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/nvdimm.c Log Message: ----------- acpi: nvdimm_build_ssdt: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-12-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: b25681c358bccb8700d742acb742dc1c2374acb7 https://github.com/qemu/qemu/commit/b25681c358bccb8700d742acb742dc1c2374acb7 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/vmgenid.c Log Message: ----------- acpi: vmgenid_build_acpi: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-13-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 5c142bc48f973e348e6ae13495ce370b172abaa4 https://github.com/qemu/qemu/commit/5c142bc48f973e348e6ae13495ce370b172abaa4 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/acpi-build.c Log Message: ----------- acpi: x86: build_dsdt: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-14-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 43dde1705c610710389491e5989ae6f5b5cf6fb9 https://github.com/qemu/qemu/commit/43dde1705c610710389491e5989ae6f5b5cf6fb9 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/acpi-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: build_hpet: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. while at it convert build_hpet() to endian agnostic build_append_FOO() API Signed-off-by: Igor Mammedov <imamm...@redhat.com> Message-Id: <20210924122802.1455362-15-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 57cb8cfbf2cda59fe829fee54115f72dd7998645 https://github.com/qemu/qemu/commit/57cb8cfbf2cda59fe829fee54115f72dd7998645 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/acpi-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: build_tpm_tcpa: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. While at it switch to build_append_int_noprefix() to build table entries (which also removes some manual offset calculations). Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-16-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 255bf20f2e047be1068f90cf8eaf3fc07cbba7d5 https://github.com/qemu/qemu/commit/255bf20f2e047be1068f90cf8eaf3fc07cbba7d5 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/arm/virt-acpi-build.c M hw/i386/acpi-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: arm/x86: build_srat: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. While at it switch to build_append_int_noprefix() to build table entries (which also removes some manual offset calculations) Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-17-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: e5b6d55a6e5e13002cf79a42a0b78b3188e88a1f https://github.com/qemu/qemu/commit/e5b6d55a6e5e13002cf79a42a0b78b3188e88a1f Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/aml-build.c M hw/acpi/nvdimm.c M hw/arm/virt-acpi-build.c M hw/i386/acpi-build.c M include/hw/acpi/acpi-defs.h M include/hw/acpi/aml-build.h Log Message: ----------- acpi: use build_append_int_noprefix() API to compose SRAT table Drop usage of packed structures and explicit endian conversions when building SRAT tables for arm/x86 and use endian agnostic build_append_int_noprefix() API to build it. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-18-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 91a6b9756970f70d933ea3c01fb5306ea6e5b331 https://github.com/qemu/qemu/commit/91a6b9756970f70d933ea3c01fb5306ea6e5b331 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/acpi-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: build_dmar_q35: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. While at it switch to build_append_int_noprefix() to build table entries tables. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-19-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: eaa507646d039556ee2a10514b0a0acfe8f8362d https://github.com/qemu/qemu/commit/eaa507646d039556ee2a10514b0a0acfe8f8362d Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/acpi-build.c Log Message: ----------- acpi: build_waet: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-20-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: b0a45ff60e822c26fbf412d3b82bd5748e4f8fb0 https://github.com/qemu/qemu/commit/b0a45ff60e822c26fbf412d3b82bd5748e4f8fb0 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/acpi-build.c Log Message: ----------- acpi: build_amd_iommu: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-21-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 99a7545f92378765ca98eb1b54b1087c9d2567ec https://github.com/qemu/qemu/commit/99a7545f92378765ca98eb1b54b1087c9d2567ec Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/arm/virt-acpi-build.c M hw/i386/acpi-common.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: madt: arm/x86: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-22-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: b10e7f4f8f05b3956eabf0661320c71f1e3bab10 https://github.com/qemu/qemu/commit/b10e7f4f8f05b3956eabf0661320c71f1e3bab10 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: x86: remove dead code Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-23-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: d0aa026a498cdd4e082f12618767f19a2532712a https://github.com/qemu/qemu/commit/d0aa026a498cdd4e082f12618767f19a2532712a Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) 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: ----------- acpi: x86: set enabled when composing _MAT entries Instead of composing disabled _MAT entry and then later on patching it to enabled for hotpluggbale CPUs in DSDT, set it to enabled at the time _MAT entry is built. It will allow to drop usage of packed structures in following patches when build_madt() is switched to use build_append_int_noprefix() API. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-24-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: dd092b9c6008149785d7789c729f468fb762aa0b https://github.com/qemu/qemu/commit/dd092b9c6008149785d7789c729f468fb762aa0b Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/acpi-common.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: x86: madt: use build_append_int_noprefix() API to compose MADT table Drop usage of packed structures and explicit endian conversions when building MADT table for arm/x86 and use endian agnostic build_append_int_noprefix() API to build it. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-25-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 37f33084ed2eb0867e3a3f501c6279c7c5f666c6 https://github.com/qemu/qemu/commit/37f33084ed2eb0867e3a3f501c6279c7c5f666c6 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/arm/virt-acpi-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: arm/virt: madt: use build_append_int_noprefix() API to compose MADT table Drop usage of packed structures and explicit endian conversions when building MADT table for arm/x86 and use endian agnostic build_append_int_noprefix() API to build it. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-26-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 8f20f9a7364f5324416c33a7d0aeccbddd5affcc https://github.com/qemu/qemu/commit/8f20f9a7364f5324416c33a7d0aeccbddd5affcc Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/acpi-microvm.c Log Message: ----------- acpi: build_dsdt_microvm: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-27-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: fc02b86982df0628926869551901b64d2ab777e5 https://github.com/qemu/qemu/commit/fc02b86982df0628926869551901b64d2ab777e5 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/arm/virt-acpi-build.c Log Message: ----------- acpi: arm: virt: build_dsdt: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-28-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 3548494e49dacd33bbd610876d1ac38f8f8b94bc https://github.com/qemu/qemu/commit/3548494e49dacd33bbd610876d1ac38f8f8b94bc Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/arm/virt-acpi-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: arm: virt: build_iort: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Tested-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-29-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 271cbb2f2bfecfbb31175645f4e3da7ec626b810 https://github.com/qemu/qemu/commit/271cbb2f2bfecfbb31175645f4e3da7ec626b810 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/arm/virt-acpi-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: arm/virt: convert build_iort() to endian agnostic build_append_FOO() API Drop usage of packed structures and explicit endian conversions when building IORT table use endian agnostic build_append_int_noprefix() API to build it. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Message-Id: <20210924122802.1455362-30-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Tested-by: Eric Auger <eric.au...@redhat.com> Commit: 88b1045eadd699335ffab0c9235f096f3a8cf771 https://github.com/qemu/qemu/commit/88b1045eadd699335ffab0c9235f096f3a8cf771 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/arm/virt-acpi-build.c Log Message: ----------- acpi: arm/virt: build_spcr: fix invalid cast implicit cast to structure uint8_t member didn't raise error when assigning value from incorrect enum, but when using build_append_gas() (next patch) it will error out with (clang): implicit conversion from enumeration type 'AmlRegionSpace' to different enumeration type 'AmlAddressSpace' fix cast error by using correct AML_AS_SYSTEM_MEMORY enum Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-31-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: a86d86ac0ae39b7e8fcce08fffd2e0ab5aa287df https://github.com/qemu/qemu/commit/a86d86ac0ae39b7e8fcce08fffd2e0ab5aa287df Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/arm/virt-acpi-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: arm/virt: build_spcr: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. while at it, replace packed structure with endian agnostic build_append_FOO() API. PS: Spec is Microsoft hosted, however 1.02 is no where to be found (MS lists only the current revision) and the current revision is 1.07, so bring comments in line with 1.07 as this is the only available spec. There is no content change between originally implemented 1.02 (using QEMU code as reference) and 1.07. The only change is renaming 'Reserved2' field to 'Language', with the same 0 value. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-32-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 41041e57085a9454c45a6a751babfca70306f361 https://github.com/qemu/qemu/commit/41041e57085a9454c45a6a751babfca70306f361 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/arm/virt-acpi-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: arm/virt: build_gtdt: use acpi_table_begin()/acpi_table_end() instead of build_header() it replaces error-prone pointer arithmetic for build_header() API, with 2 calls to start and finish table creation, which hides offsets magic from API user. while at it, replace packed structure with endian agnostic build_append_FOO() API. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-33-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: cf68410bc98914ee9be5cb5a127a1212056ab83a https://github.com/qemu/qemu/commit/cf68410bc98914ee9be5cb5a127a1212056ab83a Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/acpi-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: build_facs: use build_append_int_noprefix() API to compose table Drop usage of packed structures and explicit endian conversions when building table and use endian agnostic build_append_int_noprefix() API to build it. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-34-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 538c2ecf1ab73fb2ecc2d50ef23b116e634b5392 https://github.com/qemu/qemu/commit/538c2ecf1ab73fb2ecc2d50ef23b116e634b5392 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/aml-build.c M include/hw/acpi/acpi-defs.h M include/hw/acpi/aml-build.h Log Message: ----------- acpi: remove no longer used build_header() Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-35-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: a8a5768786f4182cb4f4b08e830150dc93d51964 https://github.com/qemu/qemu/commit/a8a5768786f4182cb4f4b08e830150dc93d51964 Author: Igor Mammedov <imamm...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: AcpiGenericAddress no longer used to map/access fields of MMIO, drop packed attribute Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com> Message-Id: <20210924122802.1455362-36-imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 9f29e872d5b3973003701401cf659cfb71c95013 https://github.com/qemu/qemu/commit/9f29e872d5b3973003701401cf659cfb71c95013 Author: Ani Sinha <a...@anisinha.ca> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M tests/qtest/bios-tables-test-allowed-diff.h Log Message: ----------- bios-tables-test: allow changes in DSDT ACPI tables for q35 We are going to commit a change to fix IO address range allocated for acpi pci hotplug in q35. This affects DSDT tables. This change allows DSDT table modification so that unit tests are not broken. Signed-off-by: Ani Sinha <a...@anisinha.ca> Acked-by: Igor Mammedov <imamm...@redhat.com> Message-Id: <20210916132838.3469580-2-...@anisinha.ca> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 0e780da76a6fe283a20283856718bca3986c104f https://github.com/qemu/qemu/commit/0e780da76a6fe283a20283856718bca3986c104f Author: Ani Sinha <a...@anisinha.ca> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M include/hw/acpi/ich9.h Log Message: ----------- hw/i386/acpi: fix conflicting IO address range for acpi pci hotplug in q35 Change caf108bc58790 ("hw/i386/acpi-build: Add ACPI PCI hot-plug methods to Q35") selects an IO address range for acpi based PCI hotplug for q35 arbitrarily. It starts at address 0x0cc4 and ends at 0x0cdb. At the time when the patch was written but the final version of the patch was not yet pushed upstream, this address range was free and did not conflict with any other IO address ranges. However, with the following change, this address range was no longer conflict free as in this change, the IO address range (value of ACPI_PCIHP_SIZE) was incremented by four bytes: b32bd763a1ca92 ("pci: introduce acpi-index property for PCI device") This can be seen from the output of QMP command 'info mtree' : 0000000000000600-0000000000000603 (prio 0, i/o): acpi-evt 0000000000000604-0000000000000605 (prio 0, i/o): acpi-cnt 0000000000000608-000000000000060b (prio 0, i/o): acpi-tmr 0000000000000620-000000000000062f (prio 0, i/o): acpi-gpe0 0000000000000630-0000000000000637 (prio 0, i/o): acpi-smi 0000000000000cc4-0000000000000cdb (prio 0, i/o): acpi-pci-hotplug 0000000000000cd8-0000000000000ce3 (prio 0, i/o): acpi-cpu-hotplug It shows that there is a region of conflict between IO regions of acpi pci hotplug and acpi cpu hotplug. Unfortunately, the change caf108bc58790 did not update the IO address range appropriately before it was pushed upstream to accommodate the increased length of the IO address space introduced in change b32bd763a1ca92. Due to this bug, windows guests complain 'This device cannot find enough free resources it can use' in the device manager panel for extended IO buses. This issue also breaks the correct functioning of pci hotplug as the following shows that the IO space for pci hotplug has been truncated: (qemu) info mtree -f FlatView #0 AS "I/O", root: io Root memory region: io 0000000000000cc4-0000000000000cd7 (prio 0, i/o): acpi-pci-hotplug 0000000000000cd8-0000000000000cf7 (prio 0, i/o): acpi-cpu-hotplug Therefore, in this fix, we adjust the IO address range for the acpi pci hotplug so that it does not conflict with cpu hotplug and there is no truncation of IO spaces. The starting IO address of PCI hotplug region has been decremented by four bytes in order to accommodate four byte increment in the IO address space introduced by change b32bd763a1ca92 ("pci: introduce acpi-index property for PCI device") After fixing, the following are the corrected IO ranges: 0000000000000600-0000000000000603 (prio 0, i/o): acpi-evt 0000000000000604-0000000000000605 (prio 0, i/o): acpi-cnt 0000000000000608-000000000000060b (prio 0, i/o): acpi-tmr 0000000000000620-000000000000062f (prio 0, i/o): acpi-gpe0 0000000000000630-0000000000000637 (prio 0, i/o): acpi-smi 0000000000000cc0-0000000000000cd7 (prio 0, i/o): acpi-pci-hotplug 0000000000000cd8-0000000000000ce3 (prio 0, i/o): acpi-cpu-hotplug This change has been tested using a Windows Server 2019 guest VM. Windows no longer complains after this change. Fixes: caf108bc58790 ("hw/i386/acpi-build: Add ACPI PCI hot-plug methods to Q35") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/561 Signed-off-by: Ani Sinha <a...@anisinha.ca> Reviewed-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Julia Suvorova <jus...@redhat.com> Message-Id: <20210916132838.3469580-3-...@anisinha.ca> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 500eb21cff08dfb0478db9b34f2fdba69eb31496 https://github.com/qemu/qemu/commit/500eb21cff08dfb0478db9b34f2fdba69eb31496 Author: Ani Sinha <a...@anisinha.ca> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M tests/data/acpi/q35/DSDT M tests/data/acpi/q35/DSDT.acpihmat M tests/data/acpi/q35/DSDT.bridge M tests/data/acpi/q35/DSDT.cphp M tests/data/acpi/q35/DSDT.dimmpxm M tests/data/acpi/q35/DSDT.ipmibt M tests/data/acpi/q35/DSDT.memhp M tests/data/acpi/q35/DSDT.mmio64 M tests/data/acpi/q35/DSDT.nohpet M tests/data/acpi/q35/DSDT.numamem M tests/data/acpi/q35/DSDT.tis.tpm12 M tests/data/acpi/q35/DSDT.tis.tpm2 M tests/qtest/bios-tables-test-allowed-diff.h Log Message: ----------- bios-tables-test: Update ACPI DSDT table golden blobs for q35 We have modified the IO address range for ACPI pci hotplug in q35. See change: 5adcc9e39e6a5 ("hw/i386/acpi: fix conflicting IO address range for acpi pci hotplug in q35") The ACPI DSDT table golden blobs must be regenrated in order to make the unit tests pass. This change updates the golden ACPI DSDT table blobs. Following is the ASL diff between the blobs: @@ -1,30 +1,30 @@ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20190509 (64-bit version) * Copyright (c) 2000 - 2019 Intel Corporation * * Disassembling to symbolic ASL+ operators * - * Disassembly of tests/data/acpi/q35/DSDT, Tue Sep 14 09:04:06 2021 + * Disassembly of /tmp/aml-52DP90, Tue Sep 14 09:04:06 2021 * * Original Table Header: * Signature "DSDT" * Length 0x00002061 (8289) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0xE5 + * Checksum 0xF9 * OEM ID "BOCHS " * OEM Table ID "BXPC " * OEM Revision 0x00000001 (1) * Compiler ID "BXPC" * Compiler Version 0x00000001 (1) */ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPC ", 0x00000001) { Scope (\) { OperationRegion (DBG, SystemIO, 0x0402, One) Field (DBG, ByteAcc, NoLock, Preserve) { DBGB, 8 } @@ -226,46 +226,46 @@ Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) } } Scope (_SB.PCI0) { - OperationRegion (PCST, SystemIO, 0x0CC4, 0x08) + OperationRegion (PCST, SystemIO, 0x0CC0, 0x08) Field (PCST, DWordAcc, NoLock, WriteAsZeros) { PCIU, 32, PCID, 32 } - OperationRegion (SEJ, SystemIO, 0x0CCC, 0x04) + OperationRegion (SEJ, SystemIO, 0x0CC8, 0x04) Field (SEJ, DWordAcc, NoLock, WriteAsZeros) { B0EJ, 32 } - OperationRegion (BNMR, SystemIO, 0x0CD4, 0x08) + OperationRegion (BNMR, SystemIO, 0x0CD0, 0x08) Field (BNMR, DWordAcc, NoLock, WriteAsZeros) { BNUM, 32, PIDX, 32 } Mutex (BLCK, 0x00) Method (PCEJ, 2, NotSerialized) { Acquire (BLCK, 0xFFFF) BNUM = Arg0 B0EJ = (One << Arg1) Release (BLCK) Return (Zero) } @@ -3185,34 +3185,34 @@ 0x0620, // Range Minimum 0x0620, // Range Maximum 0x01, // Alignment 0x10, // Length ) }) } Device (PHPR) { Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID Name (_UID, "PCI Hotplug resources") // _UID: Unique ID Name (_STA, 0x0B) // _STA: Status Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, - 0x0CC4, // Range Minimum - 0x0CC4, // Range Maximum + 0x0CC0, // Range Minimum + 0x0CC0, // Range Maximum 0x01, // Alignment 0x18, // Length ) }) } } Scope (\) { Name (_S3, Package (0x04) // _S3_: S3 System State { One, One, Zero, Zero }) Signed-off-by: Ani Sinha <a...@anisinha.ca> Acked-by: Igor Mammedov <imamm...@redhat.com> Message-Id: <20210916132838.3469580-4-...@anisinha.ca> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 243a9284a989a38e32ceb3990eb795f5cf6f3be0 https://github.com/qemu/qemu/commit/243a9284a989a38e32ceb3990eb795f5cf6f3be0 Author: Dr. David Alan Gilbert <dgilb...@redhat.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/virtio/virtio-balloon.c Log Message: ----------- virtio-balloon: Fix page-poison subsection name The subsection name for page-poison was typo'd as: vitio-balloon-device/page-poison Note the missing 'r' in virtio. When we have a machine type that enables page poison, and the guest enables it (which needs a new kernel), things fail rather unpredictably. The fallout from this is that most of the other subsections fail to load, including things like the feature bits in the device, one possible fallout is that the physical addresses of the queues then get aligned differently and we fail with an error about last_avail_idx being wrong. It's not obvious to me why this doesn't produce a more obvious failure, but virtio's vmstate loading is a bit open-coded. Fixes: 7483cbbaf82 ("virtio-balloon: Implement support for page poison reporting feature") bz: https://bugzilla.redhat.com/show_bug.cgi?id=1984401 Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Message-Id: <20210914131716.102851-1-dgilb...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: David Hildenbrand <da...@redhat.com> Commit: 5c243345236b058a3d84c8cbc62802f3fffb273c https://github.com/qemu/qemu/commit/5c243345236b058a3d84c8cbc62802f3fffb273c Author: Li Zhijian <lizhij...@cn.fujitsu.com> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/nvdimm.c Log Message: ----------- nvdimm: release the correct device list Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Message-Id: <20210624110415.187164-1-lizhij...@cn.fujitsu.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Igor Mammedov <imamm...@redhat.com> Commit: 64cba40c4480b4716da7d26fbedc97f43aa9f8f4 https://github.com/qemu/qemu/commit/64cba40c4480b4716da7d26fbedc97f43aa9f8f4 Author: Philippe Mathieu-Daudé <f4...@amsat.org> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/amd_iommu.c Log Message: ----------- hw/i386/amd_iommu: Rename amdviPCI TypeInfo Per 'QEMU Coding Style': Naming ====== Variables are lower_case_with_underscores; easy to type and read. Rename amdviPCI variable as amdvi_pci. amdviPCI_register_types() register more than PCI types: TYPE_AMD_IOMMU_DEVICE inherits TYPE_X86_IOMMU_DEVICE which itself inherits TYPE_SYS_BUS_DEVICE. Rename it more generically as amdvi_register_types(). Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> Message-Id: <20210926175648.1649075-2-f4...@amsat.org> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 8f6b7309c423a876dbb26975fdb48f582ebcabcd https://github.com/qemu/qemu/commit/8f6b7309c423a876dbb26975fdb48f582ebcabcd Author: Philippe Mathieu-Daudé <f4...@amsat.org> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/amd_iommu.c Log Message: ----------- hw/i386/amd_iommu: Rename SysBus specific functions as amdvi_sysbus_X() Various functions are SysBus specific. Rename them using the consistent amdvi_sysbus_XXX() pattern, to differentiate them from PCI specific functions (which we'll add in the next commit). Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> Message-Id: <20210926175648.1649075-3-f4...@amsat.org> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 64bc656decc0fdf59e23753de8940c744b39b586 https://github.com/qemu/qemu/commit/64bc656decc0fdf59e23753de8940c744b39b586 Author: Philippe Mathieu-Daudé <f4...@amsat.org> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/i386/amd_iommu.c Log Message: ----------- hw/i386/amd_iommu: Add description/category to TYPE_AMD_IOMMU_PCI TYPE_AMD_IOMMU_PCI is user-creatable but not well described. Implement its class_init() handler to add it to the 'Misc devices' category, and add a description. Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> Message-Id: <20210926175648.1649075-4-f4...@amsat.org> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 274f9a381cd334118e9c84afb3285fe1da97cf87 https://github.com/qemu/qemu/commit/274f9a381cd334118e9c84afb3285fe1da97cf87 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2021-10-05 (Tue, 05 Oct 2021) Changed paths: M hw/acpi/acpi-x86-stub.c M hw/acpi/aml-build.c M hw/acpi/cpu.c M hw/acpi/ghes.c M hw/acpi/hmat.c M hw/acpi/nvdimm.c M hw/acpi/pci.c M hw/acpi/vmgenid.c M hw/arm/virt-acpi-build.c M hw/core/machine.c M hw/i386/acpi-build.c M hw/i386/acpi-common.c M hw/i386/acpi-microvm.c M hw/i386/amd_iommu.c M hw/virtio/vhost-user-vsock.c M hw/virtio/vhost-vsock-common.c M hw/virtio/vhost-vsock.c M hw/virtio/virtio-balloon.c M hw/virtio/virtio.c M include/hw/acpi/acpi-defs.h M include/hw/acpi/acpi_dev_interface.h M include/hw/acpi/aml-build.h M include/hw/acpi/ich9.h M include/hw/i386/pc.h M include/hw/virtio/vhost-vsock-common.h M tests/data/acpi/q35/DSDT M tests/data/acpi/q35/DSDT.acpihmat M tests/data/acpi/q35/DSDT.bridge M tests/data/acpi/q35/DSDT.cphp M tests/data/acpi/q35/DSDT.dimmpxm M tests/data/acpi/q35/DSDT.ipmibt M tests/data/acpi/q35/DSDT.memhp M tests/data/acpi/q35/DSDT.mmio64 M tests/data/acpi/q35/DSDT.nohpet M tests/data/acpi/q35/DSDT.numamem M tests/data/acpi/q35/DSDT.tis.tpm12 M tests/data/acpi/q35/DSDT.tis.tpm2 Log Message: ----------- Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging pc,pci,virtio: features, fixes A huge acpi refactoring. Fixes, cleanups all over the place. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> # gpg: Signature made Tue 05 Oct 2021 02:31:11 PM PDT # gpg: using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469 # gpg: issuer "m...@redhat.com" # gpg: Good signature from "Michael S. Tsirkin <m...@kernel.org>" [full] # gpg: aka "Michael S. Tsirkin <m...@redhat.com>" [full] * remotes/mst/tags/for_upstream: (47 commits) hw/i386/amd_iommu: Add description/category to TYPE_AMD_IOMMU_PCI hw/i386/amd_iommu: Rename SysBus specific functions as amdvi_sysbus_X() hw/i386/amd_iommu: Rename amdviPCI TypeInfo nvdimm: release the correct device list virtio-balloon: Fix page-poison subsection name bios-tables-test: Update ACPI DSDT table golden blobs for q35 hw/i386/acpi: fix conflicting IO address range for acpi pci hotplug in q35 bios-tables-test: allow changes in DSDT ACPI tables for q35 acpi: AcpiGenericAddress no longer used to map/access fields of MMIO, drop packed attribute acpi: remove no longer used build_header() acpi: build_facs: use build_append_int_noprefix() API to compose table acpi: arm/virt: build_gtdt: use acpi_table_begin()/acpi_table_end() instead of build_header() acpi: arm/virt: build_spcr: use acpi_table_begin()/acpi_table_end() instead of build_header() acpi: arm/virt: build_spcr: fix invalid cast acpi: arm/virt: convert build_iort() to endian agnostic build_append_FOO() API acpi: arm: virt: build_iort: use acpi_table_begin()/acpi_table_end() instead of build_header() acpi: arm: virt: build_dsdt: use acpi_table_begin()/acpi_table_end() instead of build_header() acpi: build_dsdt_microvm: use acpi_table_begin()/acpi_table_end() instead of build_header() acpi: arm/virt: madt: use build_append_int_noprefix() API to compose MADT table acpi: x86: madt: use build_append_int_noprefix() API to compose MADT table ... Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Compare: https://github.com/qemu/qemu/compare/08a9b68dc033...274f9a381cd3