xref: /kernel/linux/linux-6.6/arch/arm64/include/asm/kvm_nested.h
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-6.6/arch/arm64/include/asm/
162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef __ARM64_KVM_NESTED_H
362306a36Sopenharmony_ci#define __ARM64_KVM_NESTED_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <linux/kvm_host.h>
662306a36Sopenharmony_ci
762306a36Sopenharmony_cistatic inline bool vcpu_has_nv(const struct kvm_vcpu *vcpu)
862306a36Sopenharmony_ci{
962306a36Sopenharmony_ci	return (!__is_defined(__KVM_NVHE_HYPERVISOR__) &&
1062306a36Sopenharmony_ci		cpus_have_final_cap(ARM64_HAS_NESTED_VIRT) &&
1162306a36Sopenharmony_ci		test_bit(KVM_ARM_VCPU_HAS_EL2, vcpu->arch.features));
1262306a36Sopenharmony_ci}
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciextern bool __check_nv_sr_forward(struct kvm_vcpu *vcpu);
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_cistruct sys_reg_params;
1762306a36Sopenharmony_cistruct sys_reg_desc;
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_civoid access_nested_id_reg(struct kvm_vcpu *v, struct sys_reg_params *p,
2062306a36Sopenharmony_ci			  const struct sys_reg_desc *r);
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci#endif /* __ARM64_KVM_NESTED_H */
23

Indexes created Thu Nov 07 10:32:03 CST 2024