Subject: NCR53c810 driver available
From: [email-masked] (Drew Eckhardt)
Date: 26 Jun 1994 01:18:31 +0300
Newsgroups: comp.os.linux.announce

ALPHA NCR53c810 SCSI PCI driver for Linux 1.1.19
	by Drew Eckhardt
	sponsored by IX Multi-user Multi-tasking Magazine

- The NCR SDMS BIOS uses something messy which starts with the parameters
    from the rigid disk geometry and format device mode pages, and pares
    it down to something understandable to the BIOS.

    Until I know _exactly_ what this is, the HDIO_GETGEO ioctl
    will remain unimplemented.  Use dparam.exe from the SCSI-HOWTO
    under DOS. 

- Currently, only one outstanding command is supported so access to 
    multiple SCSI devices will not be overlapped.  This will change
    after the disconnect/reconnect code is debugged.

- Multiple commands per LUN are not supported.  I've measured a > 10%
    performance increase with NCR5380 chips where the generation of the
    next SCSI command was overlapped with one SCSI command's execution,
    and suspect that it may be even greater on the NCR53c810 chips. This
    will change.

- Target initiated synchronous negotiation hasn't been tested yet,
    since I didn't care to nuke one of my 'real' drives which does
    synchronous negotiation before I finished my lecture notes for 
    the Heidelberg conference.  So, you may want to disable 
    synchronous negotiation on your SCSI devices.

- Likewise, the NCR driver does not yet negotiate for synchronous 
    transfers.  Again, this will change after the conference.

- I don't have a nice SLS / Slackware / Debian / Yggdrasil / name your favorite
    distribution boot floppy, and will refer any distribution related questions,
    like
    
	 "How can I use the alpha driver to install my xxx distribution"

    or
	 "fdisk gives a division by zero error and dumps core so the 
	  install script won't run"

    to the SCSI-HOWTO or distribution maintainer if they are willing
    to coordinate alpha boot diskette releases with NCR53c810
    driver releases.

- memory mapped access is currently unsupported, and will remain so
    pending support for mapping things up in high memory (my 
    PCI boards are mapped starting at 48M) without conflicting
    with vmalloc() code, so you'll have to use i/o mapped access.

- Currently, only the NCR53c810 chip is supported.  Other NCR53c8xx
    chips will be supported after I find systems with these chips
    in them and modify the detection code.

    The NCR53c710 will be supported after all of the performance 
    features which should be enabled and working are and my
    NCR53c710 equipped loaner system arrives.

    I've decided on what I believe to be the best ways to implement
    NCR53c700 and NCR53c700-66 support - using the dsa_fixup() routine to 
    modify the main script whenever a context switch occurs, and 
    will provide minimal tech support for anyone looking to support
    those chips, but find those variants relatively uninteresting
    and don't plan on pursuing the matter too far.

- The binary distribution includes device driver support for the 
    following options
    - MATH EMULATION
    - IDE disks
    - SCSI
	- Trantor T128
    	- NCR53c810
    	- SCSI disks
    	- SCSI CD ROMs
    	- SCSI generic
    	- SCSI tape
    - Networking
	- Intel ether express
	- SLIP
    - Filesystems
	- ISO 9660
	- Minix
	- Ext-2
	- MSDOS

    Ie, if you know what you're doing, and have some other local
    mass storage device, it should be  sufficient to bootstrap.  Note
    that you will need to boot the kernel image with LILO or use 
    rdev to modify the root device / video mode / etc. as appropriate.

- If you want to modify the NCR scripts, you'll need PERL, 
    since that's what the assembler was written in.  

    I have no plans to replace the NCR assembler with one written in 'C'
    since it works, is fast enough, and isn't required to reconfigure
    the kernel (.h files containing the assembler output are included).

- Source patches are against Linux 1.1.19.  Patches against a newer
    version will be provided after there's some consensus that the
    tty subsystem has been restored to a sane state, patches against 
    1.0.x will not be provided.

If you can live with these restrictions, the files

ncr_src.2.tar.gz	- Patches against 1.1.19
ncr_kern.2		- 1.1.19 kernel	

have been uploaded to the /incoming directory on tsx-11.mit.edu,  
and in theory should find their way into the /pub/linux/ALPHA/scsi
and an ALPHA kernel in the near future.
-- 
Drew Eckhardt [email-masked]
1970 Landcruiser FJ40 w/350 Chevy power
1982 Yamaha XV920J Virago

--
Mail submissions for comp.os.linux.announce to: [email-masked]
PLEASE remember Keywords: and a short description of the software.