summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authormsmith <msmith@FreeBSD.org>2000-06-23 08:18:53 +0000
committermsmith <msmith@FreeBSD.org>2000-06-23 08:18:53 +0000
commitb4dffffe2d78dbce579342d3b7bfb7f7b9561529 (patch)
tree853aa7a239eb18148608f99617d99ae25fc41ccf /sys/amd64
parentdd93fd16a6696fe0c9c1b69539b2ac899c04978e (diff)
downloadFreeBSD-src-b4dffffe2d78dbce579342d3b7bfb7f7b9561529.zip
FreeBSD-src-b4dffffe2d78dbce579342d3b7bfb7f7b9561529.tar.gz
Add a stub driver to consume the PnP "system resource" items, and hide
them in the !bootverbose case.
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/legacy.c49
-rw-r--r--sys/amd64/amd64/nexus.c49
2 files changed, 98 insertions, 0 deletions
diff --git a/sys/amd64/amd64/legacy.c b/sys/amd64/amd64/legacy.c
index 5334d21..8a30770 100644
--- a/sys/amd64/amd64/legacy.c
+++ b/sys/amd64/amd64/legacy.c
@@ -62,6 +62,7 @@
#include <machine/mpapic.h>
#endif
+#include <isa/isavar.h>
#ifdef PC98
#include <pc98/pc98/pc98.h>
#else
@@ -455,3 +456,51 @@ nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih)
{
return (inthand_remove(ih));
}
+
+/*
+ * Placeholder which claims PnP 'devices' which describe system
+ * resources.
+ */
+static struct isa_pnp_id sysresource_ids[] = {
+ { 0x010cd041 /* PNP0c01 */, "System Memory" },
+ { 0x020cd041 /* PNP0c02 */, "System Resource" },
+ { 0 }
+};
+
+static int
+sysresource_probe(device_t dev)
+{
+ int result;
+
+ if ((result = ISA_PNP_PROBE(device_get_parent(dev), dev, sysresource_ids)) <= 0) {
+ device_quiet(dev);
+ }
+ return(result);
+}
+
+static int
+sysresource_attach(device_t dev)
+{
+ return(0);
+}
+
+static device_method_t sysresource_methods[] = {
+ /* Device interface */
+ DEVMETHOD(device_probe, sysresource_probe),
+ DEVMETHOD(device_attach, sysresource_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 sysresource_driver = {
+ "sysresource",
+ sysresource_methods,
+ 1, /* no softc */
+};
+
+static devclass_t sysresource_devclass;
+
+DRIVER_MODULE(sysresource, isa, sysresource_driver, sysresource_devclass, 0, 0);
diff --git a/sys/amd64/amd64/nexus.c b/sys/amd64/amd64/nexus.c
index 5334d21..8a30770 100644
--- a/sys/amd64/amd64/nexus.c
+++ b/sys/amd64/amd64/nexus.c
@@ -62,6 +62,7 @@
#include <machine/mpapic.h>
#endif
+#include <isa/isavar.h>
#ifdef PC98
#include <pc98/pc98/pc98.h>
#else
@@ -455,3 +456,51 @@ nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih)
{
return (inthand_remove(ih));
}
+
+/*
+ * Placeholder which claims PnP 'devices' which describe system
+ * resources.
+ */
+static struct isa_pnp_id sysresource_ids[] = {
+ { 0x010cd041 /* PNP0c01 */, "System Memory" },
+ { 0x020cd041 /* PNP0c02 */, "System Resource" },
+ { 0 }
+};
+
+static int
+sysresource_probe(device_t dev)
+{
+ int result;
+
+ if ((result = ISA_PNP_PROBE(device_get_parent(dev), dev, sysresource_ids)) <= 0) {
+ device_quiet(dev);
+ }
+ return(result);
+}
+
+static int
+sysresource_attach(device_t dev)
+{
+ return(0);
+}
+
+static device_method_t sysresource_methods[] = {
+ /* Device interface */
+ DEVMETHOD(device_probe, sysresource_probe),
+ DEVMETHOD(device_attach, sysresource_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 sysresource_driver = {
+ "sysresource",
+ sysresource_methods,
+ 1, /* no softc */
+};
+
+static devclass_t sysresource_devclass;
+
+DRIVER_MODULE(sysresource, isa, sysresource_driver, sysresource_devclass, 0, 0);
OpenPOWER on IntegriCloud