diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2021-01-06 10:34:53 +0000 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2021-01-25 22:19:31 +0000 |
commit | a8e190cdae1bf8e9e490776b8179babc1962bb25 (patch) | |
tree | e98b87e0f127a6ab0e1f2c2230aae17a8bef7cfc /arch/arm64/include/asm/kvm_host.h | |
parent | firmware: smccc: Add SMCCC TRNG function call IDs (diff) | |
download | linux-dev-a8e190cdae1bf8e9e490776b8179babc1962bb25.tar.xz linux-dev-a8e190cdae1bf8e9e490776b8179babc1962bb25.zip |
KVM: arm64: Implement the TRNG hypervisor call
Provide a hypervisor implementation of the ARM architected TRNG firmware
interface described in ARM spec DEN0098. All function IDs are implemented,
including both 32-bit and 64-bit versions of the TRNG_RND service, which
is the centerpiece of the API.
The API is backed by the kernel's entropy pool only, to avoid guests
draining more precious direct entropy sources.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
[Andre: minor fixes, drop arch_get_random() usage]
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210106103453.152275-6-andre.przywara@arm.com
Diffstat (limited to 'arch/arm64/include/asm/kvm_host.h')
-rw-r--r-- | arch/arm64/include/asm/kvm_host.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h index 8fcfab0c2567..084d11a2768c 100644 --- a/arch/arm64/include/asm/kvm_host.h +++ b/arch/arm64/include/asm/kvm_host.h @@ -771,4 +771,6 @@ bool kvm_arm_vcpu_is_finalized(struct kvm_vcpu *vcpu); #define kvm_vcpu_has_pmu(vcpu) \ (test_bit(KVM_ARM_VCPU_PMU_V3, (vcpu)->arch.features)) +int kvm_trng_call(struct kvm_vcpu *vcpu); + #endif /* __ARM64_KVM_HOST_H__ */ |