xref: /openbmc/linux/arch/arm64/include/asm/xen/events.h (revision b0506a8b)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
29f54ad66SStefano Stabellini #ifndef _ASM_ARM64_XEN_EVENTS_H
39f54ad66SStefano Stabellini #define _ASM_ARM64_XEN_EVENTS_H
49f54ad66SStefano Stabellini 
59f54ad66SStefano Stabellini #include <asm/ptrace.h>
69f54ad66SStefano Stabellini #include <asm/atomic.h>
79f54ad66SStefano Stabellini 
89f54ad66SStefano Stabellini enum ipi_vector {
99f54ad66SStefano Stabellini 	XEN_PLACEHOLDER_VECTOR,
109f54ad66SStefano Stabellini 
119f54ad66SStefano Stabellini 	/* Xen IPIs go here */
129f54ad66SStefano Stabellini 	XEN_NR_IPIS,
139f54ad66SStefano Stabellini };
149f54ad66SStefano Stabellini 
xen_irqs_disabled(struct pt_regs * regs)159f54ad66SStefano Stabellini static inline int xen_irqs_disabled(struct pt_regs *regs)
169f54ad66SStefano Stabellini {
17b0506a8bSJulien Thierry 	return !interrupts_enabled(regs);
189f54ad66SStefano Stabellini }
199f54ad66SStefano Stabellini 
209f54ad66SStefano Stabellini #define xchg_xen_ulong(ptr, val) xchg((ptr), (val))
219f54ad66SStefano Stabellini 
224a5b6946SJulien Grall /* Rebind event channel is supported by default */
xen_support_evtchn_rebind(void)234a5b6946SJulien Grall static inline bool xen_support_evtchn_rebind(void)
244a5b6946SJulien Grall {
254a5b6946SJulien Grall 	return true;
264a5b6946SJulien Grall }
274a5b6946SJulien Grall 
289f54ad66SStefano Stabellini #endif /* _ASM_ARM64_XEN_EVENTS_H */
29