Thus spake SJ ([EMAIL PROTECTED]):

Hi!

> 1. "ioconf.c" contains struct config_resource and
>     config_device definitions for declarations in 
>     "config" file. But I noticed that for some devices
>      e.g. device          atadisk
>           device          atapicd
>           ...
>      the corresponding lines in ioconf.c are missing??

I think it's because ata is a self-identifying bus.
Not sure, though.  Are any PCI-only devices listed?

> 3. File naming question:
>    whats the reasoning behind having "bus.h" and 
>    "bus_private.h"....whats the significance of 
>    "private" here.

drivers include bus.h, kernel does also include bus_private.h

> 4. concept behind having devclasses...I know that   
>    devclasses for a particular bus holds devices and
>    device drivers for that bus. But then whats the  
>    need for defining a devclass for each driver we 
>    write ?

Because you can hold multpiple devices that are enumerated, e.g. xl0,
xl1, ...
The devclass is unique for each driver, but not for different busses.
You can have ed0 on ISA and ed1 on PCI for example, using the same
devclass.
If ISA and PCI subdrivers are using a different devclass, the
enumeration breaks.

> 5. Any poniters to literature which explains the 
>    design philosophy and code specific help for device
>    drivers in freebsd - I am referring to files 
>    kern/subr_bus.c, bus.h, bus_private.h, isa/* etc.

Use the source, luke :-)
Seriously, subr_bus.c is quite nice to read if you read it togethers
with, say, sys/pci/pci.c.
That makes the concept quite clear.

The developer's handbook might be worth reading for you, also there
are some tutorials on the website which explain a little.

Alex

-- 
cat: /home/alex/.sig: No such file or directory

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to