intr-internal.h (d32d65276b201d2abe963aa69cc2cfc951ddb278) intr-internal.h (2d795ab1eaa78c6dd5d214285db7f94ff870bd45)
1/*-
2 * SPDX-License-Identifier: MIT OR GPL-2.0-only
3 *
4 * Copyright © 2002-2005 K A Fraser
5 * Copyright © 2005 Intel Corporation <xiaofeng.ling@intel.com>
6 * Copyright © 2005-2006 Kip Macy
7 * Copyright © 2013 Spectra Logic Corporation
8 * Copyright © 2015 Julien Grall

--- 46 unchanged lines hidden (view full) ---

55 evtchn_port_t xi_port;
56 u_int xi_virq;
57 void *xi_cookie;
58 bool xi_close:1; /* close on unbind? */
59 bool xi_masked:1;
60 volatile u_int xi_refcount;
61};
62
1/*-
2 * SPDX-License-Identifier: MIT OR GPL-2.0-only
3 *
4 * Copyright © 2002-2005 K A Fraser
5 * Copyright © 2005 Intel Corporation <xiaofeng.ling@intel.com>
6 * Copyright © 2005-2006 Kip Macy
7 * Copyright © 2013 Spectra Logic Corporation
8 * Copyright © 2015 Julien Grall

--- 46 unchanged lines hidden (view full) ---

55 evtchn_port_t xi_port;
56 u_int xi_virq;
57 void *xi_cookie;
58 bool xi_close:1; /* close on unbind? */
59 bool xi_masked:1;
60 volatile u_int xi_refcount;
61};
62
63/***************** Functions called by the architecture code *****************/
64
65extern void xen_intr_resume(void);
66extern void xen_intr_enable_source(struct xenisrc *isrc);
67extern void xen_intr_disable_source(struct xenisrc *isrc);
68extern void xen_intr_enable_intr(struct xenisrc *isrc);
69extern void xen_intr_disable_intr(struct xenisrc *isrc);
70extern int xen_intr_assign_cpu(struct xenisrc *isrc, u_int to_cpu);
71
72/******************* Functions implemented by each architecture **************/
73
74#if 0
75/*
76 * These are sample prototypes, the architecture should include its own in
77 * <machine/xen/arch-intr.h>. The architecture may implement these as inline.
78 */
79void xen_arch_intr_init(void);
80u_long xen_arch_intr_execute_handlers(struct xenisrc *isrc,
81 struct trapframe *frame);
82int xen_arch_intr_add_handler(const char *name,
83 driver_filter_t filter, driver_intr_t handler, void *arg,
84 enum intr_type flags, struct xenisrc *isrc,
85 void **cookiep);
86int xen_arch_intr_describe(struct xenisrc *isrc, void *cookie,
87 const char *descr);
88int xen_arch_intr_remove_handler(struct xenisrc *isrc,
89 void *cookie);
90int xen_arch_intr_event_bind(struct xenisrc *isrc, u_int cpu);
91#endif
92
63#endif /* _XEN_INTR_INTERNAL_H_ */
93#endif /* _XEN_INTR_INTERNAL_H_ */