root/arch/x86/include/asm/xen/events.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. xen_irqs_disabled
  2. xen_support_evtchn_rebind

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _ASM_X86_XEN_EVENTS_H
   3 #define _ASM_X86_XEN_EVENTS_H
   4 
   5 #include <xen/xen.h>
   6 
   7 enum ipi_vector {
   8         XEN_RESCHEDULE_VECTOR,
   9         XEN_CALL_FUNCTION_VECTOR,
  10         XEN_CALL_FUNCTION_SINGLE_VECTOR,
  11         XEN_SPIN_UNLOCK_VECTOR,
  12         XEN_IRQ_WORK_VECTOR,
  13         XEN_NMI_VECTOR,
  14 
  15         XEN_NR_IPIS,
  16 };
  17 
  18 static inline int xen_irqs_disabled(struct pt_regs *regs)
  19 {
  20         return raw_irqs_disabled_flags(regs->flags);
  21 }
  22 
  23 /* No need for a barrier -- XCHG is a barrier on x86. */
  24 #define xchg_xen_ulong(ptr, val) xchg((ptr), (val))
  25 
  26 extern int xen_have_vector_callback;
  27 
  28 /*
  29  * Events delivered via platform PCI interrupts are always
  30  * routed to vcpu 0 and hence cannot be rebound.
  31  */
  32 static inline bool xen_support_evtchn_rebind(void)
  33 {
  34         return (!xen_hvm_domain() || xen_have_vector_callback);
  35 }
  36 
  37 #endif /* _ASM_X86_XEN_EVENTS_H */

/* [<][>][^][v][top][bottom][index][help] */