Subject: Re: Big IDE disks -- install problems
To: None <port-i386@netbsd.org>
From: Wolfgang Rupprecht <wolfgang@wsrcc.com>
List: port-i386
Date: 09/15/1998 12:03:39
jonathan@DSG.Stanford.EDU (Jonathan Stone) writes:
> But that doesnt help unless we can find the real disk size, and I
> dont know how to do that for IDE disks bigger than ~8.5 gig.

Seagate has some white papers on disksize / BIOS limitations on their
web site.  I don't understand all this bios crap, but perhaps it makes
sense (or gives a hint as to how to proceed) to someone else.

    http://www.seagate.com:80/support/disc/faq/8point4.shtml

    Overcoming the 8.4-Gbyte Barrier

    ...

    BIOS limitations previously occurred at 528-Mbyte and 2.1-Gbyte
    capacities. The next BIOS frontier is the 8.4-Gbyte barrier. This
    barrier occurs because of the BIOS's addressing limitation. Unlike
    previous BIOS limitations, the solution is more complex, but like
    previous constraints, upgrading to the latest version BIOS will
    solve this problem.

    The 8.4-Gbyte constraint is based on an obscure method of causing
    the PC to perform a disc drive operation called an interrupt
    (INT). When the BIOS wants to get data onto or off of the hard
    disc, it must send a software interrupt. The key storage interrupt
    is INT 13h. Older versions of BIOS do not support this interrupt
    on disc drives larger than 8.4 Gbytes. Like the rest of PC
    architecture, this interrupt has been enhanced to accommodate the
    larger capacities required in today's systems.

    ...

    System BIOS Parameters for Drives Greater than 8.4 Gbytes

    If system BIOS can break the 8.4-Gbyte barrier, how system BIOS
    uses and reports drive parameters becomes a bit misleading and
    confusing.

    Currently, 16,383 cylinders is the absolute upper limit for system
    BIOSs and DOS-type operating systems. When combined with the
    normal 16 heads and 63 sectors per track (16,383 x 16 x 63 x 512
    bytes per sector = 8,455,200,768 bytes), this produces a limit of
    about 8.4 Gbytes for capacity reporting. The normal way of
    computing drive capacity (Cylinders x Heads x Sectors x 512
    bytes/sector) can no longer be used for drives larger than 8.4
    Gbytes. For drives larger than 8.4 Gbytes, we must use the total
    number of addressable sectors on the drive times 512 bytes per
    sector. For example, the ST39140A label that shows 17,803,440
    addressable sectors also shows 16,383C, 16H, 63S. Therefore,
    17,803,440 total sectors x 512 bytes per sector = 9,115,361,280
    bytes.

    The standard C-H-S parameters are displayed on the Seagate drive
    label and in the Seagate Desk Reference, along with total
    addressable sectors for these large drives. If "User" is used in
    system BIOS, even with LBA enabled, and the posted C-H-S
    parameters are entered, the drive capacity will be limited to 8.4
    Gbytes. With system BIOSs that support large drives, you must use
    "Auto" with LBA enabled to get the full capacity of the
    drive. (Tip: Some system BIOSs have a separate HDD detect utility
    that normally uses the standard C-H-S method and will not function
    correctly with large drives). Using System BIOS "Auto" on those
    BIOSs that support large drives will use the total addressable
    sectors on the drive to compute drive capacity. The total capacity
    of the drive may or may not be displayed correctly in system
    BIOS. The true capacity as seen by the system BIOS and the
    operating system can only be displayed using FDISK or CHKDSK.

    Although this discussion is primarily for ATA devices, the BIOS on
    some Adaptec (www.adaptec.com) SCSI Adapters (such as
    AHA2940U2W-LVD) provides Extended INT 13h support and will
    successfully break the 8.4-Gbyte barrier for recognized capacity
    when using an operating system that supports Extended INT 13. UNIX
    and other non-DOS operating systems do not necessarily suffer from
    the 8.4-Gbyte limitation.

    ...

It sure sounds like there is a way to deal with >8Gig in the bios for
IDE/ATA drives.

-wolfgang