* and that DS is on a long word boundary.
siopinitialize(sc)	struct siop_softc *sc;{	int i;	u_int inhibit_sync;	extern u_long scsi_nosync;	extern int shift_nosync;	/*	 * Need to check that scripts is on a long word boundary	 * and that DS is on a long word boundary.	 * Also should verify that dev doesn't span non-contiguous	 * physical pages.	 */	sc->sc_scriptspa = kvtop(scripts);	sc->sc_tcp[1] = 1000 / sc->sc_clock_freq;	sc->sc_tcp[2] = 1500 / sc->sc_clock_freq;	sc->sc_tcp[3] = 2000 / sc->sc_clock_freq;	sc->sc_minsync = sc->sc_tcp[1];		/* in 4ns units */	if (sc->sc_minsync < 25)		sc->sc_minsync = 25;	if (sc->sc_clock_freq <= 25) {		sc->sc_dcntl = 0x80;		/* SCLK/1 */		sc->sc_tcp[0] = sc->sc_tcp[1];	} else if (sc->sc_clock_freq <= 37) {		sc->sc_dcntl = 0x40;		/* SCLK/1.5 */		sc->sc_tcp[0] = sc->sc_tcp[2];	} else if (sc->sc_clock_freq <= 50) {		sc->sc_dcntl = 0x00;		/* SCLK/2 */		sc->sc_tcp[0] = sc->sc_tcp[3];	} else {		sc->sc_dcntl = 0xc0;		/* SCLK/3 */		sc->sc_tcp[0] = 3000 / sc->sc_clock_freq;	}	if (scsi_nosync) {		inhibit_sync = (scsi_nosync >> shift_nosync) & 0xff;		shift_nosync += 8;#ifdef DEBUG		if (inhibit_sync)			printf("%s: Inhibiting synchronous transfer %02x\n",				sc->sc_dev.dv_xname, inhibit_sync);#endif		for (i = 0; i < 8; ++i)			if (inhibit_sync & (1 << i))				siop_inhibit_sync[i] = 1;	}	siopreset (sc);}