From 78786023896b76f48c8a7f6e7c8acb18229a3e0e Mon Sep 17 00:00:00 2001 From: marcel Date: Mon, 30 Jul 2007 22:29:33 +0000 Subject: 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) --- sys/ia64/include/md_var.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sys/ia64/include/md_var.h') 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); -- cgit v1.1