diff options
author | peter <peter@FreeBSD.org> | 1999-08-22 19:52:51 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1999-08-22 19:52:51 +0000 |
commit | ef805d5021b9ffca8e36ae39b320ad1678ad1b98 (patch) | |
tree | 8c8c4f44c1f6df4d8bd50ea84f851f8d7aa85ce1 /sys | |
parent | a9f73d3ac89b95948d78d483804ebe2f1bc88359 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/amd64/amd64/fpu.c | 19 | ||||
-rw-r--r-- | sys/amd64/isa/npx.c | 19 | ||||
-rw-r--r-- | sys/i386/isa/npx.c | 19 |
3 files changed, 54 insertions, 3 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), diff --git a/sys/i386/isa/npx.c b/sys/i386/isa/npx.c index 6279e16..a99b567 100644 --- a/sys/i386/isa/npx.c +++ b/sys/i386/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), |