diff options
author | marcel <marcel@FreeBSD.org> | 2007-07-30 22:29:33 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2007-07-30 22:29:33 +0000 |
commit | 78786023896b76f48c8a7f6e7c8acb18229a3e0e (patch) | |
tree | 3beca60cdded8a7ab5493243c2a72bb5577a5f53 /sys/conf/options.ia64 | |
parent | 8fddc91c7054cd46eef9d54a5307a13687e3c68b (diff) | |
download | FreeBSD-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/conf/options.ia64')
0 files changed, 0 insertions, 0 deletions