summaryrefslogtreecommitdiffstats
path: root/sys/boot/common/bootstrap.h
diff options
context:
space:
mode:
authormsmith <msmith@FreeBSD.org>1998-09-04 02:43:26 +0000
committermsmith <msmith@FreeBSD.org>1998-09-04 02:43:26 +0000
commitaa412001a9d7495154bc48d8d580c8efb3cbe7e9 (patch)
treee966169d03ee6604247111e0fee5f6562aba63c8 /sys/boot/common/bootstrap.h
parentcd489c519a109c93001769e1008a8a567608e6b8 (diff)
downloadFreeBSD-src-aa412001a9d7495154bc48d8d580c8efb3cbe7e9.zip
FreeBSD-src-aa412001a9d7495154bc48d8d580c8efb3cbe7e9.tar.gz
Generic plug-and-play enumerator infrastructure. Query supplied
enumerators, crossreference returned identifiers with a text-format database and automatically load corresponding modules and dependancies.
Diffstat (limited to 'sys/boot/common/bootstrap.h')
-rw-r--r--sys/boot/common/bootstrap.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/sys/boot/common/bootstrap.h b/sys/boot/common/bootstrap.h
index 770ecfd..0d7950c 100644
--- a/sys/boot/common/bootstrap.h
+++ b/sys/boot/common/bootstrap.h
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: bootstrap.h,v 1.2 1998/08/31 21:10:42 msmith Exp $
+ * $Id: bootstrap.h,v 1.3 1998/09/03 02:10:07 msmith Exp $
*/
#include <sys/types.h>
@@ -87,6 +87,29 @@ extern struct console *consoles[];
extern void cons_probe(void);
/*
+ * Plug-and-play enumerator/configurator interface.
+ */
+struct pnpinfo
+{
+ char *pi_ident; /* ASCII identifier, actual format varies with bus/handler */
+ int pi_revision; /* optional revision (or -1) if not supported */
+ char *pi_module; /* module/args nominated to handle device */
+ int pi_argc; /* module arguments */
+ char **pi_argv;
+ int pi_handler; /* handler which detected this device */
+ struct pnpinfo *pi_next;
+}
+
+struct pnphandler
+{
+ char *pp_name; /* handler/bus name */
+ struct pnpinfo *(pp_enumerate *)(int index); /* return a string identifying device (index) */
+};
+
+extern struct pnphandler *pnphandlers[]; /* provided by MD code */
+
+
+/*
* Module metadata header.
*
* Metadata are allocated on our heap, and copied into kernel space
OpenPOWER on IntegriCloud