From b4dffffe2d78dbce579342d3b7bfb7f7b9561529 Mon Sep 17 00:00:00 2001 From: msmith Date: Fri, 23 Jun 2000 08:18:53 +0000 Subject: Add a stub driver to consume the PnP "system resource" items, and hide them in the !bootverbose case. --- sys/amd64/amd64/legacy.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ sys/amd64/amd64/nexus.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) (limited to 'sys/amd64') 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 #endif +#include #ifdef PC98 #include #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 #endif +#include #ifdef PC98 #include #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); -- cgit v1.1