[lkml]   [1996]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread

    I propose creation of a "local_config.h" to permit individual
    sites a means to tailor the kernel to the specific hardware installed.
    Auto-probing mostly works, but there are cases where auto-probing not
    only doesn't work, but can never work.

    For example, one of my systems has an ATI Graphics Wonder video
    adapter and a modem card. Since the new motherboard had two builtin
    serial ports, I reconfigured the modem card to COM4, IRQ 5. Though
    '/proc/ioports' and '/proc/interrups' showed no conflict, life with
    linux got very strange. :-( 'Unexpected interrupt' messages often
    locked up the system and video blanking resulted in garbage characters
    instead of a blank screen.

    It turns out that ATI's adapter responds to ioports 0x2e8-0x2ef, an
    ill-documented 'feature'. These ioports are exactly the same ports used
    by the standard COM4 port. Auto-probing for COM4 was trying to 'detect'
    an uart on the video card! In addition, the modem card did respond to
    the probing, generating interrupts, but not the default IRQ3 but IRQ5.
    Note, the generic serial driver does NOT honor already-assigned
    ioports, as adding a 'request_region' call to the vga driver for the
    afore mentioned ports did not stop the serial driver from probing
    these addresses.

    If config.h included a 'local_config.h' as the last line (or 2nd-
    to-last-line), parameters could be declared to set addresses, IRQ's,
    and remove entries that are never used, e.g. multi-port serial card
    definitions when no such card exists. Since hardware configurations
    change much less freqently than the kernel, kernel patches could be
    applied without having to manually resolve lots of ".rej" files.
    Changes by kernel developers that affected 'local_config.h' would
    result in just one '.rej' file. This one file obviously would have to
    be reconciled manually, at task well worth the effort.

    While I expect a 'local_config.h' will not be a panacea for all
    configuration problems, it or something else is needed to reduce the
    number of unpleasant side-effects of auto-probing. Also, since
    hardware ports/IRQ's don't change often, entry of these values thru
    the 'make config' method would be a laborious effort that could be


    Howard C. Tyler | email:
    phn: (602)-866-9074 | 1KSPT: 13.96 exCOG 1741

     \ /
      Last update: 2005-03-22 13:36    [W:0.019 / U:4.996 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site