diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2011-12-31 19:42:21 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2011-12-31 19:45:14 -0500 |
commit | 161d201affa5dd23a39a0de9a0743b857448c4b6 (patch) | |
tree | ca0a53497dcb2abf3aae97432d8c04e27b700d09 /vgasrc/vgabios.c | |
parent | 5108c69c47e18244206593c0c7918711311d8ef3 (diff) | |
download | seabios-hppa-161d201affa5dd23a39a0de9a0743b857448c4b6.zip seabios-hppa-161d201affa5dd23a39a0de9a0743b857448c4b6.tar.gz seabios-hppa-161d201affa5dd23a39a0de9a0743b857448c4b6.tar.bz2 |
vgabios: Unify X_init() functions.
Use the same function signature for cirrus, bochsvga, geodelx, and
stdvga init code.
Have each hardware type explicitly call stdvga_init when needed.
To unify bochsvga_init() signature, store the device BDF passed into
the optionrom init code in a global variable (VgaBDF).
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'vgasrc/vgabios.c')
-rw-r--r-- | vgasrc/vgabios.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c index 9e8863a..7d558c1 100644 --- a/vgasrc/vgabios.c +++ b/vgasrc/vgabios.c @@ -1187,30 +1187,30 @@ init_bios_area(void) SET_BDA(video_msr, 0x09); } +u16 VgaBDF VAR16; + void VISIBLE16 vga_post(struct bregs *regs) { debug_enter(regs, DEBUG_VGA_POST); - stdvga_init(); + SET_VGA(VgaBDF, regs->ax); - if (CONFIG_VGA_GEODELX) - geodelx_init(); + int ret = vgahw_init(); + if (ret) { + dprintf(1, "Failed to initialize VGA hardware. Exiting.\n"); + return; + } init_bios_area(); - bochsvga_init(regs->ah, regs->al); + build_video_param(); extern void entry_10(void); SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); - if (CONFIG_VGA_CIRRUS) - clext_init(); - // XXX - clear screen and display info - build_video_param(); - // Fixup checksum extern u8 _rom_header_size, _rom_header_checksum; SET_VGA(_rom_header_checksum, 0); |