summaryrefslogtreecommitdiffstats
path: root/sys/dev/ppc/ppc.c
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2000-05-14 13:47:57 +0000
committerdfr <dfr@FreeBSD.org>2000-05-14 13:47:57 +0000
commit503e2bb45ec708ded388e6d0515415adea9c2a1e (patch)
tree03d0d17068c3220d01e03b0d2893c70b07a8ecd3 /sys/dev/ppc/ppc.c
parent1a749c1007b2262af1843c6417d514e940e6387e (diff)
downloadFreeBSD-src-503e2bb45ec708ded388e6d0515415adea9c2a1e.zip
FreeBSD-src-503e2bb45ec708ded388e6d0515415adea9c2a1e.tar.gz
Port ppc driver to alpha.
Submitted by: Andrew M. Miklic <miklic@ibm.net>
Diffstat (limited to 'sys/dev/ppc/ppc.c')
-rw-r--r--sys/dev/ppc/ppc.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/sys/dev/ppc/ppc.c b/sys/dev/ppc/ppc.c
index 53cb50d..f0aa95d 100644
--- a/sys/dev/ppc/ppc.c
+++ b/sys/dev/ppc/ppc.c
@@ -1764,7 +1764,31 @@ ppc_probe(device_t dev)
device_printf(dev, "cannot reserve I/O port range\n");
goto error;
}
- ppc->ppc_base = rman_get_start(ppc->res_ioport);
+
+ /* Assume we support the extended IO range of some ppc chipsets...*/
+
+ ppc->rid_extraio = 1;
+ ppc->res_extraio =
+ bus_alloc_resource(dev,
+ SYS_RES_IOPORT,
+ &ppc->rid_extraio,
+ 0,
+ ~0,
+ IO_LPTSIZE,
+ RF_ACTIVE);
+
+ /* If we cannot reserve the extra ports for the extended IO range,
+ indicate this with a non-threatening message (this is not an error,
+ so don't treat it as such)... */
+
+ if (ppc->res_extraio == 0) {
+
+ ppc->rid_extraio = 0;
+
+ device_printf(dev, "This ppc chipset does not support the extended I/O port range...no problem\n");
+}
+
+ ppc->ppc_base = rman_get_start(ppc->res_ioport);
ppc->ppc_flags = device_get_flags(dev);
OpenPOWER on IntegriCloud