RE: QESTION For Real Kernel Hackers. ATA IDENTIFY DATA & - NT/2K

There are a couple of places in the data returned from Identify device where
the max LBA is indicated. One of them is a legacy value, and the other one
is the right one. In the ATAPI 5 R3 spec, you can find the table that
documents this on pages 89 & 90 as the pages are numbered, 103 & 104
absolute in the PDF. Other versions of the spec will probably have
different page numbers, but the information should be there.

Phil
* Philip D. Barila | (503) 264-8386
* Intel Corp. | M/S JF2-53 Office JF2-2-G6
* Storage Architecture and Performance
* Internet Systems Lab

-----Original Message-----
From: D. K. [mailto:xxxxx@homepage.ru]
Sent: Thursday, March 29, 2001 1:21 AM
To: NT Developers Interest List
Subject: [ntdev] QESTION For Real Kernel Hackers. ATA IDENTIFY DATA & NT/2K

Hi, dear all!

I have written the device driver which reads
the ATA Identify Device Data through ports(on Windows NT/2k).

I have looked as my FreeBSD 4.2 determines real size HDD in
her ATA dev(ice) driver at boot time:

==cut here==
total_secs = cylinders * heads * sectors;
if (cylinders == 16383 && total_secs < lbasize)
total_secs = lbasize;
==cut here==

Where: ATA offset ATA description
cylinders - // 1 number of fixed cyls
heads - // 3 number of heads
sectors - // 4 bytes/track
lbasize - // 60 total number of user addressable sectors (LBA
mode)

At booting FreeBSD correctly determines HDD size.
For my 15GB HDD lbasize(at boot time)= 30021632

But! When i read lbasize at Windows NT(SP6a)/ Windows 2000
it always = 0x70000 ~ 224 MB.
On any HDD…

Why?

Best Reards,
Dmitry Koptelov


You are currently subscribed to ntdev as: xxxxx@intel.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com