summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1999-08-22 19:52:51 +0000
committerpeter <peter@FreeBSD.org>1999-08-22 19:52:51 +0000
commitef805d5021b9ffca8e36ae39b320ad1678ad1b98 (patch)
tree8c8c4f44c1f6df4d8bd50ea84f851f8d7aa85ce1 /sys/amd64
parenta9f73d3ac89b95948d78d483804ebe2f1bc88359 (diff)
downloadFreeBSD-src-ef805d5021b9ffca8e36ae39b320ad1678ad1b98.zip
FreeBSD-src-ef805d5021b9ffca8e36ae39b320ad1678ad1b98.tar.gz
Add an identify method to allow npx to arrange itself to be attached to
the nexus without explicit code in the nexus to do so.
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/fpu.c19
-rw-r--r--sys/amd64/isa/npx.c19
2 files changed, 36 insertions, 2 deletions
diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c
index 6279e16..a99b567 100644
--- a/sys/amd64/amd64/fpu.c
+++ b/sys/amd64/amd64/fpu.c
@@ -32,7 +32,7 @@
* SUCH DAMAGE.
*
* from: @(#)npx.c 7.2 (Berkeley) 5/12/91
- * $Id: npx.c,v 1.74 1999/07/25 13:16:09 cracauer Exp $
+ * $Id: npx.c,v 1.75 1999/07/26 05:47:31 cracauer Exp $
*/
#include "npx.h"
@@ -123,6 +123,7 @@ typedef u_char bool_t;
static int npx_attach __P((device_t dev));
void npx_intr __P((void *));
+static void npx_identify __P((driver_t *driver, device_t parent));
static int npx_probe __P((device_t dev));
static int npx_probe1 __P((device_t dev));
#ifdef I586_CPU
@@ -187,6 +188,21 @@ __asm(" \n\
#endif /* SMP */
/*
+ * Identify routine. Create a connection point on our parent for probing.
+ */
+static void
+npx_identify(driver, parent)
+ driver_t *driver;
+ device_t parent;
+{
+ device_t child;
+
+ child = BUS_ADD_CHILD(parent, 0, "npx", 0);
+ if (child == NULL)
+ panic("npx_identify");
+}
+
+/*
* Probe routine. Initialize cr0 to give correct behaviour for [f]wait
* whether the device exists or not (XXX should be elsewhere). Set flags
* to tell npxattach() what to do. Modify device struct if npx doesn't
@@ -888,6 +904,7 @@ timezero(funcname, func)
static device_method_t npx_methods[] = {
/* Device interface */
+ DEVMETHOD(device_identify, npx_identify),
DEVMETHOD(device_probe, npx_probe),
DEVMETHOD(device_attach, npx_attach),
DEVMETHOD(device_detach, bus_generic_detach),
diff --git a/sys/amd64/isa/npx.c b/sys/amd64/isa/npx.c
index 6279e16..a99b567 100644
--- a/sys/amd64/isa/npx.c
+++ b/sys/amd64/isa/npx.c
@@ -32,7 +32,7 @@
* SUCH DAMAGE.
*
* from: @(#)npx.c 7.2 (Berkeley) 5/12/91
- * $Id: npx.c,v 1.74 1999/07/25 13:16:09 cracauer Exp $
+ * $Id: npx.c,v 1.75 1999/07/26 05:47:31 cracauer Exp $
*/
#include "npx.h"
@@ -123,6 +123,7 @@ typedef u_char bool_t;
static int npx_attach __P((device_t dev));
void npx_intr __P((void *));
+static void npx_identify __P((driver_t *driver, device_t parent));
static int npx_probe __P((device_t dev));
static int npx_probe1 __P((device_t dev));
#ifdef I586_CPU
@@ -187,6 +188,21 @@ __asm(" \n\
#endif /* SMP */
/*
+ * Identify routine. Create a connection point on our parent for probing.
+ */
+static void
+npx_identify(driver, parent)
+ driver_t *driver;
+ device_t parent;
+{
+ device_t child;
+
+ child = BUS_ADD_CHILD(parent, 0, "npx", 0);
+ if (child == NULL)
+ panic("npx_identify");
+}
+
+/*
* Probe routine. Initialize cr0 to give correct behaviour for [f]wait
* whether the device exists or not (XXX should be elsewhere). Set flags
* to tell npxattach() what to do. Modify device struct if npx doesn't
@@ -888,6 +904,7 @@ timezero(funcname, func)
static device_method_t npx_methods[] = {
/* Device interface */
+ DEVMETHOD(device_identify, npx_identify),
DEVMETHOD(device_probe, npx_probe),
DEVMETHOD(device_attach, npx_attach),
DEVMETHOD(device_detach, bus_generic_detach),
OpenPOWER on IntegriCloud