From imp@bsdimp.com Sat Jan  9 16:45:38 2016
Date: Sat, 9 Jan 2016 16:45:34 -0500
From: Warner Losh <imp@bsdimp.com>
To: monthly@freebsd.org
Subject: pnp report (last one)

<!-- Mail as an attachment to: monthly@freebsd.org -->
<project cat='kern'>
  <title>Minimal kernel with PNP-based autoloading</title>

  <contact>
    <person>
      <name>
        <given>Warner</given>
        <common>Losh</common>
      </name>
      <email>imp@freebsd.org</email>
    </person>
  </contact>

  <links></links>

  <body>
    <p>
      <p>Work on automatically loading modules based on the plug and
play data from devices that are scanned and found not to have a driver
progresses. Digging this information out from the kernel modules, as
well as tagging relevant bits of driver tables has been committed. PC
Card, USB and some PCI devices now have these markings. This data is
stored in a file that the kernel, boot loader and user land processes
all have access to.</p>

      <p>When complete, a user can run a minimal kernel (currently
checked in as MINIMAL config). Devices necessary for booting will be
loaded by loader(8). Other devices may be loaded there, or early in
the boot (depending on which gives better performance). Users will
still be able to run more "monolithic" configurations, as well as
limit kernel modules as today, though without the convenience that
automatic loading will provide. This work is ongoing.</p>
    </p>
  </body>

  <help>
    <task>
      Need to go through all the simplebus drivers and add this
information there. Some additional minor simplebus functionality is
needed. There is some work in progress for this.
    </task>
    <task>
      Need to go through all the PCI drivers and add this information
to them. Unlike PC Card or USB, the PCI bus doesn't have a stylized
table of PCI Ids, which each driver inventing its own method, so the
semi-mechanical conversion done with PC Card and USB will not be
possible. Instead, customized code for each one will be needed. Since
a large number of them have their own device tables, the work will be
primarily writing a description of the current table style.
    </task>
    <task>
      Run time parsing and loading is still needed.
    </task>
  </help>
</project>
