1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_ARM_XEN_EVENTS_H
3#define _ASM_ARM_XEN_EVENTS_H
4
5#include <asm/ptrace.h>
6#include <asm/atomic.h>
7
8enum ipi_vector {
9	XEN_PLACEHOLDER_VECTOR,
10
11	/* Xen IPIs go here */
12	XEN_NR_IPIS,
13};
14
15static inline int xen_irqs_disabled(struct pt_regs *regs)
16{
17	return raw_irqs_disabled_flags(regs->ARM_cpsr);
18}
19
20#define xchg_xen_ulong(ptr, val) atomic64_xchg(container_of((long long*)(ptr),\
21							    atomic64_t,	\
22							    counter), (val))
23
24/* Rebind event channel is supported by default */
25static inline bool xen_support_evtchn_rebind(void)
26{
27	return true;
28}
29
30#endif /* _ASM_ARM_XEN_EVENTS_H */
31