1 #ifndef _ASM_ARM_XEN_EVENTS_H
2 #define _ASM_ARM_XEN_EVENTS_H
4 #include <asm/ptrace.h>
7 XEN_PLACEHOLDER_VECTOR
,
13 static inline int xen_irqs_disabled(struct pt_regs
*regs
)
15 return raw_irqs_disabled_flags(regs
->ARM_cpsr
);
19 * We cannot use xchg because it does not support 8-byte
20 * values. However it is safe to use {ldr,dtd}exd directly because all
21 * platforms which Xen can run on support those instructions.
23 static inline xen_ulong_t
xchg_xen_ulong(xen_ulong_t
*ptr
, xen_ulong_t val
)
29 asm volatile("@ xchg_xen_ulong\n"
30 "1: ldrexd %0, %H0, [%3]\n"
31 " strexd %1, %2, %H2, [%3]\n"
34 : "=&r" (oldval
), "=&r" (tmp
)
35 : "r" (val
), "r" (ptr
)
40 #endif /* _ASM_ARM_XEN_EVENTS_H */
This page took 0.160224 seconds and 5 git commands to generate.