This project is being undertaken under the mentorship of FreeBSD organization. The goal of the project is to convert all the PCI drivers attachments to be table driven and mark with PNP_INFO. The devmatch infrastructure gives us a way to match up hardware with kernel modules that implement drivers that claim the hardware. The problem is that the drivers need some modification before devmatch can use them. Specifically, they need to have their device ID scans done via a table, and that table needs to be decorated with a PNP_INFO tag so the compiler and kld_xref extract the metadata that devmatch needs to do this job. As the PCI drivers are all over the place in terms of how they match device IDs work will be needed to move some of the in-line code to tables, some of the tables lookups may be able to move to standardized routines, etc. Trimming GENERIC to show that the drivers work is also required. There are about 243 such PCI drivers. grep -r 'DRIVER_MODULE., pci,' | wc is used to find out. The plan is to convert a significant portion of them and maintain a documentation of the conversion.

Organization

Student

Lakhan Kamireddy

Mentors

  • Chuck Tuffli
  • Warner Losh
close

2018