On Wed, Dec 24, 2008 at 12:16:14AM +0100, Rudolf Marek wrote:
The K8M890 BIOS needs int 0x15 0x5f18 to write to scratch register for a driver the memory size of framebuffer and also the memory speed. The X.org openchrome driver as well Unichrome driver needs that.
[...]
diff --git a/src/vgahooks.c b/src/vgahooks.c index 7c229ba..86050fd 100644 --- a/src/vgahooks.c +++ b/src/vgahooks.c
[...]
- bdf = pci_find_device(PCI_VENDOR_ID_VIA, 0x3336); /* K8M890 supported so far */
[...]
- bdf = pci_find_device(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MEMCTL); /* get the memory speed */
I thought the code would be vga chip dependent. However, it looks like it depends on both the chipset and vga chip.
It's going to be hard to maintain cpu and chipset specific features in SeaBIOS. I wonder if we can find an alternative.
Can you provide more details on what you're seeing? The VGA BIOS is calling int 155f18 and then populating a register in the vga card's pci config space? If so, could coreboot populate the register directly?
-Kevin