The gnumach driver behaves like BSD drivers did ten years ago and more
(because that's where Mach evolved from).  In the 1990s it became common to
use the faster serial port speeds on PCs and this became a problem, so the
*BSD systems changed their drivers to have the interrupt handler put raw
data into a local buffer and do the higher-level processing via a software
interrupt so it would never delay interrupt responsiveness.

In gnumach, the higher level processing happens in the `ttyinput' function
(device/chario.c), and that is called from the interrupt handler (comintr).

The simple-buffer and software interrupt approach is also what the Linux
serial drivers do (in 2.2 and later, I haven't looked at old versions).

_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to