From b7ea00709410ef8fb586fbd2d4e0d038596564b5 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Fri, 12 Jan 2024 12:53:08 +0100 Subject: [PATCH 01/23] Backport TCG fix for OVMF boot with 4M variables --- ...-not-re-compute-new-pc-with-CF_PCREL.patch | 167 ++++++++++++++++++ qemu.spec | 9 +- 2 files changed, 175 insertions(+), 1 deletion(-) create mode 100644 0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch diff --git a/0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch b/0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch new file mode 100644 index 0000000..2b4cc98 --- /dev/null +++ b/0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch @@ -0,0 +1,167 @@ +From nobody Fri Jan 12 11:43:01 2024 +Delivered-To: importer@patchew.org +Authentication-Results: mx.zohomail.com; + dkim=pass; + spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as + permitted sender) + smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; + dmarc=pass(p=none dis=none) header.from=linaro.org +ARC-Seal: i=1; a=rsa-sha256; t=1704150435; cv=none; + d=zohomail.com; s=zohoarc; + b=WuuXzKFWal2lWtDkRW1hyD3JeOc+SWN52QHBHapuNgK1+I2+cPYMj5+cN4Zjw5A7mvf00GT1vtuKEVQlfbQSdQAabRvUm1IApyvu/IScVt/y4bgJZtJkcM5aIIBT037PWrprtRBiC9NpSYfZNMYJYHp5uvh2KAr4S98QWMlhafM= +ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; + s=zohoarc; + t=1704150435; + h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; + bh=Fc7w6qm1lcKkOSX/aWlQDZG20+2gOdT5iAy2c8bZOd8=; + b=QMgOfOfOQAWcCWBO+IO/NBDK5btCFlibal5JOy2X4uS9kOBwvViipo6SvZjrO2SptH2Bi+pLPhRpPU1O+ubVU7cY0GoFzzM0Wawd0XkZ9kzDzY/fvhog49o5nYI6cX46rt18qOXLWvvY702wGVdiMHoKrhRrIaJJE75z3jI9Bj4= +ARC-Authentication-Results: i=1; mx.zohomail.com; + dkim=pass; + spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as + permitted sender) + smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; + dmarc=pass header.from= (p=none dis=none) +Return-Path: +Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by + mx.zohomail.com + with SMTPS id 1704150435302898.4215703047593; + Mon, 1 Jan 2024 15:07:15 -0800 (PST) +Received: from localhost ([::1] helo=lists1p.gnu.org) + by lists.gnu.org with esmtp (Exim 4.90_1) + (envelope-from ) + id 1rKRMd-0001OI-9C; Mon, 01 Jan 2024 18:06:31 -0500 +Received: from eggs.gnu.org ([2001:470:142:3::10]) + by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) + (Exim 4.90_1) (envelope-from ) + id 1rKRMa-0001NR-Rr + for qemu-devel@nongnu.org; Mon, 01 Jan 2024 18:06:28 -0500 +Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]) + by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) + (Exim 4.90_1) (envelope-from ) + id 1rKRMZ-0000Uc-9F + for qemu-devel@nongnu.org; Mon, 01 Jan 2024 18:06:28 -0500 +Received: by mail-pg1-x52f.google.com with SMTP id + 41be03b00d2f7-53fbf2c42bfso6436343a12.3 + for ; Mon, 01 Jan 2024 15:06:26 -0800 (PST) +Received: from stoup.. (124-149-254-207.tpgi.com.au. [124.149.254.207]) + by smtp.gmail.com with ESMTPSA id + h12-20020a63df4c000000b005bd2b3a03eesm19672386pgj.6.2024.01.01.15.06.21 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Mon, 01 Jan 2024 15:06:24 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=linaro.org; s=google; t=1704150385; x=1704755185; darn=nongnu.org; + h=content-transfer-encoding:mime-version:message-id:date:subject:cc + :to:from:from:to:cc:subject:date:message-id:reply-to; + bh=Fc7w6qm1lcKkOSX/aWlQDZG20+2gOdT5iAy2c8bZOd8=; + b=dNkcO41+f8tEqtfO4CNEK3dzzuYmU72bWdyd57epmAhewzLeLt7RHz7f8a67QcEMtj + ogk6TnzY9C5YB3hC95BjYoWhfUSIRC+4LS6Z0RwjdR/VKwliPovopIgOnnCJgr11M6gq + x0Oo7AV6+ydX2/CJ/vi7CdysfcZZNdnlX5DkwVtTI296PMIfJhRN/SIHiqDfABCFrw8B + Nf+VpbYc91syKadTGBPzmOtamcAqx3MD7ndkVEI1eFkiejeGu9jawdqrAxz+jrFJJMby + 3/j4e+hqiQjlRVHVrpiQEM6ip7BsHqaMXlc6glQyIRph/u6yRDewnRTojoIGcUN84nFm + mbCg== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20230601; t=1704150385; x=1704755185; + h=content-transfer-encoding:mime-version:message-id:date:subject:cc + :to:from:x-gm-message-state:from:to:cc:subject:date:message-id + :reply-to; + bh=Fc7w6qm1lcKkOSX/aWlQDZG20+2gOdT5iAy2c8bZOd8=; + b=hZafAFg/VkyIycwdF4otV76XBU2LSrOJf6IQXXrHMfYC6VpDcmh6U6unnnNrhV1rJc + Frk0If2lK+nqHlo6ygJZVRdtRCln267V28VDpSD/lTZPO9vgZZYtmILeAjt4/L6mtPUf + 43iW7kR8zjBT8Uf80ld5qRodyuJS5bo86Asuzg/WgRfMGqBs9Im+w+MqwqKrTxSjPAvs + Psix/WKTNvKR6XHuyVDA17fTVJiGIsDUQp1InHF1ExsF2gG4wPI3hVMjTj+F2hs0SeY6 + Ivqs1RMAKbe9i581Wo6tIM2Jw/MHxL8fKN1SVC7klk4HpF516HBS8u/gQQE9vunYup05 + ccyQ== +X-Gm-Message-State: AOJu0Yy5sdlKUW0PNOmXX9aF7N5+gfVMCk21pUVv8dRCuvQamjzIYvYj + bSbNjV179B0oOyVl1t2lm1MwjDSpugfXsoz2rrpo8m8NOcc= +X-Google-Smtp-Source: + AGHT+IEE8RrF8uJO+68mSKODXu7giWx4EOgGGw+lT4v5lrdoFoZHlM0SU92PKHZ7B7CK5Dh1q82oRg== +X-Received: by 2002:a05:6a20:111f:b0:194:9578:9ba8 with SMTP id + x31-20020a056a20111f00b0019495789ba8mr14471419pze.16.1704150384447; + Mon, 01 Jan 2024 15:06:24 -0800 (PST) +From: Richard Henderson +To: qemu-devel@nongnu.org +Cc: pbonzini@redhat.com, qemu-stable@nongnu.org, + Michael Tokarev +Subject: [PATCH] target/i386: Do not re-compute new pc with CF_PCREL +Date: Tue, 2 Jan 2024 10:06:17 +1100 +Message-Id: <20240101230617.129349-1-richard.henderson@linaro.org> +X-Mailer: git-send-email 2.34.1 +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 + as permitted sender) client-ip=209.51.188.17; + envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; + helo=lists.gnu.org; +Received-SPF: pass client-ip=2607:f8b0:4864:20::52f; + envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52f.google.com +X-Spam_score_int: -20 +X-Spam_score: -2.1 +X-Spam_bar: -- +X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, + DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, + RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, + T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable autolearn_force=no +X-Spam_action: no action +X-BeenThere: qemu-devel@nongnu.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org +Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org +X-ZohoMail-DKIM: pass (identity @linaro.org) +X-ZM-MESSAGEID: 1704150436325100001 +Content-Type: text/plain; charset="utf-8" + +With PCREL, we have a page-relative view of EIP, and an +approximation of PC =3D EIP+CSBASE that is good enough to +detect page crossings. If we try to recompute PC after +masking EIP, we will mess up that approximation and write +a corrupt value to EIP. + +We already handled masking properly for PCREL, so the +fix in b5e0d5d2 was only needed for the !PCREL path. + +Cc: qemu-stable@nongnu.org +Fixes: b5e0d5d22fbf ("target/i386: Fix 32-bit wrapping of pc/eip computatio= +n") +Reported-by: Michael Tokarev +Signed-off-by: Richard Henderson +--- + target/i386/tcg/translate.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c +index 037bc47e7c..e68375b19d 100644 +--- a/target/i386/tcg/translate.c ++++ b/target/i386/tcg/translate.c +@@ -2845,10 +2845,6 @@ static void gen_jmp_rel(DisasContext *s, MemOp ot, i= +nt diff, int tb_num) + } + } + new_eip &=3D mask; +- new_pc =3D new_eip + s->cs_base; +- if (!CODE64(s)) { +- new_pc =3D (uint32_t)new_pc; +- } +=20 + gen_update_cc_op(s); + set_cc_op(s, CC_OP_DYNAMIC); +@@ -2864,6 +2860,8 @@ static void gen_jmp_rel(DisasContext *s, MemOp ot, in= +t diff, int tb_num) + tcg_gen_andi_tl(cpu_eip, cpu_eip, mask); + use_goto_tb =3D false; + } ++ } else if (!CODE64(s)) { ++ new_pc =3D (uint32_t)(new_eip + s->cs_base); + } +=20 + if (use_goto_tb && translator_use_goto_tb(&s->base, new_pc)) { +--=20 +2.34.1 \ No newline at end of file diff --git a/qemu.spec b/qemu.spec index fa7eac9..cbdd2c9 100644 --- a/qemu.spec +++ b/qemu.spec @@ -357,7 +357,7 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 1 +%global baserelease 2 Summary: QEMU is a FAST! processor emulator Name: qemu @@ -381,6 +381,10 @@ Patch: 0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch # https://bugzilla.redhat.com/show_bug.cgi?id=2256884 Patch: 0001-include-ui-rect.h-fix-qemu_rect_init-mis-assignment.patch +# https://gitlab.com/qemu-project/qemu/-/issues/2070 +# https://patchew.org/QEMU/20240101230617.129349-1-richard.henderson@linaro.org +Patch: 0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch + Source10: qemu-guest-agent.service Source11: 99-qemu-guest-agent.rules Source12: bridge.conf @@ -3133,6 +3137,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Fri Jan 12 2024 Daan De Meyer - 8.2.0-2 +- Backport TCG patch that fixes OVMF boot with 4M variables + * Tue Jan 9 2024 Daniel P. Berrangé - 8.2.0-1 - Update to 8.2.0 release - Add gpg verification of source tarball From 60857dcd6f2ff0ef4db43ddaeae5a7a3d8ab7d09 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 09:29:39 +0000 Subject: [PATCH 02/23] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- qemu.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/qemu.spec b/qemu.spec index cbdd2c9..3874c4b 100644 --- a/qemu.spec +++ b/qemu.spec @@ -357,7 +357,7 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 2 +%global baserelease 3 Summary: QEMU is a FAST! processor emulator Name: qemu @@ -3137,6 +3137,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 2:8.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 12 2024 Daan De Meyer - 8.2.0-2 - Backport TCG patch that fixes OVMF boot with 4M variables From 9344a1bc566a702aaa98d444b93f1cbc2a7bb98a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kkocdko=20=E2=A0=80?= Date: Thu, 28 Dec 2023 22:58:23 +0000 Subject: [PATCH 03/23] Fix qemu-device-display-virtio-gpu-xxx dependencies --- qemu.spec | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/qemu.spec b/qemu.spec index 3874c4b..938e9ea 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,3 +1,4 @@ + # Provide a way to skip tests via rpmbuild `--without` # This makes it easier to skip tests in copr repos, where # the qemu test suite is historically flakey @@ -873,6 +874,7 @@ This package provides the virtio-gpu display device for QEMU. %package device-display-virtio-gpu-gl Summary: QEMU virtio-gpu-gl display device Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-device-display-virtio-gpu%{?_isa} = %{epoch}:%{version}-%{release} %description device-display-virtio-gpu-gl This package provides the virtio-gpu-gl display device for QEMU. %endif @@ -881,6 +883,7 @@ This package provides the virtio-gpu-gl display device for QEMU. %package device-display-virtio-gpu-rutabaga Summary: QEMU virtio-gpu-rutabaga display device Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-device-display-virtio-gpu%{?_isa} = %{epoch}:%{version}-%{release} %description device-display-virtio-gpu-rutabaga This package provides the virtio-gpu-rutabaga display device for QEMU. %endif @@ -888,6 +891,7 @@ This package provides the virtio-gpu-rutabaga display device for QEMU. %package device-display-virtio-gpu-pci Summary: QEMU virtio-gpu-pci display device Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-device-display-virtio-gpu%{?_isa} = %{epoch}:%{version}-%{release} %description device-display-virtio-gpu-pci This package provides the virtio-gpu-pci display device for QEMU. @@ -895,6 +899,8 @@ This package provides the virtio-gpu-pci display device for QEMU. %package device-display-virtio-gpu-pci-gl Summary: QEMU virtio-gpu-pci-gl display device Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-device-display-virtio-gpu-pci%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-device-display-virtio-gpu-gl%{?_isa} = %{epoch}:%{version}-%{release} %description device-display-virtio-gpu-pci-gl This package provides the virtio-gpu-pci-gl display device for QEMU. %endif @@ -903,6 +909,7 @@ This package provides the virtio-gpu-pci-gl display device for QEMU. %package device-display-virtio-gpu-pci-rutabaga Summary: QEMU virtio-gpu-pci-rutabaga display device Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-device-display-virtio-gpu-pci%{?_isa} = %{epoch}:%{version}-%{release} %description device-display-virtio-gpu-pci-rutabaga This package provides the virtio-gpu-pci-rutabaga display device for QEMU. %endif @@ -910,18 +917,21 @@ This package provides the virtio-gpu-pci-rutabaga display device for QEMU. %package device-display-virtio-gpu-ccw Summary: QEMU virtio-gpu-ccw display device Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-device-display-virtio-gpu%{?_isa} = %{epoch}:%{version}-%{release} %description device-display-virtio-gpu-ccw This package provides the virtio-gpu-ccw display device for QEMU. %package device-display-virtio-vga Summary: QEMU virtio-vga display device Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-device-display-virtio-gpu%{?_isa} = %{epoch}:%{version}-%{release} %description device-display-virtio-vga This package provides the virtio-vga display device for QEMU. %package device-display-virtio-vga-gl Summary: QEMU virtio-vga-gl display device Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-device-display-virtio-vga%{?_isa} = %{epoch}:%{version}-%{release} %description device-display-virtio-vga-gl This package provides the virtio-vga-gl display device for QEMU. @@ -929,6 +939,7 @@ This package provides the virtio-vga-gl display device for QEMU. %package device-display-virtio-vga-rutabaga Summary: QEMU virtio-vga-rutabaga display device Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-device-display-virtio-vga%{?_isa} = %{epoch}:%{version}-%{release} %description device-display-virtio-vga-rutabaga This package provides the virtio-vga-rutabaga display device for QEMU. %endif From 865331f395391c6e597eb10227fdb998afa72707 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jan 2024 13:48:58 +0000 Subject: [PATCH 04/23] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- qemu.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/qemu.spec b/qemu.spec index 938e9ea..dd227d2 100644 --- a/qemu.spec +++ b/qemu.spec @@ -358,7 +358,7 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 3 +%global baserelease 4 Summary: QEMU is a FAST! processor emulator Name: qemu @@ -3148,6 +3148,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Fri Jan 26 2024 Fedora Release Engineering - 2:8.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Mon Jan 22 2024 Fedora Release Engineering - 2:8.2.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 93330a974c1ab9c4ca861323e53e3c7d01b055c4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 29 Jan 2024 18:23:24 +0000 Subject: [PATCH 05/23] Fix builds on i686. --- ...-blkio-Don-t-assume-size_t-is-64-bit.patch | 67 +++++++++++++++++++ qemu.spec | 9 ++- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 0001-block-blkio-Don-t-assume-size_t-is-64-bit.patch diff --git a/0001-block-blkio-Don-t-assume-size_t-is-64-bit.patch b/0001-block-blkio-Don-t-assume-size_t-is-64-bit.patch new file mode 100644 index 0000000..cc553da --- /dev/null +++ b/0001-block-blkio-Don-t-assume-size_t-is-64-bit.patch @@ -0,0 +1,67 @@ +From 02055de1ff1b15c7c12bff0457bae67c3db97f0a Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 29 Jan 2024 18:20:46 +0000 +Subject: [PATCH] block/blkio: Don't assume size_t is 64 bit +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +With GCC 14 the code failed to compile on i686 (and was wrong for any +version of GCC): + +../block/blkio.c: In function ‘blkio_file_open’: +../block/blkio.c:857:28: error: passing argument 3 of ‘blkio_get_uint64’ from incompatible pointer type [-Wincompatible-pointer-types] + 857 | &s->mem_region_alignment); + | ^~~~~~~~~~~~~~~~~~~~~~~~ + | | + | size_t * {aka unsigned int *} +In file included from ../block/blkio.c:12: +/usr/include/blkio.h:49:67: note: expected ‘uint64_t *’ {aka ‘long long unsigned int *’} but argument is of type ‘size_t *’ {aka ‘unsigned int *’} + 49 | int blkio_get_uint64(struct blkio *b, const char *name, uint64_t *value); + | ~~~~~~~~~~^~~~~ + +Signed-off-by: Richard W.M. Jones +--- + block/blkio.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/block/blkio.c b/block/blkio.c +index 0a0a6c0f5fd..52d78935147 100644 +--- a/block/blkio.c ++++ b/block/blkio.c +@@ -794,6 +794,7 @@ static int blkio_file_open(BlockDriverState *bs, QDict *options, int flags, + const char *blkio_driver = bs->drv->protocol_name; + BDRVBlkioState *s = bs->opaque; + int ret; ++ uint64_t val; + + ret = blkio_create(blkio_driver, &s->blkio); + if (ret < 0) { +@@ -854,7 +855,7 @@ static int blkio_file_open(BlockDriverState *bs, QDict *options, int flags, + + ret = blkio_get_uint64(s->blkio, + "mem-region-alignment", +- &s->mem_region_alignment); ++ &val); + if (ret < 0) { + error_setg_errno(errp, -ret, + "failed to get mem-region-alignment: %s", +@@ -862,6 +863,15 @@ static int blkio_file_open(BlockDriverState *bs, QDict *options, int flags, + blkio_destroy(&s->blkio); + return ret; + } ++#if HOST_LONG_BITS == 32 ++ if (val > SIZE_MAX) { ++ error_setg_errno(errp, ERANGE, ++ "mem-region-alignment too large for size_t"); ++ blkio_destroy(&s->blkio); ++ return -ERANGE; ++ } ++#endif ++ s->mem_region_alignment = (size_t)val; + + ret = blkio_get_bool(s->blkio, + "may-pin-mem-regions", +-- +2.43.0 + diff --git a/qemu.spec b/qemu.spec index dd227d2..72e34a7 100644 --- a/qemu.spec +++ b/qemu.spec @@ -358,7 +358,7 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 4 +%global baserelease 5 Summary: QEMU is a FAST! processor emulator Name: qemu @@ -386,6 +386,10 @@ Patch: 0001-include-ui-rect.h-fix-qemu_rect_init-mis-assignment.patch # https://patchew.org/QEMU/20240101230617.129349-1-richard.henderson@linaro.org Patch: 0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch +# Fix builds on i686. +# Sent upstream 29-01-2024 +Patch: 0001-block-blkio-Don-t-assume-size_t-is-64-bit.patch + Source10: qemu-guest-agent.service Source11: 99-qemu-guest-agent.rules Source12: bridge.conf @@ -3148,6 +3152,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Mon Jan 29 2024 Richard W.M. Jones - 8.2.0-5 +- Fix builds on i686. + * Fri Jan 26 2024 Fedora Release Engineering - 2:8.2.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From c8c91351c0ffe2ca9ea169f912271adceb67403b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 30 Jan 2024 09:13:52 +0000 Subject: [PATCH 06/23] Fix builds on i686 (v2 of the patch) https://lists.nongnu.org/archive/html/qemu-block/2024-01/msg00430.html --- ...-blkio-Don-t-assume-size_t-is-64-bit.patch | 67 ------------------- ...ke-s-mem_region_alignment-be-64-bits.patch | 43 ++++++++++++ qemu.spec | 2 +- 3 files changed, 44 insertions(+), 68 deletions(-) delete mode 100644 0001-block-blkio-Don-t-assume-size_t-is-64-bit.patch create mode 100644 0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch diff --git a/0001-block-blkio-Don-t-assume-size_t-is-64-bit.patch b/0001-block-blkio-Don-t-assume-size_t-is-64-bit.patch deleted file mode 100644 index cc553da..0000000 --- a/0001-block-blkio-Don-t-assume-size_t-is-64-bit.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 02055de1ff1b15c7c12bff0457bae67c3db97f0a Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Mon, 29 Jan 2024 18:20:46 +0000 -Subject: [PATCH] block/blkio: Don't assume size_t is 64 bit -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -With GCC 14 the code failed to compile on i686 (and was wrong for any -version of GCC): - -../block/blkio.c: In function ‘blkio_file_open’: -../block/blkio.c:857:28: error: passing argument 3 of ‘blkio_get_uint64’ from incompatible pointer type [-Wincompatible-pointer-types] - 857 | &s->mem_region_alignment); - | ^~~~~~~~~~~~~~~~~~~~~~~~ - | | - | size_t * {aka unsigned int *} -In file included from ../block/blkio.c:12: -/usr/include/blkio.h:49:67: note: expected ‘uint64_t *’ {aka ‘long long unsigned int *’} but argument is of type ‘size_t *’ {aka ‘unsigned int *’} - 49 | int blkio_get_uint64(struct blkio *b, const char *name, uint64_t *value); - | ~~~~~~~~~~^~~~~ - -Signed-off-by: Richard W.M. Jones ---- - block/blkio.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/block/blkio.c b/block/blkio.c -index 0a0a6c0f5fd..52d78935147 100644 ---- a/block/blkio.c -+++ b/block/blkio.c -@@ -794,6 +794,7 @@ static int blkio_file_open(BlockDriverState *bs, QDict *options, int flags, - const char *blkio_driver = bs->drv->protocol_name; - BDRVBlkioState *s = bs->opaque; - int ret; -+ uint64_t val; - - ret = blkio_create(blkio_driver, &s->blkio); - if (ret < 0) { -@@ -854,7 +855,7 @@ static int blkio_file_open(BlockDriverState *bs, QDict *options, int flags, - - ret = blkio_get_uint64(s->blkio, - "mem-region-alignment", -- &s->mem_region_alignment); -+ &val); - if (ret < 0) { - error_setg_errno(errp, -ret, - "failed to get mem-region-alignment: %s", -@@ -862,6 +863,15 @@ static int blkio_file_open(BlockDriverState *bs, QDict *options, int flags, - blkio_destroy(&s->blkio); - return ret; - } -+#if HOST_LONG_BITS == 32 -+ if (val > SIZE_MAX) { -+ error_setg_errno(errp, ERANGE, -+ "mem-region-alignment too large for size_t"); -+ blkio_destroy(&s->blkio); -+ return -ERANGE; -+ } -+#endif -+ s->mem_region_alignment = (size_t)val; - - ret = blkio_get_bool(s->blkio, - "may-pin-mem-regions", --- -2.43.0 - diff --git a/0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch b/0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch new file mode 100644 index 0000000..05c6f18 --- /dev/null +++ b/0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch @@ -0,0 +1,43 @@ +From 500f3a81652dcefa79a4864c1f3fa6747c16952e Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 29 Jan 2024 18:20:46 +0000 +Subject: [PATCH] block/blkio: Make s->mem_region_alignment be 64 bits +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +With GCC 14 the code failed to compile on i686 (and was wrong for any +version of GCC): + +../block/blkio.c: In function ‘blkio_file_open’: +../block/blkio.c:857:28: error: passing argument 3 of ‘blkio_get_uint64’ from incompatible pointer type [-Wincompatible-pointer-types] + 857 | &s->mem_region_alignment); + | ^~~~~~~~~~~~~~~~~~~~~~~~ + | | + | size_t * {aka unsigned int *} +In file included from ../block/blkio.c:12: +/usr/include/blkio.h:49:67: note: expected ‘uint64_t *’ {aka ‘long long unsigned int *’} but argument is of type ‘size_t *’ {aka ‘unsigned int *’} + 49 | int blkio_get_uint64(struct blkio *b, const char *name, uint64_t *value); + | ~~~~~~~~~~^~~~~ + +Signed-off-by: Richard W.M. Jones +--- + block/blkio.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/block/blkio.c b/block/blkio.c +index 0a0a6c0f5fd..bc2f21784c7 100644 +--- a/block/blkio.c ++++ b/block/blkio.c +@@ -68,7 +68,7 @@ typedef struct { + CoQueue bounce_available; + + /* The value of the "mem-region-alignment" property */ +- size_t mem_region_alignment; ++ uint64_t mem_region_alignment; + + /* Can we skip adding/deleting blkio_mem_regions? */ + bool needs_mem_regions; +-- +2.43.0 + diff --git a/qemu.spec b/qemu.spec index 72e34a7..995a73e 100644 --- a/qemu.spec +++ b/qemu.spec @@ -388,7 +388,7 @@ Patch: 0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch # Fix builds on i686. # Sent upstream 29-01-2024 -Patch: 0001-block-blkio-Don-t-assume-size_t-is-64-bit.patch +Patch: 0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch Source10: qemu-guest-agent.service Source11: 99-qemu-guest-agent.rules From 94ac31f9f7bdcc631bef7b72aa506add5044fb12 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 30 Jan 2024 12:25:41 +0000 Subject: [PATCH 07/23] Increase release number for rebuild --- qemu.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qemu.spec b/qemu.spec index 995a73e..e97daf5 100644 --- a/qemu.spec +++ b/qemu.spec @@ -358,7 +358,7 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 5 +%global baserelease 6 Summary: QEMU is a FAST! processor emulator Name: qemu @@ -3152,7 +3152,7 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog -* Mon Jan 29 2024 Richard W.M. Jones - 8.2.0-5 +* Tue Jan 30 2024 Richard W.M. Jones - 2:8.2.0-6 - Fix builds on i686. * Fri Jan 26 2024 Fedora Release Engineering - 2:8.2.0-4 From d67c7eef5fddd7ed2f8315d194ccb6f4e8481507 Mon Sep 17 00:00:00 2001 From: Christophe Fergeau Date: Tue, 30 Jan 2024 11:56:20 +0100 Subject: [PATCH 08/23] Always enable PIE PIE is currently enabled for qemu-kvm builds, and disabled for qemu-user-static builds. --disable-pie is causing https://bugzilla.redhat.com/show_bug.cgi?id=2256916 This commit ensures --enable-pie is used for both qemu-kvm and qemu-user-static. This fixes https://bugzilla.redhat.com/show_bug.cgi?id=2256916 Signed-off-by: Christophe Fergeau --- qemu.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/qemu.spec b/qemu.spec index e97daf5..6841db9 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1920,6 +1920,7 @@ pushd %{static_builddir} run_configure \ --enable-attr \ --enable-linux-user \ + --enable-pie \ --enable-tcg \ --disable-install-blobs \ --static From 409fcdb379dc89991fdf1f155905fefe0b272241 Mon Sep 17 00:00:00 2001 From: Christophe Fergeau Date: Wed, 31 Jan 2024 11:39:31 +0100 Subject: [PATCH 09/23] Re-add --disable-pie on ppc64le This fixes this build failure: https://koji.fedoraproject.org/koji/taskinfo?taskID=112612829 ERROR: -static-pie not available due to missing toolchain support Signed-off-by: Christophe Fergeau --- qemu.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qemu.spec b/qemu.spec index 6841db9..18aa398 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1920,7 +1920,9 @@ pushd %{static_builddir} run_configure \ --enable-attr \ --enable-linux-user \ +%ifnarch %{power64} --enable-pie \ +%endif --enable-tcg \ --disable-install-blobs \ --static From be157516d886c37674cdb3d26dd252689d048611 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mon, 22 Jan 2024 10:24:20 -0500 Subject: [PATCH 10/23] Replace pvh build fix with new attempt that builds on centos too Signed-off-by: Cole Robinson --- ...m-Fix-pvh.img-ld-build-failure-on-fe.patch | 35 ++++++++++++++----- qemu.spec | 3 +- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch b/0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch index 87d8a11..b699c10 100644 --- a/0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch +++ b/0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch @@ -1,4 +1,4 @@ -From 98287d67f3ea6c49795838beda4b020cf236fc20 Mon Sep 17 00:00:00 2001 +From 12cbd48e1e78f07b19df900b0f9ccdd633aa42ee Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mon, 27 Nov 2023 12:51:25 -0500 Subject: [PATCH] pc-bios/optionrom: Fix pvh.img ld build failure on fedora @@ -17,19 +17,36 @@ Add linker options to suppress the errors Signed-off-by: Cole Robinson --- - pc-bios/optionrom/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + pc-bios/optionrom/Makefile | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile -index 30d07026c7..f54ed39b54 100644 +index 30d07026c7..87cfc484c7 100644 --- a/pc-bios/optionrom/Makefile +++ b/pc-bios/optionrom/Makefile -@@ -36,7 +36,7 @@ config-cc.mak: Makefile - $(call cc-option,-Wno-array-bounds)) 3> config-cc.mak - -include config-cc.mak +@@ -38,6 +38,16 @@ config-cc.mak: Makefile --override LDFLAGS = -nostdlib -Wl,--build-id=none,-T,$(SRC_DIR)/flat.lds -+override LDFLAGS = -nostdlib -Wl,--build-id=none,-T,$(SRC_DIR)/flat.lds -Wl,--no-warn-rwx-segments -Wl,--no-warn-execstack + override LDFLAGS = -nostdlib -Wl,--build-id=none,-T,$(SRC_DIR)/flat.lds ++ld-test = $(LD) -v $1 >/dev/null 2>/dev/null ++ld-option = if $(call ld-test, $1); then \ ++ echo "$(TARGET_PREFIX)$1 detected" && echo "override LDFLAGS += -Wl,$1" >&3; else \ ++ echo "$(TARGET_PREFIX)$1 not detected" $(if $2,&& echo "override LDFLAGS += $2" >&3); fi ++ ++config-ld.mak: Makefile ++ $(quiet-@)($(call ld-option,--no-warn-rwx-segments); \ ++ $(call ld-option,--no-warn-execstack)) 3> config-ld.mak ++-include config-ld.mak ++ pvh.img: pvh.o pvh_main.o + %.o: %.S +@@ -61,7 +71,7 @@ clean: + rm -f *.o *.d *.raw *.img *.bin *~ + + distclean: +- rm -f config-cc.mak ++ rm -f config-cc.mak config-ld.mak + + # suppress auto-removal of intermediate files + .SECONDARY: diff --git a/qemu.spec b/qemu.spec index 18aa398..3f862fb 100644 --- a/qemu.spec +++ b/qemu.spec @@ -374,8 +374,9 @@ Source0: %{dlurl}/%{name}-%{version}%{?rcstr}.tar.xz Source1: %{dlurl}/%{name}-%{version}%{?rcstr}.tar.xz.sig Source2: gpgkey-CEACC9E15534EBABB82D3FA03353C9CEF108B584.gpg -# https://patchwork.kernel.org/project/qemu-devel/patch/20231128143647.847668-1-crobinso@redhat.com/ # Fix pvh.img ld build failure on fedora rawhide +# Not yet submitted upstream in this form. Original attempt is here: +# https://patchwork.kernel.org/project/qemu-devel/patch/20231128143647.847668-1-crobinso@redhat.com/ Patch: 0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch From 2601a942cadc523fc530bd0e21f0ef9451938144 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Thu, 1 Feb 2024 09:11:31 -0500 Subject: [PATCH 11/23] rpminspect: another attempt to exclude `unicode` error Signed-off-by: Cole Robinson --- rpminspect.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/rpminspect.yaml b/rpminspect.yaml index fea3fc8..9aaf94f 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -15,6 +15,14 @@ debuginfo: elf: exclude_path: ^/usr/share/qemu/(u-boot.e500|hppa-firmware.img)$ -# CryptoPkg fuzz tests have invalid unicode, but I assume that's intentional -unicode: - exclude: .*edk2/CryptoPkg.* + +# bundled edk2 source CryptoPkg fuzz tests have invalid unicode, +# but I assume that's intentional +# +# We would exclude that path using `unicode:` section, but fedora CI +# doesn't allow it: +# rpminspect: *** ignoring 'unicode' section in ...rpminspect.yaml; only allowed in system-wide configuration +# +# So instead we fully disable the unicode check +inspections: + unicode: off From 6b4bb5d4e21ee5ad51deaf463feaadbc4244f116 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Thu, 1 Feb 2024 09:08:47 -0500 Subject: [PATCH 12/23] qemu-8.2.0-7.fc40 Signed-off-by: Cole Robinson --- qemu.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qemu.spec b/qemu.spec index 3f862fb..ac59f6b 100644 --- a/qemu.spec +++ b/qemu.spec @@ -358,7 +358,7 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 6 +%global baserelease 7 Summary: QEMU is a FAST! processor emulator Name: qemu @@ -3156,6 +3156,10 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Thu Feb 01 2024 Cole Robinson - 8.2.0-7 +- Enable PIE for qemu-user-static builds +- Replace PVH build fix patch with version that should work on centos + * Tue Jan 30 2024 Richard W.M. Jones - 2:8.2.0-6 - Fix builds on i686. From cf84426a04f7cf740e187a0276ab9f19a3f0edc2 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Fri, 2 Feb 2024 11:34:13 -0500 Subject: [PATCH 13/23] rpminspect: Another attempt to ignore `badfuncs` Signed-off-by: Cole Robinson --- rpminspect.yaml | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/rpminspect.yaml b/rpminspect.yaml index 9aaf94f..b6ec74c 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -1,8 +1,3 @@ -# complains about qemu use of: gethostbyname, inet_aton, inet_ntoa -# but warning here isn't really accomplishing anything -badfuncs: - exclude_path: .* - # These pre-compiled files have `.symtab` debuginfo: ignore: @@ -16,13 +11,17 @@ elf: exclude_path: ^/usr/share/qemu/(u-boot.e500|hppa-firmware.img)$ -# bundled edk2 source CryptoPkg fuzz tests have invalid unicode, -# but I assume that's intentional -# -# We would exclude that path using `unicode:` section, but fedora CI -# doesn't allow it: -# rpminspect: *** ignoring 'unicode' section in ...rpminspect.yaml; only allowed in system-wide configuration -# -# So instead we fully disable the unicode check inspections: + # complains about qemu use of: gethostbyname, inet_aton, inet_ntoa + # Warning here isn't really accomplishing anything + badfuncs: off + + # bundled edk2 source CryptoPkg fuzz tests have invalid unicode, + # but I assume that's intentional + # + # We would exclude that path using `unicode:` section, but fedora CI + # doesn't allow it: + # rpminspect: *** ignoring 'unicode' section in ...rpminspect.yaml; only allowed in system-wide configuration + # + # So instead we fully disable the unicode check unicode: off From affe1791b74dfe9b70add1517d735699d111b14b Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Sat, 10 Feb 2024 23:42:13 -0500 Subject: [PATCH 14/23] Disable pmem on RHEL 10 PMDK (packaged as nvml in Fedora) is unmaintained upstream and unwanted in RHEL 10 and ELN. Resolves: RHEL-1738 RWMJ: Cherry picked from commit bd6c291f06de0895db0ed3379643a3103f9fb31d on the eln branch. --- qemu.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qemu.spec b/qemu.spec index ac59f6b..0fd08ac 100644 --- a/qemu.spec +++ b/qemu.spec @@ -103,6 +103,9 @@ %ifarch x86_64 %{power64} %global have_pmem 1 %endif +%if 0%{?rhel} >= 10 +%global have_pmem 0 +%endif %global have_jack 1 %if 0%{?rhel} From 3ab71e3cfb9aeb27b9b51e78f88a454df6ff1f27 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 21 Feb 2024 11:27:57 +0000 Subject: [PATCH 15/23] Fix user-emulation of FIFREEZE and FITHAW ioctls --- qemu-fifreeze-fithaw.patch | 210 +++++++++++++++++++++++++++++++++++++ qemu.spec | 10 +- 2 files changed, 219 insertions(+), 1 deletion(-) create mode 100644 qemu-fifreeze-fithaw.patch diff --git a/qemu-fifreeze-fithaw.patch b/qemu-fifreeze-fithaw.patch new file mode 100644 index 0000000..1d639a7 --- /dev/null +++ b/qemu-fifreeze-fithaw.patch @@ -0,0 +1,210 @@ +From qemu-devel-bounces+rjones=redhat.com@nongnu.org Tue Feb 20 14:15:07 2024 +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on + rhmail.home.annexia.org +X-Spam-Level: +X-Spam-Status: No, score=-3.6 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, + FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, + T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 +Delivered-To: rjones@gapps.redhat.com +Received: from imap.gmail.com [2a00:1450:400c:c06::6c] + by rhmail.home.annexia.org with IMAP (fetchmail-6.3.24) + for (single-drop); Tue, 20 Feb 2024 14:15:07 +0000 (GMT) +Received: by 2002:adf:9c85:0:b0:337:c4af:7eda with SMTP id d5csp1377865wre; + Tue, 20 Feb 2024 06:14:45 -0800 (PST) +X-Forwarded-Encrypted: i=2; + AJvYcCVmEOlyyvvd2pjxJlVqmm6wAsFvP2QS6RrV8WHdcPQ9BbSQtwkd4h6dvrOsn7U4WKwJ+S9i3pICvKhQ6p2IG/C63ey7jQaX6g== +X-Google-Smtp-Source: AGHT+IE5mSiEO9H5JEkHNlHfhZDS2s9/kx/Heg/BJJ4bRe1DByou2O4YqVcehEElFPcfnv1EbTzP +X-Received: by 2002:ac8:7e82:0:b0:42e:1a0c:5561 with SMTP id + w2-20020ac87e82000000b0042e1a0c5561mr4869415qtj.11.1708438485118; Tue, 20 Feb + 2024 06:14:45 -0800 (PST) +ARC-Seal: i=1; a=rsa-sha256; t=1708438485; cv=none; d=google.com; + s=arc-20160816; + b=ey2nB0Hz7p8/LRoN4jZjtpNuGZQ63SBhaAnxzcDl/T2RrxPzHh65rz1zmLdWzVCLkQ + v+yYlKkQFU8NNp3UT4S4zYwfeGSE1kFImALTRCMrWHrkw9LZZZb2BeEsiziU3hlaWROV + UVjYZdUHzbALZboflhpU0jK2UBurjafvHopQR7okuWukM2MkehE707uhOPscNCgZG8f9 + ZtrZX2StAQhzGbE+rGPka9c6AdsKBWYcVUbAe//oQeRl1NCUorQedrseU25E1dcobqwl + 80kRNnHYH+GOx7inmTEi8W2DSWb3g48Q0EEVWc/sfDB/f2t6PO4sELzmSvhytswBISkg D57A== +ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; + s=arc-20160816; + h=content-transfer-encoding:sender:errors-to:list-subscribe:list-help + :list-post:list-archive:list-unsubscribe:list-id:precedence + :mime-version:message-id:date:subject:cc:to:from:delivered-to; + bh=uNCdCIQzg/12W/RrXAVFQ1Isw/BMjvNQW4Y14ZuF5vg=; + fh=k0ip+oilfdxldYSElE+D70uElArHhwV8D0y78HTEik8=; + b=U8UgVOefnhiU8Ata8X00Xvx9Y6fexE3GSwQioOOaRIx9xhn1c0xjhLQ4N5DB19Cbt2 + U+lqbgtVw4xI915hyyC1NRT3w/ImfJLikpDpzXLpmbJCOMYj0J7qkTFPsPXBLMx/fDi8 + Ctg2koPP9m5EG4cAEIacP85/2vee28uKUFbdeB/B8DIsSIQYWGskfMNaqv2NOvW9O4Fj + qyhK2YEImZY2KK3xW48LAtPW/oqqvfmtYmJn40otnhiU6eErtS71NJmccE1lca4P7xil + dtz0Rqc3C8iTH8eayxAeT7xD4AFZznehPPWbMxK3C5kecZ8bnceNw5cmQqfvQRmR0yGB bNKA==; + dara=google.com +ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain + of qemu-devel-bounces+rjones=redhat.com@nongnu.org designates 209.51.188.17 + as permitted sender) + smtp.mailfrom="qemu-devel-bounces+rjones=redhat.com@nongnu.org" +Return-Path: +Received: from us-smtp-inbound-delivery-1.mimecast.com + (us-smtp-delivery-1.mimecast.com. [205.139.110.120]) by mx.google.com with + ESMTPS id + m9-20020ac86889000000b0042c2147b5d1si8208493qtq.474.2024.02.20.06.14.44 for + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 + bits=256/256); Tue, 20 Feb 2024 06:14:45 -0800 (PST) +Received-SPF: pass (google.com: domain of + qemu-devel-bounces+rjones=redhat.com@nongnu.org designates 209.51.188.17 as + permitted sender) client-ip=209.51.188.17; +Authentication-Results: mx.google.com; spf=pass (google.com: domain of + qemu-devel-bounces+rjones=redhat.com@nongnu.org designates 209.51.188.17 as + permitted sender) + smtp.mailfrom="qemu-devel-bounces+rjones=redhat.com@nongnu.org" +Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com + [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS + (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id + us-mta-656-0vwFszxbMwexl4X3OxB3MQ-1; Tue, 20 Feb 2024 09:14:43 -0500 +X-MC-Unique: 0vwFszxbMwexl4X3OxB3MQ-1 +Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com + [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 + bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest + SHA256) (No client certificate requested) by mimecast-mx02.redhat.com + (Postfix) with ESMTPS id 792F8863732 for ; Tue, 20 + Feb 2024 14:14:43 +0000 (UTC) +Received: by smtp.corp.redhat.com (Postfix) id 761ED11422B9; Tue, 20 Feb 2024 + 14:14:43 +0000 (UTC) +Delivered-To: rjones@redhat.com +Received: from mimecast-mx02.redhat.com + (mimecast10.extmail.prod.ext.rdu2.redhat.com [10.11.55.26]) by + smtp.corp.redhat.com (Postfix) with ESMTPS id 3BBF311422B4 for + ; Tue, 20 Feb 2024 14:14:43 +0000 (UTC) +Received: from us-smtp-inbound-delivery-1.mimecast.com + (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.3 with cipher + TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature + RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) + by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1EC691C54037 for + ; Tue, 20 Feb 2024 14:14:43 +0000 (UTC) +Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by + relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, + cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id + us-mta-467-K7PF_hWUMIuYn6nNX_NhGQ-1; Tue, 20 Feb 2024 09:14:41 -0500 +X-MC-Unique: K7PF_hWUMIuYn6nNX_NhGQ-1 +Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with + esmtp (Exim 4.90_1) (envelope-from ) id + 1rcQsH-00027z-CN; Tue, 20 Feb 2024 09:13:33 -0500 +Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with + esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from + ) id 1rcNp8-0004k1-C7 for qemu-devel@nongnu.org; Tue, + 20 Feb 2024 05:58:06 -0500 +Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by + eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim + 4.90_1) (envelope-from ) id 1rcNp6-0004zw-Uh for + qemu-devel@nongnu.org; Tue, 20 Feb 2024 05:58:06 -0500 +Received: by mail-wm1-x32a.google.com with SMTP id + 5b1f17b1804b1-412698cdd77so8973055e9.1 for ; Tue, 20 + Feb 2024 02:58:04 -0800 (PST) +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; + s=20230601; t=1708426683; x=1709031483; + h=content-transfer-encoding:mime-version:message-id:date:subject:cc + :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; + bh=uNCdCIQzg/12W/RrXAVFQ1Isw/BMjvNQW4Y14ZuF5vg=; + b=anLCtG+2+69Viw2YFg93vXg3ZBx/82tUVKrUPKG0+3CgiM2BmSukRsME1L+upQkYAV + Llc9ODBvHts9RRZU1MeybdSSRMnAHrXrIJ6HZP30K1cHOxyXB7DOp27hCfOelFBBffpM + IVwjaKn+XnJ95IUMwMrhZ2T5Mcicw8tbRkCyDQwqrIpfpGWpOEq2HkEbe9T6z143sCBZ + XYDpDvFRQauxu+SUoVeQjDxt1gm0XHFzwdGH/QjQ/2YDwkkB/yUtlaDHgXafwnzwow/8 + uHvdTZ9neIWDCUHEiHqRg9tHudOy1VhxH6T4jxzakzyTEit+mh2qB05/Yg2brj+hBo1u SaDg== +X-Gm-Message-State: AOJu0YxyvxpfZhEbdDWqHqfThgFNUwkmqMXvDaxwAQH7HqdpGm5oVEbJ + rzstVAif1eTUKOE4NOnCiMyJ9q/vEtd63Er7imeDi7lVutB0bby6fZFsj8mI +X-Received: by 2002:a05:600c:4f43:b0:411:e86d:85a3 with SMTP id + m3-20020a05600c4f4300b00411e86d85a3mr16304898wmq.16.1708426682414; Tue, 20 + Feb 2024 02:58:02 -0800 (PST) +Received: from top.fritz.box (p5dd94bc2.dip0.t-ipconnect.de. [93.217.75.194]) + by smtp.gmail.com with ESMTPSA id + co18-20020a0560000a1200b0033d4c3b0beesm7032427wrb.19.2024.02.20.02.58.01 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Feb 2024 + 02:58:02 -0800 (PST) +From: Michael Vogt +To: qemu-devel@nongnu.org +Cc: Michael Vogt +Subject: [PATCH] linux-user: Add FIFREEZE and FITHAW ioctls +Date: Tue, 20 Feb 2024 11:57:21 +0100 +Message-ID: <20240220105726.8852-1-michael.vogt@gmail.com> +MIME-Version: 1.0 +X-Spam_score_int: -20 +X-Spam_score: -2.1 +X-Spam_bar: -- +X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, + DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, + RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, + T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no +X-Spam_action: no action +X-Mailman-Approved-At: Tue, 20 Feb 2024 09:13:26 -0500 +X-BeenThere: qemu-devel@nongnu.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: qemu-devel-bounces+rjones=redhat.com@nongnu.org +Sender: qemu-devel-bounces+rjones=redhat.com@nongnu.org +X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection + Definition;Similar Internal Domain=false;Similar Monitored External + Domain=false;Custom External Domain=false;Mimecast External + Domain=false;Newly Observed Domain=false;Internal User Name=false;Custom + Display Name List=false;Reply-to Address Mismatch=false;Targeted Threat + Dictionary=false;Mimecast Threat Dictionary=false;Custom Threat + Dictionary=false +X-Mimecast-Bulk-Signature: yes +X-Mimecast-Spam-Signature: bulk +X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 +X-Mimecast-Spam-Score: 0 +X-Mimecast-Originator: gmail.com +Content-Transfer-Encoding: 8bit +Content-Type: text/plain; charset="US-ASCII"; x-default=true +Status: RO +Content-Length: 1327 +Lines: 42 + +Add missing FIFREEZE and FITHAW ioctls. + +Signed-off-by: Michael Vogt +--- + linux-user/ioctls.h | 6 ++++++ + linux-user/syscall_defs.h | 3 +++ + 2 files changed, 9 insertions(+) + +diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h +index 071f7ca253..1aec9d5836 100644 +--- a/linux-user/ioctls.h ++++ b/linux-user/ioctls.h +@@ -134,6 +134,12 @@ + IOCTL(FICLONE, IOC_W, TYPE_INT) + IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range))) + #endif ++#ifdef FIFREEZE ++ IOCTL(FIFREEZE, IOC_W | IOC_R, TYPE_INT) ++#endif ++#ifdef FITHAW ++ IOCTL(FITHAW, IOC_W | IOC_R, TYPE_INT) ++#endif + + IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG)) + #ifdef CONFIG_FIEMAP +diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h +index 77ba343c85..744fda599e 100644 +--- a/linux-user/syscall_defs.h ++++ b/linux-user/syscall_defs.h +@@ -943,6 +943,9 @@ struct target_rtc_pll_info { + #define TARGET_FICLONE TARGET_IOW(0x94, 9, abi_int) + #define TARGET_FICLONERANGE TARGET_IOW(0x94, 13, struct file_clone_range) + ++#define TARGET_FIFREEZE TARGET_IOWR('X', 119, abi_int) ++#define TARGET_FITHAW TARGET_IOWR('X', 120, abi_int) ++ + /* + * Note that the ioctl numbers for FS_IOC_ + * claim type "long" but the actual type used by the kernel is "int". +-- +2.43.0 + + diff --git a/qemu.spec b/qemu.spec index 0fd08ac..9f47a04 100644 --- a/qemu.spec +++ b/qemu.spec @@ -361,7 +361,7 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 7 +%global baserelease 8 Summary: QEMU is a FAST! processor emulator Name: qemu @@ -394,6 +394,11 @@ Patch: 0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch # Sent upstream 29-01-2024 Patch: 0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch +# Fix user-emulation of FIFREEZE and FITHAW ioctls +# Posted upstream 20-02-2024 +# https://lists.nongnu.org/archive/html/qemu-devel/2024-02/msg03971.html +Patch: qemu-fifreeze-fithaw.patch + Source10: qemu-guest-agent.service Source11: 99-qemu-guest-agent.rules Source12: bridge.conf @@ -3159,6 +3164,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Wed Feb 21 2024 Richard W.M. Jones - 2:8.2.0-8 +- Fix user-emulation of FIFREEZE and FITHAW ioctls + * Thu Feb 01 2024 Cole Robinson - 8.2.0-7 - Enable PIE for qemu-user-static builds - Replace PVH build fix patch with version that should work on centos From 1bd1d083f37c39cec6492f0162fadad12feceef9 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 26 Feb 2024 10:06:04 +0000 Subject: [PATCH 16/23] Backport ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS --- ...1d7b7be76c47015521ab0109c6e998a369b0.patch | 75 +++++++++++++++++++ qemu.spec | 9 ++- 2 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 c4f91d7b7be76c47015521ab0109c6e998a369b0.patch diff --git a/c4f91d7b7be76c47015521ab0109c6e998a369b0.patch b/c4f91d7b7be76c47015521ab0109c6e998a369b0.patch new file mode 100644 index 0000000..b37288b --- /dev/null +++ b/c4f91d7b7be76c47015521ab0109c6e998a369b0.patch @@ -0,0 +1,75 @@ +From c4f91d7b7be76c47015521ab0109c6e998a369b0 Mon Sep 17 00:00:00 2001 +From: Harsh Prateek Bora +Date: Wed, 24 Jan 2024 10:30:55 +1000 +Subject: [PATCH] ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Initialize the machine specific max_cpus limit as per the maximum range +of CPU IPIs available. Keeping between 4096 to 8192 will throw IRQ not +free error due to XIVE/XICS limitation and keeping beyond 8192 will hit +assert in tcg_region_init or spapr_xive_claim_irq. + +Logs: + +Without patch fix: + +[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=4097 +qemu-system-ppc64: IRQ 4096 is not free +[root@host build]# + +On LPAR: +[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=8193 +** +ERROR:../tcg/region.c:774:tcg_region_init: assertion failed: +(region_size >= 2 * page_size) +Bail out! ERROR:../tcg/region.c:774:tcg_region_init: assertion failed: +(region_size >= 2 * page_size) +Aborted (core dumped) +[root@host build]# + +On x86: +[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=8193 +qemu-system-ppc64: ../hw/intc/spapr_xive.c:596: spapr_xive_claim_irq: +Assertion `lisn < xive->nr_irqs' failed. +Aborted (core dumped) +[root@host build]# + +With patch fix: +[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=4097 +qemu-system-ppc64: Invalid SMP CPUs 4097. The max CPUs supported by +machine 'pseries-8.2' is 4096 +[root@host build]# + + +Reported-by: Kowshik Jois +Tested-by: Kowshik Jois +Reviewed-by: Cédric Le Goater +Signed-off-by: Harsh Prateek Bora +Signed-off-by: Nicholas Piggin +--- + hw/ppc/spapr.c | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c +index 0d72d286d80f..0028ce0b673b 100644 +--- a/hw/ppc/spapr.c ++++ b/hw/ppc/spapr.c +@@ -4639,13 +4639,10 @@ static void spapr_machine_class_init(ObjectClass *oc, void *data) + mc->block_default_type = IF_SCSI; + + /* +- * Setting max_cpus to INT32_MAX. Both KVM and TCG max_cpus values +- * should be limited by the host capability instead of hardcoded. +- * max_cpus for KVM guests will be checked in kvm_init(), and TCG +- * guests are welcome to have as many CPUs as the host are capable +- * of emulate. ++ * While KVM determines max cpus in kvm_init() using kvm_max_vcpus(), ++ * In TCG the limit is restricted by the range of CPU IPIs available. + */ +- mc->max_cpus = INT32_MAX; ++ mc->max_cpus = SPAPR_IRQ_NR_IPIS; + + mc->no_parallel = 1; + mc->default_boot_order = ""; diff --git a/qemu.spec b/qemu.spec index 9f47a04..b3e83f5 100644 --- a/qemu.spec +++ b/qemu.spec @@ -361,7 +361,7 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 8 +%global baserelease 9 Summary: QEMU is a FAST! processor emulator Name: qemu @@ -399,6 +399,10 @@ Patch: 0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch # https://lists.nongnu.org/archive/html/qemu-devel/2024-02/msg03971.html Patch: qemu-fifreeze-fithaw.patch +# ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS +# https://bugzilla.redhat.com/show_bug.cgi?id=2265982 +Patch: https://github.com/qemu/qemu/commit/c4f91d7b7be76c47015521ab0109c6e998a369b0.patch + Source10: qemu-guest-agent.service Source11: 99-qemu-guest-agent.rules Source12: bridge.conf @@ -3164,6 +3168,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Mon Feb 26 2024 Richard W.M. Jones - 2:8.2.0-9 +- Backport ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS + * Wed Feb 21 2024 Richard W.M. Jones - 2:8.2.0-8 - Fix user-emulation of FIFREEZE and FITHAW ioctls From 5dc33a78853c6f5a30b71ca5423b3e9d570c7e7b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 26 Feb 2024 11:40:49 +0000 Subject: [PATCH 17/23] Add pre-req patch for RHBZ#2265982 --- ...c1f5b014126595a26c6797089d284a3b211c.patch | 82 +++++++++++++++++++ qemu.spec | 3 +- 2 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 2df5c1f5b014126595a26c6797089d284a3b211c.patch diff --git a/2df5c1f5b014126595a26c6797089d284a3b211c.patch b/2df5c1f5b014126595a26c6797089d284a3b211c.patch new file mode 100644 index 0000000..9de4a50 --- /dev/null +++ b/2df5c1f5b014126595a26c6797089d284a3b211c.patch @@ -0,0 +1,82 @@ +From 2df5c1f5b014126595a26c6797089d284a3b211c Mon Sep 17 00:00:00 2001 +From: Harsh Prateek Bora +Date: Wed, 24 Jan 2024 10:30:55 +1000 +Subject: [PATCH] ppc/spapr: Introduce SPAPR_IRQ_NR_IPIS to refer IRQ range for + CPU IPIs. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +spapr_irq_init currently uses existing macro SPAPR_XIRQ_BASE to refer to +the range of CPU IPIs during initialization of nr-irqs property. +It is more appropriate to have its own define which can be further +reused as appropriate for correct interpretation. + +Suggested-by: Cedric Le Goater +Reviewed-by: Cédric Le Goater +Tested-by: Kowshik Jois +Signed-off-by: Harsh Prateek Bora +Signed-off-by: Nicholas Piggin +--- + hw/ppc/spapr_irq.c | 6 ++++-- + include/hw/ppc/spapr_irq.h | 14 +++++++++++++- + 2 files changed, 17 insertions(+), 3 deletions(-) + +diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c +index a0d1e1298e1e..97b2fc42ab03 100644 +--- a/hw/ppc/spapr_irq.c ++++ b/hw/ppc/spapr_irq.c +@@ -23,6 +23,8 @@ + + #include "trace.h" + ++QEMU_BUILD_BUG_ON(SPAPR_IRQ_NR_IPIS > SPAPR_XIRQ_BASE); ++ + static const TypeInfo spapr_intc_info = { + .name = TYPE_SPAPR_INTC, + .parent = TYPE_INTERFACE, +@@ -329,7 +331,7 @@ void spapr_irq_init(SpaprMachineState *spapr, Error **errp) + int i; + + dev = qdev_new(TYPE_SPAPR_XIVE); +- qdev_prop_set_uint32(dev, "nr-irqs", smc->nr_xirqs + SPAPR_XIRQ_BASE); ++ qdev_prop_set_uint32(dev, "nr-irqs", smc->nr_xirqs + SPAPR_IRQ_NR_IPIS); + /* + * 8 XIVE END structures per CPU. One for each available + * priority +@@ -356,7 +358,7 @@ void spapr_irq_init(SpaprMachineState *spapr, Error **errp) + } + + spapr->qirqs = qemu_allocate_irqs(spapr_set_irq, spapr, +- smc->nr_xirqs + SPAPR_XIRQ_BASE); ++ smc->nr_xirqs + SPAPR_IRQ_NR_IPIS); + + /* + * Mostly we don't actually need this until reset, except that not +diff --git a/include/hw/ppc/spapr_irq.h b/include/hw/ppc/spapr_irq.h +index c22a72c9e270..4fd2d5853d8b 100644 +--- a/include/hw/ppc/spapr_irq.h ++++ b/include/hw/ppc/spapr_irq.h +@@ -14,9 +14,21 @@ + #include "qom/object.h" + + /* +- * IRQ range offsets per device type ++ * The XIVE IRQ backend uses the same layout as the XICS backend but ++ * covers the full range of the IRQ number space. The IRQ numbers for ++ * the CPU IPIs are allocated at the bottom of this space, below 4K, ++ * to preserve compatibility with XICS which does not use that range. ++ */ ++ ++/* ++ * CPU IPI range (XIVE only) + */ + #define SPAPR_IRQ_IPI 0x0 ++#define SPAPR_IRQ_NR_IPIS 0x1000 ++ ++/* ++ * IRQ range offsets per device type ++ */ + + #define SPAPR_XIRQ_BASE XICS_IRQ_BASE /* 0x1000 */ + #define SPAPR_IRQ_EPOW (SPAPR_XIRQ_BASE + 0x0000) diff --git a/qemu.spec b/qemu.spec index b3e83f5..df42a64 100644 --- a/qemu.spec +++ b/qemu.spec @@ -401,6 +401,7 @@ Patch: qemu-fifreeze-fithaw.patch # ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS # https://bugzilla.redhat.com/show_bug.cgi?id=2265982 +Patch: https://github.com/qemu/qemu/commit/2df5c1f5b014126595a26c6797089d284a3b211c.patch Patch: https://github.com/qemu/qemu/commit/c4f91d7b7be76c47015521ab0109c6e998a369b0.patch Source10: qemu-guest-agent.service @@ -3169,7 +3170,7 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog * Mon Feb 26 2024 Richard W.M. Jones - 2:8.2.0-9 -- Backport ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS +- ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS (RHBZ#2265982) * Wed Feb 21 2024 Richard W.M. Jones - 2:8.2.0-8 - Fix user-emulation of FIFREEZE and FITHAW ioctls From 04c52c7c18633bdf63e00d0b0cc533e182860190 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Wed, 6 Mar 2024 06:44:32 -0500 Subject: [PATCH 18/23] New release qemu 8.2.2 Signed-off-by: Cole Robinson --- ...ke-s-mem_region_alignment-be-64-bits.patch | 43 ----- ....h-fix-qemu_rect_init-mis-assignment.patch | 36 ---- ...-not-re-compute-new-pc-with-CF_PCREL.patch | 167 ------------------ qemu.spec | 19 +- sources | 4 +- 5 files changed, 7 insertions(+), 262 deletions(-) delete mode 100644 0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch delete mode 100644 0001-include-ui-rect.h-fix-qemu_rect_init-mis-assignment.patch delete mode 100644 0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch diff --git a/0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch b/0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch deleted file mode 100644 index 05c6f18..0000000 --- a/0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 500f3a81652dcefa79a4864c1f3fa6747c16952e Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Mon, 29 Jan 2024 18:20:46 +0000 -Subject: [PATCH] block/blkio: Make s->mem_region_alignment be 64 bits -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -With GCC 14 the code failed to compile on i686 (and was wrong for any -version of GCC): - -../block/blkio.c: In function ‘blkio_file_open’: -../block/blkio.c:857:28: error: passing argument 3 of ‘blkio_get_uint64’ from incompatible pointer type [-Wincompatible-pointer-types] - 857 | &s->mem_region_alignment); - | ^~~~~~~~~~~~~~~~~~~~~~~~ - | | - | size_t * {aka unsigned int *} -In file included from ../block/blkio.c:12: -/usr/include/blkio.h:49:67: note: expected ‘uint64_t *’ {aka ‘long long unsigned int *’} but argument is of type ‘size_t *’ {aka ‘unsigned int *’} - 49 | int blkio_get_uint64(struct blkio *b, const char *name, uint64_t *value); - | ~~~~~~~~~~^~~~~ - -Signed-off-by: Richard W.M. Jones ---- - block/blkio.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/block/blkio.c b/block/blkio.c -index 0a0a6c0f5fd..bc2f21784c7 100644 ---- a/block/blkio.c -+++ b/block/blkio.c -@@ -68,7 +68,7 @@ typedef struct { - CoQueue bounce_available; - - /* The value of the "mem-region-alignment" property */ -- size_t mem_region_alignment; -+ uint64_t mem_region_alignment; - - /* Can we skip adding/deleting blkio_mem_regions? */ - bool needs_mem_regions; --- -2.43.0 - diff --git a/0001-include-ui-rect.h-fix-qemu_rect_init-mis-assignment.patch b/0001-include-ui-rect.h-fix-qemu_rect_init-mis-assignment.patch deleted file mode 100644 index 9ca46b6..0000000 --- a/0001-include-ui-rect.h-fix-qemu_rect_init-mis-assignment.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 9d5b42beb6978dc6219d5dc029c9d453c6b8d503 Mon Sep 17 00:00:00 2001 -From: Elen Avan -Date: Fri, 22 Dec 2023 22:17:21 +0300 -Subject: [PATCH] include/ui/rect.h: fix qemu_rect_init() mis-assignment -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Elen Avan -Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2051 -Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2050 -Fixes: a200d53b1fde "virtio-gpu: replace PIXMAN for region/rect test" -Cc: qemu-stable@nongnu.org -Reviewed-by: Michael Tokarev -Reviewed-by: Marc-André Lureau -Signed-off-by: Michael Tokarev ---- - include/ui/rect.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/ui/rect.h b/include/ui/rect.h -index 94898f92d0..68f05d78a8 100644 ---- a/include/ui/rect.h -+++ b/include/ui/rect.h -@@ -19,7 +19,7 @@ static inline void qemu_rect_init(QemuRect *rect, - uint16_t width, uint16_t height) - { - rect->x = x; -- rect->y = x; -+ rect->y = y; - rect->width = width; - rect->height = height; - } --- -2.43.0 - diff --git a/0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch b/0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch deleted file mode 100644 index 2b4cc98..0000000 --- a/0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch +++ /dev/null @@ -1,167 +0,0 @@ -From nobody Fri Jan 12 11:43:01 2024 -Delivered-To: importer@patchew.org -Authentication-Results: mx.zohomail.com; - dkim=pass; - spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as - permitted sender) - smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; - dmarc=pass(p=none dis=none) header.from=linaro.org -ARC-Seal: i=1; a=rsa-sha256; t=1704150435; cv=none; - d=zohomail.com; s=zohoarc; - b=WuuXzKFWal2lWtDkRW1hyD3JeOc+SWN52QHBHapuNgK1+I2+cPYMj5+cN4Zjw5A7mvf00GT1vtuKEVQlfbQSdQAabRvUm1IApyvu/IScVt/y4bgJZtJkcM5aIIBT037PWrprtRBiC9NpSYfZNMYJYHp5uvh2KAr4S98QWMlhafM= -ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; - s=zohoarc; - t=1704150435; - h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; - bh=Fc7w6qm1lcKkOSX/aWlQDZG20+2gOdT5iAy2c8bZOd8=; - b=QMgOfOfOQAWcCWBO+IO/NBDK5btCFlibal5JOy2X4uS9kOBwvViipo6SvZjrO2SptH2Bi+pLPhRpPU1O+ubVU7cY0GoFzzM0Wawd0XkZ9kzDzY/fvhog49o5nYI6cX46rt18qOXLWvvY702wGVdiMHoKrhRrIaJJE75z3jI9Bj4= -ARC-Authentication-Results: i=1; mx.zohomail.com; - dkim=pass; - spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as - permitted sender) - smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; - dmarc=pass header.from= (p=none dis=none) -Return-Path: -Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by - mx.zohomail.com - with SMTPS id 1704150435302898.4215703047593; - Mon, 1 Jan 2024 15:07:15 -0800 (PST) -Received: from localhost ([::1] helo=lists1p.gnu.org) - by lists.gnu.org with esmtp (Exim 4.90_1) - (envelope-from ) - id 1rKRMd-0001OI-9C; Mon, 01 Jan 2024 18:06:31 -0500 -Received: from eggs.gnu.org ([2001:470:142:3::10]) - by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) - (Exim 4.90_1) (envelope-from ) - id 1rKRMa-0001NR-Rr - for qemu-devel@nongnu.org; Mon, 01 Jan 2024 18:06:28 -0500 -Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]) - by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) - (Exim 4.90_1) (envelope-from ) - id 1rKRMZ-0000Uc-9F - for qemu-devel@nongnu.org; Mon, 01 Jan 2024 18:06:28 -0500 -Received: by mail-pg1-x52f.google.com with SMTP id - 41be03b00d2f7-53fbf2c42bfso6436343a12.3 - for ; Mon, 01 Jan 2024 15:06:26 -0800 (PST) -Received: from stoup.. (124-149-254-207.tpgi.com.au. [124.149.254.207]) - by smtp.gmail.com with ESMTPSA id - h12-20020a63df4c000000b005bd2b3a03eesm19672386pgj.6.2024.01.01.15.06.21 - (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Mon, 01 Jan 2024 15:06:24 -0800 (PST) -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=linaro.org; s=google; t=1704150385; x=1704755185; darn=nongnu.org; - h=content-transfer-encoding:mime-version:message-id:date:subject:cc - :to:from:from:to:cc:subject:date:message-id:reply-to; - bh=Fc7w6qm1lcKkOSX/aWlQDZG20+2gOdT5iAy2c8bZOd8=; - b=dNkcO41+f8tEqtfO4CNEK3dzzuYmU72bWdyd57epmAhewzLeLt7RHz7f8a67QcEMtj - ogk6TnzY9C5YB3hC95BjYoWhfUSIRC+4LS6Z0RwjdR/VKwliPovopIgOnnCJgr11M6gq - x0Oo7AV6+ydX2/CJ/vi7CdysfcZZNdnlX5DkwVtTI296PMIfJhRN/SIHiqDfABCFrw8B - Nf+VpbYc91syKadTGBPzmOtamcAqx3MD7ndkVEI1eFkiejeGu9jawdqrAxz+jrFJJMby - 3/j4e+hqiQjlRVHVrpiQEM6ip7BsHqaMXlc6glQyIRph/u6yRDewnRTojoIGcUN84nFm - mbCg== -X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1704150385; x=1704755185; - h=content-transfer-encoding:mime-version:message-id:date:subject:cc - :to:from:x-gm-message-state:from:to:cc:subject:date:message-id - :reply-to; - bh=Fc7w6qm1lcKkOSX/aWlQDZG20+2gOdT5iAy2c8bZOd8=; - b=hZafAFg/VkyIycwdF4otV76XBU2LSrOJf6IQXXrHMfYC6VpDcmh6U6unnnNrhV1rJc - Frk0If2lK+nqHlo6ygJZVRdtRCln267V28VDpSD/lTZPO9vgZZYtmILeAjt4/L6mtPUf - 43iW7kR8zjBT8Uf80ld5qRodyuJS5bo86Asuzg/WgRfMGqBs9Im+w+MqwqKrTxSjPAvs - Psix/WKTNvKR6XHuyVDA17fTVJiGIsDUQp1InHF1ExsF2gG4wPI3hVMjTj+F2hs0SeY6 - Ivqs1RMAKbe9i581Wo6tIM2Jw/MHxL8fKN1SVC7klk4HpF516HBS8u/gQQE9vunYup05 - ccyQ== -X-Gm-Message-State: AOJu0Yy5sdlKUW0PNOmXX9aF7N5+gfVMCk21pUVv8dRCuvQamjzIYvYj - bSbNjV179B0oOyVl1t2lm1MwjDSpugfXsoz2rrpo8m8NOcc= -X-Google-Smtp-Source: - AGHT+IEE8RrF8uJO+68mSKODXu7giWx4EOgGGw+lT4v5lrdoFoZHlM0SU92PKHZ7B7CK5Dh1q82oRg== -X-Received: by 2002:a05:6a20:111f:b0:194:9578:9ba8 with SMTP id - x31-20020a056a20111f00b0019495789ba8mr14471419pze.16.1704150384447; - Mon, 01 Jan 2024 15:06:24 -0800 (PST) -From: Richard Henderson -To: qemu-devel@nongnu.org -Cc: pbonzini@redhat.com, qemu-stable@nongnu.org, - Michael Tokarev -Subject: [PATCH] target/i386: Do not re-compute new pc with CF_PCREL -Date: Tue, 2 Jan 2024 10:06:17 +1100 -Message-Id: <20240101230617.129349-1-richard.henderson@linaro.org> -X-Mailer: git-send-email 2.34.1 -MIME-Version: 1.0 -Content-Transfer-Encoding: quoted-printable -Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 - as permitted sender) client-ip=209.51.188.17; - envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; - helo=lists.gnu.org; -Received-SPF: pass client-ip=2607:f8b0:4864:20::52f; - envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52f.google.com -X-Spam_score_int: -20 -X-Spam_score: -2.1 -X-Spam_bar: -- -X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, - DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, - RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, - T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable autolearn_force=no -X-Spam_action: no action -X-BeenThere: qemu-devel@nongnu.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org -Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org -X-ZohoMail-DKIM: pass (identity @linaro.org) -X-ZM-MESSAGEID: 1704150436325100001 -Content-Type: text/plain; charset="utf-8" - -With PCREL, we have a page-relative view of EIP, and an -approximation of PC =3D EIP+CSBASE that is good enough to -detect page crossings. If we try to recompute PC after -masking EIP, we will mess up that approximation and write -a corrupt value to EIP. - -We already handled masking properly for PCREL, so the -fix in b5e0d5d2 was only needed for the !PCREL path. - -Cc: qemu-stable@nongnu.org -Fixes: b5e0d5d22fbf ("target/i386: Fix 32-bit wrapping of pc/eip computatio= -n") -Reported-by: Michael Tokarev -Signed-off-by: Richard Henderson ---- - target/i386/tcg/translate.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c -index 037bc47e7c..e68375b19d 100644 ---- a/target/i386/tcg/translate.c -+++ b/target/i386/tcg/translate.c -@@ -2845,10 +2845,6 @@ static void gen_jmp_rel(DisasContext *s, MemOp ot, i= -nt diff, int tb_num) - } - } - new_eip &=3D mask; -- new_pc =3D new_eip + s->cs_base; -- if (!CODE64(s)) { -- new_pc =3D (uint32_t)new_pc; -- } -=20 - gen_update_cc_op(s); - set_cc_op(s, CC_OP_DYNAMIC); -@@ -2864,6 +2860,8 @@ static void gen_jmp_rel(DisasContext *s, MemOp ot, in= -t diff, int tb_num) - tcg_gen_andi_tl(cpu_eip, cpu_eip, mask); - use_goto_tb =3D false; - } -+ } else if (!CODE64(s)) { -+ new_pc =3D (uint32_t)(new_eip + s->cs_base); - } -=20 - if (use_goto_tb && translator_use_goto_tb(&s->base, new_pc)) { ---=20 -2.34.1 \ No newline at end of file diff --git a/qemu.spec b/qemu.spec index df42a64..c58042e 100644 --- a/qemu.spec +++ b/qemu.spec @@ -361,11 +361,11 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 9 +%global baserelease 1 Summary: QEMU is a FAST! processor emulator Name: qemu -Version: 8.2.0 +Version: 8.2.2 Release: %{baserelease}%{?rcrel}%{?dist} Epoch: 2 License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND FSFAP AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-2.0-or-later WITH GCC-exception-2.0 AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND MIT AND LicenseRef-Fedora-Public-Domain AND CC-BY-3.0 @@ -382,18 +382,6 @@ Source2: gpgkey-CEACC9E15534EBABB82D3FA03353C9CEF108B584.gpg # https://patchwork.kernel.org/project/qemu-devel/patch/20231128143647.847668-1-crobinso@redhat.com/ Patch: 0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch - -# https://bugzilla.redhat.com/show_bug.cgi?id=2256884 -Patch: 0001-include-ui-rect.h-fix-qemu_rect_init-mis-assignment.patch - -# https://gitlab.com/qemu-project/qemu/-/issues/2070 -# https://patchew.org/QEMU/20240101230617.129349-1-richard.henderson@linaro.org -Patch: 0001-target-i386-do-not-re-compute-new-pc-with-CF_PCREL.patch - -# Fix builds on i686. -# Sent upstream 29-01-2024 -Patch: 0001-block-blkio-Make-s-mem_region_alignment-be-64-bits.patch - # Fix user-emulation of FIFREEZE and FITHAW ioctls # Posted upstream 20-02-2024 # https://lists.nongnu.org/archive/html/qemu-devel/2024-02/msg03971.html @@ -3169,6 +3157,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Wed Mar 06 2024 Cole Robinson - 8.2.2-1 +- New release qemu 8.2.2 + * Mon Feb 26 2024 Richard W.M. Jones - 2:8.2.0-9 - ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS (RHBZ#2265982) diff --git a/sources b/sources index ce81ee2..6517d45 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (qemu-8.2.0.tar.xz) = 92ec41196ff145cdbb98948f6b6e43214fa4b4419554a8a1927fb4527080c8212ccb703e184baf8ee0bdfa50ad7a84689e8f5a69eba1bd7bbbdfd69e3b91256c -SHA512 (qemu-8.2.0.tar.xz.sig) = 05412219ab0ff145f56708f99bc60b378b2b9ef6fbf3c48bffd32a2952188b2ee34a798949b09d6d8fc9f2483094fa0e3b488f52f69508604747ad4e2960f302 +SHA512 (qemu-8.2.2.tar.xz) = dfd2e1305f9e51bfbc90a7738c69336d5f805481a626ea527b971bdfb6dbe6867e5df7461d48d1c22b79be2dc18e057ea9fa36ef593127cd8b262a5c33f1aa41 +SHA512 (qemu-8.2.2.tar.xz.sig) = 2a2dac01cc8f1aff8fbc4e6bfd13d7dd80b7bf6505388c04605a76a27aff870e1520d9879a5781508e65d1feb74e8c036d9cd4f21ab1e35fb7a845c2d66476de From 7d58afccfcfe4debe18dfe883b899d60d17e83ae Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Sat, 6 Apr 2024 15:03:05 -0400 Subject: [PATCH 19/23] Rebuild for new libiscsi Signed-off-by: Cole Robinson --- qemu.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/qemu.spec b/qemu.spec index c58042e..d41f0af 100644 --- a/qemu.spec +++ b/qemu.spec @@ -361,7 +361,7 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 1 +%global baserelease 2 Summary: QEMU is a FAST! processor emulator Name: qemu @@ -3157,6 +3157,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Sat Apr 06 2024 Cole Robinson - 8.2.2-2 +- Rebuild for new libiscsi + * Wed Mar 06 2024 Cole Robinson - 8.2.2-1 - New release qemu 8.2.2 From fa9ecd2d1ffaed335d676c9969443e245410b55b Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Sat, 6 Apr 2024 14:06:02 -0400 Subject: [PATCH 20/23] New release qemu-9.0.0-rc4 Signed-off-by: Cole Robinson --- ...m-Fix-pvh.img-ld-build-failure-on-fe.patch | 52 ----- ...c1f5b014126595a26c6797089d284a3b211c.patch | 82 ------- ...1d7b7be76c47015521ab0109c6e998a369b0.patch | 75 ------- qemu-fifreeze-fithaw.patch | 210 ------------------ qemu.spec | 43 ++-- sources | 4 +- 6 files changed, 28 insertions(+), 438 deletions(-) delete mode 100644 0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch delete mode 100644 2df5c1f5b014126595a26c6797089d284a3b211c.patch delete mode 100644 c4f91d7b7be76c47015521ab0109c6e998a369b0.patch delete mode 100644 qemu-fifreeze-fithaw.patch diff --git a/0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch b/0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch deleted file mode 100644 index b699c10..0000000 --- a/0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 12cbd48e1e78f07b19df900b0f9ccdd633aa42ee Mon Sep 17 00:00:00 2001 -From: Cole Robinson -Date: Mon, 27 Nov 2023 12:51:25 -0500 -Subject: [PATCH] pc-bios/optionrom: Fix pvh.img ld build failure on fedora - rawhide -Content-type: text/plain - -binutils 2.39 shows some warnings when building pvh.img - -/usr/bin/ld: warning: pvh.o: missing .note.GNU-stack section implies executable stack -/usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker -/usr/bin/ld: warning: pvh.img has a LOAD segment with RWX permissions - -The latter of which is fatal on Fedora rawhide for some reason. - -Add linker options to suppress the errors - -Signed-off-by: Cole Robinson ---- - pc-bios/optionrom/Makefile | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile -index 30d07026c7..87cfc484c7 100644 ---- a/pc-bios/optionrom/Makefile -+++ b/pc-bios/optionrom/Makefile -@@ -38,6 +38,16 @@ config-cc.mak: Makefile - - override LDFLAGS = -nostdlib -Wl,--build-id=none,-T,$(SRC_DIR)/flat.lds - -+ld-test = $(LD) -v $1 >/dev/null 2>/dev/null -+ld-option = if $(call ld-test, $1); then \ -+ echo "$(TARGET_PREFIX)$1 detected" && echo "override LDFLAGS += -Wl,$1" >&3; else \ -+ echo "$(TARGET_PREFIX)$1 not detected" $(if $2,&& echo "override LDFLAGS += $2" >&3); fi -+ -+config-ld.mak: Makefile -+ $(quiet-@)($(call ld-option,--no-warn-rwx-segments); \ -+ $(call ld-option,--no-warn-execstack)) 3> config-ld.mak -+-include config-ld.mak -+ - pvh.img: pvh.o pvh_main.o - - %.o: %.S -@@ -61,7 +71,7 @@ clean: - rm -f *.o *.d *.raw *.img *.bin *~ - - distclean: -- rm -f config-cc.mak -+ rm -f config-cc.mak config-ld.mak - - # suppress auto-removal of intermediate files - .SECONDARY: diff --git a/2df5c1f5b014126595a26c6797089d284a3b211c.patch b/2df5c1f5b014126595a26c6797089d284a3b211c.patch deleted file mode 100644 index 9de4a50..0000000 --- a/2df5c1f5b014126595a26c6797089d284a3b211c.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 2df5c1f5b014126595a26c6797089d284a3b211c Mon Sep 17 00:00:00 2001 -From: Harsh Prateek Bora -Date: Wed, 24 Jan 2024 10:30:55 +1000 -Subject: [PATCH] ppc/spapr: Introduce SPAPR_IRQ_NR_IPIS to refer IRQ range for - CPU IPIs. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -spapr_irq_init currently uses existing macro SPAPR_XIRQ_BASE to refer to -the range of CPU IPIs during initialization of nr-irqs property. -It is more appropriate to have its own define which can be further -reused as appropriate for correct interpretation. - -Suggested-by: Cedric Le Goater -Reviewed-by: Cédric Le Goater -Tested-by: Kowshik Jois -Signed-off-by: Harsh Prateek Bora -Signed-off-by: Nicholas Piggin ---- - hw/ppc/spapr_irq.c | 6 ++++-- - include/hw/ppc/spapr_irq.h | 14 +++++++++++++- - 2 files changed, 17 insertions(+), 3 deletions(-) - -diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c -index a0d1e1298e1e..97b2fc42ab03 100644 ---- a/hw/ppc/spapr_irq.c -+++ b/hw/ppc/spapr_irq.c -@@ -23,6 +23,8 @@ - - #include "trace.h" - -+QEMU_BUILD_BUG_ON(SPAPR_IRQ_NR_IPIS > SPAPR_XIRQ_BASE); -+ - static const TypeInfo spapr_intc_info = { - .name = TYPE_SPAPR_INTC, - .parent = TYPE_INTERFACE, -@@ -329,7 +331,7 @@ void spapr_irq_init(SpaprMachineState *spapr, Error **errp) - int i; - - dev = qdev_new(TYPE_SPAPR_XIVE); -- qdev_prop_set_uint32(dev, "nr-irqs", smc->nr_xirqs + SPAPR_XIRQ_BASE); -+ qdev_prop_set_uint32(dev, "nr-irqs", smc->nr_xirqs + SPAPR_IRQ_NR_IPIS); - /* - * 8 XIVE END structures per CPU. One for each available - * priority -@@ -356,7 +358,7 @@ void spapr_irq_init(SpaprMachineState *spapr, Error **errp) - } - - spapr->qirqs = qemu_allocate_irqs(spapr_set_irq, spapr, -- smc->nr_xirqs + SPAPR_XIRQ_BASE); -+ smc->nr_xirqs + SPAPR_IRQ_NR_IPIS); - - /* - * Mostly we don't actually need this until reset, except that not -diff --git a/include/hw/ppc/spapr_irq.h b/include/hw/ppc/spapr_irq.h -index c22a72c9e270..4fd2d5853d8b 100644 ---- a/include/hw/ppc/spapr_irq.h -+++ b/include/hw/ppc/spapr_irq.h -@@ -14,9 +14,21 @@ - #include "qom/object.h" - - /* -- * IRQ range offsets per device type -+ * The XIVE IRQ backend uses the same layout as the XICS backend but -+ * covers the full range of the IRQ number space. The IRQ numbers for -+ * the CPU IPIs are allocated at the bottom of this space, below 4K, -+ * to preserve compatibility with XICS which does not use that range. -+ */ -+ -+/* -+ * CPU IPI range (XIVE only) - */ - #define SPAPR_IRQ_IPI 0x0 -+#define SPAPR_IRQ_NR_IPIS 0x1000 -+ -+/* -+ * IRQ range offsets per device type -+ */ - - #define SPAPR_XIRQ_BASE XICS_IRQ_BASE /* 0x1000 */ - #define SPAPR_IRQ_EPOW (SPAPR_XIRQ_BASE + 0x0000) diff --git a/c4f91d7b7be76c47015521ab0109c6e998a369b0.patch b/c4f91d7b7be76c47015521ab0109c6e998a369b0.patch deleted file mode 100644 index b37288b..0000000 --- a/c4f91d7b7be76c47015521ab0109c6e998a369b0.patch +++ /dev/null @@ -1,75 +0,0 @@ -From c4f91d7b7be76c47015521ab0109c6e998a369b0 Mon Sep 17 00:00:00 2001 -From: Harsh Prateek Bora -Date: Wed, 24 Jan 2024 10:30:55 +1000 -Subject: [PATCH] ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Initialize the machine specific max_cpus limit as per the maximum range -of CPU IPIs available. Keeping between 4096 to 8192 will throw IRQ not -free error due to XIVE/XICS limitation and keeping beyond 8192 will hit -assert in tcg_region_init or spapr_xive_claim_irq. - -Logs: - -Without patch fix: - -[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=4097 -qemu-system-ppc64: IRQ 4096 is not free -[root@host build]# - -On LPAR: -[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=8193 -** -ERROR:../tcg/region.c:774:tcg_region_init: assertion failed: -(region_size >= 2 * page_size) -Bail out! ERROR:../tcg/region.c:774:tcg_region_init: assertion failed: -(region_size >= 2 * page_size) -Aborted (core dumped) -[root@host build]# - -On x86: -[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=8193 -qemu-system-ppc64: ../hw/intc/spapr_xive.c:596: spapr_xive_claim_irq: -Assertion `lisn < xive->nr_irqs' failed. -Aborted (core dumped) -[root@host build]# - -With patch fix: -[root@host build]# qemu-system-ppc64 -accel tcg -smp 10,maxcpus=4097 -qemu-system-ppc64: Invalid SMP CPUs 4097. The max CPUs supported by -machine 'pseries-8.2' is 4096 -[root@host build]# - - -Reported-by: Kowshik Jois -Tested-by: Kowshik Jois -Reviewed-by: Cédric Le Goater -Signed-off-by: Harsh Prateek Bora -Signed-off-by: Nicholas Piggin ---- - hw/ppc/spapr.c | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c -index 0d72d286d80f..0028ce0b673b 100644 ---- a/hw/ppc/spapr.c -+++ b/hw/ppc/spapr.c -@@ -4639,13 +4639,10 @@ static void spapr_machine_class_init(ObjectClass *oc, void *data) - mc->block_default_type = IF_SCSI; - - /* -- * Setting max_cpus to INT32_MAX. Both KVM and TCG max_cpus values -- * should be limited by the host capability instead of hardcoded. -- * max_cpus for KVM guests will be checked in kvm_init(), and TCG -- * guests are welcome to have as many CPUs as the host are capable -- * of emulate. -+ * While KVM determines max cpus in kvm_init() using kvm_max_vcpus(), -+ * In TCG the limit is restricted by the range of CPU IPIs available. - */ -- mc->max_cpus = INT32_MAX; -+ mc->max_cpus = SPAPR_IRQ_NR_IPIS; - - mc->no_parallel = 1; - mc->default_boot_order = ""; diff --git a/qemu-fifreeze-fithaw.patch b/qemu-fifreeze-fithaw.patch deleted file mode 100644 index 1d639a7..0000000 --- a/qemu-fifreeze-fithaw.patch +++ /dev/null @@ -1,210 +0,0 @@ -From qemu-devel-bounces+rjones=redhat.com@nongnu.org Tue Feb 20 14:15:07 2024 -X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on - rhmail.home.annexia.org -X-Spam-Level: -X-Spam-Status: No, score=-3.6 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, - FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, - T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 -Delivered-To: rjones@gapps.redhat.com -Received: from imap.gmail.com [2a00:1450:400c:c06::6c] - by rhmail.home.annexia.org with IMAP (fetchmail-6.3.24) - for (single-drop); Tue, 20 Feb 2024 14:15:07 +0000 (GMT) -Received: by 2002:adf:9c85:0:b0:337:c4af:7eda with SMTP id d5csp1377865wre; - Tue, 20 Feb 2024 06:14:45 -0800 (PST) -X-Forwarded-Encrypted: i=2; - AJvYcCVmEOlyyvvd2pjxJlVqmm6wAsFvP2QS6RrV8WHdcPQ9BbSQtwkd4h6dvrOsn7U4WKwJ+S9i3pICvKhQ6p2IG/C63ey7jQaX6g== -X-Google-Smtp-Source: AGHT+IE5mSiEO9H5JEkHNlHfhZDS2s9/kx/Heg/BJJ4bRe1DByou2O4YqVcehEElFPcfnv1EbTzP -X-Received: by 2002:ac8:7e82:0:b0:42e:1a0c:5561 with SMTP id - w2-20020ac87e82000000b0042e1a0c5561mr4869415qtj.11.1708438485118; Tue, 20 Feb - 2024 06:14:45 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1708438485; cv=none; d=google.com; - s=arc-20160816; - b=ey2nB0Hz7p8/LRoN4jZjtpNuGZQ63SBhaAnxzcDl/T2RrxPzHh65rz1zmLdWzVCLkQ - v+yYlKkQFU8NNp3UT4S4zYwfeGSE1kFImALTRCMrWHrkw9LZZZb2BeEsiziU3hlaWROV - UVjYZdUHzbALZboflhpU0jK2UBurjafvHopQR7okuWukM2MkehE707uhOPscNCgZG8f9 - ZtrZX2StAQhzGbE+rGPka9c6AdsKBWYcVUbAe//oQeRl1NCUorQedrseU25E1dcobqwl - 80kRNnHYH+GOx7inmTEi8W2DSWb3g48Q0EEVWc/sfDB/f2t6PO4sELzmSvhytswBISkg D57A== -ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; - s=arc-20160816; - h=content-transfer-encoding:sender:errors-to:list-subscribe:list-help - :list-post:list-archive:list-unsubscribe:list-id:precedence - :mime-version:message-id:date:subject:cc:to:from:delivered-to; - bh=uNCdCIQzg/12W/RrXAVFQ1Isw/BMjvNQW4Y14ZuF5vg=; - fh=k0ip+oilfdxldYSElE+D70uElArHhwV8D0y78HTEik8=; - b=U8UgVOefnhiU8Ata8X00Xvx9Y6fexE3GSwQioOOaRIx9xhn1c0xjhLQ4N5DB19Cbt2 - U+lqbgtVw4xI915hyyC1NRT3w/ImfJLikpDpzXLpmbJCOMYj0J7qkTFPsPXBLMx/fDi8 - Ctg2koPP9m5EG4cAEIacP85/2vee28uKUFbdeB/B8DIsSIQYWGskfMNaqv2NOvW9O4Fj - qyhK2YEImZY2KK3xW48LAtPW/oqqvfmtYmJn40otnhiU6eErtS71NJmccE1lca4P7xil - dtz0Rqc3C8iTH8eayxAeT7xD4AFZznehPPWbMxK3C5kecZ8bnceNw5cmQqfvQRmR0yGB bNKA==; - dara=google.com -ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain - of qemu-devel-bounces+rjones=redhat.com@nongnu.org designates 209.51.188.17 - as permitted sender) - smtp.mailfrom="qemu-devel-bounces+rjones=redhat.com@nongnu.org" -Return-Path: -Received: from us-smtp-inbound-delivery-1.mimecast.com - (us-smtp-delivery-1.mimecast.com. [205.139.110.120]) by mx.google.com with - ESMTPS id - m9-20020ac86889000000b0042c2147b5d1si8208493qtq.474.2024.02.20.06.14.44 for - (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 - bits=256/256); Tue, 20 Feb 2024 06:14:45 -0800 (PST) -Received-SPF: pass (google.com: domain of - qemu-devel-bounces+rjones=redhat.com@nongnu.org designates 209.51.188.17 as - permitted sender) client-ip=209.51.188.17; -Authentication-Results: mx.google.com; spf=pass (google.com: domain of - qemu-devel-bounces+rjones=redhat.com@nongnu.org designates 209.51.188.17 as - permitted sender) - smtp.mailfrom="qemu-devel-bounces+rjones=redhat.com@nongnu.org" -Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com - [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS - (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id - us-mta-656-0vwFszxbMwexl4X3OxB3MQ-1; Tue, 20 Feb 2024 09:14:43 -0500 -X-MC-Unique: 0vwFszxbMwexl4X3OxB3MQ-1 -Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com - [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 - bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest - SHA256) (No client certificate requested) by mimecast-mx02.redhat.com - (Postfix) with ESMTPS id 792F8863732 for ; Tue, 20 - Feb 2024 14:14:43 +0000 (UTC) -Received: by smtp.corp.redhat.com (Postfix) id 761ED11422B9; Tue, 20 Feb 2024 - 14:14:43 +0000 (UTC) -Delivered-To: rjones@redhat.com -Received: from mimecast-mx02.redhat.com - (mimecast10.extmail.prod.ext.rdu2.redhat.com [10.11.55.26]) by - smtp.corp.redhat.com (Postfix) with ESMTPS id 3BBF311422B4 for - ; Tue, 20 Feb 2024 14:14:43 +0000 (UTC) -Received: from us-smtp-inbound-delivery-1.mimecast.com - (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.3 with cipher - TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature - RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) - by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1EC691C54037 for - ; Tue, 20 Feb 2024 14:14:43 +0000 (UTC) -Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by - relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, - cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id - us-mta-467-K7PF_hWUMIuYn6nNX_NhGQ-1; Tue, 20 Feb 2024 09:14:41 -0500 -X-MC-Unique: K7PF_hWUMIuYn6nNX_NhGQ-1 -Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with - esmtp (Exim 4.90_1) (envelope-from ) id - 1rcQsH-00027z-CN; Tue, 20 Feb 2024 09:13:33 -0500 -Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with - esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from - ) id 1rcNp8-0004k1-C7 for qemu-devel@nongnu.org; Tue, - 20 Feb 2024 05:58:06 -0500 -Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by - eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim - 4.90_1) (envelope-from ) id 1rcNp6-0004zw-Uh for - qemu-devel@nongnu.org; Tue, 20 Feb 2024 05:58:06 -0500 -Received: by mail-wm1-x32a.google.com with SMTP id - 5b1f17b1804b1-412698cdd77so8973055e9.1 for ; Tue, 20 - Feb 2024 02:58:04 -0800 (PST) -X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; - s=20230601; t=1708426683; x=1709031483; - h=content-transfer-encoding:mime-version:message-id:date:subject:cc - :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; - bh=uNCdCIQzg/12W/RrXAVFQ1Isw/BMjvNQW4Y14ZuF5vg=; - b=anLCtG+2+69Viw2YFg93vXg3ZBx/82tUVKrUPKG0+3CgiM2BmSukRsME1L+upQkYAV - Llc9ODBvHts9RRZU1MeybdSSRMnAHrXrIJ6HZP30K1cHOxyXB7DOp27hCfOelFBBffpM - IVwjaKn+XnJ95IUMwMrhZ2T5Mcicw8tbRkCyDQwqrIpfpGWpOEq2HkEbe9T6z143sCBZ - XYDpDvFRQauxu+SUoVeQjDxt1gm0XHFzwdGH/QjQ/2YDwkkB/yUtlaDHgXafwnzwow/8 - uHvdTZ9neIWDCUHEiHqRg9tHudOy1VhxH6T4jxzakzyTEit+mh2qB05/Yg2brj+hBo1u SaDg== -X-Gm-Message-State: AOJu0YxyvxpfZhEbdDWqHqfThgFNUwkmqMXvDaxwAQH7HqdpGm5oVEbJ - rzstVAif1eTUKOE4NOnCiMyJ9q/vEtd63Er7imeDi7lVutB0bby6fZFsj8mI -X-Received: by 2002:a05:600c:4f43:b0:411:e86d:85a3 with SMTP id - m3-20020a05600c4f4300b00411e86d85a3mr16304898wmq.16.1708426682414; Tue, 20 - Feb 2024 02:58:02 -0800 (PST) -Received: from top.fritz.box (p5dd94bc2.dip0.t-ipconnect.de. [93.217.75.194]) - by smtp.gmail.com with ESMTPSA id - co18-20020a0560000a1200b0033d4c3b0beesm7032427wrb.19.2024.02.20.02.58.01 - (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Feb 2024 - 02:58:02 -0800 (PST) -From: Michael Vogt -To: qemu-devel@nongnu.org -Cc: Michael Vogt -Subject: [PATCH] linux-user: Add FIFREEZE and FITHAW ioctls -Date: Tue, 20 Feb 2024 11:57:21 +0100 -Message-ID: <20240220105726.8852-1-michael.vogt@gmail.com> -MIME-Version: 1.0 -X-Spam_score_int: -20 -X-Spam_score: -2.1 -X-Spam_bar: -- -X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, - DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, - RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, - T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no -X-Spam_action: no action -X-Mailman-Approved-At: Tue, 20 Feb 2024 09:13:26 -0500 -X-BeenThere: qemu-devel@nongnu.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -Errors-To: qemu-devel-bounces+rjones=redhat.com@nongnu.org -Sender: qemu-devel-bounces+rjones=redhat.com@nongnu.org -X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection - Definition;Similar Internal Domain=false;Similar Monitored External - Domain=false;Custom External Domain=false;Mimecast External - Domain=false;Newly Observed Domain=false;Internal User Name=false;Custom - Display Name List=false;Reply-to Address Mismatch=false;Targeted Threat - Dictionary=false;Mimecast Threat Dictionary=false;Custom Threat - Dictionary=false -X-Mimecast-Bulk-Signature: yes -X-Mimecast-Spam-Signature: bulk -X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 -X-Mimecast-Spam-Score: 0 -X-Mimecast-Originator: gmail.com -Content-Transfer-Encoding: 8bit -Content-Type: text/plain; charset="US-ASCII"; x-default=true -Status: RO -Content-Length: 1327 -Lines: 42 - -Add missing FIFREEZE and FITHAW ioctls. - -Signed-off-by: Michael Vogt ---- - linux-user/ioctls.h | 6 ++++++ - linux-user/syscall_defs.h | 3 +++ - 2 files changed, 9 insertions(+) - -diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h -index 071f7ca253..1aec9d5836 100644 ---- a/linux-user/ioctls.h -+++ b/linux-user/ioctls.h -@@ -134,6 +134,12 @@ - IOCTL(FICLONE, IOC_W, TYPE_INT) - IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range))) - #endif -+#ifdef FIFREEZE -+ IOCTL(FIFREEZE, IOC_W | IOC_R, TYPE_INT) -+#endif -+#ifdef FITHAW -+ IOCTL(FITHAW, IOC_W | IOC_R, TYPE_INT) -+#endif - - IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG)) - #ifdef CONFIG_FIEMAP -diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h -index 77ba343c85..744fda599e 100644 ---- a/linux-user/syscall_defs.h -+++ b/linux-user/syscall_defs.h -@@ -943,6 +943,9 @@ struct target_rtc_pll_info { - #define TARGET_FICLONE TARGET_IOW(0x94, 9, abi_int) - #define TARGET_FICLONERANGE TARGET_IOW(0x94, 13, struct file_clone_range) - -+#define TARGET_FIFREEZE TARGET_IOWR('X', 119, abi_int) -+#define TARGET_FITHAW TARGET_IOWR('X', 120, abi_int) -+ - /* - * Note that the ioctl numbers for FS_IOC_ - * claim type "long" but the actual type used by the kernel is "int". --- -2.43.0 - - diff --git a/qemu.spec b/qemu.spec index d41f0af..49efe80 100644 --- a/qemu.spec +++ b/qemu.spec @@ -354,18 +354,18 @@ Obsoletes: %{name}-system-unicore32-core <= %{epoch}:%{version}-%{release} \ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 # Release candidate version tracking -#global rcver rc2 +%global rcver rc4 %if 0%{?rcver:1} %global rcrel .%{rcver} %global rcstr -%{rcver} %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 2 +%global baserelease 0.1 Summary: QEMU is a FAST! processor emulator Name: qemu -Version: 8.2.2 +Version: 9.0.0 Release: %{baserelease}%{?rcrel}%{?dist} Epoch: 2 License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND FSFAP AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-2.0-or-later WITH GCC-exception-2.0 AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND MIT AND LicenseRef-Fedora-Public-Domain AND CC-BY-3.0 @@ -377,20 +377,12 @@ Source0: %{dlurl}/%{name}-%{version}%{?rcstr}.tar.xz Source1: %{dlurl}/%{name}-%{version}%{?rcstr}.tar.xz.sig Source2: gpgkey-CEACC9E15534EBABB82D3FA03353C9CEF108B584.gpg -# Fix pvh.img ld build failure on fedora rawhide -# Not yet submitted upstream in this form. Original attempt is here: -# https://patchwork.kernel.org/project/qemu-devel/patch/20231128143647.847668-1-crobinso@redhat.com/ -Patch: 0001-pc-bios-optionrom-Fix-pvh.img-ld-build-failure-on-fe.patch - -# Fix user-emulation of FIFREEZE and FITHAW ioctls -# Posted upstream 20-02-2024 -# https://lists.nongnu.org/archive/html/qemu-devel/2024-02/msg03971.html -Patch: qemu-fifreeze-fithaw.patch - -# ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS -# https://bugzilla.redhat.com/show_bug.cgi?id=2265982 -Patch: https://github.com/qemu/qemu/commit/2df5c1f5b014126595a26c6797089d284a3b211c.patch -Patch: https://github.com/qemu/qemu/commit/c4f91d7b7be76c47015521ab0109c6e998a369b0.patch +# qemu 9.0.0 errors with: +# RPM build errors: +# Missing build-id in /tmp/rpmbuild/BUILDROOT/qemu-9.0.0-1.rc2.fc41.x86_64/usr/share/qemu/hppa-firmware.img +# Missing build-id in /tmp/rpmbuild/BUILDROOT/qemu-9.0.0-1.rc2.fc41.x86_64/usr/share/qemu/hppa-firmware64.img +# Generating build-id links failed +%global _missing_build_ids_terminate_build 0 Source10: qemu-guest-agent.service Source11: 99-qemu-guest-agent.rules @@ -2292,6 +2284,19 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %{_mandir}/man1/qemu-storage-daemon.1* %{_mandir}/man7/qemu-storage-daemon-qmp-ref.7* +%{_datadir}/systemtap/tapset/qemu-img.stp +%{_datadir}/systemtap/tapset/qemu-img-log.stp +%{_datadir}/systemtap/tapset/qemu-img-simpletrace.stp +%{_datadir}/systemtap/tapset/qemu-io.stp +%{_datadir}/systemtap/tapset/qemu-io-log.stp +%{_datadir}/systemtap/tapset/qemu-io-simpletrace.stp +%{_datadir}/systemtap/tapset/qemu-nbd.stp +%{_datadir}/systemtap/tapset/qemu-nbd-log.stp +%{_datadir}/systemtap/tapset/qemu-nbd-simpletrace.stp +%{_datadir}/systemtap/tapset/qemu-storage-daemon.stp +%{_datadir}/systemtap/tapset/qemu-storage-daemon-log.stp +%{_datadir}/systemtap/tapset/qemu-storage-daemon-simpletrace.stp + %files -n qemu-guest-agent %doc COPYING README.rst @@ -2940,6 +2945,7 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %{_datadir}/systemtap/tapset/qemu-system-hppa-simpletrace.stp %{_mandir}/man1/qemu-system-hppa.1* %{_datadir}/%{name}/hppa-firmware.img +%{_datadir}/%{name}/hppa-firmware64.img %files system-loongarch64 @@ -3157,6 +3163,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Tue Apr 23 2024 Cole Robinson - 9.0.0-0.1.rc4 +- New release qemu 9.0.0-rc4 + * Sat Apr 06 2024 Cole Robinson - 8.2.2-2 - Rebuild for new libiscsi diff --git a/sources b/sources index 6517d45..0dc5138 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (qemu-8.2.2.tar.xz) = dfd2e1305f9e51bfbc90a7738c69336d5f805481a626ea527b971bdfb6dbe6867e5df7461d48d1c22b79be2dc18e057ea9fa36ef593127cd8b262a5c33f1aa41 -SHA512 (qemu-8.2.2.tar.xz.sig) = 2a2dac01cc8f1aff8fbc4e6bfd13d7dd80b7bf6505388c04605a76a27aff870e1520d9879a5781508e65d1feb74e8c036d9cd4f21ab1e35fb7a845c2d66476de +SHA512 (qemu-9.0.0-rc4.tar.xz) = 691be20a69f3c364b541e99a33c2dfa86fb43cf70786c14662d59979311c70ecfdc50062ea121084874866aad82a307687eb52f6ba1f02ce331c1e679835e8a3 +SHA512 (qemu-9.0.0-rc4.tar.xz.sig) = fe9881f9bb0ec07712a578e50321fc02df1f92db23aaddd3ed41e808fe301e72e2688f4ae8f402c2a3123f34f017c8b062c714e26f9cdaf1399b63345b1cebe9 From bd268d19cc4283d73e0d8d343b31c096b30ded8d Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Wed, 24 Apr 2024 12:00:42 -0400 Subject: [PATCH 21/23] New release qemu 9.0.0 GA Signed-off-by: Cole Robinson --- qemu.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/qemu.spec b/qemu.spec index 49efe80..e8dc55b 100644 --- a/qemu.spec +++ b/qemu.spec @@ -354,14 +354,14 @@ Obsoletes: %{name}-system-unicore32-core <= %{epoch}:%{version}-%{release} \ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 # Release candidate version tracking -%global rcver rc4 +# global rcver rc4 %if 0%{?rcver:1} %global rcrel .%{rcver} %global rcstr -%{rcver} %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 0.1 +%global baserelease 1 Summary: QEMU is a FAST! processor emulator Name: qemu @@ -3163,6 +3163,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Wed Apr 24 2024 Cole Robinson - 9.0.0-1 +- New release qemu 9.0.0 GA + * Tue Apr 23 2024 Cole Robinson - 9.0.0-0.1.rc4 - New release qemu 9.0.0-rc4 diff --git a/sources b/sources index 0dc5138..2a31e12 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (qemu-9.0.0-rc4.tar.xz) = 691be20a69f3c364b541e99a33c2dfa86fb43cf70786c14662d59979311c70ecfdc50062ea121084874866aad82a307687eb52f6ba1f02ce331c1e679835e8a3 -SHA512 (qemu-9.0.0-rc4.tar.xz.sig) = fe9881f9bb0ec07712a578e50321fc02df1f92db23aaddd3ed41e808fe301e72e2688f4ae8f402c2a3123f34f017c8b062c714e26f9cdaf1399b63345b1cebe9 +SHA512 (qemu-9.0.0.tar.xz) = 1603517cd4c93632ba60ad7261eb67374f12a744bf58f10b0e8686e46d3a02d8b6bf58a0c617f23a1868084aaba6386c24341894f75539e0b816091718721427 +SHA512 (qemu-9.0.0.tar.xz.sig) = b94259f56d7da92dd8df60bb9a328f7a275cdf2f7128c1e85039d894da8663d2b058ea4d275442ec80ac9c49fe91f30d489b3f3fc1f97bf845b9fe6851cf9191 From d364afeef72757cf781c85b589047489dd59f868 Mon Sep 17 00:00:00 2001 From: Andrea Bolognani Date: Fri, 31 May 2024 18:08:10 +0200 Subject: [PATCH 22/23] Add dependency on edk2-riscv64 It's part of Fedora, it works fine and in fact many recent guest images expect to be booted via UEFI. Signed-off-by: Andrea Bolognani --- qemu.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/qemu.spec b/qemu.spec index e8dc55b..1257c55 100644 --- a/qemu.spec +++ b/qemu.spec @@ -133,7 +133,7 @@ # Matches edk2.spec ExclusiveArch %global have_edk2 0 -%ifarch %{ix86} x86_64 %{arm} aarch64 +%ifarch %{ix86} x86_64 %{arm} aarch64 riscv64 %global have_edk2 1 %endif @@ -1402,6 +1402,9 @@ This package provides the QEMU system emulator for RISC-V systems. %package system-riscv-core Summary: QEMU system emulator for RISC-V Requires: %{name}-common = %{epoch}:%{version}-%{release} +%if %{have_edk2} +Requires: edk2-riscv64 +%endif %description system-riscv-core This package provides the QEMU system emulator for RISC-V systems. From fd6b74bccc070bb06d0def08f662b85cd937ebfa Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jul 2024 17:34:22 +0000 Subject: [PATCH 23/23] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- qemu.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/qemu.spec b/qemu.spec index 1257c55..54a7526 100644 --- a/qemu.spec +++ b/qemu.spec @@ -361,7 +361,7 @@ Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38 %endif # To prevent rpmdev-bumpspec breakage -%global baserelease 1 +%global baserelease 2 Summary: QEMU is a FAST! processor emulator Name: qemu @@ -3166,6 +3166,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %changelog +* Fri Jul 19 2024 Fedora Release Engineering - 2:9.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Wed Apr 24 2024 Cole Robinson - 9.0.0-1 - New release qemu 9.0.0 GA