blob: 608a79d5a4669ebf3a9060f895d0f5f03ab3286c [file] [log] [blame]
H. Peter Anvin05e4d312008-10-23 00:01:39 -07001#ifndef _ASM_X86_XEN_EVENTS_H
2#define _ASM_X86_XEN_EVENTS_H
Isaku Yamahatae849c3e2008-04-02 10:53:56 -07003
4enum ipi_vector {
5 XEN_RESCHEDULE_VECTOR,
6 XEN_CALL_FUNCTION_VECTOR,
Jens Axboe3b16cf82008-06-26 11:21:54 +02007 XEN_CALL_FUNCTION_SINGLE_VECTOR,
Jeremy Fitzhardinge2d9e1e22008-07-07 12:07:53 -07008 XEN_SPIN_UNLOCK_VECTOR,
Lin Ming1ff2b0c2012-04-21 00:11:05 +08009 XEN_IRQ_WORK_VECTOR,
Konrad Rzeszutek Wilk6efa20e2013-07-19 11:51:31 -040010 XEN_NMI_VECTOR,
Isaku Yamahatae849c3e2008-04-02 10:53:56 -070011
12 XEN_NR_IPIS,
13};
14
15static inline int xen_irqs_disabled(struct pt_regs *regs)
16{
17 return raw_irqs_disabled_flags(regs->flags);
18}
19
Ian Campbellc81611c2013-02-20 11:48:06 +000020/* No need for a barrier -- XCHG is a barrier on x86. */
21#define xchg_xen_ulong(ptr, val) xchg((ptr), (val))
22
H. Peter Anvin05e4d312008-10-23 00:01:39 -070023#endif /* _ASM_X86_XEN_EVENTS_H */