VirtualBox

Changeset 42260 in vbox for trunk/src/VBox/Devices/PC


Ignore:
Timestamp:
Jul 20, 2012 1:22:19 PM (13 years ago)
Author:
vboxsync
Message:

BIOS: Do not try showing logo if VBE is not present.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS/logo.c

    r41774 r42260  
    4949    "int    10h"            \
    5050    parm [bx] modify [ax] nomemory;
     51
     52/**
     53 * Get current VESA video mode.
     54 * @params    New video mode.
     55 */
     56uint16_t vesa_get_mode(uint16_t __far *mode);
     57#pragma aux vesa_get_mode = \
     58    "mov    ax, 4F03h"      \
     59    "int    10h"            \
     60    "mov    es:[di], bx"    \
     61    parm [es di] modify [ax] nomemory;
    5162
    5263
     
    317328    uint8_t     is_fade_in, is_fade_out, uBootMenu;
    318329    uint16_t    logo_time;
     330    uint16_t    old_mode;
    319331
    320332
    321333    // Set PIT to 1ms ticks
    322334    wait_init();
    323 
    324335
    325336    // Get main signature
    326337    tmp = read_logo_word((uint8_t)&logo_hdr->u16Signature);
    327338    if (tmp != 0x66BB)
     339        goto done;
     340
     341    // If there is no VBE, just skip this
     342    if (vesa_get_mode(&old_mode) != 0x004f )
    328343        goto done;
    329344
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette