Messages in this thread | | | Date | Mon, 24 Aug 1998 17:03:43 +0200 (MET DST) | From | Andries.Brouwer@cwi ... | Subject | Re: patch-2.1.117 adds bad ide_xlate_1024() |
| |
From hedrick@Astro.Dyer.Vanderbilt.Edu Mon Aug 24 05:41:03 1998
Sorry to be scatter brained ... If I am still mumbling to myself ...
Yes, I am afraid I am unable to extract information from your sequences of words. Still, it is conceivable that you actually wanted to say something meaningful.
This people that have formated and partitioned their system outside of the LBA rules
Please, be *very* explicit, and very precise, if you can. What `LBA rules' are you talking about? Do your LBA rules apply past 8 GB?
As an example, let me try to be precise on the topic of `Translation', the process of massaging geometry parameters to remain within 6-bit S, 8-bit H, 10-bit C.
1. Disk parameter translation (ECHS), is the process of halving C, the cylinder count, and doubling H, the head count until C <= 1024. Some BIOSes call this translation `Large'. This works up to 4 GB or so, but DOS cannot handle 256 heads, so we have to avoid that. 1A. Modified ECHS will first change H=16 into H=15 and replace C by 16*C/15 before starting the above ECHS. This is done only when ECHS fails. As a result, one sees H=240. 1B. A more common modification will use 63 sectors and 16, 32, 64, 128 or 255 heads. Some BIOSes call this translation `LBA' just to spread confusion. (Note that in cases 1, 1A the number S (sectors/track) need not be 63.) 2. Any translation scheme fails past 8 GB. So, since it doesnt work anyway, no translation is done for very large disks.
This is on the software side. On the hardware side one can address a disk by CHS (cylinder/head/sector) or LBA (linear block address). If the disk is very old only CHS is possible. (LBA was introduced in ATA-2.) If the disk is very large only LBA is possible. Otherwise one may choose. The LBA here has no relation with the LBA under 1B above, indeed, has nothing to do with `translation' as discussed above. Many BIOSes call this LBA way of addressing a disk `LBA'.
So far my view of the situation. Additions and corrections are welcome.
Note that Linux only needs a geometry for fdisk and LILO. Guessing what it should use from the partition table is a reasonable heuristic. Inventing some arbitrary translation when none is apparent from the partition table (or even when it is clear from the partition table that no translation is in use), and none is used by Win 95 OSR2, is ridiculous.
Before Linux, big hard disks, piles of RAM, sloppy programming, etc... there was IBM-DOS aka MSDos. Classic DOS has a hard defined CHS limit of 1024c * 16h * 63s, which yields 540/528 Meg of storage. The physical number of heads and the sector size is a constant. Note that 15 heads is equal to 16 heads, this is defined from 0-15 or 1-16. It is my understanding that the change from 16 to 15 is an accounting thing related to the LBA question. Also note that much of this was tide to the BIOS of the mainboard as a restricting factor.
Hmm. Yes. Certainly.
Andries
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
| |