X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=vgasrc%2Fvga.c;h=539cd7aa959a179058bb38451972990e663fb000;hb=db301ef20c03657631790393ac36ec191dbf24e2;hp=e7b96ff734f290d041d8dc0c63c436ede750bb2a;hpb=87233e9ddac7f833d14031be5d7afc705aed5f25;p=seabios.git diff --git a/vgasrc/vga.c b/vgasrc/vga.c index e7b96ff..539cd7a 100644 --- a/vgasrc/vga.c +++ b/vgasrc/vga.c @@ -18,12 +18,12 @@ #include "optionroms.h" // struct pci_data #include "config.h" // CONFIG_* #include "vbe.h" // vbe_* +#include "geodelx.h" // geodelx_init // XXX #define DEBUG_VGA_POST 1 #define DEBUG_VGA_10 3 -#define SET_VGA(var, val) SET_FARVAR(get_global_seg(), (var), (val)) /**************************************************************** * PCI Data @@ -1226,7 +1226,7 @@ handle_104f00(struct bregs *regs) SET_FARVAR(seg, info->oem_string, SEGOFF(get_global_seg(), (u32)VBE_OEM_STRING)); - SET_FARVAR(seg, info->capabilities[0], 0x1); /* 8BIT DAC */ + SET_FARVAR(seg, info->capabilities, 0x1); /* 8BIT DAC */ /* We generate our mode list in the reserved field of the info block */ SET_FARVAR(seg, info->video_mode, SEGOFF(seg, regs->di + 34)); @@ -1284,7 +1284,7 @@ handle_104f01(struct bregs *regs) SET_FARVAR(seg, info->win_size, 64); /* Bank size 64K */ SET_FARVAR(seg, info->winA_seg, 0xA000); SET_FARVAR(seg, info->winB_seg, 0x0); - SET_FARVAR(seg, info->win_func_ptr, 0x0); + SET_FARVAR(seg, info->win_func_ptr.segoff, 0x0); SET_FARVAR(seg, info->bytes_per_scanline, modeinfo.linesize); SET_FARVAR(seg, info->xres, modeinfo.width); SET_FARVAR(seg, info->yres, modeinfo.height); @@ -1570,6 +1570,9 @@ vga_post(struct bregs *regs) vgahw_init(); + if (CONFIG_VGA_GEODELX) + geodelx_init(); + init_bios_area(); vbe_init(regs->ah, regs->al); @@ -1582,9 +1585,7 @@ vga_post(struct bregs *regs) // XXX - clear screen and display info - // XXX: fill it - SET_VGA(video_save_pointer_table.videoparam - , SEGOFF(get_global_seg(), (u32)video_param_table)); + build_video_param(); // Fixup checksum extern u8 _rom_header_size, _rom_header_checksum;