Changeset 158


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

Preserve SI when using 'LVM_GetDriveLetter' [v1.1.1-testing]

In several parts of the code, SI points to the IPT-entry of the
partition acted upon and is often assumed to be preserved across
helper functions.

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/special/lvm.asm

    r156 r158  
    225225; IN    : SI    - Pointer to IPT entry for partition
    226226; OUT   : AL    - LVM drive-letter
    227 ;       : SI    - Pointer to LVM entry in loaded LVM record
    228227;       : CF=1  - No valid LVM sector found, AL not valid
    229228; NOTE  : Besides the drive-letter, AL can be 0 (LVM hidden) or '*' (LVM auto)
    230229;------------------------------------------------------------------------------
    231 LVM_GetDriveLetter      Proc Near   Uses bx cx dx di
     230LVM_GetDriveLetter      Proc Near   Uses bx cx dx si di
    232231
    233232IFDEF   AUX_DEBUG
     
    275274        ; Indicate no LVM drive-letter found
    276275        xor     ax, ax
    277         mov     si, ax
    278276        stc
    279277
     
    303301; IN    : SI    - Pointer to IPT entry for partition
    304302;       : AL    - LVM drive-letter
    305 ; OUT   : SI    - Pointer to LVM entry in loaded (and saved) LVM record
    306 ;       : AL    - LVM drive-letter
    307 ;       : CF=1  - No valid LVM sector found, AL not valid
     303; OUT   : CF=1  - No valid LVM sector found, AL was not valid
    308304; NOTE  : Besides the drive-letter, AL can be 0 (LVM hidden) or '*' (LVM auto)
    309305;------------------------------------------------------------------------------
    310 LVM_SetDriveLetter      Proc Near   Uses bx cx dx di
     306LVM_SetDriveLetter      Proc Near   Uses bx cx dx si di
    311307
    312308        ; THIS IS A DUMMY FUNCTION RETURNING FAILURE
     
    320316        ; Just indicate failure and return
    321317        xor     ax, ax
    322         mov     si, ax
    323318        stc
    324319        ret
Note: See TracChangeset for help on using the changeset viewer.