Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Jan 1999 22:04:41 -0800 (PST)
From:      Andrew Sherrod <ixkatl@yahoo.com>
To:        current@FreeBSD.ORG
Subject:   Re: Disk Geometry Patch. Could someone test this on -current.
Message-ID:  <19990119060441.24783.rocketmail@send102.yahoomail.com>

next in thread | raw e-mail | index | archive | help
--0-424238335-916725881=:22614
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline




Appears the diff didn't get attached.
Here it is.
Sorry!

---Andrew Sherrod <ixkatl@yahoo.com> wrote:
>
> 
> As I now have upgraded at last, I tested the 3.0
> version of the patch. It does appear to make the
> system recognize the proper disk geometry where the
> standard wd.c does not report the proper size.
> Attached is the diff and 2 dmesgs, before and after.
> 
> (Sorry for the length of the dmesg, haven't compeltely
> configured the kernel yet.)
> 
> Any thoughts on the patch?
> 
> Andrew Sherrod
> 
> 
> 
> ---Andrew Sherrod <ixkatl@yahoo.com> wrote:
> >
> > I have found several people using IDE disks on newer Award BIOSes have trouble getting the boot-time probes and installation routines to recognize the correct disk geometry.
> > 
> > If anyone is running 3.0 (or 2.2.x) on a machine with Award BIOS using IDE drives with LBA turned off in the kernel configuration, and if you have trouble getting dmesg/boot probes to recognize the proper disk size, could you test the attached patch for me?
> > 
> > I would also like to find testers with ANY BIOS that reports a disk size too small. I think my patch will correct most problems with IDE geometry showing as smaller than it actually is. (I don't make any claims about geometries being reported as too large, or SCSI disks...)
> > 
> > Thanks to anyone who can help.
> > 
> > Andrew Sherrod
> > 
> > P.S. I know this is not a really big problem, but it always seemed a bit insulting that FreeBSD had to rely on DOS boot sectors to get the correct disk geometry. I would rather that we could identify the correct geometry without having to rely on another OS.
> > 
> > And, face it, for newbies and those not terribly computer literate, getting the right geometry during installation is a very nice feature. It is rather disheartening for a new-comer to find out that their new operating system can't even identify the correct disk geometry. 
> > 
> > 
> > 
> > 
> > _________________________________________________________
> > DO YOU YAHOO!?
> > Get your free @yahoo.com address at http://mail.yahoo.com
> > >
> > -------------------------------------------------
> > PR: i386/9431
> > -------------------------------------------------
> > 
> > -------------------------------------------------
> > Patch for 2.2.8 (May also workfor 2.2.6/2.2.7)
> > -------------------------------------------------
> > 
> > *** wd.c.2_2_8	Wed Jan 13 21:07:30 1999
> > --- wd.c.original.2_2_8	Wed Jan 13 21:08:24 1999
> > ***************
> > *** 113,122 ****
> >   #define WDOPT_FORCEHD(x)	(((x)&0x0f00)>>8) 
> >   #define WDOPT_MULTIMASK	0x00ff 
> >    
> > - /* This bit mask is used to determine if the drive supports LBA addressing. */ 
> > -  
> > - #define WDCAP_LBA		0x02 
> > -  
> >   /* 
> >    * This biotab field doubles as a field for the physical unit number on 
> >    * the controller. 
> > --- 113,118 ----
> > ***************
> > *** 1731,1745 ****
> >   	du->dk_dd.d_nsectors = wp->wdp_sectors; 
> >   	du->dk_dd.d_secpercyl = du->dk_dd.d_ntracks * du->dk_dd.d_nsectors; 
> >   	du->dk_dd.d_secperunit = du->dk_dd.d_secpercyl * du->dk_dd.d_ncylinders; 
> > !  
> > !        /* Check for BIOS LBA flag. This should allow kernel to determine 
> > ! 	   actual disk geometry for diffiuclt BIOSes.   
> > !  	   This will likely only be of use during initial installation, or 
> > !  	   perhaps when configuring a new drive. Otherwise, the disk geometry 
> > !  	   should already be known. -A. Sherrod 01/13/1999*/ 
> > !  
> > ! 	if ( ( (wp->wdp_capability&WDCAP_LBA) || 
> > !            (wp->wdp_cylinders == 16383 ) ) && 
> >               du->dk_dd.d_secperunit < wp->wdp_lbasize) {  
> >           	du->dk_dd.d_secperunit = wp->wdp_lbasize; 
> >           	du->dk_dd.d_ncylinders =  
> > --- 1727,1733 ----
> >   	du->dk_dd.d_nsectors = wp->wdp_sectors; 
> >   	du->dk_dd.d_secpercyl = du->dk_dd.d_ntracks * du->dk_dd.d_nsectors; 
> >   	du->dk_dd.d_secperunit = du->dk_dd.d_secpercyl * du->dk_dd.d_ncylinders; 
> > ! 	if (wp->wdp_cylinders == 16383 && 
> >               du->dk_dd.d_secperunit < wp->wdp_lbasize) {  
> >           	du->dk_dd.d_secperunit = wp->wdp_lbasize; 
> >           	du->dk_dd.d_ncylinders =  
> > 
> > -------------------------------------------------
> > Patch for 3.0
> > -------------------------------------------------
> > 
> >  *** wd.c.3_0   Wed Jan 13 12:07:46 1999
> >       --- wd.c.original.3_0  Wed Jan 13 11:17:54 1999
> >       ***************
> >       *** 130,140 ****
> >          */
> >         #define      id_physid id_scsiid
> >         
> >       - /* This bitmask is used to determine if the BIOS flags showing LBA support
> >       -    are active or inactive */
> >       -    
> >       - #define WDCAP_LBA    0x02
> >       - 
> >         /*
> >          * Drive states.  Used to initialize drive.
> >          */
> >       --- 130,135 ----
> >       ***************
> >       *** 1954,1973 ****
> >                              du->dk_dd.d_ntracks * du->dk_dd.d_nsectors;
> >                      du->dk_dd.d_secperunit = 
> >                              du->dk_dd.d_secpercyl * du->dk_dd.d_ncylinders;
> >       !                      
> >       !              /* If BIOS specifies LBA mode is supported, but LBA flags
> >       !                 are not set, check if wdp_lbasize is larger than
> >       !                 CHS size. If so, use the lba_size. 
> >       !                 This should fix problems with certain BIOSes (e.g. Award)
> >       !                 which do not report the correct size when using only
> >       !                 CHS calculations.
> >       !                 This will not force the use of LBA mode. It is only
> >       !                 used to determine disk geometry.
> >       !                 
> >       !                                      -A. Sherrod 01/13/1999 */                       
> >       !                      
> >       !              if ( ( (wp->wdp_capabilities & WDCAP_LBA) ||
> >       !                   (wp->wdp_cylinders == 16383) ) &&
> >                          du->dk_dd.d_secperunit < wp->wdp_lbasize) {
> >                              du->dk_dd.d_secperunit = wp->wdp_lbasize;
> >                              du->dk_dd.d_ncylinders = 
> >       --- 1949,1955 ----
> >                              du->dk_dd.d_ntracks * du->dk_dd.d_nsectors;
> >                      du->dk_dd.d_secperunit = 
> >                              du->dk_dd.d_secpercyl * du->dk_dd.d_ncylinders;
> >       !              if (wp->wdp_cylinders == 16383 &&
> >                          du->dk_dd.d_secperunit < wp->wdp_lbasize) {
> >                              du->dk_dd.d_secperunit = wp->wdp_lbasize;
> >                              du->dk_dd.d_ncylinders = 
> > 
> > -------------------------------------------------
> > dmesg from 2.2.8 system before patch
> > -------------------------------------------------
> > 
> > 
> >       Copyright (c) 1992-1998 FreeBSD Inc.
> >       Copyright (c) 1982, 1986, 1989, 1991, 1993
> >              The Regents of the University of California.  All rights reserved.
> >       
> >       FreeBSD 2.2.8-RELEASE #6: Wed Jan 13 21:11:20 EST 1999
> >           root@HAL9000.yaldabaoth.com:/usr/src/sys/compile/HAL
> >       CPU: AMD-K6(tm) 3D processor (350.80-MHz 586-class CPU)
> >         Origin = "AuthenticAMD"  Id = 0x580  Stepping=0
> >         Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
> >       real memory  = 201326592 (196608K bytes)
> >       avail memory = 194924544 (190356K bytes)
> >       Probing for devices on PCI bus 0:
> >       chip0 <generic PCI bridge (vendor=1106 device=0597 subclass=0)> rev 4 on pci0:0:0
> >       chip1 <generic PCI bridge (vendor=1106 device=8598 subclass=4)> rev 0 on pci0:1:0
> >       chip2 <generic PCI bridge (vendor=1106 device=0586 subclass=1)> rev 65 on pci0:7:0
> >       pci0:7:1: VIA Technologies, device=0x0571, class=storage (ide) [no driver assigned]
> >       chip3 <generic PCI bridge (vendor=1106 device=3040 subclass=0)> rev 16 on pci0:7:3
> >       xl0 <3Com 3c905B Fast Etherlink XL 10/100BaseTX> rev 48 int a irq 11 on pci0:10:0
> >       xl0: Ethernet address: 00:10:5a:20:9b:68
> >       xl0: autoneg not complete, no carrier (forcing half-duplex, 10Mbps)
> >       Probing for devices on PCI bus 1:
> >       Probing for devices on the ISA bus:
> >       sc0 at 0x60-0x6f irq 1 on motherboard
> >       sc0: VGA color <16 virtual consoles, flags=0x0>
> >       sio0: configured irq 4 not in bitmap of probed irqs 0
> >       sio0 at 0x3f8-0x3ff irq 4 on isa
> >       sio0: type 8250
> >       sio1 at 0x2f8-0x2ff irq 3 on isa
> >       sio1: type 16550A
> >       lpt0 at 0x378-0x37f irq 7 on isa
> >       lpt0: Interrupt-driven port
> >       lp0: TCP/IP capable interface
> >       psm0 at 0x60-0x64 irq 12 on motherboard
> >       psm0: model Generic PS/2 mouse, device ID 0
> >       fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
> >       fdc0: FIFO enabled, 8 bytes threshold
> >       fd0: 1.44MB 3.5in
> >       wdc0 at 0x1f0-0x1f7 irq 14 on isa
> >       wdc0: unit 0 (wd0): <QUANTUM FIREBALL SE8.4A>
> >       wd0: 8063MB (16514064 sectors), 16383 cyls, 16 heads, 63 S/T, 512 B/S
> >       wdc0: unit 1 (wd1): <WDC AC33100H>
> >       wd1: 2014MB (4124736 sectors), 4092 cyls, 16 heads, 63 S/T, 512 B/S
> >       wdc1 at 0x170-0x177 irq 15 on isa
> >       wdc1: unit 0 (wd2): <Maxtor 84320D4>
> >       wd2: 1888MB (3866940 sectors), 4092 cyls, 15 heads, 63 S/T, 512 B/S
> >       wdc1: unit 1 (atapi): <FX322M/w03>, removable, intr, dma, iordis
> >       wcd0: 5512KB/sec, 256KB cache, audio play, 255 volume levels, ejectable tray
> >       wcd0: no disc inside, unlocked
> >       mcd0 not found at 0x300
> >       npx0 flags 0x1 on motherboard
> >       npx0: INT 16 interface
> >       
> > -------------------------------------------------
> > dmesg from 2.2.8 system after patch
> > -------------------------------------------------
> > 
> > 
> >       Copyright (c) 1992-1998 FreeBSD Inc.
> >       Copyright (c) 1982, 1986, 1989, 1991, 1993
> >              The Regents of the University of California.  All rights reserved.
> >       
> >       FreeBSD 2.2.8-RELEASE #7: Wed Jan 13 21:26:09 EST 1999
> >           root@HAL9000.yaldabaoth.com:/usr/src/sys/compile/HAL
> >       CPU: AMD-K6(tm) 3D processor (350.80-MHz 586-class CPU)
> >         Origin = "AuthenticAMD"  Id = 0x580  Stepping=0
> >         Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
> >       real memory  = 201326592 (196608K bytes)
> >       avail memory = 194924544 (190356K bytes)
> >       Probing for devices on PCI bus 0:
> >       chip0 <generic PCI bridge (vendor=1106 device=0597 subclass=0)> rev 4 on pci0:0:0
> >       chip1 <generic PCI bridge (vendor=1106 device=8598 subclass=4)> rev 0 on pci0:1:0
> >       chip2 <generic PCI bridge (vendor=1106 device=0586 subclass=1)> rev 65 on pci0:7:0
> >       pci0:7:1: VIA Technologies, device=0x0571, class=storage (ide) [no driver assigned]
> >       chip3 <generic PCI bridge (vendor=1106 device=3040 subclass=0)> rev 16 on pci0:7:3
> >       xl0 <3Com 3c905B Fast Etherlink XL 10/100BaseTX> rev 48 int a irq 11 on pci0:10:0
> >       xl0: Ethernet address: 00:10:5a:20:9b:68
> >       xl0: autoneg not complete, no carrier (forcing half-duplex, 10Mbps)
> >       Probing for devices on PCI bus 1:
> >       Probing for devices on the ISA bus:
> >       sc0 at 0x60-0x6f irq 1 on motherboard
> >       sc0: VGA color <16 virtual consoles, flags=0x0>
> >       sio0: configured irq 4 not in bitmap of probed irqs 0
> >       sio0 at 0x3f8-0x3ff irq 4 on isa
> >       sio0: type 8250
> >       sio1 at 0x2f8-0x2ff irq 3 on isa
> >       sio1: type 16550A
> >       lpt0 at 0x378-0x37f irq 7 on isa
> >       lpt0: Interrupt-driven port
> >       lp0: TCP/IP capable interface
> >       psm0 at 0x60-0x64 irq 12 on motherboard
> >       psm0: model Generic PS/2 mouse, device ID 0
> >       fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
> >       fdc0: FIFO enabled, 8 bytes threshold
> >       fd0: 1.44MB 3.5in
> >       wdc0 at 0x1f0-0x1f7 irq 14 on isa
> >       wdc0: unit 0 (wd0): <QUANTUM FIREBALL SE8.4A>
> >       wd0: 8063MB (16514064 sectors), 16383 cyls, 16 heads, 63 S/T, 512 B/S
> >       wdc0: unit 1 (wd1): <WDC AC33100H>
> >       wd1: 3020MB (6185088 sectors), 6136 cyls, 16 heads, 63 S/T, 512 B/S
> >       wdc1 at 0x170-0x177 irq 15 on isa
> >       wdc1: unit 0 (wd2): <Maxtor 84320D4>
> >       wd2: 4120MB (8439184 sectors), 8930 cyls, 15 heads, 63 S/T, 512 B/S
> >       wdc1: unit 1 (atapi): <FX322M/w03>, removable, intr, dma, iordis
> >       wcd0: 5512KB/sec, 256KB cache, audio play, 255 volume levels, ejectable tray
> >       wcd0: no disc inside, unlocked
> >       mcd0 not found at 0x300
> >       npx0 flags 0x1 on motherboard
> >       npx0: INT 16 interface
> > 
> 
> _________________________________________________________
> DO YOU YAHOO!?
> Get your free @yahoo.com address at http://mail.yahoo.com
> >
> >
> Copyright (c) 1992-1998 FreeBSD Inc.
> Copyright (c) 1982, 1986, 1989, 1991, 1993
> 	The Regents of the University of California. All rights reserved.
> FreeBSD 3.0-RELEASE #11: Mon Jan 18 19:53:18 EST 1999
>     root@HAL9000.no_net.none:/usr/src/sys/compile/HAL_NEW
> Timecounter "i8254"  frequency 1193182 Hz  cost 3863 ns
> CPU: AMD-K6(tm) 3D processor (350.80-MHz 586-class CPU)
>   Origin = "AuthenticAMD"  Id = 0x580  Stepping=0
>   Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
> real memory  = 201326592 (196608K bytes)
> avail memory = 192839680 (188320K bytes)
> Probing for devices on PCI bus 0:
> chip0: <VIA 82C597 (Apollo VP3) system controller> rev 0x04 on pci0.0.0
> chip1: <PCI to PCI bridge (vendor=1106 device=8598)> rev 0x00 on pci0.1.0
> chip2: <VIA 82C586 PCI-ISA bridge> rev 0x41 on pci0.7.0
> ide_pci0: <VIA 82C586x (Apollo) Bus-master IDE controller> rev 0x06 on pci0.7.1
> chip3: <VIA 82C586B ACPI interface> rev 0x10 on pci0.7.3
> xl0: <3Com 3c905B Fast Etherlink XL 10/100BaseTX> rev 0x30 int a irq 11 on pci0.10.0
> xl0: Ethernet address: 00:10:5a:20:9b:68
> xl0: autoneg not complete, no carrier (forcing half-duplex, 10Mbps)
> Probing for devices on PCI bus 1:
> Probing for devices on the ISA bus:
> sc0 at 0x60-0x6f irq 1 on motherboard
> sc0: VGA color <16 virtual consoles, flags=0x0>
> ed0 not found at 0x280
> fe0 not found at 0x300
> sio0: configured irq 4 not in bitmap of probed irqs 0
> sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
> sio0: type 8250
> sio1 at 0x2f8-0x2ff irq 3 on isa
> sio1: type 16550A
> lpt0 at 0x378-0x37f irq 7 on isa
> lpt0: Interrupt-driven port
> lp0: TCP/IP capable interface
> psm0 at 0x60-0x64 irq 12 on motherboard
> psm0: model Generic PS/2 mouse, device ID 0
> fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
> fdc0: FIFO enabled, 8 bytes threshold
> fd0: 1.44MB 3.5in
> wdc0 at 0x1f0-0x1f7 irq 14 on isa
> wdc0: unit 0 (wd0): <QUANTUM FIREBALL SE8.4A>
> wd0: 8063MB (16514064 sectors), 16383 cyls, 16 heads, 63 S/T, 512 B/S
> wdc0: unit 1 (wd1): <WDC AC33100H>
> wd1: 2014MB (4124736 sectors), 4092 cyls, 16 heads, 63 S/T, 512 B/S
> wdc1 at 0x170-0x177 irq 15 on isa
> wdc1: unit 0 (wd2): <Maxtor 84320D4>
> wd2: 1888MB (3866940 sectors), 4092 cyls, 15 heads, 63 S/T, 512 B/S
> wdc1: unit 1 (atapi): <FX322M/w03>, removable, intr, dma, iordis
> wcd0: 5512Kb/sec, 256Kb cache, audio play, 255 volume levels, ejectable tray
> wcd0: no disc inside, unlocked
> wt0 not found at 0x300
> mcd0 not found at 0x300
> matcdc0 not found at 0x230
> scd0 not found at 0x230
> ie0: unknown board_id: f000
> ie0 not found at 0x300
> ep0 not found at 0x300
> ex0 not found
> le0 not found at 0x300
> lnc0 not found at 0x280
> ze0 not found at 0x300
> zp0 not found at 0x300
> cs0 not found at 0x300
> adv0 not found at 0x330
> bt0 not found at 0x134
> aha0 not found at 0x134
> npx0 on motherboard
> npx0: INT 16 interface
> changing root device to wd0s1a
> fd0c: hard error writing fsbn 1 of 1-3 (No status)
> fd0c: hard error writing fsbn 761 (No status)
> fd0c: hard error writing fsbn 10 of 10-12 (No status)
> fd0c: hard error writing fsbn 22 (No status)
> >
> Copyright (c) 1992-1998 FreeBSD Inc.
> Copyright (c) 1982, 1986, 1989, 1991, 1993
> 	The Regents of the University of California. All rights reserved.
> FreeBSD 3.0-RELEASE #10: Mon Jan 18 19:47:08 EST 1999
>     root@HAL9000.no_net.none:/usr/src/sys/compile/HAL_NEW
> Timecounter "i8254"  frequency 1193182 Hz  cost 3863 ns
> CPU: AMD-K6(tm) 3D processor (350.80-MHz 586-class CPU)
>   Origin = "AuthenticAMD"  Id = 0x580  Stepping=0
>   Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
> real memory  = 201326592 (196608K bytes)
> avail memory = 192839680 (188320K bytes)
> Probing for devices on PCI bus 0:
> chip0: <VIA 82C597 (Apollo VP3) system controller> rev 0x04 on pci0.0.0
> chip1: <PCI to PCI bridge (vendor=1106 device=8598)> rev 0x00 on pci0.1.0
> chip2: <VIA 82C586 PCI-ISA bridge> rev 0x41 on pci0.7.0
> ide_pci0: <VIA 82C586x (Apollo) Bus-master IDE controller> rev 0x06 on pci0.7.1
> chip3: <VIA 82C586B ACPI interface> rev 0x10 on pci0.7.3
> xl0: <3Com 3c905B Fast Etherlink XL 10/100BaseTX> rev 0x30 int a irq 11 on pci0.10.0
> xl0: Ethernet address: 00:10:5a:20:9b:68
> xl0: autoneg not complete, no carrier (forcing half-duplex, 10Mbps)
> Probing for devices on PCI bus 1:
> Probing for devices on the ISA bus:
> sc0 at 0x60-0x6f irq 1 on motherboard
> sc0: VGA color <16 virtual consoles, flags=0x0>
> ed0 not found at 0x280
> fe0 not found at 0x300
> sio0: configured irq 4 not in bitmap of probed irqs 0
> sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
> sio0: type 8250
> sio1 at 0x2f8-0x2ff irq 3 on isa
> sio1: type 16550A
> lpt0 at 0x378-0x37f irq 7 on isa
> lpt0: Interrupt-driven port
> lp0: TCP/IP capable interface
> psm0 at 0x60-0x64 irq 12 on motherboard
> psm0: model Generic PS/2 mouse, device ID 0
> fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
> fdc0: FIFO enabled, 8 bytes threshold
> fd0: 1.44MB 3.5in
> wdc0 at 0x1f0-0x1f7 irq 14 on isa
> wdc0: unit 0 (wd0): <QUANTUM FIREBALL SE8.4A>
> wd0: 8063MB (16514064 sectors), 16383 cyls, 16 heads, 63 S/T, 512 B/S
> Using A. Sherrod's patch of 01/18/1999.
> wdc0: unit 1 (wd1): <WDC AC33100H>
> wd1: 3020MB (6185088 sectors), 6136 cyls, 16 heads, 63 S/T, 512 B/S
> Using A. Sherrod's patch of 01/18/1999.
> wdc1 at 0x170-0x177 irq 15 on isa
> wdc1: unit 0 (wd2): <Maxtor 84320D4>
> wd2: 4120MB (8439184 sectors), 8930 cyls, 15 heads, 63 S/T, 512 B/S
> Using A. Sherrod's patch of 01/18/1999.
> wdc1: unit 1 (atapi): <FX322M/w03>, removable, intr, dma, iordis
> wcd0: 5512Kb/sec, 256Kb cache, audio play, 255 volume levels, ejectable tray
> wcd0: no disc inside, unlocked
> wt0 not found at 0x300
> mcd0 not found at 0x300
> matcdc0 not found at 0x230
> scd0 not found at 0x230
> ie0: unknown board_id: f000
> ie0 not found at 0x300
> ep0 not found at 0x300
> ex0 not found
> le0 not found at 0x300
> lnc0 not found at 0x280
> ze0 not found at 0x300
> zp0 not found at 0x300
> cs0 not found at 0x300
> adv0 not found at 0x330
> bt0 not found at 0x134
> aha0 not found at 0x134
> npx0 on motherboard
> npx0: INT 16 interface
> changing root device to wd0s1a
> 

_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com

--0-424238335-916725881=:22614
Content-Type: text/plain; name="adiff.txt"
Content-Description: adiff.txt
Content-Disposition: inline; filename="adiff.txt"

*** wd.c	Mon Jan 18 19:39:22 1999
--- wd.c.original	Mon Jan 18 18:24:14 1999
***************
*** 120,131 ****
  #define WDOPT_MULTIMASK	0x00ff
  
  /*
- * This define is used to determine if the drive is LBA capable
- */
- 
- #define WDCAP_LBA	0x02
- 
- /*
   * This biotab field doubles as a field for the physical unit number on
   * the controller.
   */
--- 120,125 ----
***************
*** 516,523 ****
  			       du->dk_dd.d_nsectors,
  			       du->dk_dd.d_secsize);
  
- 			printf("Using A. Sherrod's patch of 01/18/1999.\n");
- 
  			if (bootverbose) {
  			    wp = &du->dk_params;
  			    printf( "wd%d: ATA INQUIRE valid = %04x, "
--- 510,515 ----
***************
*** 1940,1960 ****
  			du->dk_dd.d_ntracks * du->dk_dd.d_nsectors;
  		du->dk_dd.d_secperunit = 
  			du->dk_dd.d_secpercyl * du->dk_dd.d_ncylinders;
! 
! 		/*
! 		* tThe following change determines if the disk
! 		* is LBA capable. If it is, and the lba size is
! 		* larger than the CHS size, use the LBA size.
! 		* This should allow certain difficult BIOSES
! 		* (eg. Award) which do not report the correct
! 		* CHS size to still give an accurate measure
! 		* of disk size,w ithout forcing the user to
! 		* enable LBA mode.
! 		* A. Sherrod (01/18/1999)
! 		*/
! 
! 		if ( ( (wp->wdp_capability & WDCAP_LBA) ||
!    		   (wp->wdp_cylinders == 16383) ) &&
  		    du->dk_dd.d_secperunit < wp->wdp_lbasize) {
  			du->dk_dd.d_secperunit = wp->wdp_lbasize;
  			du->dk_dd.d_ncylinders = 
--- 1932,1938 ----
  			du->dk_dd.d_ntracks * du->dk_dd.d_nsectors;
  		du->dk_dd.d_secperunit = 
  			du->dk_dd.d_secpercyl * du->dk_dd.d_ncylinders;
! 		if (wp->wdp_cylinders == 16383 &&
  		    du->dk_dd.d_secperunit < wp->wdp_lbasize) {
  			du->dk_dd.d_secperunit = wp->wdp_lbasize;
  			du->dk_dd.d_ncylinders = 

--0-424238335-916725881=:22614--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990119060441.24783.rocketmail>