]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: arm64: nVHE: Migrate hyp interface to SMCCC
authorAndrew Scull <ascull@google.com>
Tue, 15 Sep 2020 10:46:41 +0000 (11:46 +0100)
committerMarc Zyngier <maz@kernel.org>
Tue, 15 Sep 2020 17:39:04 +0000 (18:39 +0100)
commitc9b5713d2ab85de288238083651ea58a1f8595f1
treef01a73181cadd95e3968fa5b670788e69de2b911
parenta364de9393086d5019f21a6eef99901636b0ef50
KVM: arm64: nVHE: Migrate hyp interface to SMCCC

Rather than passing arbitrary function pointers to run at hyp, define
and equivalent set of SMCCC functions.

Since the SMCCC functions are strongly tied to the original function
prototypes, it is not expected for the host to ever call an invalid ID
but a warning is raised if this does ever occur.

As __kvm_vcpu_run is used for every switch between the host and a guest,
it is explicitly singled out to be identified before the other function
IDs to improve the performance of the hot path.

Signed-off-by: Andrew Scull <ascull@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20200915104643.2543892-18-ascull@google.com
arch/arm64/include/asm/kvm_asm.h
arch/arm64/include/asm/kvm_host.h
arch/arm64/kvm/arm.c
arch/arm64/kvm/hyp.S
arch/arm64/kvm/hyp/nvhe/hyp-main.c