From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id D3FAE6A391 for ; Thu, 4 Mar 2021 13:52:49 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id CA76C1A623 for ; Thu, 4 Mar 2021 13:52:19 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 3CBE61A60E for ; Thu, 4 Mar 2021 13:52:18 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 0A33545FC6 for ; Thu, 4 Mar 2021 13:52:18 +0100 (CET) From: Stefan Reiter To: pve-devel@lists.proxmox.com Date: Thu, 4 Mar 2021 13:52:04 +0100 Message-Id: <20210304125209.24078-3-s.reiter@proxmox.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210304125209.24078-1-s.reiter@proxmox.com> References: <20210304125209.24078-1-s.reiter@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.024 Adjusted score from AWL reputation of From: address KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH pve-qemu 2/7] add ACPI compat patch for 5.1 and older machine types X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Mar 2021 12:52:49 -0000 Signed-off-by: Stefan Reiter --- This is required to make the whole deal work, otherwise even setting back the machine version to 5.1 or lower won't actually fix the issue. ...restore-device-paths-for-pre-5.1-vms.patch | 108 ++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 109 insertions(+) create mode 100644 debian/patches/extra/0009-i386-acpi-restore-device-paths-for-pre-5.1-vms.patch diff --git a/debian/patches/extra/0009-i386-acpi-restore-device-paths-for-pre-5.1-vms.patch b/debian/patches/extra/0009-i386-acpi-restore-device-paths-for-pre-5.1-vms.patch new file mode 100644 index 0000000..0539608 --- /dev/null +++ b/debian/patches/extra/0009-i386-acpi-restore-device-paths-for-pre-5.1-vms.patch @@ -0,0 +1,108 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Vitaly Cheptsov +Date: Tue, 2 Mar 2021 09:21:10 -0500 +Subject: [PATCH] i386/acpi: restore device paths for pre-5.1 vms + +After fixing the _UID value for the primary PCI root bridge in +af1b80ae it was discovered that this change updates Windows +configuration in an incompatible way causing network configuration +failure unless DHCP is used. More details provided on the list: + +https://lists.gnu.org/archive/html/qemu-devel/2021-02/msg08484.html + +This change reverts the _UID update from 1 to 0 for q35 and i440fx +VMs before version 5.2 to maintain the original behaviour when +upgrading. + +Cc: qemu-stable@nongnu.org +Cc: qemu-devel@nongnu.org +Reported-by: Thomas Lamprecht +Suggested-by: Michael S. Tsirkin +Signed-off-by: Vitaly Cheptsov +Message-Id: <20210301195919.9333-1-cheptsov@ispras.ru> +Tested-by: Thomas Lamprecht +Reviewed-by: Igor Mammedov +Reviewed-by: Michael S. Tsirkin +Signed-off-by: Michael S. Tsirkin +Fixes: af1b80ae56c9 ("i386/acpi: fix inconsistent QEMU/OVMF device paths") +--- + hw/i386/acpi-build.c | 4 ++-- + hw/i386/pc_piix.c | 2 ++ + hw/i386/pc_q35.c | 2 ++ + include/hw/i386/pc.h | 1 + + 4 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c +index 1f5c211245..b5616582a5 100644 +--- a/hw/i386/acpi-build.c ++++ b/hw/i386/acpi-build.c +@@ -1513,7 +1513,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, + dev = aml_device("PCI0"); + aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A03"))); + aml_append(dev, aml_name_decl("_ADR", aml_int(0))); +- aml_append(dev, aml_name_decl("_UID", aml_int(0))); ++ aml_append(dev, aml_name_decl("_UID", aml_int(pcmc->pci_root_uid))); + aml_append(sb_scope, dev); + aml_append(dsdt, sb_scope); + +@@ -1530,7 +1530,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, + aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A08"))); + aml_append(dev, aml_name_decl("_CID", aml_eisaid("PNP0A03"))); + aml_append(dev, aml_name_decl("_ADR", aml_int(0))); +- aml_append(dev, aml_name_decl("_UID", aml_int(0))); ++ aml_append(dev, aml_name_decl("_UID", aml_int(pcmc->pci_root_uid))); + aml_append(dev, build_q35_osc_method()); + aml_append(sb_scope, dev); + +diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c +index 13d1628f13..2524c96216 100644 +--- a/hw/i386/pc_piix.c ++++ b/hw/i386/pc_piix.c +@@ -417,6 +417,7 @@ static void pc_i440fx_machine_options(MachineClass *m) + { + PCMachineClass *pcmc = PC_MACHINE_CLASS(m); + pcmc->default_nic_model = "e1000"; ++ pcmc->pci_root_uid = 0; + + m->family = "pc_piix"; + m->desc = "Standard PC (i440FX + PIIX, 1996)"; +@@ -448,6 +449,7 @@ static void pc_i440fx_5_1_machine_options(MachineClass *m) + compat_props_add(m->compat_props, hw_compat_5_1, hw_compat_5_1_len); + compat_props_add(m->compat_props, pc_compat_5_1, pc_compat_5_1_len); + pcmc->kvmclock_create_always = false; ++ pcmc->pci_root_uid = 1; + } + + DEFINE_I440FX_MACHINE(v5_1, "pc-i440fx-5.1", NULL, +diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c +index a3f4959c43..c58dad5ae3 100644 +--- a/hw/i386/pc_q35.c ++++ b/hw/i386/pc_q35.c +@@ -329,6 +329,7 @@ static void pc_q35_machine_options(MachineClass *m) + { + PCMachineClass *pcmc = PC_MACHINE_CLASS(m); + pcmc->default_nic_model = "e1000e"; ++ pcmc->pci_root_uid = 0; + + m->family = "pc_q35"; + m->desc = "Standard PC (Q35 + ICH9, 2009)"; +@@ -364,6 +365,7 @@ static void pc_q35_5_1_machine_options(MachineClass *m) + compat_props_add(m->compat_props, hw_compat_5_1, hw_compat_5_1_len); + compat_props_add(m->compat_props, pc_compat_5_1, pc_compat_5_1_len); + pcmc->kvmclock_create_always = false; ++ pcmc->pci_root_uid = 1; + } + + DEFINE_Q35_MACHINE(v5_1, "pc-q35-5.1", NULL, +diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h +index 911e460097..7f8e1a791f 100644 +--- a/include/hw/i386/pc.h ++++ b/include/hw/i386/pc.h +@@ -99,6 +99,7 @@ struct PCMachineClass { + int legacy_acpi_table_size; + unsigned acpi_data_size; + bool do_not_add_smb_acpi; ++ int pci_root_uid; + + /* SMBIOS compat: */ + bool smbios_defaults; diff --git a/debian/patches/series b/debian/patches/series index 1b30d97..f29a15d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -6,6 +6,7 @@ extra/0005-virtiofsd-optionally-return-inode-pointer-from-lo_do.patch extra/0006-virtiofsd-prevent-opening-of-special-files-CVE-2020-.patch extra/0007-virtiofsd-Add-_llseek-to-the-seccomp-whitelist.patch extra/0008-virtiofsd-Add-restart_syscall-to-the-seccomp-whiteli.patch +extra/0009-i386-acpi-restore-device-paths-for-pre-5.1-vms.patch bitmap-mirror/0001-drive-mirror-add-support-for-sync-bitmap-mode-never.patch bitmap-mirror/0002-drive-mirror-add-support-for-conditional-and-always-.patch bitmap-mirror/0003-mirror-add-check-for-bitmap-mode-without-bitmap.patch -- 2.20.1