Ignore:
Timestamp:
Apr 8, 2017, 12:27:57 AM (8 years ago)
Author:
Ben Rietbroek
Message:

Updated callers of 'LVM_GetDriveLetter' -- revisit this [v1.1.1-testing]

CAUTION:
This is a testbuild !
AirBoot uses the BIOS to access disks and a small coding error can trash
partition tables or other vital disk structures. You are advised to make
backups of TRACK0 and EBRs before using this testbuild. More info at:
https://rousseaux.github.io/netlabs.air-boot/pdf/AirBoot-v1.1.0-manual.pdf

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bootcode/regular/partmain.asm

    r123 r155  
    17611761        ;
    17621762        ; Get the drive-letter for the partition from the LVM-info.
    1763         ; Returns CY=1 if AL contains drive-letter, CY=0 and AL=0 if
    1764         ; no letter assigned (hidden) or no LVM info found.
     1763        ; Returns CY=0 if AL contains drive-letter, '*' or 0.
     1764        ; Returns CY=1 and AL=0 if no LVM info found.
     1765        ; The new 'LVM_GetDriveLetter' directly uses SI, so the loading of
     1766        ; DL, CX and BX is not needed. We'll leave it here for now.
    17651767        ;
    17661768        mov     dl,byte ptr [si+LocIPT_Drive]
    17671769        mov     cx,[si+LocIPT_AbsoluteBegin+00h]
    17681770        mov     bx,[si+LocIPT_AbsoluteBegin+02h]
     1771
     1772        ; Now uses SI, not DL,CX,BX
    17691773        call    LVM_GetDriveLetter
    1770 
     1774        ;//! CHECKME: No test on LVM info found
    17711775
    17721776        ; Save for later use.
     
    18971901        ;~ mov     al,[BPBdl]
    18981902        ;~ sub     al,3dh
    1899         ;~ call    LVM_SetDriveLetter                                                                  ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    1900 
    1901 
     1903        ;~ call    LVM_SetDriveLetter
     1904
     1905
     1906;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    19021907        ;
    19031908        ; ALWAYS SET BPB to LVM
    19041909        ;
    1905         mov     dl,byte ptr [si+LocIPT_Drive]
    1906         mov     cx,[si+LocIPT_AbsoluteBegin+00h]
    1907         mov     bx,[si+LocIPT_AbsoluteBegin+02h]
    1908         call    LVM_GetDriveLetter                                                                  ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    1909         add     al,3dh
    1910         mov     bx,[PhysDiskBpbIndex]
     1910        mov     dl, byte ptr [si+LocIPT_Drive]
     1911        mov     cx, [si+LocIPT_AbsoluteBegin+00h]
     1912        mov     bx, [si+LocIPT_AbsoluteBegin+02h]
     1913
     1914        ; Now uses SI, not DL,CX,BX
     1915        call    LVM_GetDriveLetter
     1916        ;//! CHECKME: No test on LVM info found
     1917
     1918        add     al, 3dh
     1919        mov     bx, [PhysDiskBpbIndex]
    19111920        inc     bx
    1912         mov     es:[di+bx],al
     1921        mov     es:[di+bx], al
    19131922
    19141923
Note: See TracChangeset for help on using the changeset viewer.