Ignore:
Timestamp:
Apr 12, 2014, 12:13:57 PM (11 years ago)
Author:
Ben Rietbroek
Message:

Fixed a nasty bug when eCS phase1 is active [2012-05-13]

WARNING!!

All commits upto and including the commit of [2012-05-13] contain
a severe bug!! Building from these sources and then disabling
the 'force LBA' feature while also using the drive-letter feature or
editing the label can DESTROY THE MBR on ALL ATTACHED DISKS!!
DO NOT DISABLE 'FORCE LBA USAGE' WHEN BUILT FROM THE THESE COMMITS!!

Fixes

o Bug Description

When creating a partition in a free space between partitions for
eCS installation, the phase1 boot-through code would calculate the
wrong index for the new partition. As a result the next partition
would be auto-booted instead of the newly installed system.
This bug is also present in v1.07.

o Quick Fix

Run PARTSCAN_ScanForPartitions for a second time when eCS phase1
is active. This resyncs the PartitionXref table.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BOOTCODE/REGULAR/DRIVEIO.ASM

    r47 r49  
    107107        mov     es, ax
    108108
    109         mov     ah, 00h                        ; Function 2 - Reset Drive
     109        mov     ah, 00h                        ; Function 0 - Reset Drive
    110110        xor     dl, dl
    111111        int     13h
     
    569569    IFDEF AUX_DEBUG
    570570        ; show current partition location
    571         pushf
    572         pusha
     571        ;~ pushf
     572        ;~ pusha
    573573        ;~ call    AuxIO_TeletypeNL
    574574        ;~ mov     si,offset db_curlvmsec
    575575        ;~ call    AuxIO_Print
    576         mov     dx,bx
     576        ;~ mov     dx,bx
    577577        ;~ call    AuxIO_TeletypeHexDWord
    578578        ;~ call    AuxIO_TeletypeNL
    579         mov     si,offset LVMSector
     579        ;~ mov     si,offset LVMSector
    580580        ;~ call    AuxIO_DumpSector
    581581        ;~ call    AuxIO_TeletypeNL
    582         popa
    583         popf
     582        ;~ popa
     583        ;~ popf
    584584    ENDIF
    585585
Note: See TracChangeset for help on using the changeset viewer.