John Baldwin
64de80195b
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 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
2015-02-06 16:09:01 +00:00
..
2013-05-09 00:04:59 +00:00
2015-01-22 11:12:42 +00:00
2014-08-20 16:05:15 +00:00
2011-11-19 14:10:16 +00:00
2011-12-16 10:56:16 +00:00
2012-11-11 23:25:47 +00:00
2011-12-27 21:36:31 +00:00
2013-05-12 04:05:01 +00:00
2013-06-25 18:44:15 +00:00
2014-02-05 18:13:27 +00:00
2013-10-18 11:25:08 +00:00
2015-01-04 15:26:02 +00:00
2014-10-24 20:02:44 +00:00
2013-08-30 07:37:45 +00:00
2012-05-22 10:59:26 +00:00
2013-06-08 13:27:57 +00:00
2012-05-25 20:33:34 +00:00
2014-10-22 01:35:30 +00:00
2013-03-23 16:55:07 +00:00
2014-10-20 18:09:33 +00:00
2014-03-11 10:13:06 +00:00
2014-10-30 16:26:17 +00:00
2014-11-23 12:01:52 +00:00
2014-12-13 16:02:37 +00:00
2014-03-18 01:40:25 +00:00
2015-02-06 16:09:01 +00:00
2012-12-20 00:34:54 +00:00
2015-01-22 11:12:42 +00:00
2014-03-16 21:05:00 +00:00
2013-09-05 00:09:56 +00:00
2015-01-23 21:07:08 +00:00
2015-02-04 20:55:21 +00:00
2012-01-15 13:23:18 +00:00
2013-04-19 20:03:51 +00:00
2013-03-04 12:20:48 +00:00
2015-01-29 19:55:33 +00:00
2014-07-02 13:24:21 +00:00
2014-10-23 12:38:05 +00:00
2014-12-31 10:00:43 +00:00
2013-10-15 10:05:37 +00:00
2014-06-20 13:13:38 +00:00
2015-01-08 15:53:13 +00:00
2013-10-16 09:12:40 +00:00
2014-11-06 04:13:28 +00:00
2015-01-06 05:28:37 +00:00
2015-01-09 19:37:12 +00:00
2013-08-07 00:00:48 +00:00
2014-11-06 14:39:04 +00:00
2014-12-23 15:38:19 +00:00
2012-01-15 13:23:18 +00:00
2014-07-07 00:27:09 +00:00
2015-01-02 15:36:29 +00:00
2015-01-02 15:36:29 +00:00
2015-01-21 01:12:21 +00:00
2013-05-04 19:07:22 +00:00
2014-11-16 01:18:41 +00:00
2015-01-27 17:33:18 +00:00
2013-10-21 16:44:53 +00:00
2014-08-08 22:30:41 +00:00
2013-04-02 05:30:41 +00:00
2015-01-05 00:50:16 +00:00
2014-04-17 21:29:22 +00:00
2014-09-28 11:32:46 +00:00
2014-11-11 20:32:46 +00:00
2014-11-13 21:47:43 +00:00
2014-07-07 00:27:09 +00:00
2014-07-04 15:55:32 +00:00
2014-10-18 22:15:11 +00:00
2014-08-18 23:45:40 +00:00
2012-05-21 02:30:22 +00:00
2012-06-28 07:37:46 +00:00
2014-04-08 22:12:01 +00:00
2014-11-21 20:53:17 +00:00
2014-09-04 21:31:25 +00:00
2014-09-17 17:33:22 +00:00
2012-10-22 02:59:55 +00:00
2015-01-28 21:08:09 +00:00
2011-07-17 08:19:19 +00:00
2012-12-10 23:12:51 +00:00
2014-05-06 10:53:51 +00:00
2015-01-07 01:01:39 +00:00
2014-08-18 23:45:40 +00:00
2011-11-15 20:11:03 +00:00
2014-09-22 16:20:47 +00:00
2013-12-02 22:34:47 +00:00
2013-12-02 22:34:47 +00:00
2013-09-05 00:09:56 +00:00
2014-12-12 19:56:36 +00:00
2015-01-03 18:09:53 +00:00
2014-07-02 08:49:06 +00:00
2014-11-29 17:29:30 +00:00
2014-12-13 21:00:10 +00:00
2014-11-02 13:10:31 +00:00
2011-12-12 23:29:32 +00:00
2014-06-28 03:56:17 +00:00
2014-07-11 13:58:48 +00:00
2015-01-14 23:44:00 +00:00
2011-11-18 03:05:20 +00:00
2013-12-04 07:38:23 +00:00
2013-02-12 16:57:20 +00:00
2014-10-18 12:28:51 +00:00
2013-06-15 10:38:31 +00:00
2015-01-15 00:46:30 +00:00
2014-12-08 16:48:57 +00:00
2013-09-02 19:49:18 +00:00
2012-03-19 00:36:32 +00:00
2014-12-13 21:00:10 +00:00
2013-09-05 00:09:56 +00:00
2015-02-05 00:12:21 +00:00
2014-01-20 20:56:09 +00:00
2014-02-10 19:47:14 +00:00
2013-12-28 21:31:58 +00:00
2014-05-02 00:52:13 +00:00
2015-01-28 16:08:07 +00:00
2014-01-07 14:03:42 +00:00
2012-03-28 20:58:30 +00:00
2014-11-13 05:26:14 +00:00
2011-09-16 13:58:51 +00:00
2015-01-18 15:13:11 +00:00
2015-01-31 02:15:16 +00:00
2015-01-18 15:13:11 +00:00
2014-07-30 00:28:29 +00:00
2014-11-30 13:24:21 +00:00
2012-02-11 14:49:25 +00:00
2013-06-18 02:57:56 +00:00
2014-11-23 08:25:44 +00:00
2014-10-30 21:21:53 +00:00
2013-08-15 20:19:17 +00:00
2012-10-26 16:01:08 +00:00
2014-02-05 18:13:27 +00:00
2013-10-21 16:44:53 +00:00
2014-11-26 14:10:00 +00:00
2014-07-16 22:18:19 +00:00
2014-12-13 21:00:10 +00:00
2014-12-13 21:00:10 +00:00
2014-07-28 07:20:22 +00:00
2013-07-24 09:45:31 +00:00
2014-09-02 23:43:06 +00:00
2014-04-28 13:42:41 +00:00
2011-08-25 15:51:54 +00:00
2014-12-21 05:07:11 +00:00
2014-11-03 13:14:34 +00:00
2014-08-20 08:02:38 +00:00
2014-01-13 04:41:08 +00:00
2012-03-26 19:12:09 +00:00
2015-01-18 15:03:26 +00:00
2014-09-22 19:14:27 +00:00
2012-05-22 08:33:14 +00:00
2015-01-08 15:53:13 +00:00
2014-11-30 13:24:21 +00:00
2014-11-11 20:32:46 +00:00
2014-11-12 09:57:15 +00:00
2014-08-29 18:02:58 +00:00
2011-06-29 08:32:37 +00:00
2011-11-16 19:06:55 +00:00
2015-01-23 21:07:08 +00:00
2014-04-01 14:46:11 +00:00
2012-06-24 04:15:58 +00:00
2014-12-13 21:00:10 +00:00
2015-01-23 21:08:24 +00:00
2015-01-23 21:08:24 +00:00
2015-01-23 21:07:08 +00:00
2014-11-06 08:12:34 +00:00
2014-11-01 22:36:40 +00:00
2013-04-09 16:16:34 +00:00
2015-01-23 21:08:24 +00:00
2015-02-05 19:17:37 +00:00
2014-05-24 20:37:15 +00:00
2014-11-01 17:05:15 +00:00
2014-12-21 05:07:11 +00:00
2014-04-02 15:56:11 +00:00
2011-12-24 01:32:01 +00:00
2011-11-21 13:34:29 +00:00
2015-01-05 20:44:44 +00:00
2014-09-19 07:44:49 +00:00
2015-01-24 12:43:36 +00:00
2013-12-18 12:50:43 +00:00
2012-02-06 18:15:46 +00:00
2013-04-09 16:16:34 +00:00
2011-07-02 13:54:20 +00:00
2014-02-05 18:13:27 +00:00
2013-09-05 00:09:56 +00:00
2015-01-31 21:43:46 +00:00
2014-11-05 02:08:37 +00:00
2013-09-16 06:25:54 +00:00
2014-10-24 20:02:44 +00:00
2013-02-01 15:32:20 +00:00
2012-08-17 02:26:31 +00:00
2014-03-13 18:42:12 +00:00
2014-11-06 08:12:34 +00:00
2013-07-24 04:24:21 +00:00
2015-01-20 03:54:30 +00:00
2013-06-28 03:51:20 +00:00
2014-03-22 10:26:09 +00:00
2014-12-21 13:32:07 +00:00
2012-05-25 20:33:34 +00:00
2013-08-11 14:15:01 +00:00
2013-02-27 19:03:31 +00:00