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 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 for 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.