cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

events.h (828B)


      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
      7enum 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
     18static 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
     26extern 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 */
     32static 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 */