Index: linux-2.6.26-source/drivers/scsi/Kconfig
===================================================================
--- linux-2.6.26-source.orig/drivers/scsi/Kconfig
+++ linux-2.6.26-source/drivers/scsi/Kconfig
@@ -327,6 +327,12 @@
 
 if SCSI_LOWLEVEL && SCSI
 
+config SCSI_COOPERATIVE
+	bool "Cooperative Linux support"
+	depends on COOPERATIVE
+	help
+	  SCSI Driver for Cooperative Linux
+
 config ISCSI_TCP
 	tristate "iSCSI Initiator over TCP/IP"
 	depends on SCSI && INET
Index: linux-2.6.26-source/drivers/scsi/Makefile
===================================================================
--- linux-2.6.26-source.orig/drivers/scsi/Makefile
+++ linux-2.6.26-source/drivers/scsi/Makefile
@@ -53,6 +53,7 @@
 obj-$(CONFIG_SCSI_SIM710)	+= 53c700.o	sim710.o
 obj-$(CONFIG_SCSI_ADVANSYS)	+= advansys.o
 obj-$(CONFIG_SCSI_BUSLOGIC)	+= BusLogic.o
+obj-$(CONFIG_SCSI_COOPERATIVE)	+= coscsi.o
 obj-$(CONFIG_SCSI_DPT_I2O)	+= dpt_i2o.o
 obj-$(CONFIG_SCSI_U14_34F)	+= u14-34f.o
 obj-$(CONFIG_SCSI_ARCMSR)	+= arcmsr/
Index: linux-2.6.26-source/include/linux/blkdev.h
===================================================================
--- linux-2.6.26-source.orig/include/linux/blkdev.h
+++ linux-2.6.26-source/include/linux/blkdev.h
@@ -802,7 +802,11 @@
 
 extern int blkdev_issue_flush(struct block_device *, sector_t *);
 
+#ifdef CONFIG_COOPERATIVE
+#define MAX_PHYS_SEGMENTS 256
+#else
 #define MAX_PHYS_SEGMENTS 128
+#endif
 #define MAX_HW_SEGMENTS 128
 #define SAFE_MAX_SECTORS 255
 #define BLK_DEF_MAX_SECTORS 1024
