Thread (43 messages) 43 messages, 4 authors, 2016-02-09

[PATCH v3 23/23] arm64: Panic when VHE and non VHE CPUs coexist

From: Christoffer Dall <hidden>
Date: 2016-02-04 19:24:50
Also in: kvm, kvmarm, lkml

On Wed, Feb 03, 2016 at 06:00:16PM +0000, Marc Zyngier wrote:
Having both VHE and non-VHE capable CPUs in the same system
is likely to be a recipe for disaster.

If the boot CPU has VHE, but a secondary is not, we won't be
able to downgrade and run the kernel at EL1. Add CPU hotplug
to the mix, and this produces a terrifying mess.

Let's solve the problem once and for all. If you mix VHE and
non-VHE CPUs in the same system, you deserve to loose, and this
patch makes sure you don't get a chance.

This is implemented by storing the kernel execution level in
a global variable. Secondaries will park themselves in a
WFI loop if they observe a mismatch. Also, the primary CPU
will detect that the secondary CPU has died on a mismatched
execution level. Panic will follow.

Signed-off-by: Marc Zyngier <redacted>
Reviewed-by: Christoffer Dall <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help