64de80195b
allows the user to request administrative changes to individual devices such as attach or detaching drivers or disabling and re-enabling devices. - Add a new /dev/devctl2 character device which uses ioctls for device requests. The ioctls use a common 'struct devreq' which is somewhat similar to 'struct ifreq'. - The ioctls identify the device to operate on via a string. This string can either by the device's name, or it can be a bus-specific address. (For unattached devices, a bus address is the only way to locate a device.) Bus drivers register an eventhandler to claim unrecognized device names that the driver recognizes as a valid address. Two buses currently support addresses: ACPI recognizes any device in the ACPI namespace via its full path starting with "\" and the PCI bus driver recognizes an address specification of 'pci[<domain>:]<bus>:<slot>:<func>' (identical to the PCI selector strings supported by pciconf). - To make it easier to cut and paste, change the PnP location string in the PCI bus driver to output a full PCI selector string rather than 'slot=<slot> function=<func>'. - Add a devctl(3) interface in libdevctl which provides a wrapper around the ioctls and is the preferred interface for other userland code. - Add a devctl(8) program which is a simple wrapper around the requests supported by devctl(3). - Add a device_is_suspended() function to check DF_SUSPENDED. - Add a resource_unset_value() function that can be used to remove a hint from the kernel environment. This is used to clear a hint.<driver>.<unit>.disabled hint when re-enabling a boot-time disabled device. Reviewed by: imp (parts) Requested by: imp (changing PCI location string) Relnotes: yes |
||
---|---|---|
.. | ||
atf.test.mk | ||
bsd.arch.inc.mk | ||
bsd.compiler.mk | ||
bsd.cpu.mk | ||
bsd.crunchgen.mk | ||
bsd.dep.mk | ||
bsd.doc.mk | ||
bsd.dtb.mk | ||
bsd.endian.mk | ||
bsd.files.mk | ||
bsd.incs.mk | ||
bsd.info.mk | ||
bsd.init.mk | ||
bsd.kmod.mk | ||
bsd.lib.mk | ||
bsd.libnames.mk | ||
bsd.links.mk | ||
bsd.man.mk | ||
bsd.mkopt.mk | ||
bsd.nls.mk | ||
bsd.obj.mk | ||
bsd.opts.mk | ||
bsd.own.mk | ||
bsd.port.mk | ||
bsd.port.options.mk | ||
bsd.port.post.mk | ||
bsd.port.pre.mk | ||
bsd.port.subdir.mk | ||
bsd.prog.mk | ||
bsd.progs.mk | ||
bsd.README | ||
bsd.snmpmod.mk | ||
bsd.subdir.mk | ||
bsd.symver.mk | ||
bsd.sys.mk | ||
bsd.test.mk | ||
Makefile | ||
netbsd-tests.test.mk | ||
plain.test.mk | ||
src.libnames.mk | ||
src.opts.mk | ||
src.sys.mk | ||
suite.test.mk | ||
sys.mk | ||
tap.test.mk | ||
version_gen.awk |