summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-12-19 22:05:07 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-12-19 22:05:07 +0000
commit0255bd8fe63cfd7bd3bf0506db8c29a1a9e02e66 (patch)
treee28de156abef3976ff7eb288c1b1b697a2e523a2 /bin
parentd746971c0c409e53e144c6c06e07d8594cd805ec (diff)
Overhaul interrupt handling, in order to make it (arguably) simpler and
more board design-independent. The main changes are: - define logical interrupt sources, which match the on-board devices as well as the seven VME interrupt sources. Use these whenever possible when registering interrupts in the drivers, so that the actual interrupt mask layouts are hidden. - make the on-board and VME interrupt handlers separate. On-board interrupt handlers are not really associated to an interrupt vector, only to a given interrupt source, and only one handler can be registered for a logical interrupt source. On the other hand, VME interrupts come with a vector number, and can be shared. This allows VME devices to really use the whole 256 vectors space, starting at vector zero. - update the real interrupt masks upon interrupt handler registration and removal, so that only interrupt sources for which a handler exists may be enabled. - update the VME interrupt allocation logic to allow exclusive vector allocation. - move the Z8536 clock routines to their own file, since they are not AV400-specific; while there, calibrate the delay constant upon startup for more accurate delay(). The vme driver is the only one left with AV400 tentacles left, to be fixed very soon.
Diffstat (limited to 'bin')
0 files changed, 0 insertions, 0 deletions