arch-intr.h (2d795ab1eaa78c6dd5d214285db7f94ff870bd45) | arch-intr.h (6699c22c1cb0f8a355ecb9d030c6990e48f8d7db) |
---|---|
1/*- 2 * SPDX-License-Identifier: MIT OR GPL-2.0-only 3 * 4 * Copyright © 2015 Julien Grall 5 * Copyright © 2021 Elliott Mitchell 6 * 7 * This file may be distributed separately from the Linux kernel, or 8 * incorporated into other software packages, subject to the following license: --- 16 unchanged lines hidden (view full) --- 25 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 26 * IN THE SOFTWARE. 27 */ 28 29#ifndef _MACHINE__XEN_ARCH_INTR_H_ 30#define _MACHINE__XEN_ARCH_INTR_H_ 31 32#include <x86/intr_machdep.h> | 1/*- 2 * SPDX-License-Identifier: MIT OR GPL-2.0-only 3 * 4 * Copyright © 2015 Julien Grall 5 * Copyright © 2021 Elliott Mitchell 6 * 7 * This file may be distributed separately from the Linux kernel, or 8 * incorporated into other software packages, subject to the following license: --- 16 unchanged lines hidden (view full) --- 25 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 26 * IN THE SOFTWARE. 27 */ 28 29#ifndef _MACHINE__XEN_ARCH_INTR_H_ 30#define _MACHINE__XEN_ARCH_INTR_H_ 31 32#include <x86/intr_machdep.h> |
33#include <x86/apicvar.h> |
|
33 34typedef struct { 35 struct intsrc intsrc; /* @TOP -> *xen_arch_isrc */ 36 u_int vector; /* Global isrc vector number */ 37} xen_arch_isrc_t; 38 | 34 35typedef struct { 36 struct intsrc intsrc; /* @TOP -> *xen_arch_isrc */ 37 u_int vector; /* Global isrc vector number */ 38} xen_arch_isrc_t; 39 |
39extern struct pic xen_intr_pic; 40 | |
41#include <dev/xen/bus/intr-internal.h> 42 43/******************************* ARCH wrappers *******************************/ 44 45extern void xen_arch_intr_init(void); 46 | 40#include <dev/xen/bus/intr-internal.h> 41 42/******************************* ARCH wrappers *******************************/ 43 44extern void xen_arch_intr_init(void); 45 |
46extern struct xenisrc *xen_arch_intr_alloc(void); 47extern void xen_arch_intr_release(struct xenisrc *isrc); 48 49static inline u_int 50xen_arch_intr_next_cpu(struct xenisrc *isrc) 51{ 52 53 return (apic_cpuid(intr_next_cpu(0))); 54} 55 |
|
47static inline u_long 48xen_arch_intr_execute_handlers(struct xenisrc *isrc, struct trapframe *frame) 49{ 50 51 intr_execute_handlers(&isrc->xi_arch.intsrc, frame); 52 return (0); 53} 54 --- 32 unchanged lines hidden --- | 56static inline u_long 57xen_arch_intr_execute_handlers(struct xenisrc *isrc, struct trapframe *frame) 58{ 59 60 intr_execute_handlers(&isrc->xi_arch.intsrc, frame); 61 return (0); 62} 63 --- 32 unchanged lines hidden --- |