linux/arch/arm64/kvm
AKASHI Takahiro 67f6919766 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>
2016-04-28 12:05:46 +01:00
..
hyp arm64: hyp/kvm: Make hyp-stub extensible 2016-04-28 12:05:46 +01:00
debug.c KVM: arm64: add trace points for guest_debug debug 2015-07-21 12:50:43 +01:00
emulate.c arm64: kvm: move to ESR_ELx macros 2015-01-15 12:24:25 +00:00
guest.c One of the largest releases for KVM... Hardly any generic improvement, 2016-03-16 09:55:35 -07:00
handle_exit.c arm64: hyp/kvm: Make hyp-stub reject kvm_call_hyp() 2016-04-28 12:05:46 +01:00
hyp-init.S arm64: kvm: allows kvm cpu hotplug 2016-04-28 12:05:46 +01:00
hyp.S arm64: hyp/kvm: Make hyp-stub extensible 2016-04-28 12:05:46 +01:00
inject_fault.c arm64: KVM: Fix AArch64 guest userspace exception injection 2016-01-24 21:55:57 +00:00
Kconfig arm64: KVM: Define PMU data structure for each vcpu 2016-02-29 18:34:19 +00:00
Makefile arm64: KVM: Add access handler for event counter register 2016-02-29 18:34:20 +00:00
regmap.c arm64: KVM: 32bit GP register access 2013-06-12 16:42:14 +01:00
reset.c arm64: kvm: allows kvm cpu hotplug 2016-04-28 12:05:46 +01:00
sys_regs_generic_v8.c arm64: KVM: Correctly handle zero register in system register accesses 2015-12-04 16:29:54 +00:00
sys_regs.c arm64 updates for 4.6: 2016-03-17 20:03:47 -07:00
sys_regs.h arm64: KVM: Correctly handle zero register in system register accesses 2015-12-04 16:29:54 +00:00
trace.h KVM: arm64: add trace points for guest_debug debug 2015-07-21 12:50:43 +01:00