[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: oskit driver for i8042 keyboard controller
From: |
Thomas Bushnell, BSG |
Subject: |
Re: oskit driver for i8042 keyboard controller |
Date: |
08 Nov 2002 21:20:21 -0800 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Roland McGrath <roland@frob.com> writes:
> Anyway, this kind of question is for the device manager thingie to worry
> about in the long run. Conceptually, the kernel should not be thinking
> about peripheral hardware, and the device interfaces in oskit-mach are just
> a makeshift solution putting in the kernel what only works in the kernel
> right now, and a Hurdish user-level layer should cover the ugly innards.
Of course it belongs not in the kernel.
The interesting problems happen regardless of which piece of software
is doing the task, however.
> > It also prevents the auto-detection of interrupt number, doesn't it?
> > You'd have to turn off all other interrupts, and tickle the device.
>
> This is the business of the driver to figure out, in the oskit interfaces.
> It doesn't really have to turn off all interrupts, it can just install its
> special probe interrupt handler on all the canditate irqs that are not
> already taken by other devices that won't share.
Well, on a Vax at least, you could usually jumper any device to
interrupt on any IRQ you liked. On a Microvax typical devices had a
smaller but still fairly configurable range.
On a PC, it's usually much more limited, but sharing is *very*
important. So how do you handle that? It seems like you still will
have to turn off any device that might conflict. It won't be the
whole bus like a Vax, but it will still be something.
> In practice, the probe always happens very early. The first time a
> device_open is done for the root disk, that probes the root bus and that
> recurses on the busses for controllers it finds and so forth.
Hrm. Sure, that's fine for the main hard disk. But what about some
occasionally-used peripheral? The first time I open the CD writer
which lives on its own IDE controller: I don't want that to cause the
whole system to pause for a second.
And worse yet, I fear, is when you try to open a device that isn't
there, but you don't get I/O errors when you poke at at: then you have
to time out waiting for the interrupt.
- Re: oskit driver for i8042 keyboard controller, Marcus Brinkmann, 2002/11/06
- Re: oskit driver for i8042 keyboard controller, Marcus Brinkmann, 2002/11/07
- Re: oskit driver for i8042 keyboard controller, Roland McGrath, 2002/11/07
- Re: oskit driver for i8042 keyboard controller, Marcus Brinkmann, 2002/11/08
- Re: oskit driver for i8042 keyboard controller, Roland McGrath, 2002/11/08
- Re: oskit driver for i8042 keyboard controller, Thomas Bushnell, BSG, 2002/11/08
- Re: oskit driver for i8042 keyboard controller, Roland McGrath, 2002/11/08
- Re: oskit driver for i8042 keyboard controller,
Thomas Bushnell, BSG <=
- Re: oskit driver for i8042 keyboard controller, Roland McGrath, 2002/11/09
- Re: oskit driver for i8042 keyboard controller, Thomas Bushnell, BSG, 2002/11/09
- Re: oskit driver for i8042 keyboard controller, Roland McGrath, 2002/11/09
- Re: oskit driver for i8042 keyboard controller, Thomas Bushnell, BSG, 2002/11/09
- Re: oskit driver for i8042 keyboard controller, Roland McGrath, 2002/11/09
- Re: oskit driver for i8042 keyboard controller, Marcus Brinkmann, 2002/11/08
- Re: oskit driver for i8042 keyboard controller, Roland McGrath, 2002/11/08
- Re: oskit driver for i8042 keyboard controller, Marcus Brinkmann, 2002/11/08
- Re: oskit driver for i8042 keyboard controller, Roland McGrath, 2002/11/08
- Re: oskit driver for i8042 keyboard controller, Marcus Brinkmann, 2002/11/09