05de7f1543
Add devctl(8): a utility for manipulating new-bus devices. Note that this version does not include the 'suspend' and 'resume' commands present in HEAD as those depend on larger changes to the suspend and resume code in the kernel. 278320: Add a new device control utility for new-bus devices called devctl. This 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 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. 278336: Unbreak the build (memchr is explicitly required by devctl(9) after r278320) 278830: install the man page... 285621: Fix formatting. Approved by: re (marius) |
||
---|---|---|
.. | ||
dtb.mk | ||
files | ||
files.amd64 | ||
files.arm | ||
files.i386 | ||
files.ia64 | ||
files.mips | ||
files.pc98 | ||
files.powerpc | ||
files.sparc64 | ||
kern.mk | ||
kern.post.mk | ||
kern.pre.mk | ||
kmod_syms.awk | ||
kmod.mk | ||
ldscript.amd64 | ||
ldscript.arm | ||
ldscript.i386 | ||
ldscript.ia64 | ||
ldscript.mips | ||
ldscript.mips.cfe | ||
ldscript.mips.mips64 | ||
ldscript.mips.octeon1 | ||
ldscript.powerpc | ||
ldscript.powerpc64 | ||
ldscript.sparc64 | ||
Makefile.amd64 | ||
Makefile.arm | ||
Makefile.i386 | ||
Makefile.ia64 | ||
Makefile.mips | ||
Makefile.pc98 | ||
Makefile.powerpc | ||
Makefile.sparc64 | ||
makeLINT.mk | ||
makeLINT.sed | ||
newvers.sh | ||
NOTES | ||
options | ||
options.amd64 | ||
options.arm | ||
options.i386 | ||
options.ia64 | ||
options.mips | ||
options.pc98 | ||
options.powerpc | ||
options.sparc64 | ||
systags.sh | ||
WITHOUT_SOURCELESS | ||
WITHOUT_SOURCELESS_HOST | ||
WITHOUT_SOURCELESS_UCODE |