mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 21:05:08 +00:00
loader: only use vidc_install_font() with vga controller
If the controller does not support VGA, we should not touch VGA registers.
This commit is contained in:
parent
8c1dda1171
commit
58661b3ba9
|
@ -226,6 +226,18 @@ vga_set_grc(int reg, int i, int v)
|
||||||
vga_set_indexed(reg, VGA_GC_ADDRESS, VGA_GC_DATA, i, v);
|
vga_set_indexed(reg, VGA_GC_ADDRESS, VGA_GC_DATA, i, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return true when this controller is VGA compatible.
|
||||||
|
*/
|
||||||
|
bool
|
||||||
|
vbe_is_vga(void)
|
||||||
|
{
|
||||||
|
if (vbe == NULL)
|
||||||
|
return (false);
|
||||||
|
|
||||||
|
return ((vbe->Capabilities & VBE_CAP_NONVGA) == 0);
|
||||||
|
}
|
||||||
|
|
||||||
/* Actually assuming mode 3. */
|
/* Actually assuming mode 3. */
|
||||||
void
|
void
|
||||||
bios_set_text_mode(int mode)
|
bios_set_text_mode(int mode)
|
||||||
|
|
|
@ -152,6 +152,7 @@ int vga_get_grc(int, int);
|
||||||
void vga_set_grc(int, int, int);
|
void vga_set_grc(int, int, int);
|
||||||
|
|
||||||
/* high-level VBE helpers, from vbe.c */
|
/* high-level VBE helpers, from vbe.c */
|
||||||
|
bool vbe_is_vga(void);
|
||||||
void bios_set_text_mode(int);
|
void bios_set_text_mode(int);
|
||||||
int biosvbe_palette_format(int *);
|
int biosvbe_palette_format(int *);
|
||||||
void vbe_init(void);
|
void vbe_init(void);
|
||||||
|
|
|
@ -780,6 +780,10 @@ vidc_install_font(void)
|
||||||
int bpc, f_offset;
|
int bpc, f_offset;
|
||||||
teken_attr_t a = { 0 };
|
teken_attr_t a = { 0 };
|
||||||
|
|
||||||
|
/* We can only program VGA registers. */
|
||||||
|
if (!vbe_is_vga())
|
||||||
|
return;
|
||||||
|
|
||||||
if (gfx_state.tg_fb_type != FB_TEXT)
|
if (gfx_state.tg_fb_type != FB_TEXT)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue