On Tue, Jun 15, 2021 at 02:39:45PM +0100, Fuad Tabba wrote: > Add an array of pointers to handlers for various trap reasons in > nVHE code. > > The current code selects how to fixup a guest on exit based on a > series of if/else statements. Future patches will also require > different handling for guest exists. Create an array of handlers > to consolidate them. > > No functional change intended as the array isn't populated yet. > > Signed-off-by: Fuad Tabba <tabba@xxxxxxxxxx> > --- > arch/arm64/kvm/hyp/include/hyp/switch.h | 19 ++++++++++++++ > arch/arm64/kvm/hyp/nvhe/switch.c | 35 +++++++++++++++++++++++++ > 2 files changed, 54 insertions(+) > > diff --git a/arch/arm64/kvm/hyp/include/hyp/switch.h b/arch/arm64/kvm/hyp/include/hyp/switch.h > index e4a2f295a394..f5d3d1da0aec 100644 > --- a/arch/arm64/kvm/hyp/include/hyp/switch.h > +++ b/arch/arm64/kvm/hyp/include/hyp/switch.h > @@ -405,6 +405,18 @@ static inline bool __hyp_handle_ptrauth(struct kvm_vcpu *vcpu) > return true; > } > > +typedef int (*exit_handle_fn)(struct kvm_vcpu *); > + > +exit_handle_fn kvm_get_nvhe_exit_handler(struct kvm_vcpu *vcpu); > + > +static exit_handle_fn kvm_get_hyp_exit_handler(struct kvm_vcpu *vcpu) > +{ > + if (is_nvhe_hyp_code()) > + return kvm_get_nvhe_exit_handler(vcpu); > + else > + return NULL; > +} nit: might be a bit tidier with a ternary if (?:). But either way: Acked-by: Will Deacon <will@xxxxxxxxxx> Will