Messages in this thread | | | Subject | NEW! Linux Kernel Configuration Manager | Date | Mon, 14 Apr 1997 18:18:48 +0100 | From | David Howells <> |
| |
I now have a patch for the Linux kernel (albeit 2.1.29 at the moment) to give the kernel a extensive configuration manager. See my web pages at:
http://www.nexor.co.uk/~dwh/
for the patch and an HTML version of the manual.
This was developed from PnP4kernel
Here's a quick overview of the features:
*** Resource Management It takes over the old resource management facilities, and provides both the old API and a new one. In this context, resources are such as interrupts, DMA channels, ioports and memory locations. These facilities can also be extended to cover other things, such as serial port PnP device resources (such as external modems). To make life easier for kernel programmers, there is now an API call to reconfigure the function & data associated with an interrupt.
*** Driver Management A registry is maintained of the drivers currently installed on the system. This allows a pretty list to be presented through /proc, and allows all devices to be automatically attached to drivers.
*** Driver Specification & Default Device Configuration A mechanism is used to indicate to the manager which devices a driver can attach to (by specific ID or by generic classes), and another side mechanism is provided to build a default device from a template, just in case there isn't a real PnP one. This mechanism is used to handle the Interrupt controller, DMA controller, Timer and FPU devices/drivers.
*** Device Management
A device registry is also maintained. Various hardware interface components (such as PnP-BIOS, ISA-PnP, PCI) can contribute and withdraw device to/from the registry. As devices are added, the manager tries to attach the device to a driver, and as devices are removed, the drivers are told to detach.
*** Configuration Management If necessary, the manager will reconfigure those devices that support reconfiguration (if the drivers they are attached to allow it) to try and iron out hardware conflicts as new devices are added.
*** User Interface There is a fairly simple user interface implemented through the /proc filesystem. It does two things:
Makes a lot more information available about which devices/drivers are using which resources, and which devices are being handled by which drivers.
Allows the user to reconfigure devices - the user can specify constraints for particular resources on a device, and the manager will try and obtain that configuration (if necessary, it will reconfigure other devices).
*** Manual There's a large texinfo manual provided that documents all of this (texinfo can be used to generate info files for use with emacs-info). The manual can also be turned into HTML using an appropriate utility (eg: texi2html).
David Howells dwh@nexor.co.uk
| |