summaryrefslogtreecommitdiffstats
path: root/sys/ia64/include
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2010-03-27 05:40:50 +0000
committermarcel <marcel@FreeBSD.org>2010-03-27 05:40:50 +0000
commitbf41341894ce69d389be4a581078418dc737d17f (patch)
tree17969a80680ebc6b63471f5262055a3d76b8aaa4 /sys/ia64/include
parentbc320635f65727a43c46fb760b9a0f1699d088d6 (diff)
downloadFreeBSD-src-bf41341894ce69d389be4a581078418dc737d17f.zip
FreeBSD-src-bf41341894ce69d389be4a581078418dc737d17f.tar.gz
Implement interrupt to CPU binding. Assign interrupts to CPUs in a
round-robin fashion, starting with the highest priority interrupt on the highest-numbered CPU and cycling downwards.
Diffstat (limited to 'sys/ia64/include')
-rw-r--r--sys/ia64/include/intr.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/ia64/include/intr.h b/sys/ia64/include/intr.h
index 2ea858c..81603cf 100644
--- a/sys/ia64/include/intr.h
+++ b/sys/ia64/include/intr.h
@@ -35,6 +35,7 @@
#define IA64_MAX_HWPRIO 14
+struct pcpu;
struct sapic;
struct thread;
struct trapframe;
@@ -65,7 +66,7 @@ typedef u_int (ia64_ihtype)(struct thread *, u_int, struct trapframe *);
extern struct ia64_pib *ia64_pib;
-void ia64_finalize_intr(void);
+void ia64_bind_intr(void);
void ia64_handle_intr(struct trapframe *);
int ia64_setup_intr(const char *, int, driver_filter_t, driver_intr_t,
void *, enum intr_type, void **);
@@ -76,6 +77,7 @@ u_int ia64_xiv_alloc(u_int, enum ia64_xiv_use, ia64_ihtype);
int ia64_xiv_free(u_int, enum ia64_xiv_use);
int ia64_xiv_reserve(u_int, enum ia64_xiv_use, ia64_ihtype);
+int sapic_bind_intr(u_int, struct pcpu *);
int sapic_config_intr(u_int, enum intr_trigger, enum intr_polarity);
struct sapic *sapic_create(u_int, u_int, uint64_t);
int sapic_enable(struct sapic *, u_int, u_int);
OpenPOWER on IntegriCloud