[coreboot] [PATCH] Free VGA BIOS for K8M890

Luc Verhaegen libv at skynet.be
Mon May 4 19:37:51 CEST 2009

On Fri, May 01, 2009 at 11:42:17PM +0200, Rudolf Marek wrote:
> Hash: SHA1
> Hi again,
> I'm attaching a rewritten version from VGA ROM, which mimics the BIOS init.
> Sadly enough it is still not hitting the all required regs to make powernow
> working as it is with orig bios.
> The rest register spill is the captured IO as it was. The top of the file is
> what bios is doing during the init. Just before it calls ax=0003 and exits the rom.
> There is also one interresting place:
> <------>write_cr((read_cr(0x36) & ~0x30) | (0x3 << 4), 0x36);

VGA H/VSync off.

> <------>write_cr((read_cr(0x30) & ~0x4), 0x30);

Disable Power Now Signals in CRTC1, as can be read from public via docs.

> <------>/* just read, hope compiler won't optimize that out */
> <------>tmp = inb(0x3da);
> <------>tmp = inb(0x3ba);

STAT1 (both colour and mono)
> <------>outb(0x0, 0x3c0);


> /* original bios has it but if I compile it in I get blank screen */
> //<---->tmp = inb(0x3da);
> <------>tmp = inb(0x3ba);

Halfway through the dump the vga device is set from mono to colour.

> The bios is doing it exactly like this. But if I enable the inb(0x3da) I get no
> picture but monitors seems to have some signal. It works fine without those
> inbs. Any idea what is doing the code?

Hrm. This is the AR register accesses. They require a read from STAT1 
for the internal counter to be reset and thus for correct read/write 

Luc Verhaegen.

More information about the coreboot mailing list