Messages in this thread Patch in this message |  | | Date | Thu, 13 Jun 1996 15:01:08 -0400 (EDT) | From | Tom Zerucha <> | Subject | Re: My SCSI HD has 34 heads, not 255... |
| |
Here is the patch again (updated for 1.3.98 - should work on 2.0.0):
diff -Bbur l1398/Documentation/Configure.help l1398.orig/Documentation/Configure.help --- l1398/Documentation/Configure.help Fri May 3 04:11:16 1996 +++ l1398.orig/Documentation/Configure.help Tue May 7 17:10:56 1996 @@ -1182,6 +1182,17 @@ understand if you enable this; it will enlarge your kernel by about 12KB. If in doubt, say Y.
+Automatic Disk Geometry Translation +CONFIG_SCSI_AUTO_BIOSP + When this is set to Y, Linux will examine the partition table to + determine the mapping used under the other operating systems (e.g. + DOS), and set these parameters to the determined values, or if the + disk has no valid partition table, to an optimal value. Set this + to N if you are have partitioned with an existing driver. Set this + to Y if you are reinstalling and the partition table is strange + under fdisk or if you wish to use one hard drive on more than one + Linux system with different controllers. + AdvanSys SCSI support CONFIG_SCSI_ADVANSYS This is a driver for all SCSI host adaptors manufactured by diff -Bbur l1398/drivers/scsi/Config.in l1398.orig/drivers/scsi/Config.in --- l1398/drivers/scsi/Config.in Sat Apr 20 04:18:14 1996 +++ l1398.orig/drivers/scsi/Config.in Mon May 6 18:14:03 1996 @@ -11,6 +11,10 @@
bool 'Verbose SCSI error reporting (kernel size +=12K)' CONFIG_SCSI_CONSTANTS
+if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then + bool 'Automatic Disk Geometry determination' CONFIG_SCSI_AUTO_BIOSP +fi + mainmenu_option next_comment comment 'SCSI low-level drivers'
diff -Bbur l1398/drivers/scsi/sd_ioctl.c l1398.orig/drivers/scsi/sd_ioctl.c --- l1398/drivers/scsi/sd_ioctl.c Thu May 2 00:48:54 1996 +++ l1398.orig/drivers/scsi/sd_ioctl.c Tue May 7 17:16:20 1996 @@ -4,6 +4,7 @@ * ioctl handling for SCSI disks */
+#include <linux/config.h> #include <linux/kernel.h> #include <linux/sched.h> #include <linux/mm.h> @@ -44,11 +45,14 @@
/* override with calculated, extended default, or driver values */
+#ifndef CONFIG_SCSI_AUTO_BIOSP if(host->hostt->bios_param != NULL) host->hostt->bios_param(&rscsi_disks[MINOR(dev) >> 4], dev, &diskinfo[0]); - else scsicam_bios_param(&rscsi_disks[MINOR(dev) >> 4], + else +#endif + scsicam_bios_param(&rscsi_disks[MINOR(dev) >> 4], dev, &diskinfo[0]);
put_user(diskinfo[0], &loc->heads);
|  |