]> git.proxmox.com Git - mirror_edk2.git/commitdiff
The ATA alignment_logic_in_phy_blocks field doesn’t directly report the lowest aligne...
authorerictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 17 Mar 2010 09:48:05 +0000 (09:48 +0000)
committererictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 17 Mar 2010 09:48:05 +0000 (09:48 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10266 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c

index c22f7a3b303e48347c077fe897ada72d61059208..7d92065b1cb3c7b19385de7e1c5c8236bb92574a 100644 (file)
@@ -2563,7 +2563,8 @@ AtaEnableLongPhysicalSector (
       //\r
       if ((AtaIdentifyData->alignment_logic_in_phy_blocks & 0xc000) == 0x4000) {\r
         IdeDev->BlkIo.Media->LowestAlignedLba =\r
-          (EFI_LBA) (AtaIdentifyData->alignment_logic_in_phy_blocks & 0x3fff);\r
+          (EFI_LBA) (IdeDev->BlkIo.Media->LogicalBlocksPerPhysicalBlock - (AtaIdentifyData->alignment_logic_in_phy_blocks & 0x3fff)) %\r
+          IdeDev->BlkIo.Media->LogicalBlocksPerPhysicalBlock;\r
       }\r
     }\r
     //\r