As the Newbus API is huge, this section makes some effort at documenting it. More information to come in the next revision of this document.
src/sys/[arch]/[arch]
- Kernel code
for a specific machine architecture resides in this directory.
For example, the i386
architecture, or the
SPARC64
architecture.
src/sys/dev/[bus]
- device support
for a specific [bus]
resides in this
directory.
src/sys/dev/pci
- PCI bus support
code resides in this directory.
src/sys/[isa|pci]
- PCI/ISA device
drivers reside in this directory. The PCI/ISA bus support
code used to exist in this directory in FreeBSD version
4.0
.
devclass_t
- This is a type definition
of a pointer to a struct devclass
.
device_method_t
- This is the same as
kobj_method_t
(see
src/sys/kobj.h
).
device_t
- This is a type definition of
a pointer to a struct device
.
device_t
represents a device in the system.
It is a kernel object. See
src/sys/sys/bus_private.h
for
implementation details.
driver_t
- This is a type definition
which references struct driver
. The
driver
struct is a class of the
device
kernel object; it also holds data
private to the driver.
A device_state_t
type, which is
an enumeration, device_state
. It contains
the possible states of a Newbus device before and after the
autoconfiguration process.
This, and other documents, can be downloaded from http://ftp.FreeBSD.org/pub/FreeBSD/doc/
For questions about FreeBSD, read the
documentation before
contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.