Subject: better siop -- Re: really stupid newbie nees lots of help
To: None <port-arc@netbsd.org>
From: Toru Nishimura <nisimura@itc.aist-nara.ac.jp>
List: port-arc
Date: 02/23/2001 13:04:59
Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> wrote;

> The register offsets defined in arcsiopreg.h are:
>
> #define	SIOP_SCNTL0	0x00	/* rw: SCSI control reg 0 */
> #define	SIOP_SCNTL1	0x01	/* rw: SCSI control reg 1 */
> #define	SIOP_SDID	0x02	/* rw: SCSI destination ID */
> #define	SIOP_SIEN	0x03	/* rw: SCSI interrupt enable */
>
> but in sys/arch/amiga/siopreg.h, they are:
>
> /*00*/  volatile unsigned char  siop_sien;	/* rw: SCSI Interrupt Enable */
> /*01*/  volatile unsigned char  siop_sdid;	/* rw: SCSI Destination ID */
> /*02*/  volatile unsigned char  siop_scntl1;	/* rw: SCSI control reg 1 */
> /*03*/  volatile unsigned char  siop_scntl0;	/* rw: SCSI control reg 0 */
>
> Anyway, we need re-think how to handle these endianness. Umm..

Tik-tik-tik.  Hacking CISCy device driver into RISCy one would bring
mess at best.  It's a very common issue to share single device driver
source code between CISCy and RISCy.  Look at the LANCE, Z85C30 or
fl(u)ppy everything.  Smart hardwares need smart drivers.  If things
can not be written in sane, it's a hardware designer's fault.  (I have
Vr4100 evaluation board documentation to tell chip registers populated
in 64bit strides)  In retrospective, MI ncr53cxx driver settled in a
moderate solution.

Tohru Nishimura