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

Clear the variable area using new fill function [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/other.asm

    r124 r135  
    100100ENDIF
    101101
    102         ; First initialize Variable-Area (everything with NUL)
    103         ; We use the start instead of the variables because they could be 'orged'
    104         ; to an offset. We want everything after the code to be nullified.
    105         mov     di, offset sobss
     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
    106108        mov     cx, offset EndOfVariables - offset sobss
    107109        xor     ax, ax
    108         shr     cx, 1
    109         inc     cx
    110         rep     stosw
    111 
     110        call    FillMemBlock
    112111
    113112    ;
Note: See TracChangeset for help on using the changeset viewer.