summaryrefslogtreecommitdiffstats
path: root/sys/ia64/include/md_var.h
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2007-07-30 22:29:33 +0000
committermarcel <marcel@FreeBSD.org>2007-07-30 22:29:33 +0000
commit78786023896b76f48c8a7f6e7c8acb18229a3e0e (patch)
tree3beca60cdded8a7ab5493243c2a72bb5577a5f53 /sys/ia64/include/md_var.h
parent8fddc91c7054cd46eef9d54a5307a13687e3c68b (diff)
downloadFreeBSD-src-78786023896b76f48c8a7f6e7c8acb18229a3e0e.zip
FreeBSD-src-78786023896b76f48c8a7f6e7c8acb18229a3e0e.tar.gz
Rework the interrupt code and add support for interrupt filtering
(INTR_FILTER). This includes: o Save a pointer to the sapic structure and IRQ for every vector, so that we can quickly EOI, mask and unmask the interrupt. o Add locking to the sapic code now that we can reprogram a sapic on multiple CPUs at the same time. o Use u_int for the vector and IRQ. We only have 256 vectors, so using a 64-bit type for it is rather excessive. o Properly handle concurrent registration of a handler for the same vector. Since vectors have a corresponding priority, we should not map IRQs to vectors in a linear fashion, but rather pick a vector that has a priority in line with the interrupt type. This is left for later. The vector/IRQ interchange has been untangled as much as possible to make this easier. Approved by: re (blacket)
Diffstat (limited to 'sys/ia64/include/md_var.h')
-rw-r--r--sys/ia64/include/md_var.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ia64/include/md_var.h b/sys/ia64/include/md_var.h
index 864e6c9..e54ac9e 100644
--- a/sys/ia64/include/md_var.h
+++ b/sys/ia64/include/md_var.h
@@ -84,7 +84,7 @@ int ia64_highfp_drop(struct thread *);
int ia64_highfp_save(struct thread *);
void ia64_init(void);
void ia64_probe_sapics(void);
-int interrupt(uint64_t, struct trapframe *);
+int interrupt(u_int, struct trapframe *);
void map_gateway_page(void);
void map_pal_code(void);
void map_vhpt(uintptr_t);
OpenPOWER on IntegriCloud