[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190208143319.11980-1-mark.cave-ayland@ilande.co.uk>
Date: Fri, 8 Feb 2019 14:33:19 +0000
From: Mark Cave-Ayland <mark.cave-ayland@...nde.co.uk>
To: benh@...nel.crashing.org, paulus@...ba.org, mpe@...erman.id.au,
npiggin@...il.com, christophe.leroy@....fr,
linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org,
kvm-ppc@...r.kernel.org
Subject: [PATCH] powerpc: fix 32-bit KVM-PR lockup and panic with MacOS guest
Commit 8792468da5e1 "powerpc: Add the ability to save FPU without giving it up"
unexpectedly removed the MSR_FE0 and MSR_FE1 bits from the bitmask used to
update the MSR of the previous thread in __giveup_fpu() causing a KVM-PR MacOS
guest to lockup and panic the kernel.
Reinstate these bits to the MSR bitmask to enable MacOS guests to run under
32-bit KVM-PR once again without issue.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@...nde.co.uk>
---
arch/powerpc/kernel/process.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index ce393df243aa..71bad4b6f80d 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -176,7 +176,7 @@ static void __giveup_fpu(struct task_struct *tsk)
save_fpu(tsk);
msr = tsk->thread.regs->msr;
- msr &= ~MSR_FP;
+ msr &= ~(MSR_FP|MSR_FE0|MSR_FE1);
#ifdef CONFIG_VSX
if (cpu_has_feature(CPU_FTR_VSX))
msr &= ~MSR_VSX;
--
2.11.0
Powered by blists - more mailing lists