This commit fixes two AHCI operations:
1. AhciWriteBlocks: caused by wrong command
2. AhciGetMediaInfo: caused by wrong offset
The patches also updates the EFI_ATA_IDENTIFY_DATA to align with the ATA8-ACS.
In addition, this commit ports the following changes from EDK2, to enhance the
command completion and trace:
1. cc28ab7a1d7: MdeModulePkg/AtaAtapiPassThru: Check IS to check for command completion
2. b465a811006: MdeModulePkg/AtaAtapiPassThru: Add SATA error recovery flow
3. 64e25d4b062: MdeModulePkg/AtaAtapiPassThru: Restart failed packets
4. 91d95113d07: MdeModulePkg/AtaAtapiPassThru: Trace ATA packets
5. 4c7ce0d285b: MdeModulePkg AtaAtapiPassThru: Skip the potential NULL pointer access
Last, the commit adjusts OS_LOADER_FD_SIZE for several platforms for x64 build
Verified: Using BlockIoTest to test with SATA SSD disk on TGL-UP3
Signed-off-by: Stanley Chang <stanley.chang@intel.com>