Subject: More i386 kernel changes
To: None <current-users@sun-lamp.cs.berkeley.edu>
From: Charles Hannum <mycroft@duality.gnu.ai.mit.edu>
List: current-users
Date: 04/07/1994 03:46:58
I've just committed another batch of changes to the i386 code. Once
again, this requires updating (and rerunning) config(8) and rebuilding
your kernels from scratch.
Highlights:
* IRQ configuration is now completely dynamic. Device drivers are
responsible for registering their interrupt handlers using the
intr_establish() function. There are plenty of examples, and it's
really simple, so I won't bother to explain it here.
The `bio', `net', `tty', and `vector [mumble]' tokens in the config
file are now ignored, but still accepted.
I haven't yet implemented deregistration (for loadable drivers), but
this is fairly trivial.
* IRQs can be shared between any number and type of devices. THIS IS
STRONGLY DISCOURAGED. I WILL NOT BE RESPONSIBLE FOR ANY HARDWARE
DAMAGED BY DOING THIS. But, there is some hardware which specifically
allows it, and `I just provide the gun'. Use at your own risk. Your
milage may vary.
* spl*() calls are inlined. This gives a small but measurable
speedup.
* All that yucky assembler code is much more readable, and has lots of
comments explaining what it does.
------------------------------------------------------------------------------