xref: /openbmc/linux/arch/arm/include/asm/xen/events.h (revision 85323a99)
10ec53ecfSStefano Stabellini #ifndef _ASM_ARM_XEN_EVENTS_H
20ec53ecfSStefano Stabellini #define _ASM_ARM_XEN_EVENTS_H
30ec53ecfSStefano Stabellini 
40ec53ecfSStefano Stabellini #include <asm/ptrace.h>
585323a99SIan Campbell #include <asm/atomic.h>
60ec53ecfSStefano Stabellini 
70ec53ecfSStefano Stabellini enum ipi_vector {
80ec53ecfSStefano Stabellini 	XEN_PLACEHOLDER_VECTOR,
90ec53ecfSStefano Stabellini 
100ec53ecfSStefano Stabellini 	/* Xen IPIs go here */
110ec53ecfSStefano Stabellini 	XEN_NR_IPIS,
120ec53ecfSStefano Stabellini };
130ec53ecfSStefano Stabellini 
140ec53ecfSStefano Stabellini static inline int xen_irqs_disabled(struct pt_regs *regs)
150ec53ecfSStefano Stabellini {
160ec53ecfSStefano Stabellini 	return raw_irqs_disabled_flags(regs->ARM_cpsr);
170ec53ecfSStefano Stabellini }
180ec53ecfSStefano Stabellini 
1985323a99SIan Campbell #define xchg_xen_ulong(ptr, val) atomic64_xchg(container_of((ptr),	\
2085323a99SIan Campbell 							    atomic64_t,	\
2185323a99SIan Campbell 							    counter), (val))
22c81611c4SIan Campbell 
230ec53ecfSStefano Stabellini #endif /* _ASM_ARM_XEN_EVENTS_H */
24