This is a preliminary patch which I'd thought I'd get your opinion on.
A new paramater has been added to um_request_irq (int events) which modules
can use to register for a particular set of events. These will mostly
be the POLL BANDS supported by <fcntl> (POLL_IN, POLL_OUT etc.).
I have a slightly modified version on this patch in which modules can
register for interupts on things other than only fd's (eg. certain hw
events - which I'm testing), but I thought I'd
solicit some comments on this one before I go ahead any further.
First, a few observations about the patch for the terminal flow control bug,
this off as a proper fix (which is not part of this patch for the following
a) I was wrongly using the vc driver in console.c as a reference to adapt
the uml stdio_console to - I should've been looking at the pts driver...
UML works with the vc drivers, since it never blocks and there's no buffering.
a) The pty drivers (and also the serial driver) don't support POLL_OUTs
through SIGIO. Which means that the stdio_writer cannot use this
mechanism to wake up EWOULDBLOCK'd processes. Any suggestions on how to
Part2 of the patch [stdio, chan_kern] works when I modify n_tty.c
and pty, serial.c to support POLL_OUT SIGIOs when they become writable
again [I've been using this on my 2.4.17-um kernel and it works].
Do you have any suggestions on how this can be tackled??