1eeeee719SDavid Brazdil /* SPDX-License-Identifier: GPL-2.0-only */
2eeeee719SDavid Brazdil /*
3eeeee719SDavid Brazdil  * Trap handler helpers.
4eeeee719SDavid Brazdil  *
5eeeee719SDavid Brazdil  * Copyright (C) 2020 - Google LLC
6eeeee719SDavid Brazdil  * Author: Marc Zyngier <maz@kernel.org>
7eeeee719SDavid Brazdil  */
8eeeee719SDavid Brazdil 
9eeeee719SDavid Brazdil #ifndef __ARM64_KVM_NVHE_TRAP_HANDLER_H__
10eeeee719SDavid Brazdil #define __ARM64_KVM_NVHE_TRAP_HANDLER_H__
11eeeee719SDavid Brazdil 
12eeeee719SDavid Brazdil #include <asm/kvm_host.h>
13eeeee719SDavid Brazdil 
14eeeee719SDavid Brazdil #define cpu_reg(ctxt, r)	(ctxt)->regs.regs[r]
15eeeee719SDavid Brazdil #define DECLARE_REG(type, name, ctxt, reg)	\
16eeeee719SDavid Brazdil 				type name = (type)cpu_reg(ctxt, (reg))
17eeeee719SDavid Brazdil 
18*2a0c3433SFuad Tabba void __pkvm_vcpu_init_traps(struct kvm_vcpu *vcpu);
19*2a0c3433SFuad Tabba 
20eeeee719SDavid Brazdil #endif /* __ARM64_KVM_NVHE_TRAP_HANDLER_H__ */
21