summaryrefslogtreecommitdiff
path: root/sys/arch/hp300/dev/isabr.c
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-01-14 17:54:46 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-01-14 17:54:46 +0000
commit70019943cfab56d99e5c2a63dba14ca74ab2497d (patch)
treed3442d01373a1f1dfa712d2de40473bb5d987ba6 /sys/arch/hp300/dev/isabr.c
parent31213fb9fdd775828166d875950d404df3d3ef2d (diff)
Move the isa bridge probe from isabr to frodo, so that frodo only attempts
to attach isabr if it really exists. This gets rid of ``isabr0 not configured'' messages on 425e.
Diffstat (limited to 'sys/arch/hp300/dev/isabr.c')
-rw-r--r--sys/arch/hp300/dev/isabr.c29
1 files changed, 2 insertions, 27 deletions
diff --git a/sys/arch/hp300/dev/isabr.c b/sys/arch/hp300/dev/isabr.c
index bd87f71378b..10459182fb3 100644
--- a/sys/arch/hp300/dev/isabr.c
+++ b/sys/arch/hp300/dev/isabr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: isabr.c,v 1.1 2007/01/06 20:17:43 miod Exp $ */
+/* $OpenBSD: isabr.c,v 1.2 2007/01/14 17:54:45 miod Exp $ */
/*
* Copyright (c) 2007 Miodrag Vallat.
@@ -68,8 +68,6 @@ int
isabr_match(struct device *parent, void *match, void *aux)
{
struct frodo_attach_args *fa = aux;
- vaddr_t va;
- int rv;
static int isa_matched = 0;
if (isa_matched != 0)
@@ -78,32 +76,9 @@ isabr_match(struct device *parent, void *match, void *aux)
if (strcmp(fa->fa_name, isabr_cd.cd_name) != 0)
return (0);
- va = uvm_km_valloc(kernel_map, PAGE_SIZE);
- if (va == NULL)
- return (0);
-
/*
- * Check that the iomem space answers probes
+ * We assume parent has checked our physical existence for us.
*/
- pmap_kenter_cache(va, ISABR_IOMEM_BASE, PG_RW | PG_CI);
- pmap_update(pmap_kernel());
- rv = badbaddr((caddr_t)va);
- pmap_kremove(va, PAGE_SIZE);
- pmap_update(pmap_kernel());
-
- /*
- * Check that the ioport space answers probes
- */
- pmap_kenter_cache(va, ISABR_IOPORT_BASE, PG_RW | PG_CI);
- pmap_update(pmap_kernel());
- rv |= badbaddr((caddr_t)va);
- pmap_kremove(va, PAGE_SIZE);
- pmap_update(pmap_kernel());
-
- uvm_km_free(kernel_map, va, PAGE_SIZE);
-
- if (rv != 0)
- return (0);
return (isa_matched = 1);
}