mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 06:33:07 +00:00
KVM: arm64: Pass struct kvm to per-EC handlers
We need struct kvm to check for protected VMs to be able to pick the right handlers for them in subsequent patches. Signed-off-by: Fuad Tabba <tabba@google.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20211010145636.1950948-5-tabba@google.com
This commit is contained in:
parent
8fb2046180
commit
3b1a690eda
3 changed files with 4 additions and 4 deletions
|
@ -403,7 +403,7 @@ static bool kvm_hyp_handle_dabt_low(struct kvm_vcpu *vcpu, u64 *exit_code)
|
|||
|
||||
typedef bool (*exit_handler_fn)(struct kvm_vcpu *, u64 *);
|
||||
|
||||
static const exit_handler_fn *kvm_get_exit_handler_array(void);
|
||||
static const exit_handler_fn *kvm_get_exit_handler_array(struct kvm *kvm);
|
||||
|
||||
/*
|
||||
* Allow the hypervisor to handle the exit with an exit handler if it has one.
|
||||
|
@ -413,7 +413,7 @@ static const exit_handler_fn *kvm_get_exit_handler_array(void);
|
|||
*/
|
||||
static inline bool kvm_hyp_handle_exit(struct kvm_vcpu *vcpu, u64 *exit_code)
|
||||
{
|
||||
const exit_handler_fn *handlers = kvm_get_exit_handler_array();
|
||||
const exit_handler_fn *handlers = kvm_get_exit_handler_array(kern_hyp_va(vcpu->kvm));
|
||||
exit_handler_fn fn;
|
||||
|
||||
fn = handlers[kvm_vcpu_trap_get_class(vcpu)];
|
||||
|
|
|
@ -169,7 +169,7 @@ static const exit_handler_fn hyp_exit_handlers[] = {
|
|||
[ESR_ELx_EC_PAC] = kvm_hyp_handle_ptrauth,
|
||||
};
|
||||
|
||||
static const exit_handler_fn *kvm_get_exit_handler_array(void)
|
||||
static const exit_handler_fn *kvm_get_exit_handler_array(struct kvm *kvm)
|
||||
{
|
||||
return hyp_exit_handlers;
|
||||
}
|
||||
|
|
|
@ -107,7 +107,7 @@ static const exit_handler_fn hyp_exit_handlers[] = {
|
|||
[ESR_ELx_EC_PAC] = kvm_hyp_handle_ptrauth,
|
||||
};
|
||||
|
||||
static const exit_handler_fn *kvm_get_exit_handler_array(void)
|
||||
static const exit_handler_fn *kvm_get_exit_handler_array(struct kvm *kvm)
|
||||
{
|
||||
return hyp_exit_handlers;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue