
	Linux I2O Support	(c) Copyright 1999 Red Hat Software
					and others.

	This program is free software; you can redistribute it and/or
	modify it under the terms of the GNU General Public License
	as published by the Free Software Foundation; either version
	2 of the License, or (at your option) any later version.

AUTHORS (so far)

Alan Cox, Building Number Three Ltd.
	Core code, SCSI and Block OSMs

Steve Ralston, LSI Logic Corp.
	Debugging SCSI and Block OSM

Deepak Saxena, Intel Corp.
	Various core/block extensions
	/proc interface, bug fixes
	Ioctl interfaces for control
	Debugging LAN OSM

Philip Rumpf
	Fixed assorted dumb SMP locking bugs

Juha Sievanen, University of Helsinki Finland
	LAN OSM code
	/proc interface to LAN class
	Bug fixes
	Core code extensions

Auvo Häkkinen, University of Helsinki Finland
	LAN OSM code
	/Proc interface to LAN class
	Bug fixes
	Core code extensions

Taneli Vähäkangas, University of Helsinki Finland
	Fixes to i2o_config

CREDITS

	This work was made possible by 

Red Hat Software
	Funding for the Building #3 part of the project

Symbios Logic (Now LSI)
	Host adapters, hints, known to work platforms when I hit
	compatibility problems

BoxHill Corporation
	Loan of initial FibreChannel disk array used for development work.

European Commission
	Funding the work done by the University of Helsinki

SysKonnect
        Loan of FDDI and Gigabit Ethernet cards

ASUSTeK
        Loan of I2O motherboard 

STATUS:

o	The core setup works within limits.
o	The scsi layer seems to almost work. 
           I'm still chasing down the hang bug.
o	The block OSM is mostly functional
o	LAN OSM works with FDDI and Ethernet cards.

TO DO:

General:
o	Provide hidden address space if asked
o	Long term message flow control
o	PCI IOP's without interrupts are not supported yet
o	Push FAIL handling into the core
o	DDM control interfaces for module load etc
o       Add I2O 2.0 support (Deffered to 2.5 kernel)

Block:
o	Multiple major numbers
o	Read ahead and cache handling stuff. Talk to Ingo and people
o	Power management
o	Finish Media changers

SCSI:
o	Find the right way to associate drives/luns/busses

Lan:	
o	Performance tuning
o	Test Fibre Channel code

Tape:
o	Anyone seen anything implementing this ?
           (D.S: Will attempt to do so if spare cycles permit)
