From 562a7d23bf9a2f978cea799af40a1b2b0b4fc71b Mon Sep 17 00:00:00 2001 From: Stefano Garzarella Date: Mon, 21 Nov 2022 11:11:01 +0100 Subject: [PATCH 1/8] vhost: mask VIRTIO_F_RING_RESET for vhost and vhost-user devices Commit 69e1c14aa2 ("virtio: core: vq reset feature negotation support") enabled VIRTIO_F_RING_RESET by default for all virtio devices. This feature is not currently emulated by QEMU, so for vhost and vhost-user devices we need to make sure it is supported by the offloaded device emulation (in-kernel or in another process). To do this we need to add VIRTIO_F_RING_RESET to the features bitmap passed to vhost_get_features(). This way it will be masked if the device does not support it. This issue was initially discovered with vhost-vsock and vhost-user-vsock, and then also tested with vhost-user-rng which confirmed the same issue. They fail when sending features through VHOST_SET_FEATURES ioctl or VHOST_USER_SET_FEATURES message, since VIRTIO_F_RING_RESET is negotiated by the guest (Linux >= v6.0), but not supported by the device. Fixes: 69e1c14aa2 ("virtio: core: vq reset feature negotation support") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1318 Signed-off-by: Stefano Garzarella Message-Id: <20221121101101.29400-1-sgarzare@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Stefan Hajnoczi Acked-by: Raphael Norwitz Acked-by: Jason Wang --- hw/block/vhost-user-blk.c | 1 + hw/net/vhost_net.c | 1 + hw/scsi/vhost-scsi.c | 1 + hw/scsi/vhost-user-scsi.c | 1 + hw/virtio/vhost-user-fs.c | 1 + hw/virtio/vhost-user-gpio.c | 1 + hw/virtio/vhost-user-i2c.c | 1 + hw/virtio/vhost-user-rng.c | 11 +++++++++-- hw/virtio/vhost-vsock-common.c | 1 + net/vhost-vdpa.c | 1 + 10 files changed, 18 insertions(+), 2 deletions(-) diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c index 16ad400889..0d5190accf 100644 --- a/hw/block/vhost-user-blk.c +++ b/hw/block/vhost-user-blk.c @@ -52,6 +52,7 @@ static const int user_feature_bits[] = { VIRTIO_F_NOTIFY_ON_EMPTY, VIRTIO_F_RING_PACKED, VIRTIO_F_IOMMU_PLATFORM, + VIRTIO_F_RING_RESET, VHOST_INVALID_FEATURE_BIT }; diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c index feda448878..26e4930676 100644 --- a/hw/net/vhost_net.c +++ b/hw/net/vhost_net.c @@ -75,6 +75,7 @@ static const int user_feature_bits[] = { VIRTIO_NET_F_MTU, VIRTIO_F_IOMMU_PLATFORM, VIRTIO_F_RING_PACKED, + VIRTIO_F_RING_RESET, VIRTIO_NET_F_RSS, VIRTIO_NET_F_HASH_REPORT, diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c index bdf337a7a2..6a0fd0dfb1 100644 --- a/hw/scsi/vhost-scsi.c +++ b/hw/scsi/vhost-scsi.c @@ -38,6 +38,7 @@ static const int kernel_feature_bits[] = { VIRTIO_RING_F_INDIRECT_DESC, VIRTIO_RING_F_EVENT_IDX, VIRTIO_SCSI_F_HOTPLUG, + VIRTIO_F_RING_RESET, VHOST_INVALID_FEATURE_BIT }; diff --git a/hw/scsi/vhost-user-scsi.c b/hw/scsi/vhost-user-scsi.c index bc37317d55..b7a71a802c 100644 --- a/hw/scsi/vhost-user-scsi.c +++ b/hw/scsi/vhost-user-scsi.c @@ -36,6 +36,7 @@ static const int user_feature_bits[] = { VIRTIO_RING_F_INDIRECT_DESC, VIRTIO_RING_F_EVENT_IDX, VIRTIO_SCSI_F_HOTPLUG, + VIRTIO_F_RING_RESET, VHOST_INVALID_FEATURE_BIT }; diff --git a/hw/virtio/vhost-user-fs.c b/hw/virtio/vhost-user-fs.c index 1c40f42045..dc4014cdef 100644 --- a/hw/virtio/vhost-user-fs.c +++ b/hw/virtio/vhost-user-fs.c @@ -32,6 +32,7 @@ static const int user_feature_bits[] = { VIRTIO_F_NOTIFY_ON_EMPTY, VIRTIO_F_RING_PACKED, VIRTIO_F_IOMMU_PLATFORM, + VIRTIO_F_RING_RESET, VHOST_INVALID_FEATURE_BIT }; diff --git a/hw/virtio/vhost-user-gpio.c b/hw/virtio/vhost-user-gpio.c index 677d1c7730..5851cb3bc9 100644 --- a/hw/virtio/vhost-user-gpio.c +++ b/hw/virtio/vhost-user-gpio.c @@ -24,6 +24,7 @@ static const int feature_bits[] = { VIRTIO_RING_F_INDIRECT_DESC, VIRTIO_RING_F_EVENT_IDX, VIRTIO_GPIO_F_IRQ, + VIRTIO_F_RING_RESET, VHOST_INVALID_FEATURE_BIT }; diff --git a/hw/virtio/vhost-user-i2c.c b/hw/virtio/vhost-user-i2c.c index 864eba695e..1c9f3d20dc 100644 --- a/hw/virtio/vhost-user-i2c.c +++ b/hw/virtio/vhost-user-i2c.c @@ -16,6 +16,7 @@ static const int feature_bits[] = { VIRTIO_I2C_F_ZERO_LENGTH_REQUEST, + VIRTIO_F_RING_RESET, VHOST_INVALID_FEATURE_BIT }; diff --git a/hw/virtio/vhost-user-rng.c b/hw/virtio/vhost-user-rng.c index 8b47287875..f9084cde58 100644 --- a/hw/virtio/vhost-user-rng.c +++ b/hw/virtio/vhost-user-rng.c @@ -16,6 +16,11 @@ #include "qemu/error-report.h" #include "standard-headers/linux/virtio_ids.h" +static const int feature_bits[] = { + VIRTIO_F_RING_RESET, + VHOST_INVALID_FEATURE_BIT +}; + static void vu_rng_start(VirtIODevice *vdev) { VHostUserRNG *rng = VHOST_USER_RNG(vdev); @@ -106,8 +111,10 @@ static void vu_rng_set_status(VirtIODevice *vdev, uint8_t status) static uint64_t vu_rng_get_features(VirtIODevice *vdev, uint64_t requested_features, Error **errp) { - /* No feature bits used yet */ - return requested_features; + VHostUserRNG *rng = VHOST_USER_RNG(vdev); + + return vhost_get_features(&rng->vhost_dev, feature_bits, + requested_features); } static void vu_rng_handle_output(VirtIODevice *vdev, VirtQueue *vq) diff --git a/hw/virtio/vhost-vsock-common.c b/hw/virtio/vhost-vsock-common.c index 29b9ab4f72..a67a275de2 100644 --- a/hw/virtio/vhost-vsock-common.c +++ b/hw/virtio/vhost-vsock-common.c @@ -21,6 +21,7 @@ const int feature_bits[] = { VIRTIO_VSOCK_F_SEQPACKET, + VIRTIO_F_RING_RESET, VHOST_INVALID_FEATURE_BIT }; diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c index 6811089231..2b4b85d8f8 100644 --- a/net/vhost-vdpa.c +++ b/net/vhost-vdpa.c @@ -69,6 +69,7 @@ const int vdpa_feature_bits[] = { VIRTIO_NET_F_CTRL_VQ, VIRTIO_F_IOMMU_PLATFORM, VIRTIO_F_RING_PACKED, + VIRTIO_F_RING_RESET, VIRTIO_NET_F_RSS, VIRTIO_NET_F_HASH_REPORT, VIRTIO_NET_F_GUEST_ANNOUNCE, From 2df30863fa55002cc965a17405204860eda64273 Mon Sep 17 00:00:00 2001 From: Igor Mammedov Date: Mon, 21 Nov 2022 16:36:11 +0100 Subject: [PATCH 2/8] tests: acpi: whitelist DSDT before moving PRQx to _SB scope Signed-off-by: Igor Mammedov Message-Id: <20221121153613.3972225-2-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 36 +++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dfb8523c8b..a4587652dd 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,37 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/pc/DSDT", +"tests/data/acpi/pc/DSDT.acpierst", +"tests/data/acpi/pc/DSDT.acpihmat", +"tests/data/acpi/pc/DSDT.bridge", +"tests/data/acpi/pc/DSDT.cphp", +"tests/data/acpi/pc/DSDT.dimmpxm", +"tests/data/acpi/pc/DSDT.hpbridge", +"tests/data/acpi/pc/DSDT.hpbrroot", +"tests/data/acpi/pc/DSDT.ipmikcs", +"tests/data/acpi/pc/DSDT.memhp", +"tests/data/acpi/pc/DSDT.nohpet", +"tests/data/acpi/pc/DSDT.numamem", +"tests/data/acpi/pc/DSDT.roothp", +"tests/data/acpi/q35/DSDT", +"tests/data/acpi/q35/DSDT.acpierst", +"tests/data/acpi/q35/DSDT.acpihmat", +"tests/data/acpi/q35/DSDT.acpihmat-noinitiator", +"tests/data/acpi/q35/DSDT.applesmc", +"tests/data/acpi/q35/DSDT.bridge", +"tests/data/acpi/q35/DSDT.cphp", +"tests/data/acpi/q35/DSDT.cxl", +"tests/data/acpi/q35/DSDT.core-count2", +"tests/data/acpi/q35/DSDT.dimmpxm", +"tests/data/acpi/q35/DSDT.ipmibt", +"tests/data/acpi/q35/DSDT.ipmismbus", +"tests/data/acpi/q35/DSDT.ivrs", +"tests/data/acpi/q35/DSDT.memhp", +"tests/data/acpi/q35/DSDT.mmio64", +"tests/data/acpi/q35/DSDT.multi-bridge", +"tests/data/acpi/q35/DSDT.nohpet", +"tests/data/acpi/q35/DSDT.numamem", +"tests/data/acpi/q35/DSDT.pvpanic-isa", +"tests/data/acpi/q35/DSDT.tis.tpm12", +"tests/data/acpi/q35/DSDT.tis.tpm2", +"tests/data/acpi/q35/DSDT.viot", +"tests/data/acpi/q35/DSDT.xapic", From 4fd75ce0760ad645ce4b8fe589717aee4f8c0da6 Mon Sep 17 00:00:00 2001 From: Igor Mammedov Date: Mon, 21 Nov 2022 16:36:12 +0100 Subject: [PATCH 3/8] acpi: x86: move RPQx field back to _SB scope MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 47a373faa6b2 (acpi: pc/q35: drop ad-hoc PCI-ISA bridge AML routines and let bus ennumeration generate AML) moved ISA bridge AML generation to respective devices and was using aml_alias() to provide PRQx fields in _SB. scope. However, it turned out that SeaBIOS was not able to process Alias opcode when parsing DSDT, resulting in lack of keyboard during boot (SeaBIOS console, grub, FreeDOS). While fix for SeaBIOS is posted https://mail.coreboot.org/hyperkitty/list/seabios@seabios.org/thread/RGPL7HESH5U5JRLEO6FP77CZVHZK5J65/ fixed SeaBIOS might not make into QEMU-7.2 in time. Hence this workaround that puts PRQx back into _SB scope and gets rid of aliases in ISA bridge description, so DSDT will be parsable by broken SeaBIOS. That brings back hardcoded references to ISA bridge PCI0.S08.P40C/PCI0.SF8.PIRQ where middle part now is auto generated based on slot it's plugged in, but it should be fine as bridge initialization also hardcodes PCI address of the bridge so it can't ever move. Once QEMU tree has fixed SeaBIOS blob, we should be able to drop this part and revert back to alias based approach Reported-by: Volker Rümelin Signed-off-by: Igor Mammedov Message-Id: <20221121153613.3972225-3-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/isa/lpc_ich9.c | 16 ++++------------ hw/isa/piix3.c | 12 ++++-------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index 0b0a83e080..6c44cc9767 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -813,12 +813,13 @@ static void build_ich9_isa_aml(AcpiDevAmlIf *adev, Aml *scope) BusChild *kid; ICH9LPCState *s = ICH9_LPC_DEVICE(adev); BusState *bus = BUS(s->isa_bus); + Aml *sb_scope = aml_scope("\\_SB"); /* ICH9 PCI to ISA irq remapping */ aml_append(scope, aml_operation_region("PIRQ", AML_PCI_CONFIG, aml_int(0x60), 0x0C)); /* Fields declarion has to happen *after* operation region */ - field = aml_field("PIRQ", AML_BYTE_ACC, AML_NOLOCK, AML_PRESERVE); + field = aml_field("PCI0.SF8.PIRQ", AML_BYTE_ACC, AML_NOLOCK, AML_PRESERVE); aml_append(field, aml_named_field("PRQA", 8)); aml_append(field, aml_named_field("PRQB", 8)); aml_append(field, aml_named_field("PRQC", 8)); @@ -828,17 +829,8 @@ static void build_ich9_isa_aml(AcpiDevAmlIf *adev, Aml *scope) aml_append(field, aml_named_field("PRQF", 8)); aml_append(field, aml_named_field("PRQG", 8)); aml_append(field, aml_named_field("PRQH", 8)); - aml_append(scope, field); - - /* hack: put fields into _SB scope for LNKx to find them */ - aml_append(scope, aml_alias("PRQA", "\\_SB.PRQA")); - aml_append(scope, aml_alias("PRQB", "\\_SB.PRQB")); - aml_append(scope, aml_alias("PRQC", "\\_SB.PRQC")); - aml_append(scope, aml_alias("PRQD", "\\_SB.PRQD")); - aml_append(scope, aml_alias("PRQE", "\\_SB.PRQE")); - aml_append(scope, aml_alias("PRQF", "\\_SB.PRQF")); - aml_append(scope, aml_alias("PRQG", "\\_SB.PRQG")); - aml_append(scope, aml_alias("PRQH", "\\_SB.PRQH")); + aml_append(sb_scope, field); + aml_append(scope, sb_scope); QTAILQ_FOREACH(kid, &bus->children, sibling) { call_dev_aml_func(DEVICE(kid->child), scope); diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index f9b4af5c05..eabad7ba58 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -318,24 +318,20 @@ static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *scope) { Aml *field; BusChild *kid; + Aml *sb_scope = aml_scope("\\_SB"); BusState *bus = qdev_get_child_bus(DEVICE(adev), "isa.0"); /* PIIX PCI to ISA irq remapping */ aml_append(scope, aml_operation_region("P40C", AML_PCI_CONFIG, aml_int(0x60), 0x04)); /* Fields declarion has to happen *after* operation region */ - field = aml_field("P40C", AML_BYTE_ACC, AML_NOLOCK, AML_PRESERVE); + field = aml_field("PCI0.S08.P40C", AML_BYTE_ACC, AML_NOLOCK, AML_PRESERVE); aml_append(field, aml_named_field("PRQ0", 8)); aml_append(field, aml_named_field("PRQ1", 8)); aml_append(field, aml_named_field("PRQ2", 8)); aml_append(field, aml_named_field("PRQ3", 8)); - aml_append(scope, field); - - /* hack: put fields into _SB scope for LNKx to find them */ - aml_append(scope, aml_alias("PRQ0", "\\_SB.PRQ0")); - aml_append(scope, aml_alias("PRQ1", "\\_SB.PRQ1")); - aml_append(scope, aml_alias("PRQ2", "\\_SB.PRQ2")); - aml_append(scope, aml_alias("PRQ3", "\\_SB.PRQ3")); + aml_append(sb_scope, field); + aml_append(scope, sb_scope); QTAILQ_FOREACH(kid, &bus->children, sibling) { call_dev_aml_func(DEVICE(kid->child), scope); From 83afb1409f734e7a7fffee8dc4ee4496d06409a7 Mon Sep 17 00:00:00 2001 From: Igor Mammedov Date: Mon, 21 Nov 2022 16:36:13 +0100 Subject: [PATCH 4/8] tests: acpi: x86: update expected DSDT after moving PRQx fields in _SB scope Expected DSDT changes, pc: - Field (P40C, ByteAcc, NoLock, Preserve) + Scope (\_SB) { - PRQ0, 8, - PRQ1, 8, - PRQ2, 8, - PRQ3, 8 + Field (PCI0.S08.P40C, ByteAcc, NoLock, Preserve) + { + PRQ0, 8, + PRQ1, 8, + PRQ2, 8, + PRQ3, 8 + } } - Alias (PRQ0, \_SB.PRQ0) - Alias (PRQ1, \_SB.PRQ1) - Alias (PRQ2, \_SB.PRQ2) - Alias (PRQ3, \_SB.PRQ3) q35: - Field (PIRQ, ByteAcc, NoLock, Preserve) - { - PRQA, 8, - PRQB, 8, - PRQC, 8, - PRQD, 8, - Offset (0x08), - PRQE, 8, - PRQF, 8, - PRQG, 8, - PRQH, 8 + Scope (\_SB) + { + Field (PCI0.SF8.PIRQ, ByteAcc, NoLock, Preserve) + { + PRQA, 8, + PRQB, 8, + PRQC, 8, + PRQD, 8, + Offset (0x08), + PRQE, 8, + PRQF, 8, + PRQG, 8, + PRQH, 8 + } } - Alias (PRQA, \_SB.PRQA) - Alias (PRQB, \_SB.PRQB) - Alias (PRQC, \_SB.PRQC) - Alias (PRQD, \_SB.PRQD) - Alias (PRQE, \_SB.PRQE) - Alias (PRQF, \_SB.PRQF) - Alias (PRQG, \_SB.PRQG) - Alias (PRQH, \_SB.PRQH) Signed-off-by: Igor Mammedov Message-Id: <20221121153613.3972225-4-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/data/acpi/pc/DSDT | Bin 6501 -> 6458 bytes tests/data/acpi/pc/DSDT.acpierst | Bin 6461 -> 6418 bytes tests/data/acpi/pc/DSDT.acpihmat | Bin 7826 -> 7783 bytes tests/data/acpi/pc/DSDT.bridge | Bin 9575 -> 9532 bytes tests/data/acpi/pc/DSDT.cphp | Bin 6965 -> 6922 bytes tests/data/acpi/pc/DSDT.dimmpxm | Bin 8155 -> 8112 bytes tests/data/acpi/pc/DSDT.hpbridge | Bin 6461 -> 6418 bytes tests/data/acpi/pc/DSDT.hpbrroot | Bin 3107 -> 3064 bytes tests/data/acpi/pc/DSDT.ipmikcs | Bin 6573 -> 6530 bytes tests/data/acpi/pc/DSDT.memhp | Bin 7860 -> 7817 bytes tests/data/acpi/pc/DSDT.nohpet | Bin 6359 -> 6316 bytes tests/data/acpi/pc/DSDT.numamem | Bin 6507 -> 6464 bytes tests/data/acpi/pc/DSDT.roothp | Bin 6699 -> 6656 bytes tests/data/acpi/q35/DSDT | Bin 8412 -> 8310 bytes tests/data/acpi/q35/DSDT.acpierst | Bin 8429 -> 8327 bytes tests/data/acpi/q35/DSDT.acpihmat | Bin 9737 -> 9635 bytes tests/data/acpi/q35/DSDT.acpihmat-noinitiator | Bin 8691 -> 8589 bytes tests/data/acpi/q35/DSDT.applesmc | Bin 8458 -> 8356 bytes tests/data/acpi/q35/DSDT.bridge | Bin 11541 -> 11439 bytes tests/data/acpi/q35/DSDT.core-count2 | Bin 32552 -> 32450 bytes tests/data/acpi/q35/DSDT.cphp | Bin 8876 -> 8774 bytes tests/data/acpi/q35/DSDT.cxl | Bin 9738 -> 9636 bytes tests/data/acpi/q35/DSDT.dimmpxm | Bin 10066 -> 9964 bytes tests/data/acpi/q35/DSDT.ipmibt | Bin 8487 -> 8385 bytes tests/data/acpi/q35/DSDT.ipmismbus | Bin 8500 -> 8398 bytes tests/data/acpi/q35/DSDT.ivrs | Bin 8429 -> 8327 bytes tests/data/acpi/q35/DSDT.memhp | Bin 9771 -> 9669 bytes tests/data/acpi/q35/DSDT.mmio64 | Bin 9542 -> 9440 bytes tests/data/acpi/q35/DSDT.multi-bridge | Bin 8732 -> 8630 bytes tests/data/acpi/q35/DSDT.nohpet | Bin 8270 -> 8168 bytes tests/data/acpi/q35/DSDT.numamem | Bin 8418 -> 8316 bytes tests/data/acpi/q35/DSDT.pvpanic-isa | Bin 8513 -> 8411 bytes tests/data/acpi/q35/DSDT.tis.tpm12 | Bin 9018 -> 8916 bytes tests/data/acpi/q35/DSDT.tis.tpm2 | Bin 9044 -> 8942 bytes tests/data/acpi/q35/DSDT.viot | Bin 9521 -> 9419 bytes tests/data/acpi/q35/DSDT.xapic | Bin 35775 -> 35673 bytes tests/qtest/bios-tables-test-allowed-diff.h | 36 ------------------ 37 files changed, 36 deletions(-) diff --git a/tests/data/acpi/pc/DSDT b/tests/data/acpi/pc/DSDT index f1cf7fab349bd26e0f0fa461c715534c1426fbf5..b688686dc3614f56582991c0974f6ef1964ee6ce 100644 GIT binary patch delta 92 zcmaEAw9AOgCDyx{=ZJE4eC!gZB)fLbIi$*u9 n=rad6dm02ASi}dI7&tQq1O*y!00~17VFV(KIX1`hu<-%_+;JHN delta 115 zcmdmG^wfyUCD- diff --git a/tests/data/acpi/pc/DSDT.acpierst b/tests/data/acpi/pc/DSDT.acpierst index 5cb477625e96f5526f0c7703ba3b443a0b35eefd..86259be9d1df3fcc89b780f3bae028a5ebd8bbe5 100644 GIT binary patch delta 92 zcmdmMG|7m|CDq!K2nsad01}2E!U#kdb8L?1xyJ(l#`_td delta 115 zcmbPawAYBsCDyx{=ZJAsZCZFQAWsYu?nk>yD mX~Px}6lf5m2T}oIfw+cnt|5qP1m_xoxW;g<@n#dAdprPA1R$^g diff --git a/tests/data/acpi/pc/DSDT.acpihmat b/tests/data/acpi/pc/DSDT.acpihmat index 76e8bef36fdb667447ad0320d35604031aae2c93..e2cc2a6fc9877380ef85c3540654e0691472f27c 100644 GIT binary patch delta 92 zcmbPa``m`hCDoM`cPVoYc*C+1~ux0X+o%~(ER#!j=EE?UY nqR$-Q>}e2eU=bf+V&Kde5EN*@0VE7Tgb|1^=GfdL$i@o*_h}ic delta 135 zcmaEEGs%|ACD2az?R8XVe)qY+lc5!sQ?oL yXU2e_Km!gSVF)6OK!h;|8%Qul52Opk0&xxDTtg7o2+lPEagE_z@$5#fa&GRnS&T99!A|i4y)!5GaN9AtDoj4ZZOa_pC^cD@ nN79BZASlovMh~O{!~$^*;ao!y*9guv0&$JuT;t7VJZzEx@&h4V diff --git a/tests/data/acpi/pc/DSDT.cphp b/tests/data/acpi/pc/DSDT.cphp index eb3da0e232e4362bd5850e4eebf5916cbc1d565a..53eb0dd7d422e880a668cf3ea01b8b288004042a 100644 GIT binary patch delta 92 zcmdmL)@8=!66_MfCC$LVczYw4J1>{#^_cizr+5L!>yx8-ZJE4eC(q)w)fLbIi$*u9 n=rad6dm02ASi}dI7&tQq1O*y!00~17VFV(KIX3I_vGD=`smT~C delta 115 zcmeA&+iJ$;66_LUD$T&a=(3T^otMkyR!n@bQ@nuB&B@WcwoI-HlV|bTGDkN`O@7TQ mX~Px}6lf5m2T}oIfw+cnt|5qP1m_xoxW;g<@n#l2HeLW?o*)bW diff --git a/tests/data/acpi/pc/DSDT.dimmpxm b/tests/data/acpi/pc/DSDT.dimmpxm index 6553e4c6053aff76ac42dad87d714e4e9ab28f72..9089d994e0324741190b48dfcfb4e6074ba102c1 100644 GIT binary patch delta 71 zcmca@zrmi%CD}e2eU=csLK}d4*RUtNB03ZPsBme*a delta 115 zcmdmBf7_nRCDzdQxrQLF5u9rT;u^!b#+z3OvGD=`wTmG& diff --git a/tests/data/acpi/pc/DSDT.hpbridge b/tests/data/acpi/pc/DSDT.hpbridge index 5cb477625e96f5526f0c7703ba3b443a0b35eefd..86259be9d1df3fcc89b780f3bae028a5ebd8bbe5 100644 GIT binary patch delta 92 zcmdmMG|7m|CDq!K2nsad01}2E!U#kdb8L?1xyJ(l#`_td delta 115 zcmbPawAYBsCDyx{=ZJAsZCZFQAWsYu?nk>yD mX~Px}6lf5m2T}oIfw+cnt|5qP1m_xoxW;g<@n#dAdprPA1R$^g diff --git a/tests/data/acpi/pc/DSDT.hpbrroot b/tests/data/acpi/pc/DSDT.hpbrroot index ff04ad360beb60571d48bd1e477a4e58e5ee9337..578468f4f00a9373366c92926b512c192dd6675b 100644 GIT binary patch delta 126 zcmZ21@k5-;CD5r{D6U;_!p=z+`yu|Qly aIM)!wHG**k1C2m@V;Dcsc(X6pYDNHVI4i{f diff --git a/tests/data/acpi/pc/DSDT.ipmikcs b/tests/data/acpi/pc/DSDT.ipmikcs index 83eec58a52b5844a02003665494f63a4ea0b26a7..39427103aadb969721257feb9af66863b25b6ad9 100644 GIT binary patch delta 92 zcmZ2$++@t<66_MvB+0PE35TQ@nuZ?aAHTwoFb+lTUHm>I&$9MWY*4 m^qB*kJq>~lEaC%944fGQf&vXVfP^84FaiyD mX~Px}6lf5m2T}oIfw+cnt|5qP1m_xoxW;g<@n#bqKVATl)*#3L diff --git a/tests/data/acpi/pc/DSDT.memhp b/tests/data/acpi/pc/DSDT.memhp index 9e2201d170a86652951a2a4b234bb58204010642..987a263339225c2cb5ba71cd1aa183c651bb353e 100644 GIT binary patch delta 92 zcmdmD+iAyvK@*fM#^PL>q3)fLbIi$*u9 n=rad6dm02ASi}dI7&tQq1O*y!00~17VFV(KIX15oWa9+@;u9HA delta 135 zcmeCQ-D1n-66_MPMUH`i@zO@FV**?*w_@Uho#F+2Zce@>V9VsHFj-R2HX^!FD!|0R ynK2+J(0~I-7=j2R5Mj*01`>?X1L*>>KwLvO*AT=tf^&^PTw^%bcyqHL8!rHbb0$y# diff --git a/tests/data/acpi/pc/DSDT.nohpet b/tests/data/acpi/pc/DSDT.nohpet index c969e0dae410763a5f749c4c4fc842ccbf901fc5..fc7598b76287648f4b35273c91e46417a50b640b 100644 GIT binary patch delta 71 zcmca^xW}e2eU=csLhFfy;MQ%1;03PoZR{#J2 delta 115 zcmZ2uc-@f8CDysyP+cJ5{PQJixD=r+5LMo0BJU+cLQ-OuoQv%N*S(HCd5I m(uOS{D9|8A52OOb0&xxDTtg7o2+lPEagE_z;a diff --git a/tests/data/acpi/pc/DSDT.roothp b/tests/data/acpi/pc/DSDT.roothp index f57a14cd5c48ddded4c5d0b7da037b9d021a9ecb..545512adfa0f9af81a7fafd353679f64f75e501e 100644 GIT binary patch delta 85 zcmZ2&(qO{n66_MfAjQDI$i9)QoLk=iaZG%$Q@nut;{az*gXkviU;~4Aj(A6xAcp8B kH|fa>xFtmdbiit&8&&j~L8^icEaE5c;g;Mi$RouE0OME}0RR91 delta 129 zcmZoLS#84Q66_M9EycjVSih00oLk=OSxkJeQ@nuFvjAsLgXkviU;~4Aj(A6xAcp8B zN4d!hxFwmR8>J?n<(9Nz3kV7{h|vS72eCk0LpawE#5IC*jX+#uIM;adGj1t90AL*@ A5dZ)H diff --git a/tests/data/acpi/q35/DSDT b/tests/data/acpi/q35/DSDT index 8e989819a5f8c470a8933bf9b7af7b988048cce6..2771bcea89b531549557a19538606219a8e222b1 100644 GIT binary patch delta 92 zcmccP_|1XKCDqa2sFR7`xZQ@nt))a0ph_6A-e!EP4u9Py4WK|Bl$ r@(j@p0iHpDOk4?EJOa)vV5QNGR{G2V&YlJ!m6Jco>2IDX@5~4QhjbXu delta 202 zcmez7aL19$CDXd2fJCsbHqEk1o1F1 z$TLJY1b7AoGI1qv@kBQoOlFbSuV)Jg3UrLo1L*>>KwKv{*9pXRhI5@kTo*Xk1;llQ jb6r7PH#pY~#C3;r-9cOrIM*Y($;8{qC4RG&ybU7&jZ8Ty diff --git a/tests/data/acpi/q35/DSDT.acpierst b/tests/data/acpi/q35/DSDT.acpierst index 03745d78de4c7e9639a4a37553361e0e18258633..b45abca7c289d8ae38faeca1fcaf6370ed621cd4 100644 GIT binary patch delta 92 zcmaFs*zU;X66_MvuE4;+D7ulWQI5+;Iwn5YDPF)udh%4c00S?PU^k0+j(A6xARYz= rd4}kQ0MDR6Cawf79sy?-u+r#8D}CkwXHNr=%E`>~`kPnDJ2L_RO!606 delta 202 zcmZp7eCx>N66_N4R)K+mar#ECMma7grI`3&r+5J`#mQ6U0^}T|gWW9RIpQ5%f_NAh zjdID!@15Nt_z&&0^+*D jxvn6t8=UI~;=04R?jWuQoa+(YWa91Q62IA7-i8qXA!9hS diff --git a/tests/data/acpi/q35/DSDT.acpihmat b/tests/data/acpi/q35/DSDT.acpihmat index 3ad9ba3c987ca1cfbafc3778db889602ab53530e..d90fd4723a703df348c12a5a1c1c672b5af60a43 100644 GIT binary patch delta 92 zcmeD5S?tZ_66_MPSe1c+(P$&rI%O_zshId+r+5KpsmX_w?G3y{g550QIpQ5%f_NAh r-vDWY8D( delta 202 zcmZ4N-RZ;S66_Mfsm8#-xOpSjI%O_L#hCbDr+5KRg~^AM?d2S#gWW9RIpQ5%f_NAh zjdID!@15Nt_z&&0^+*D jxvn6t8=UI~;=04R?jWuQoa+(YWa91Q62CcJ#fA|8uwXb) diff --git a/tests/data/acpi/q35/DSDT.acpihmat-noinitiator b/tests/data/acpi/q35/DSDT.acpihmat-noinitiator index 8efa1c5ded52b8a9dfbb6945a3c75cdc6ef9b277..279fafa8219140687f1cdaab9739fc2f4c80ed6a 100644 GIT binary patch delta 72 zcmezD-0RHc66_MvtH{8>_2 delta 182 zcmeBm{_M=<66_N4S&@N(v34WZ40$d`#hCbDr+5KRg~@B=?U@{;C%=`KWR7k$m@KWJ zU(Xg06zCYE2T}oIfw)d^t`mss4Cgw7xGr$63yA9q=emNpZg8#}i0cmLx`VhLaIQym PlZm&JOZ?_Q1sg^HC4x0a diff --git a/tests/data/acpi/q35/DSDT.applesmc b/tests/data/acpi/q35/DSDT.applesmc index 5f01572dc2cf44aa0e730401e0709b95cd8db604..fdf6d144286860ff7f998df676ca9a50ce988d41 100644 GIT binary patch delta 92 zcmeBjTH?s%66_MPM1g^UF?AzXqa2r~Y)pKxQ@ntq?BuC(_68o}!EP4u9Py4WK|Bl$ r@(j@p0iHpDOk4?EJOa)vV5QNGR{G2V&YlJ!m6Jco>2IDXU&sgmSo#=y delta 202 zcmZ4D*yY6K66_MfrO3d*cw!@0qa2sNa!h=%Q@nt?^5m&<_Hur*!EP4u9Py4WK|Bl$ z@(j@p0iHpDOk4?EJkgB?lUd~T>)8T=0v%)YK)OII5Z4LLbpmmn;aq1B*9FdX0dZa7 jTvrg+4bF7~aoyoucM#VD&h?0H(h2r;j^Au0pT!6OWe+#t diff --git a/tests/data/acpi/q35/DSDT.bridge b/tests/data/acpi/q35/DSDT.bridge index 97141f9db208e1948bc2bdb3f3452ac8f78f98b0..b41a4dddc0b7bdeb2349d874a390858453c927f8 100644 GIT binary patch delta 93 zcmbOlwLX%|CDZnV;84siA~0I8g;sI9;Ggtjju0OqzC%m4rY delta 203 zcmZ1yQCDkQ{QgSakmt_z6k k3g^0lxNdN+8;I);=emQq9&oNlbd!mzt0QD+5CIA2c diff --git a/tests/data/acpi/q35/DSDT.core-count2 b/tests/data/acpi/q35/DSDT.core-count2 index ca309f6569f1f4016cf7e67117b208d57fbc7365..375aceed6b16528f7986fad46b045eba76af9760 100644 GIT binary patch delta 94 zcmZ4SkMYo7MlP3Nmykns3=E7DHgcV<;qsP>i4S&)7jTxE{IJH}z)K|9%_5#7-q9t9 thk-$!A-W;JGboUWD}jqgz?lWCG`i7BpEpvxw)2cXSEj zVPKGFh;9h*3<_l8O5oy&ZZw!2P^(|h77!HZ7^4T$1!94?PH?Uhi0cgJI)k__aIOo8 l>k8+(g1ByQt{aH!4(GaqxE^q>M|6{kx06f!=C)cJMgYi0JE{Nx diff --git a/tests/data/acpi/q35/DSDT.cphp b/tests/data/acpi/q35/DSDT.cphp index 622e8e5f3700abffc58683689b9470573c117cd0..a0ecafc36c57c6d4791b511f3febe210713d253c 100644 GIT binary patch delta 92 zcmZ4Edd!8(CDR`WAsL@Km{&G#hCbDr+5KRg~_Q3_Hqu=!EP4u9Py4WK|Bl$ z@(j@p0iHpDOk4?EJkgB?ldmY~*Rur#1vjdID!@15Nt_z&&0^+*D jxvn6t8=UI~;=04R?jWuQoa+(YWa91Q62F;C(S{KK;Vw8% diff --git a/tests/data/acpi/q35/DSDT.cxl b/tests/data/acpi/q35/DSDT.cxl index cecc1caaab81db8559781d23e45d8c615dc73740..f9c6dd4ee0502ca000509493411b421dfd23b96f 100644 GIT binary patch delta 92 zcmeD3S>ny*66_MPM3sSoF>fPRuQHdfOiX;RQ@nty%;bg2i3VOG!EP4u9Py4WK|Bl$ r@(j@p0iHpDOk4?EJOa)vV5QNGR{G2V&YlJ!m6H`z^fw<@ab^SnaF-Y# delta 202 zcmZ4D-Q~mO66_MfrN+R(_)8T=0v%)YK)OII5Z4LLbpmmn;aq1B*9FdX0dZa7 jTvrg+4bF7~aoyoucM#VD&h?0HGVykDiQk-|V#5dk&1pD! diff --git a/tests/data/acpi/q35/DSDT.dimmpxm b/tests/data/acpi/q35/DSDT.dimmpxm index e5be00b4fa658477a9ae7016ed72ae04430a3b2f..f0659716e3cef916ed0d8f583175a2edbc07141b 100644 GIT binary patch delta 72 zcmccQ_r{mYCD-&MH0rDEcPo#F+Yr6zN$+B12HO!iTg6cuo00SiYr ZTIn+fIC~ldyII6f&QR6g%&+Fm2ml*$6h#04 delta 182 zcmaFkd&!T>CDjdID!@15Nt_z&&0^+*Dxvn6t8=UI~;=04R?jWuQoa+(Y PWa91Q62EzastqFmgBvuS diff --git a/tests/data/acpi/q35/DSDT.ipmibt b/tests/data/acpi/q35/DSDT.ipmibt index c4f8212c63be2a1d579d6ebc9ac41d4bd5be414b..9c52529919d72a43034b1bbf4d3f1810ba9e22b2 100644 GIT binary patch delta 92 zcmZ4PbkLE@CDg1_%_Hy3x!EP4u9Py4WK|Bl$ z@(j@p0iHpDOk4?EJkgB?lUd~T>)8T=0v%)YK)OII5Z4LLbpmmn;aq1B*9FdX0dZa7 jTvrg+4bF7~aoyoucM#VD&h?0H@?`P#G~8?@-_8gC8UQyt diff --git a/tests/data/acpi/q35/DSDT.ipmismbus b/tests/data/acpi/q35/DSDT.ipmismbus index 05fb38820fa9213a20ace5943486ed18ad6a765c..3f32dffdbf3cd7e3791155530cf89417d8f2ec90 100644 GIT binary patch delta 92 zcmdnubk32>CDn|>8Mma7|wV3!|r+5KJwaHWE?ByJ!gWW9RIpQ5%f_NAh zjdID!@15Nt_z&&0^+*D jxvn6t8=UI~;=04R?jWuQoa+(YWa91Q62I9>ehMQ1mkc;N diff --git a/tests/data/acpi/q35/DSDT.ivrs b/tests/data/acpi/q35/DSDT.ivrs index 03745d78de4c7e9639a4a37553361e0e18258633..b45abca7c289d8ae38faeca1fcaf6370ed621cd4 100644 GIT binary patch delta 92 zcmaFs*zU;X66_MvuE4;+D7ulWQI5+;Iwn5YDPF)udh%4c00S?PU^k0+j(A6xARYz= rd4}kQ0MDR6Cawf79sy?-u+r#8D}CkwXHNr=%E`>~`kPnDJ2L_RO!606 delta 202 zcmZp7eCx>N66_N4R)K+mar#ECMma7grI`3&r+5J`#mQ6U0^}T|gWW9RIpQ5%f_NAh zjdID!@15Nt_z&&0^+*D jxvn6t8=UI~;=04R?jWuQoa+(YWa91Q62IA7-i8qXA!9hS diff --git a/tests/data/acpi/q35/DSDT.memhp b/tests/data/acpi/q35/DSDT.memhp index 2a4635d48c017970ee38d14148b20d38b699b030..28a192c69af3c6df8f003bf8edc9586f0dda35ad 100644 GIT binary patch delta 92 zcmZ4ObJUy5CDkWBNv}3(8#HQZeztPVoZHQj?!3+Z%X^1iM+pbHqEk1o1F1 r$TLJY1b7AoGI1qv@d!AxfR#o!TIn+fIC~m^R8DqO(ck<+#hDQRtI!!4 delta 202 zcmX@=z1oM%CD>KwKv{*9pXRhI5@kTo*Xk1;llQ jb6r7PH#pY~#C3;r-9cOrIM*Y($;8{qC4O_KiVY(GXhAu1 diff --git a/tests/data/acpi/q35/DSDT.mmio64 b/tests/data/acpi/q35/DSDT.mmio64 index 0491761dc7132460b08b443579f0d4cad3fa3163..8fda921296e471f2b8dff8c195652841f95cbcf9 100644 GIT binary patch delta 72 zcmX@+^}v(MCDij&_d1u!{CPj*n2WR7k$n4G7q zU(Xg06zCYE2T}oIfw)d^t`mss4Cgw7xGr$63yA9q=emNpZg8#}i0cmLx`VhLaIQym PlZm&JOZ?^~$~KGuBGEOP diff --git a/tests/data/acpi/q35/DSDT.multi-bridge b/tests/data/acpi/q35/DSDT.multi-bridge index 485f571afd35cbd2044baeb7027ef077ba9a133d..3dba4d84369f1f2850fbdc771072519d34f58072 100644 GIT binary patch delta 93 zcmbQ^vdx*xCDxbTqa2r`X-s^uQ@ntu$>ynY*^F`y(!p*P@f`7vE2KzicV+|tiJBL( delta 202 zcmaE1f6jr+CDjdID!@15Nt_z&&0^+*D jxvn6t8=UI~;=04R?jWuQoa+(YWa91Q62EzkoDCxY66`q( diff --git a/tests/data/acpi/q35/DSDT.numamem b/tests/data/acpi/q35/DSDT.numamem index 2302de88e93a22118889cd33a8c63811925cff02..5eb6159d5f6101c0f75a6de6c83ad95ccd2e6176 100644 GIT binary patch delta 72 zcmaFl_{V|ECDiZSuQPVoYs3X^Bc*)usvPrf53$sFBiFqunU zzn(21D9|xR52OOb0&$(-Tqh9M8P0VEab4hC7ZBGK&UFQG-QZj|5Z4{fbq8@h;9QUB PCKGQbm-x*N@-~bBMn5%J diff --git a/tests/data/acpi/q35/DSDT.pvpanic-isa b/tests/data/acpi/q35/DSDT.pvpanic-isa index 5e4b51d33b8bb88ca2610254e6306c16e5b5b0db..908e7b6606b6141556e9df4ffd3f88f97fe13d98 100644 GIT binary patch delta 92 zcmX@;blZ{3CD<#>-g550QIpQ5%f_NAh rjdID!@15Nt_z&&0^+*D ixvn6t8=UI~;=04R?jWuQoa+(Y1T@VxY_pa8LPh|=n>bVe diff --git a/tests/data/acpi/q35/DSDT.tis.tpm12 b/tests/data/acpi/q35/DSDT.tis.tpm12 index 1723fca4464383694f806f93331d008e84b93fef..ce2c2c29c2c177071d6c1284b1c496e773942bec 100644 GIT binary patch delta 92 zcmdnxcEy#;CDeW>_A&9nPVoY+_LCRN*&Fy+2D@3rbHqEk1o1F1 r$TLJY1b7AoGI1qv@d!AxfR#o!TIn+fIC~m^R8IaUr@wir{8VND#bz2F delta 202 zcmccOy338rCD*R%U_Hs@R!EP4u9Py4WK|Bl$ z@(j@p0iHpDOk4?EJkgB?lLh4U>)8T=0v%)YK)OII5Z4LLbpmmn;aq1B*9FdX0dZa7 jTvrg+4bF7~aoyoucM#VD&h?0Ha!?Hk@ZIbt-^UC9wZ%AV diff --git a/tests/data/acpi/q35/DSDT.tis.tpm2 b/tests/data/acpi/q35/DSDT.tis.tpm2 index 1a0d6284da01addd0393b8aad96873398411895e..e9e4b7f6ed5094c5ca3635a59367eb1d88b12ad1 100644 GIT binary patch delta 92 zcmccO_Rf{dCDhsg`&>)CDjdID!@15Nt_z&&0^+*D jxvn6t8=UI~;=04R?jWuQoa+(Y( diff --git a/tests/data/acpi/q35/DSDT.viot b/tests/data/acpi/q35/DSDT.viot index 6927d1cc96565f0e1e4c7f19fd709635873db912..6b436f9cd95776c26bec09066eb621bf97219dc6 100644 GIT binary patch delta 72 zcmdn!b=s55CDj9B zU(Xg06zCYE2T}oIfw)d^t`mss4Cgw7xGr$63yA9q=emNpZg8#}i0cmLx`VhLaIQym PlZm&JOZ?`3WgA8Sp+q#h diff --git a/tests/data/acpi/q35/DSDT.xapic b/tests/data/acpi/q35/DSDT.xapic index 4a8a4af625edb1fd01a1404e33f34e85c1a252f3..f47f09122287bdd20d7762d3d6dee6e05d944285 100644 GIT binary patch delta 94 zcmdl#o$2N@CN7s?mypPA1_nm$ja(_6T;5VK@xe~<0?tyCD?05ByhMWCEaExh9bJNW t7#QRkq8kD{g94ej61aE-oLRt1qZ_UCnFE|X4L~Xpvxw)2cXSEj zVPKGFh;9h*3<_l8O5oy&ZZw$uyi>oPEg&e+F-8xh3&a9(o#0$25Z4*bbp~-=;9M6F l*A>on1##WrTsIKc9nN(JaXsK%kLV^7Zzq@d&9YrKi~tUhJK6vM diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index a4587652dd..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,37 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/pc/DSDT", -"tests/data/acpi/pc/DSDT.acpierst", -"tests/data/acpi/pc/DSDT.acpihmat", -"tests/data/acpi/pc/DSDT.bridge", -"tests/data/acpi/pc/DSDT.cphp", -"tests/data/acpi/pc/DSDT.dimmpxm", -"tests/data/acpi/pc/DSDT.hpbridge", -"tests/data/acpi/pc/DSDT.hpbrroot", -"tests/data/acpi/pc/DSDT.ipmikcs", -"tests/data/acpi/pc/DSDT.memhp", -"tests/data/acpi/pc/DSDT.nohpet", -"tests/data/acpi/pc/DSDT.numamem", -"tests/data/acpi/pc/DSDT.roothp", -"tests/data/acpi/q35/DSDT", -"tests/data/acpi/q35/DSDT.acpierst", -"tests/data/acpi/q35/DSDT.acpihmat", -"tests/data/acpi/q35/DSDT.acpihmat-noinitiator", -"tests/data/acpi/q35/DSDT.applesmc", -"tests/data/acpi/q35/DSDT.bridge", -"tests/data/acpi/q35/DSDT.cphp", -"tests/data/acpi/q35/DSDT.cxl", -"tests/data/acpi/q35/DSDT.core-count2", -"tests/data/acpi/q35/DSDT.dimmpxm", -"tests/data/acpi/q35/DSDT.ipmibt", -"tests/data/acpi/q35/DSDT.ipmismbus", -"tests/data/acpi/q35/DSDT.ivrs", -"tests/data/acpi/q35/DSDT.memhp", -"tests/data/acpi/q35/DSDT.mmio64", -"tests/data/acpi/q35/DSDT.multi-bridge", -"tests/data/acpi/q35/DSDT.nohpet", -"tests/data/acpi/q35/DSDT.numamem", -"tests/data/acpi/q35/DSDT.pvpanic-isa", -"tests/data/acpi/q35/DSDT.tis.tpm12", -"tests/data/acpi/q35/DSDT.tis.tpm2", -"tests/data/acpi/q35/DSDT.viot", -"tests/data/acpi/q35/DSDT.xapic", From 242a58cabee6242fe17d4a6bddf9390ae8227b7a Mon Sep 17 00:00:00 2001 From: Ani Sinha Date: Fri, 11 Nov 2022 20:41:38 +0530 Subject: [PATCH 5/8] MAINTAINERS: add mst to list of biosbits maintainers Adding Michael's name to the list of bios bits maintainers so that all changes and fixes into biosbits framework can go through his tree and he is notified. Suggested-by: Michael S. Tsirkin Signed-off-by: Ani Sinha Message-Id: <20221111151138.36988-1-ani@anisinha.ca> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index be151f0024..f3e0a4fc2e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1865,6 +1865,7 @@ F: hw/acpi/viot.h ACPI/AVOCADO/BIOSBITS M: Ani Sinha +M: Michael S. Tsirkin S: Supported F: tests/avocado/acpi-bits/* F: tests/avocado/acpi-bits.py From c4d4c40c516a52419be8ed2e1e7a7c1fd0dea3ee Mon Sep 17 00:00:00 2001 From: John Snow Date: Tue, 15 Nov 2022 16:27:59 -0500 Subject: [PATCH 6/8] tests/avocado: configure acpi-bits to use avocado timeout Instead of using a hardcoded timeout, just rely on Avocado's built-in test case timeout. This helps avoid timeout issues on machines where 60 seconds is not sufficient. Signed-off-by: John Snow Message-Id: <20221115212759.3095751-1-jsnow@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Ani Sinha --- tests/avocado/acpi-bits.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/tests/avocado/acpi-bits.py b/tests/avocado/acpi-bits.py index 8745a58a76..ac13e22dc9 100644 --- a/tests/avocado/acpi-bits.py +++ b/tests/avocado/acpi-bits.py @@ -385,12 +385,6 @@ class AcpiBitsTest(QemuBaseTest): #pylint: disable=too-many-instance-attributes self._vm.launch() # biosbits has been configured to run all the specified test suites # in batch mode and then automatically initiate a vm shutdown. - # sleep for maximum of one minute - max_sleep_time = time.monotonic() + 60 - while self._vm.is_running() and time.monotonic() < max_sleep_time: - time.sleep(1) - - self.assertFalse(time.monotonic() > max_sleep_time, - 'The VM seems to have failed to shutdown in time') - + # Rely on avocado's unit test timeout. + self._vm.wait(timeout=None) self.parse_log() From 04e5bd441a9c60d21d38beb1b2b52ce12830cb99 Mon Sep 17 00:00:00 2001 From: Ani Sinha Date: Thu, 17 Nov 2022 17:06:30 +0530 Subject: [PATCH 7/8] acpi/tests/avocado/bits: keep the work directory when BITS_DEBUG is set in env MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Debugging bits issue often involves running the QEMU command line manually outside of the avocado environment with the generated ISO. Hence, its inconvenient if the iso gets cleaned up after the test has finished. This change makes sure that the work directory is kept after the test finishes if the test is run with BITS_DEBUG=1 in the environment so that the iso is available for use with the QEMU command line. CC: Daniel P. Berrangé Signed-off-by: Ani Sinha Message-Id: <20221117113630.543495-1-ani@anisinha.ca> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/avocado/acpi-bits.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/avocado/acpi-bits.py b/tests/avocado/acpi-bits.py index ac13e22dc9..4be663968c 100644 --- a/tests/avocado/acpi-bits.py +++ b/tests/avocado/acpi-bits.py @@ -260,7 +260,7 @@ class AcpiBitsTest(QemuBaseTest): #pylint: disable=too-many-instance-attributes self.logger.info('using grub-mkrescue for generating biosbits iso ...') try: - if os.getenv('V'): + if os.getenv('V') or os.getenv('BITS_DEBUG'): subprocess.check_call([mkrescue_script, '-o', iso_file, bits_dir], stderr=subprocess.STDOUT) else: @@ -344,7 +344,7 @@ class AcpiBitsTest(QemuBaseTest): #pylint: disable=too-many-instance-attributes self._print_log(log) raise e else: - if os.getenv('V'): + if os.getenv('V') or os.getenv('BITS_DEBUG'): self._print_log(log) def tearDown(self): @@ -353,8 +353,13 @@ class AcpiBitsTest(QemuBaseTest): #pylint: disable=too-many-instance-attributes """ if self._vm: self.assertFalse(not self._vm.is_running) - self.logger.info('removing the work directory %s', self._workDir) - shutil.rmtree(self._workDir) + if not os.getenv('BITS_DEBUG'): + self.logger.info('removing the work directory %s', self._workDir) + shutil.rmtree(self._workDir) + else: + self.logger.info('not removing the work directory %s ' \ + 'as BITS_DEBUG is ' \ + 'passed in the environment', self._workDir) super().tearDown() def test_acpi_smbios_bits(self): From b7c61789e653086618d1825858a97b3d9891e822 Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Mon, 21 Nov 2022 15:01:50 -0500 Subject: [PATCH 8/8] virtio: disable error for out of spec queue-enable Virtio 1.0 is pretty clear that features have to be negotiated before enabling VQs. Unfortunately Seabios ignored this ever since gaining 1.0 support (UEFI is ok). Comment the error out for now, and add a TODO. Fixes: 3c37f8b8d1 ("virtio: introduce virtio_queue_enable()") Cc: "Kangjie Xu" Signed-off-by: Michael S. Tsirkin Message-Id: <20221121200339.362452-1-mst@redhat.com> --- hw/virtio/virtio.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index 9683b2e158..eb6347ab5d 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -2499,10 +2499,17 @@ void virtio_queue_enable(VirtIODevice *vdev, uint32_t queue_index) { VirtioDeviceClass *k = VIRTIO_DEVICE_GET_CLASS(vdev); + /* + * TODO: Seabios is currently out of spec and triggering this error. + * So this needs to be fixed in Seabios, then this can + * be re-enabled for new machine types only, and also after + * being converted to LOG_GUEST_ERROR. + * if (!virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { error_report("queue_enable is only suppported in devices of virtio " "1.0 or later."); } + */ if (k->queue_enable) { k->queue_enable(vdev, queue_index);