dmamatch never added in the offset for the dma registers to the VA,
authorchuck <chuck@openbsd.org>
Fri, 12 Jan 1996 22:02:15 +0000 (22:02 +0000)
committerchuck <chuck@openbsd.org>
Fri, 12 Jan 1996 22:02:15 +0000 (22:02 +0000)
and thus probed the wrong address on the 4/300 (but it worked because
it was probing the esp0 registers!).

now that bus_tmp() adds the offset in for us [as of obio 1.15] i
discoved that a byte access to the dma registers is not allowed.
so, i've change probeget to use a word access.

sys/arch/sparc/dev/dma.c

index 5a96cd4..54be0c4 100644 (file)
@@ -121,7 +121,7 @@ dmamatch(parent, vcf, aux)
        if (ca->ca_bustype == BUS_SBUS)
                return (1);
        ra->ra_len = NBPG;
-       return (probeget(ra->ra_vaddr, 1) != -1);
+       return (probeget(ra->ra_vaddr, 4) != -1);
 }
 
 /*