aboutsummaryrefslogtreecommitdiff
path: root/vgasrc
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2011-12-31 16:22:35 -0500
committerKevin O'Connor <kevin@koconnor.net>2011-12-31 16:22:35 -0500
commit323d8c635750ff4091ae1ba6f103b455828d53b6 (patch)
tree274aaf398ffc5a0215b5310c61c0a1abbbccae65 /vgasrc
parentc990f27298104d23a0a63fc340385310e598fe00 (diff)
downloadseabios-hppa-323d8c635750ff4091ae1ba6f103b455828d53b6.zip
seabios-hppa-323d8c635750ff4091ae1ba6f103b455828d53b6.tar.gz
seabios-hppa-323d8c635750ff4091ae1ba6f103b455828d53b6.tar.bz2
vgabios: Don't call int10 during mode switch.
Don't call int10 to load the fonts - instead call the font loading functions directly. Theoretically, this could change behavior if an external program has captured int10 and redirects the font loading calls. However, there does not seem to be any indication that an external app could expect that to work. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'vgasrc')
-rw-r--r--vgasrc/vgabios.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c
index 5083292..4724c4b 100644
--- a/vgasrc/vgabios.c
+++ b/vgasrc/vgabios.c
@@ -46,18 +46,6 @@ struct pci_data rom_pci_data VAR16VISIBLE = {
* Helper functions
****************************************************************/
-static inline void
-call16_vgaint(u32 eax, u32 ebx)
-{
- asm volatile(
- "int $0x10\n"
- "cli\n"
- "cld"
- :
- : "a"(eax), "b"(ebx)
- : "cc", "memory");
-}
-
static void
perform_gray_scale_summing(u16 start, u16 count)
{
@@ -440,8 +428,8 @@ vga_set_mode(u8 mode, u8 noclearmem)
// Write the fonts in memory
if (GET_GLOBAL(vmode_g->memmodel) & TEXT) {
- call16_vgaint(0x1104, 0);
- call16_vgaint(0x1103, 0);
+ stdvga_load_font(get_global_seg(), vgafont16, 0x100, 0, 0, 16);
+ stdvga_set_text_block_specifier(0);
}
// Set the ints 0x1F and 0x43
SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8]));