Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

si(4) [netbsd man page]

SI(4)							   BSD Kernel Interfaces Manual 						     SI(4)

NAME
si, sw -- NCR 5380 SCSI bus host adaptor driver SYNOPSIS
sun3 si0 at obio0 addr 0x140000 ipl 2 sun3 and sun3x si0 at vme2 addr 0x200000 ipl 2 vect 0x40 si1 at vme2 addr 0x204000 ipl 2 vect 0x41 sun3/E sebuf0 at vme2 addr 0x300000 ipl 2 vect 0x74 # and 0x75 sebuf1 at vme2 addr 0x340000 ipl 2 vect 0x76 # and 0x77 si* at sebuf? sun4 and sun2 si0 at vme0 addr 0x200000 pri 2 vec 0x40 sun4/100 sw0 at obio0 addr 0x0a000000 level 3 DESCRIPTION
The si and sw "SCSI Weird" drivers provide support for the NCR 5380 SCSI Bus Controller (SBC) chip found on various Sun Microsystems CPU motherboards (obio), and on the "Sun-3 VME SCSI" (Sun part # 501-1236) board used in systems with VME bus. sun3 and sun3x The sun3 and sun3x version of this driver can be configured with a flags directive in the config(1) file. The values are bits in a bitfield, and are interpreted as follows: 0x000ff Set bit (1<<target) to disable SCSI disconnect/reselect 0x0ff00 Set bit (1<<(target+8)) to disable SCSI parity checking 0x10000 Set this bit to disable DMA interrupts (poll) 0x20000 Set this bit to disable DMA entirely (use PIO) For example: "flags 0x1000f" would disable DMA interrupts, and disable disconnect/reselect for targets 0-3. The "target" is the SCSI ID num- ber of a particular device on a particular SCSI bus. sun4 The sun4 version of this driver can also be configured with a flags directive in the config(1) file. The values are bits in a bitfield, and are interpreted as follows: 0x01 Use DMA (may be polled) 0x02 Use DMA completion interrupts 0x04 Allow SCSI disconnect/reselect For example: "flags 0x07" would enable DMA, interrupts, and reselect. By default, DMA is enabled in the sun4 driver. SEE ALSO
cd(4), ch(4), intro(4), scsi(4), sd(4), st(4) AUTHORS
David Jones, Gordon Ross <gwr@NetBSD.org>, Adam Glass <glass@NetBSD.org>, Jason R. Thorpe <thorpej@NetBSD.org>. BUGS
The VME variant has a bit to enable or disable the DMA engine, but that bit also gates the interrupt line from the NCR5380 (!!). Therefore, in order to get any interrupt from the NCR5380, (i.e. for reselect) one must clear the DMA engine transfer count and then enable DMA. This has the further complication that you CAN NOT touch the NCR5380 while the DMA enable bit is set, so we have to turn DMA back off before we even look at the NCR5380. Support for the Sun 4/100 sw "SCSI Weird" is not complete. DMA works, but interrupts (and, thus, reselection) don't for reasons unknown. Further progress has halted pending the availability of a machine for testing. DMA, DMA completion interrupts, and reselection work fine on a Sun 4/260 with modern SCSI-II disks attached. There have been reports of res- election failing on Sun Shoebox-type configurations where there are multiple non-SCSI devices behind Emulex or Adaptec bridges. These devices pre-date the SCSI-I spec, and might not behave the way the NCR5380 code expects. For this reason, only DMA is enabled by default in the sun4 driver. BSD
May 7, 1998 BSD

Check Out this Related Man Page

ZSTTY(4)						   BSD Kernel Interfaces Manual 						  ZSTTY(4)

NAME
zstty, zsc, zs -- Zilog 8530 Serial Communications Controller (SCC) for RS-232C, RS-422, and RS-423 SYNOPSIS
options PPS_SYNC options PPS_TRAILING_EDGE alpha (DEC 3000) zsc0 at ioasic? offset 0x100000 zsc1 at ioasic? offset 0x180000 zstty0 at zsc0 channel ? # serial ports on B channels zstty2 at zsc1 channel ? # serial ports on B channels lkkbd0 at zsc1 channel ? # keyboard port on A channels vsms0 at zsc0 channel ? # mouse port on A channels cesfic zsc* at mainbus0 zstty* at zsc? channel ? mac68k and macppc zsc0 at obio? zstty* at zsc? channel ? options ZS_TXDMA mipsco zsc0 at obio0 addr 0xbb000000 zstty0 at zsc0 channel 0 zstty1 at zsc0 channel 1 mvme68k zsc* at pcc? ipl 4 zsc* at pcctwo? ipl 4 zstty* at zsc? channel ? news68k zsc0 at hb0 addr 0xe0d40000 ipl 5 vect 64 flags 0x0 # news1700 zsc0 at hb1 addr 0xe1780000 ipl 5 vect 64 flags 0x1 # news1200 zstty0 at zsc0 channel 0 zstty1 at zsc0 channel 1 newsmips zsc0 at hb0 addr 0xbfec0000 level 1 flags 0x0 # on-board zsc1 at hb0 addr 0xb8c40100 level 1 flags 0x1 # expansion board zsc2 at hb0 addr 0xb8c40104 level 1 flags 0x1 zsc0 at ap? zstty0 at zsc0 channel 0 zstty1 at zsc0 channel 1 zstty2 at zsc1 channel 0 zstty3 at zsc1 channel 1 zstty4 at zsc2 channel 0 zstty5 at zsc2 channel 1 next68k zsc0 at intio? ipl 5 #zsc1 at intio? ipl 5 zstty0 at zsc0 channel 0 # ttya zstty1 at zsc0 channel 1 # ttyb sgimips zsc* at hpc0 offset ? zstty* at zsc? channel ? sparc zs0 at mainbus0 # sun4c zs0 at obio0 # sun4m zs0 at obio0 addr 0xf1000000 level 12 # sun4/200 and sun4/300 zs0 at obio0 addr 0x01000000 level 12 # sun4/100 zstty0 at zs0 channel 0 # ttya zstty1 at zs0 channel 1 # ttyb zs1 at mainbus0 # sun4c zs1 at obio0 # sun4m zs1 at obio0 addr 0xf0000000 level 12 # sun4/200 and sun4/300 zs1 at obio0 addr 0x00000000 level 12 # sun4/100 kbd0 at zs1 channel 0 # keyboard ms0 at zs1 channel 1 # mouse zs2 at obio0 addr 0xe0000000 level 12 # sun4/300 zstty2 at zs2 channel 0 # ttyc zstty3 at zs2 channel 1 # ttyd sun2 zs0 at obio0 addr 0x002000 # 2/120, 2/170 zs1 at obmem0 addr 0x780000 # 2/120, 2/170 zs0 at obio0 addr 0x7f2000 # 2/50 zs1 at obio0 addr 0x7f1800 # 2/50 zs2 at mbmem0 addr 0x080800 # 2/120, 2/170 (first sc SCSI) zs3 at mbmem0 addr 0x081000 # 2/120, 2/170 (first sc SCSI) zs4 at mbmem0 addr 0x084800 # 2/120, 2/170 (second sc SCSI) zs5 at mbmem0 addr 0x085000 # 2/120, 2/170 (second sc SCSI) zstty* at zs? channel ? # ttya kbd0 at zstty? # keyboard ms0 at zstty? # mouse sun3 zstty0 at zsc1 channel 0 # ttya zstty1 at zsc1 channel 1 # ttyb kbd0 at zsc0 channel 0 # keyboard ms0 at zsc0 channel 1 # mouse x68k zsc0 at intio0 addr 0xe98000 intr 112 zstty0 at zsc0 channel 0 # built-in RS-232C ms0 at zsc0 channel 1 # standard mouse #zsc1 at intio0 addr 0xeafc00 intr 113 #zstty2 at zsc1 channel 0 #zstty3 at zsc1 channel 1 #zsc2 at intio0 addr 0xeafc10 intr 114 #zstty4 at zsc2 channel 0 #zstty5 at zsc2 channel 1 DESCRIPTION
The zstty driver provides TTY support for Zilog 8530 Dual UART chips. Input and output for each line may set to any baud rate in the range 50 to 38400 (and higher on some machines). The PPS_SYNC option enables code to use the Data Carrier Detect (DCD) signal line for attachment to an external precision clock source (e.g., GPS, CDMA) which generates a Pulse Per Second (PPS) signal. This is used by ntpd(8) to discipline the system clock, and more accurately count/measure time. See options(4) for more discussion. FILES
alpha /dev/ttyB0 /dev/ttyB1 others /dev/ttya /dev/ttyb DIAGNOSTICS
zs0*: fifo overflow The on-chip ``FIFO'' has overflowed and incoming data has been lost. This generally means the machine is not responding to inter- rupts from the ZS chip fast enough, which can be remedied only by using a lower baud rate. zs0*: ring overflow The software input "ring" has overflowed. This usually means input flow-control is not configured correctly (i.e. incorrect cable wiring). SEE ALSO
kbd(4), ms(4), options(4), scc(4), tty(4), ntpd(8) HISTORY
The zstty driver was derived from the sparc zs driver supplied with 4.4BSD UNIX. CAVEATS
/dev/ttyB1 on alpha is created by MAKEDEV(8) with minor number 2, so the corresponding device should be zstty2, not zstty1. BUGS
The old Zilog 8530 chip has a very small FIFO (3 bytes?) and therefore has very strict latency requirements for the interrupt service rou- tine. This limits the usable baud rates on many machines. BSD
June 7, 2011 BSD
Man Page