Changeset 141


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

Moved the clearing of BSS variables to an earlier stage [v1.1.1-testing]

When debugging, we want 'AuxIO' available before 'PRECRAP'.

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

Location:
trunk/bootcode
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/bootcode/airboot.asm

    r138 r141  
    996996        pop     [OldSS]
    997997
     998        ; Clear the BSS from its real start just upto the end of the variables.
     999        ; Here 'real start' means from where the BSS begins, which is below
     1000        ; the point where the first variables are located. The part after
     1001        ; the variables is not cleared because that is where the old SS:SP is
     1002        ; stored, which is needed for AirBoot restarts during debugging.
     1003        mov     bx, offset sobss
     1004        mov     cx, offset EndOfVariables - offset sobss
     1005        xor     ax, ax
     1006        call    FillMemBlock
    9981007
    9991008; Verify we still got the BIOS disk in DL
  • trunk/bootcode/regular/other.asm

    r139 r141  
    9999        ENDIF
    100100ENDIF
    101 
    102         ; Clear the BSS from its real start just upto the end of the variables.
    103         ; Here 'real start' means from where the BSS begins, which is below
    104         ; the point where the first variables are located. The part after
    105         ; the variables is not cleared because that is where the old SS:SP is
    106         ; stored, which is needed for AirBoot restarts during debugging.
    107         mov     bx, offset sobss
    108         mov     cx, offset EndOfVariables - offset sobss
    109         xor     ax, ax
    110         call    FillMemBlock
    111101
    112102    ;
Note: See TracChangeset for help on using the changeset viewer.