Subject: Re: acorn32 cross
To: None <Joern.Seger@udo.edu>
From: Havard Eidnes <he@netbsd.org>
List: port-arm
Date: 09/06/2004 13:50:42
> > ./build.sh -m acorn32 kernel=3DGENERIC
>
> Thanks - that's it! =
> (but there seems to be a problem in the ncr5380sbc.c - see below)
> when I leave out the SCSI support, I could compile the kernel complet=
ely.
Yep, someone made a change which makes it now mandatory for ports
using this driver to have a bus_space implementation. It appears that
the acorn32 port is using a front-end for this chip (csa) which is not
bus_space'ified. In sys/dev/ic/ncr5380var.h it says:
/*
* Currently acorn26, amd64, alpha, i386, mips, news68k, sparc, sun2, a=
nd vax
* use real bus space:
* acorn32: csa driver; easy to convert
* mac68k: sbc driver; easy to convert
* pc532: ncr driver; need bus.h first
* sun3: si driver; need bus.h first
*/
So, apparently this "easy to convert" has not been picked up by anyone
yet. For the time being, you can put a slightly ugly band-aid on this
problem by applying this patch:
Index: ncr5380sbc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /usr/users/he/nbcvs/netbsd/src/sys/dev/ic/ncr5380sbc.c,v
retrieving revision 1.52
diff -u -r1.52 ncr5380sbc.c
--- ncr5380sbc.c 10 Aug 2004 07:00:30 -0000 1.52
+++ ncr5380sbc.c 20 Aug 2004 12:41:29 -0000
@@ -374,9 +374,11 @@
sc->sc_prevphase =3D PHASE_INVALID;
sc->sc_state =3D NCR_IDLE;
=
+#ifdef NCR5380_USE_BUS_SPACE
if (sc->sc_rev =3D=3D NCR_VARIANT_NCR53C400)
bus_space_write_1(sc->sc_regt, sc->sc_regh, C400_CSR,
C400_CSR_5380_ENABLE);
+#endif
=
NCR5380_WRITE(sc, sci_tcmd, PHASE_INVALID);
NCR5380_WRITE(sc, sci_icmd, 0);
...which means that the non-bus-space'd ports cannot use that variant
of the chip, which they probably don't anyway.
Regards,
- H=E5vard