diff options
author | AKASHI Takahiro <takahiro.akashi@linaro.org> | 2016-04-27 17:47:05 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-04-28 12:05:46 +0100 |
commit | 67f6919766620e7ea7aab11a6a3470dc7b451359 (patch) | |
tree | 603439d01bc9ecb8e8d7f0abda6b5a1bed2394e4 /arch/arm64/kernel/asm-offsets.c | |
parent | c94b0cf28281d483c8b43b4874fcb7ab14ade1b1 (diff) | |
download | talos-op-linux-67f6919766620e7ea7aab11a6a3470dc7b451359.tar.gz talos-op-linux-67f6919766620e7ea7aab11a6a3470dc7b451359.zip |
arm64: kvm: allows kvm cpu hotplug
The current kvm implementation on arm64 does cpu-specific initialization
at system boot, and has no way to gracefully shutdown a core in terms of
kvm. This prevents kexec from rebooting the system at EL2.
This patch adds a cpu tear-down function and also puts an existing cpu-init
code into a separate function, kvm_arch_hardware_disable() and
kvm_arch_hardware_enable() respectively.
We don't need the arm64 specific cpu hotplug hook any more.
Since this patch modifies common code between arm and arm64, one stub
definition, __cpu_reset_hyp_mode(), is added on arm side to avoid
compilation errors.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
[Rebase, added separate VHE init/exit path, changed resets use of
kvm_call_hyp() to the __version, en/disabled hardware in init_subsystems(),
added icache maintenance to __kvm_hyp_reset() and removed lr restore, removed
guest-enter after teardown handling]
Signed-off-by: James Morse <james.morse@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/kernel/asm-offsets.c')
0 files changed, 0 insertions, 0 deletions