VirtualBox

Ignore:
Timestamp:
Feb 6, 2020 7:38:51 AM (5 years ago)
Author:
vboxsync
Message:

VGABIOS: Do not recursively invoke INT 10h C handlers to conserve stack space; also do not recursively invoke INT 10h, rather use INT 6Dh which should not be hooked (see bugref:6549).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/BIOS/vgabios.c

    r82278 r83001  
    230230#endif
    231231    set_int_vector(0x10, vgabios_int10_handler);
     232    set_int_vector(0x6D, vgabios_int10_handler);
    232233#ifdef CIRRUS
    233234    cirrus_init();
     
    854855}
    855856
    856 /// @todo Evaluate whether executing INT 10h is the right thing here
     857/// Recursive BIOS invocation, uses
    857858extern void vga_font_set(uint8_t function, uint8_t data);
    858859#pragma aux vga_font_set =  \
    859860    "mov    ah, 11h"        \
    860     "int    10h"            \
     861    "int    6Dh"            \
    861862    parm [al] [bl];
    862863
     
    10701071 if(vga_modes[line].class==TEXT)
    10711072  {
    1072      vga_font_set(0x04, 0);     /* Load 8x16 font into page 0. */
    1073      vga_font_set(0x03, 0);     /* Select font page mode 0. */
     1073     biosfn_load_text_8_16_pat(0x04, 0);    /* Load 8x16 font into page 0. */
     1074     vga_font_set(0x03, 0);                 /* Select font page mode 0. */
    10741075  }
    10751076
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