• Peter Korsgaard's avatar
    x86-boot: don't request VBE2 information · 1722770f
    Peter Korsgaard authored
    The new x86 setup code (4fd06960) broke booting on an old P3/500MHz
    with an onboard Voodoo3 of mine. After debugging it, it turned out
    to be caused by the fact that the vesa probing now asks for VBE2 data.
    
    Disassembing the video BIOS shows that it overflows the vesa_general_info
    structure when VBE2 data is requested because the source addresses for the
    information strings which get strcpy'ed to the buffer lie outside the 32K
    BIOS code (and hence contain long sequences of 0xff's).
    
    E.G.:
    
    get_vbe_controller_info:
    00002A9C  60                pushaw
    00002A9D  1E                push ds
    00002A9E  0E                push cs
    00002A9F  1F                pop ds
    00002AA0  2BC9              sub cx,cx
    00002AA2  6626813D56424532  cmp dword [es:di],0x32454256 ; "VBE2"
    00002AAA  7501              jnz .1
    00002AAC  41                inc cx
    .1:
    00002AAD  51                push cx
    00002AAE  B91400            mov cx,0x14
    00002AB1  BED47F            mov si, controller_header
    00002A...
    1722770f
vesa.h 1.91 KB