arm64: KVM: Register CPU notifiers when the kernel runs at HYP
authorJames Morse <james.morse@arm.com>
Wed, 30 Mar 2016 17:33:04 +0000 (18:33 +0100)
committerAlex Shi <alex.shi@linaro.org>
Thu, 17 Nov 2016 01:49:39 +0000 (09:49 +0800)
commit563a1d1db594c7fb84f412b34f8e4b7a4dd8bad2
treeeabe6956892bb30064c7e46414fe44c512e87653
parent3fe3980002d4a21a23bfb13edc0e53e610535fb4
arm64: KVM: Register CPU notifiers when the kernel runs at HYP

When the kernel is running at EL2, it doesn't need init_hyp_mode() to
configure page tables for HYP. This function also registers the CPU
hotplug and lower power notifiers that cause HYP to be re-initialised
after the CPU has been reset.

To avoid losing the register state that controls stage2 translation, move
the registering of these notifiers into init_subsystems(), and add a
is_kernel_in_hyp_mode() path to each callback.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Fixes: 1e947bad0b6 ("arm64: KVM: Skip HYP setup when already running in HYP")
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
(cherry picked from commit 5f5560b1c5f3a80e91c6babb2da34a51943bbdec)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
arch/arm/kvm/arm.c