aboutsummaryrefslogtreecommitdiff
path: root/vgasrc/vgabios.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2011-12-31 19:42:21 -0500
committerKevin O'Connor <kevin@koconnor.net>2011-12-31 19:45:14 -0500
commit161d201affa5dd23a39a0de9a0743b857448c4b6 (patch)
treeca0a53497dcb2abf3aae97432d8c04e27b700d09 /vgasrc/vgabios.c
parent5108c69c47e18244206593c0c7918711311d8ef3 (diff)
downloadseabios-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.c18
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);