Date: Wed, 10 May 2000 18:35:00 -0400 (EDT)
From: Rich Bryant <rfb6435@osfmail.isc.rit.edu>
Thanks for the response(Both Ted and Steve) I agree that changing the
kernel isn't something easy and I am being asked to make or atleast look
into some very major changes in order to fit a linux system into a very
small system.
How small is small in this case?
The fact that the drivers support multiple devices also makes it hard
to know what I need and what I don't. The goal of my whole project is to
create a version of Linux(preferebly Real Time) for an embedded board. The
board is for educational use and the way the Kernel is organized is very
forbidding to someone who only wants to look at specific areas and
understand them. The fact that the board has limited hardware makes it an
even greater challenge. I have no need for the majority of the drivers and
in many cases large portions of the drivers I do need.
The whole point of the #ifdef's is so that you can easily create a
slimmed down version of the serial driver --- without having to edit
down the code; you just set a couple of #define's, and that's it.
As far as supporting multiple devices, serial.c supports 16550 and
upwardly compatible UART's. The code to support the extra UART's is
actually fairly small; and unless you're trying to shave off bytes, it's
likely not really worth it. Most of the time, support for the extra
uart's are in the setup or teardown code. And if you really want to get
rid of that, it's usually well encased in
if (info->state->type == xxxx) {
...
}
blocks.
You can probably also shrink the code by axing the autoirq code, and the
uart autoconfiguration code. Both of these are fairly well isolated.
You can also drop the timer code, although then you lose protection
against dropped interrupts causing your serial driver to lock up.
Basically, a quick exercise with dropping obvious subssytem allowed me
half the size of the serial driver.
But then again, I don't what kind of sizing requirements you're up
against, and how much functionality you're preparied to suffer to come
in under those sizing guidelines.
- Ted
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:16 EST