Loading...
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 */
1#ifndef _ASM_ARM_XEN_EVENTS_H
2#define _ASM_ARM_XEN_EVENTS_H
3
4#include <asm/ptrace.h>
5#include <asm/atomic.h>
6
7enum ipi_vector {
8 XEN_PLACEHOLDER_VECTOR,
9
10 /* Xen IPIs go here */
11 XEN_NR_IPIS,
12};
13
14static inline int xen_irqs_disabled(struct pt_regs *regs)
15{
16 return raw_irqs_disabled_flags(regs->ARM_cpsr);
17}
18
19#define xchg_xen_ulong(ptr, val) atomic64_xchg(container_of((ptr), \
20 atomic64_t, \
21 counter), (val))
22
23#endif /* _ASM_ARM_XEN_EVENTS_H */