Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-kernel/gentoo-kernel/files/
Date: Sun, 25 Jul 2021 09:37:46
Message-Id: 1627205832.f5c144594c0c562a6429bbf3fe08f9b70146e1a5.mgorny@gentoo
1 commit: f5c144594c0c562a6429bbf3fe08f9b70146e1a5
2 Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
3 AuthorDate: Sun Jul 25 09:34:08 2021 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sun Jul 25 09:37:12 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5c14459
7
8 sys-kernel/gentoo-kernel: remove unused patch(es)
9
10 Package-Manager: Portage-3.0.20, Repoman-3.0.3
11 Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
12 Closes: https://github.com/gentoo/gentoo/pull/21782
13 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
14
15 .../gentoo-kernel/files/5.10.47-ppc64-kvm.patch | 56 ----------------------
16 1 file changed, 56 deletions(-)
17
18 diff --git a/sys-kernel/gentoo-kernel/files/5.10.47-ppc64-kvm.patch b/sys-kernel/gentoo-kernel/files/5.10.47-ppc64-kvm.patch
19 deleted file mode 100644
20 index 59a7c7e7581..00000000000
21 --- a/sys-kernel/gentoo-kernel/files/5.10.47-ppc64-kvm.patch
22 +++ /dev/null
23 @@ -1,56 +0,0 @@
24 -From 25edcc50d76c834479d11fcc7de46f3da4d95121 Mon Sep 17 00:00:00 2001
25 -From: Fabiano Rosas <farosas@×××××××××.com>
26 -Date: Thu, 4 Feb 2021 17:05:17 -0300
27 -Subject: [PATCH] KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path
28 -
29 -The Facility Status and Control Register is a privileged SPR that
30 -defines the availability of some features in problem state. Since it
31 -can be written by the guest, we must restore it to the previous host
32 -value after guest exit.
33 -
34 -This restoration is currently done by taking the value from
35 -current->thread.fscr, which in the P9 path is not enough anymore
36 -because the guest could context switch the QEMU thread, causing the
37 -guest-current value to be saved into the thread struct.
38 -
39 -The above situation manifested when running a QEMU linked against a
40 -libc with System Call Vectored support, which causes scv
41 -instructions to be run by QEMU early during the guest boot (during
42 -SLOF), at which point the FSCR is 0 due to guest entry. After a few
43 -scv calls (1 to a couple hundred), the context switching happens and
44 -the QEMU thread runs with the guest value, resulting in a Facility
45 -Unavailable interrupt.
46 -
47 -This patch saves and restores the host value of FSCR in the inner
48 -guest entry loop in a way independent of current->thread.fscr. The old
49 -way of doing it is still kept in place because it works for the old
50 -entry path.
51 -
52 -Signed-off-by: Fabiano Rosas <farosas@×××××××××.com>
53 -Signed-off-by: Paul Mackerras <paulus@××××××.org>
54 ----
55 - arch/powerpc/kvm/book3s_hv.c | 4 ++++
56 - 1 file changed, 4 insertions(+)
57 -
58 -diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
59 -index 89c686c17f0606..f6d470157fcb62 100644
60 ---- a/arch/powerpc/kvm/book3s_hv.c
61 -+++ b/arch/powerpc/kvm/book3s_hv.c
62 -@@ -3611,6 +3611,7 @@ static int kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit,
63 - unsigned long host_tidr = mfspr(SPRN_TIDR);
64 - unsigned long host_iamr = mfspr(SPRN_IAMR);
65 - unsigned long host_amr = mfspr(SPRN_AMR);
66 -+ unsigned long host_fscr = mfspr(SPRN_FSCR);
67 - s64 dec;
68 - u64 tb;
69 - int trap, save_pmu;
70 -@@ -3751,6 +3752,9 @@ static int kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit,
71 - if (host_amr != vcpu->arch.amr)
72 - mtspr(SPRN_AMR, host_amr);
73 -
74 -+ if (host_fscr != vcpu->arch.fscr)
75 -+ mtspr(SPRN_FSCR, host_fscr);
76 -+
77 - msr_check_and_set(MSR_FP | MSR_VEC | MSR_VSX);
78 - store_fp_state(&vcpu->arch.fp);
79 - #ifdef CONFIG_ALTIVEC