aboutsummaryrefslogtreecommitdiff
path: root/sys/pc98
diff options
context:
space:
mode:
authorKATO Takenori <kato@FreeBSD.org>2000-06-06 08:12:17 +0000
committerKATO Takenori <kato@FreeBSD.org>2000-06-06 08:12:17 +0000
commit031491c0a6a2ea9417fc0e5bb328b2bd16721e0b (patch)
treedfb3738fbb041d4674b4112cbf04f8be6bcf69e3 /sys/pc98
parent6a1eaeca35cd737663859a8e0cc06bbade9b5500 (diff)
Notes
Diffstat (limited to 'sys/pc98')
-rw-r--r--sys/pc98/pc98/npx.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/sys/pc98/pc98/npx.c b/sys/pc98/pc98/npx.c
index 10184cf4cd78..b676e1152aaa 100644
--- a/sys/pc98/pc98/npx.c
+++ b/sys/pc98/pc98/npx.c
@@ -79,6 +79,7 @@
#include <i386/isa/isa.h>
#endif
#endif
+#include <isa/isavar.h>
/*
* 387 and 287 Numeric Coprocessor Extension (NPX) Driver.
@@ -1003,3 +1004,46 @@ static devclass_t npx_devclass;
* doesn't describe the processor as being `on isa'.
*/
DRIVER_MODULE(npx, nexus, npx_driver, npx_devclass, 0, 0);
+
+/*
+ * This sucks up the legacy ISA support assignments from PNPBIOS.
+ */
+static struct isa_pnp_id npxisa_ids[] = {
+ { 0x040cd041, "Legacy ISA coprocessor support" }, /* PNP0C04 */
+ { 0 }
+};
+
+static int
+npxisa_probe(device_t dev)
+{
+ return (ISA_PNP_PROBE(device_get_parent(dev), dev, npxisa_ids));
+}
+
+static int
+npxisa_attach(device_t dev)
+{
+ return (0);
+}
+
+static device_method_t npxisa_methods[] = {
+ /* Device interface */
+ DEVMETHOD(device_probe, npxisa_probe),
+ DEVMETHOD(device_attach, npxisa_attach),
+ DEVMETHOD(device_detach, bus_generic_detach),
+ DEVMETHOD(device_shutdown, bus_generic_shutdown),
+ DEVMETHOD(device_suspend, bus_generic_suspend),
+ DEVMETHOD(device_resume, bus_generic_resume),
+
+ { 0, 0 }
+};
+
+static driver_t npxisa_driver = {
+ "npxisa",
+ npxisa_methods,
+ 1, /* no softc */
+};
+
+static devclass_t npxisa_devclass;
+
+DRIVER_MODULE(npxisa, isa, npxisa_driver, npxisa_devclass, 0, 0);
+