Changeset 487 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization
- Timestamp:
- Dec 5, 2012, 5:54:46 PM (12 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm
r445 r487 52 52 call .CompareCHorSfromOffsetBXtoMaxValueInCX 53 53 54 ; We now verified P-CHS parameters so we assume ATA ID to be valid 55 ; for ATA-4 and older. For ATA-5 and later we check signature 56 ; and checksum. 57 mov ax, [es:si+ATA6.wMajorVer] ; ATA-3 and later have this word 58 inc ax 59 jz SHORT .AtaIDverifiedSuccessfully ; FFFFh means no version info available 60 dec ax 61 jz SHORT .AtaIDverifiedSuccessfully ; Zero means no version info available 62 cmp ax, A6_wMajorVer_ATA5 63 jb SHORT .AtaIDverifiedSuccessfully ; ATA-3 and ATA-4 do not have checksum 64 65 ; Check signature byte 66 cmp BYTE [es:si+ATA6.bSignature], A6_wIntegrity_SIGNATURE 54 ; Check signature byte. It is only found on ATA-5 and later. It should be zero on 55 ; ATA-4 and older. 56 mov al, [es:si+ATA6.bSignature] 57 test al, al 58 jz SHORT .AtaIDverifiedSuccessfully ; Old ATA so Signature and Checksum is not available 59 cmp al, A6_wIntegrity_SIGNATURE 67 60 jne SHORT .FailedToVerifyAtaID 68 61 69 ; Check checksum byte 62 ; Check checksum byte since signature was present 70 63 mov cx, ATA6_size 71 64 call Memory_SumCXbytesFromESSItoAL ; Returns with ZF set according to result
Note:
See TracChangeset
for help on using the changeset viewer.