configurable device (and other) tables in the kernel ?
Julian Elischer
julian at elischer.org
Thu Feb 1 18:25:05 UTC 2007
Luigi Rizzo wrote:
> On Thu, Feb 01, 2007 at 11:09:12AM -0500, John Baldwin wrote:
>> On Wednesday 31 January 2007 14:51, Luigi Rizzo wrote:
> ...
>>> We have several tables in our kernel and modules,
>>> containing at least device-id tables (pci, usb),
>>> quirks for certain devices, and maybe more (i am excluding
> ...
>> Windows and MAC OS X both use plain text files to hold things like PCI device
>> IDs to match drivers to devices. OS X uses an XML file format that lets you
>
> plain text files!
>
> too obvious to think of it :)
>
> but, where can i find an example of a piece of kernel code that can
> read from a file "safely" (i.e. say in the modevent handler or maybe
> at device probe time) ?
> Something like
>
> char *load_file_into_kernel_memody(filename, max_size, &error);
>
> I have looked at the kernel side of execve and kldload, they are not
> exactly straightforward (at least there are seveal indirections).
> Maybe there are other simpler ones ?
>
>> list the PCI ID's a driver supports and the kernel auto-loads driver modules
>> by matching on PCI IDs. Many drivers can't be helped by this though, as they
>> use the device ID for for device-specific behavior (such as em(4) or
>> brgpy(4)).
I like the idea of specifying aliases..
"if you see XXXX then pretend you saw YYYY and treat it the same."
>
> well, that's a two-phase process, if you have the above table-based
> mechanism, the kernel (actually the bus driver i would say) can
> load the [device_id -> driver] table (or tables, assuming
> each driver has its own file) to select and load the
> correct driver, and then the driver itself could use the same
> mechanism to load a [device_id -> quirks] table for internal use ?
>
> cheers
> luigi
> _______________________________________________
> freebsd-arch at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe at freebsd.org"
More information about the freebsd-arch
mailing list