Name
Date
Size
#Lines
LOC

..--

MakefileH A D27-Jan-2019196 93

README.seagateH A D08-Apr-20223.3 KiB7353

ad1848_isa.cH A D08-Jun-201920.3 KiB789497

ad1848var.hH A D08-May-20195.1 KiB12243

addcom_isa.cH A D07-Aug-20217 KiB267161

adv_isa.cH A D07-Jul-20166.8 KiB254145

aha_isa.cH A D18-Oct-20144.4 KiB16596

aic_isa.cH A D23-Nov-20095.2 KiB17886

aps.cH A D09-Feb-202414.4 KiB580397

aria.cH A D08-Jun-201937.5 KiB1,5481,172

ariareg.hH A D27-Oct-20094.5 KiB13972

ast.cH A D07-Aug-20215.7 KiB219137

atppc_isa.cH A D25-Sep-20227.1 KiB246142

atppc_isadma.cH A D25-Sep-20223.7 KiB12868

atppc_isadma.hH A D04-Mar-20071.9 KiB419

attimer_isa.cH A D23-Aug-20094.4 KiB14463

aztech.cH A D27-Oct-20128.3 KiB359235

bha_isa.cH A D14-Jul-20164.8 KiB177103

boca.cH A D07-Aug-20216.2 KiB248166

cec.cH A D07-Aug-202117.6 KiB711524

cms.cH A D08-May-20198.2 KiB330208

cmsreg.hH A D28-Apr-20085 KiB14561

com_isa.cH A D08-Dec-20189.6 KiB337191

com_multi.cH A D08-Dec-20184.8 KiB13951

com_multi.hH A D11-Dec-20051.9 KiB438

commultiprint.cH A D11-Dec-2007499 2216

cs4231var.hH A D28-Apr-20082.3 KiB5114

cs89x0isa.cH A D02-Aug-202111 KiB388201

cs89x0isavar.hH A D04-Mar-20071.8 KiB4412

cy_isa.cH A D20-Nov-20232.4 KiB11275

depca_isa.cH A D27-Oct-20127.2 KiB239126

dpt_isa.cH A D14-Jul-20168.7 KiB326194

ega.cH A D07-Aug-202122 KiB883705

egavar.hH A D11-Dec-20051.4 KiB301

elink.cH A D25-Sep-20223.7 KiB12149

elink.hH A D28-Apr-20081.8 KiB417

esp_isa.cH A D18-Oct-201416.4 KiB587347

esp_isavar.hH A D13-Apr-20084.6 KiB12149

ess.cH A D09-Feb-202464.1 KiB2,6681,955

ess_isa.cH A D22-May-20104.3 KiB167105

essreg.hH A D09-Feb-202412.7 KiB324202

essvar.hH A D16-Aug-20145 KiB18589

fd.cH A D25-Sep-202242.3 KiB1,6951,264

fdc_isa.cH A D18-Apr-20227 KiB240126

fdcvar.hH A D28-Apr-20085.3 KiB15050

fdreg.hH A D30-Jun-20115.9 KiB14646

fdvar.hH A D13-Apr-20153.4 KiB9145

files.isaH A D26-Apr-202112.2 KiB510400

finsio_isa.cH A D29-Jun-202218 KiB722562

gus.cH A D06-Feb-2021108.8 KiB4,0662,799

gusreg.hH A D09-Feb-20249 KiB267140

i82365_isa.cH A D25-Sep-20225.9 KiB236141

i82365_isasubr.cH A D08-Sep-202414.2 KiB508296

i82365_isavar.hH A D17-Sep-20092.6 KiB5814

ics2101.cH A D08-May-20194.3 KiB14083

ics2101var.hH A D28-Apr-20082.2 KiB4915

if_ai.cH A D12-Jul-202211.9 KiB471315

if_aireg.hH A D28-Apr-20082.4 KiB5817

if_ate.cH A D03-Feb-201910.3 KiB414263

if_cs_isa.cH A D13-Apr-20157 KiB278168

if_ec.cH A D08-Feb-202419.9 KiB783460

if_ecreg.hH A D27-Dec-20194.3 KiB16658

if_ef.cH A D12-Jul-202216.4 KiB649439

if_efreg.hH A D28-Apr-20084.7 KiB12744

if_eg.cH A D17-Sep-202220.6 KiB876643

if_egreg.hH A D11-Dec-20053.7 KiB10640

if_el.cH A D17-Sep-202216 KiB724465

if_elreg.hH A D20-May-20223.1 KiB8351

if_ep_isa.cH A D27-Dec-201911.2 KiB390205

if_fmv_isa.cH A D12-Apr-20087.7 KiB291167

if_ix.cH A D10-Feb-202422.7 KiB876607

if_ixreg.hH A D22-Jan-20014.3 KiB9743

if_iy.cH A D17-Sep-202235.6 KiB1,5641,162

if_lc_isa.cH A D11-Jul-20165.2 KiB210120

if_le_isa.cH A D29-May-202211.1 KiB408256

if_levar.hH A D28-Apr-20082.2 KiB5714

if_ne_isa.cH A D03-Mar-20105.4 KiB207122

if_ntwoc_isa.cH A D14-Jul-201621.9 KiB817555

if_ntwoc_isareg.hH A D04-Jan-20005 KiB11857

if_sm_isa.cH A D08-Feb-20185.1 KiB18697

if_tscs_isa.cH A D13-Apr-20155.2 KiB207127

if_we_isa.cH A D18-Oct-201412.5 KiB491329

ioat66.cH A D07-Aug-20215.8 KiB220143

isa.cH A D07-Aug-202112.1 KiB525373

isa_stub.cH A D25-Sep-20222.4 KiB5922

isabusprint.cH A D16-Nov-2006321 1713

isadma.cH A D29-May-201819.3 KiB791533

isadmareg.hH A D29-May-20183.1 KiB7823

isadmavar.hH A D29-Apr-20125.3 KiB14583

isareg.hH A D27-Dec-20195.7 KiB16666

isavar.hH A D12-May-20098.6 KiB27887

isv.cH A D25-Jul-201410.8 KiB456314

isvio.hH A D02-Apr-2008375 2213

itesio_isa.cH A D29-Jun-202223.6 KiB858624

itesio_isavar.hH A D03-Jul-20216.6 KiB194129

joy_ess.cH A D08-May-20191.1 KiB4936

joy_isa.cH A D05-Dec-20113.5 KiB12467

lm_isa.cH A D17-Jan-20122.5 KiB8039

lm_isa_common.cH A D24-Jun-20204.5 KiB169102

lm_isa_common_var.hH A D17-Jan-20121.9 KiB4712

lm_wbsio.cH A D18-Jan-20122.6 KiB8039

lpt_isa.cH A D27-Dec-20197.9 KiB270150

madreg.hH A D02-Nov-20223.5 KiB10239

mcd.cH A D09-Sep-202143.1 KiB1,8201,380

mcdreg.hH A D08-Jun-20007.1 KiB255177

midi_pcppi.cH A D08-May-20194.6 KiB163101

moxa_isa.cH A D07-Aug-20215.5 KiB212135

mpu_isa.cH A D14-Jul-20163.7 KiB12877

mpu_sb.cH A D08-May-20192.9 KiB9046

mpu_ym.cH A D08-May-20193.4 KiB11367

nca_isa.cH A D27-Oct-201212.3 KiB434245

nct.cH A D07-Aug-202117.5 KiB654435

nsclpcsio_isa.cH A D07-Aug-202118.1 KiB706545

opl_ess.cH A D24-Sep-20222.9 KiB9248

opl_isa.cH A D24-Sep-20223.4 KiB12170

opl_sb.cH A D24-Sep-20222.9 KiB9047

opl_wss.cH A D24-Sep-20222.8 KiB8846

opl_ym.cH A D24-Sep-20223.3 KiB11065

pas.cH A D27-Dec-201913.7 KiB494291

pasreg.hH A D08-Mar-200615.4 KiB255193

pcdisplay.cH A D07-Aug-202111 KiB435324

pcdisplayvar.hH A D11-Dec-20051.4 KiB301

pckbc_isa.cH A D25-Sep-20226 KiB231158

pcppi.cH A D09-Feb-20248.8 KiB379263

pcppireg.hH A D15-Apr-1998261 113

pcppivar.hH A D14-Jun-20171.8 KiB6525

ptcd.cH A D07-Aug-20214.6 KiB17998

radiotrack.cH A D23-Mar-20149.8 KiB424296

radiotrack2.cH A D27-Oct-20128.6 KiB347235

rtfps.cH A D07-Aug-20215.8 KiB222143

sb.cH A D07-Aug-20218.4 KiB306221

sb_isa.cH A D08-May-20194.9 KiB18198

sbdsp.cH A D24-Jul-202162.2 KiB2,5852,031

sbdspvar.hH A D08-May-20198.7 KiB267174

sbreg.hH A D09-Feb-202411.5 KiB296182

sbvar.hH A D28-Apr-20081.6 KiB353

seagate.cH A D25-Sep-202236.9 KiB1,461943

sf16fmr2.cH A D27-Oct-20129.1 KiB356240

slhci_isa.cH A D14-Jul-20164.3 KiB15181

smsc.cH A D29-Jun-20229.8 KiB377229

smscvar.hH A D27-Oct-20123 KiB9037

soekrisgpio.cH A D07-Aug-20216.8 KiB261177

spkr_pcppi.cH A D25-Sep-20224.5 KiB14176

spkrio.hH A D09-Dec-201689 31

tcic2_isa.cH A D25-Sep-202210.7 KiB392225

tcom.cH A D07-Aug-20217.7 KiB263149

tpm_isa.cH A D16-Jan-20214.5 KiB13969

tsdio.cH A D07-Aug-20213.8 KiB15081

tsdioreg.hH A D23-Oct-20091.6 KiB4110

tsdiovar.hH A D27-Oct-20121.6 KiB4311

ug_isa.cH A D25-Sep-20224.6 KiB183107

uha_isa.cH A D12-Nov-20199.7 KiB403273

vga_isa.cH A D25-Sep-20223.2 KiB12269

vga_isavar.hH A D11-Dec-20051.1 KiB311

wbsio.cH A D16-Dec-202225.7 KiB982721

wbsioreg.hH A D16-Dec-20227.4 KiB195140

wdc_isa.cH A D25-Sep-20228.2 KiB288207

wds.cH A D25-Sep-202232.3 KiB1,365902

wdsreg.hH A D11-Dec-20053.4 KiB165118

weasel_isa.cH A D20-Aug-20159.1 KiB367233

weaselreg.hH A D11-Apr-20225 KiB15038

weaselvar.hH A D12-May-20092.2 KiB5610

wss.cH A D07-Aug-202113.3 KiB486342

wss_isa.cH A D12-Feb-202211.3 KiB405250

wssreg.hH A D19-Mar-19972.6 KiB6215

wssvar.hH A D11-Dec-20052.9 KiB8332

wt.cH A D25-Sep-202227.7 KiB1,165807

wtreg.hH A D06-Sep-20155.6 KiB12861

ym.cH A D07-Aug-202137.4 KiB1,4471,021

ymvar.hH A D23-Nov-20118.9 KiB256136

README.seagate

1#	$NetBSD: README.seagate,v 1.8 2022/04/08 10:17:54 andvar Exp $
2
3The hardware:
4
5The ST01/02, and Future Domain 950 are very simple SCSI controllers. They are
6not busmastering, so the processor must do all transfers a la IDE. They support
7blind transfer by adding wait states (up to a certain limit). Interrupt is
8generated for reconnect and parity errors (maybe also for some other events).
9
10The card consists of one command port that writes to scsi control lines, reads
11status lines, and a data port that read/writes to the 8 data lines. The address
12decoding gives both data and control ports large memory areas to a single
13port. This is used by the code.
14
15The ST01/02 differs from the FD950 in memory address location and SCSI id.
16
17Probing for the card:
18
19A card is recognized by comparing the BIOS signature with known signatures. A
20new card may not be recognized if the BIOS signature has changed. Please send
21new signatures to me.
22
23Driver function:
24
25A scsi command is sent to scsi_cmd function. The command is either placed in
26the queue or an retryable message is returned. The routine may wait for
27completion of the command depending on the supplied flags. A timer is started
28for every command placed in the queue. The commands are added in the order they
29are received. There is a possibility to make all REQUEST SENSE commands be
30queued before all other commands, but I dont think it is a good thing (Linux
31do however use this).
32
33The card is mostly controlled by the sea_main function. It is called by
34scsi_cmd, the interrupt routine, and the timeout routine. The sea_main routine
35runs as long there are something to do (transfer data, issue queued commands,
36and handle reconnected commands).
37
38The data transfers may be done in two different ways: Blind and polled
39transfers. They differ in the way the driver does it handshaking with the
40target. During a blind transfer, the driver code blindly transfers a block
41of data without checking for changed phase. During polled transfers, the
42phase is checked between every character transferred. The polled transfers
43are always used for status information and command transfers.
44
45Because the card does not use DMA in any way, there is no need to handle
46physical addresses. There is no problem with the isa-bus address limit of
4716MB, making bounce-buffers unnecessary.
48
49The data structures:
50
51Every card has a sea_softc structure keeping the queues of commands waiting to
52be issued, and commands currently disconnected. The type of card (Seagate or
53Future Domain), data and control port addresses, scsi id, busy flags for all
54possible targets, and interrupt vector for the card.
55
56Every scsi command to be issued are stored in a sea_scb structure. It contains
57a flag describing status/error of the command, current data buffer position,
58and number of bytes remaining to be transferred.
59
60
61PROBLEMS
62
63I have had problems getting the ST02 boot using the boot floppies. I think it
64is some problem with BIOS calls not working. It is unfortunately impossible to
65disconnect the ST02 floppy controller.
66
67I have had problem to get the driver talk to a 40 MB Seagate disk. I dont have
68access to it any more, so I can't do any more checks on that.
69
70NOTE: The ST02 creates its own description of the disk attached. This is not
71the same as the disk says. This translation problem may cause problems when
72sharing a disk between both DOS and BSD. It is however not impossible.
73