[coreboot] [PATCH] Free VGA BIOS for K8M890

ron minnich rminnich at gmail.com
Sat Apr 25 18:25:58 CEST 2009


2009/4/25 Rudolf Marek <r.marek at assembler.cz>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hello,
>
> I managed to catch all I/O for init of K8M890 IGP. Attached patch is for
> http://www.nongnu.org/vgabios/. With a patch one can have a console and some VGA
> resolutions also might work.
>
> It is just a interesting result.
>
> I used libx86 library to catch all IO. It was quite painful until I realize that
> the emulator cannot handle properly opcodes like
>
> 0x66 0xe8 .. .. 0xff 0xff and also mov al,cs:[ebx] which  I get caught in Sebios
> int 15 routine.
>
> I somehow  managed to fix the emulator (only hacks) and patched the IO backend
> of emulator and obtained following tracedump:
>
> OUTB to 3c3 is 1
> OUTW to 3c4 is 32
> OUTB to 3c4 is 10
> INB from 3c5 is 0
> OUTB to 3c5 is 1
> OUTL to cf8 is 80010000
> INL from cfc is 32301106
> OUTB to 3c4 is 2d
> INB from 3c5 is aa
> OUTB to 3c5 is bf
> OUTW to 3c4 is 816
> ...


Just a note of warning here. We tried this approach in 2001 or so.
This approach may work on your board, and will likely work on many
boards. What many vendors do, however, is hard-code timing information
in their VGA BIOS -- e.g. DRAM info -- and they change parts and
timing all the time. We found cards that were the same vendor, same
card, same part number, that had different values for setup. We
ultimately abandoned the approach you are using because of this
problem.

Which is to say, I am glad this worked for you, but I am afraid it
will not work in general.

Thanks

ron




More information about the coreboot mailing list