Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Jan 1996 20:37:12 +0100 (MET)
From:      J Wunsch <j@uriah.heep.sax.de>
To:        freebsd-hackers@freebsd.org (FreeBSD hackers)
Subject:   Re: HELP!!! THIS IS AN EMERGENCY (fwd)
Message-ID:  <199601041937.UAA02333@uriah.heep.sax.de>
In-Reply-To: <199601032046.NAA15501@phaeton.artisoft.com> from "Terry Lambert" at Jan 3, 96 01:46:49 pm

next in thread | previous in thread | raw e-mail | index | archive | help
As Terry Lambert wrote:
> 
> > BSD does not have a 500 MB limit.  It can speak whatever the hardware
> > allows for, this is c<=65535, h<=15, s<=255.  For disks that are used
> > in a BIOS environment as well, the `s' limit is 63 however.  This
> > would still account for 65536*16*31 = 32505856 blocks, or 15872 MB.
> 
> c = 10 bits = 2^10 = 1024.  Not 65536.

This is the BIOS-visible part.  BSD can go beyond this, even for disks
where the first part must be accessible to the BIOS (like boot disks).

> The missing 6 bits that you added in are 1024 * 2^5 and 2^n = 32 for
> h = 0..31 (your n is too small by one bit).

No.  Register 0x1f6 does only use bits 0 through 3 for head addressing
(16 heads), bit 4 selects the primary/secondary drive, bits 5/6 select
the sector size, bit 7 is used for ECC usage.  (van Gilluwe, p 525).

> The INT 21 interface is very specifically c:10/h:6/s:8.  Or 8Gig for
> a maxed out 24 bit value.

The INT 21 interface does not even use C/H/S addressing.  It can only
address files.  The INT 0x25/0x26 interface does allow for non-file
disk access, but uses ``DOS relative sector numbers''.

Both are irrelevant for us, since they belong to DOS.

The INT 0x13 interface traditionally used 10 bits for cylinder
numbers, and an entire byte for head numbers, though the hardware
registers limit the head number to 0..15.

van Gilluwe claims that the topmost two bits of %dh could be used as
an extended cylinder number.  Dunno which BIOSes support this.

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



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