xref: /openbmc/linux/arch/arm64/include/asm/xen/events.h (revision b2441318)
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 
159f54ad66SStefano Stabellini static inline int xen_irqs_disabled(struct pt_regs *regs)
169f54ad66SStefano Stabellini {
179f54ad66SStefano Stabellini 	return raw_irqs_disabled_flags((unsigned long) regs->pstate);
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 */
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