Daniel,
mainboard.c already looks like this in src/mainboard/via/epia-m. It seems to take care of both the $3122 and $3123 devices.
There are other weird things happening. LB _does not_ compile the way it used to out-of-the-box, even for older revisions. It gives me linking errors every time I try to enable VGA (CONFIG_CONSOLE_VGA,CONFIG_PCI_ROM_RUN), unless I increase the ROM_IMAGE_SIZE, as recommended by Stefan. I figured maybe my payload was too large and pushing the image > $10000, so I recompiled filo with a bunch fewer options, and it was only 26K (vs 39K before), and it still won't link without increasing ROM_IMAGE_SIZE to $12000. I'm not sure if this is related, but it is weird. Can ROM_IMAGE_SIZE be changed w/o changing any of the other parameters?
Also, does anyone have a good explaination of:
ROM_SIZE (Appears to be total size of your rom chip) ROM_IMAGE_SIZE (Size of this rom image, fallback or normal), defaults to $10000 (64K) ROM_SECTION_OFFSET=0x10000 ??? ROM_SECTION_SIZE=0x30000 ??? ROM section == total used by LB minus VGA rom size???
void write_protect_vgabios(void) { device_t dev;
printk_info("write_protect_vgabios\n"); /* there are two possible devices. Just do both. */ dev = dev_find_device(PCI_VENDOR_ID_VIA, 0x3122, 0); if(dev) pci_write_config8(dev, 0x61, 0xaa);
dev = dev_find_device(PCI_VENDOR_ID_VIA, 0x3123, 0); if(dev) pci_write_config8(dev, 0x61, 0xaa); }
Daniel Parthey wrote:
Eric Poulsen schrieb:
I went back to the "stock" LinuxBIOSv2, revision 2100, known to work with the Epia M. This particular revision worked for me, albeit with the long delay at the beginning because of the firewire search.
Essentially, whenever, I add ...
#VGA Console option CONFIG_CONSOLE_VGA=1 option CONFIG_PCI_ROM_RUN=1
.... to the Config.lb, it doesn't work, giving the error below.
Any ideas?
[...] VGA random fixup ... INSTALL REAL-MODE IDT DO THE VGA BIOS found VGA: vid=1106, did=3122 rom base, size: fffc0000 write_protect_vgabios
^^^^^^^^^^^^^^^^^^^^^ Did you change the line in mainboard.c from dev = dev_find_device(PCI_VENDOR_ID_VIA, 0x3123, 0); to dev = dev_find_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_CLE266_VGA, 0); in order to write-protect the vgabios correctly?
bus/devfn = 0x100 Unexpected Exception: 13 @ 10:000121c3 - Halting Code: 0 eflags: 00010012 eax: 00000012 ebx: 00024530 ecx: 00023fa8 edx: 00000012 edi: 00018a90 esi: ffff946b ebp: 00023f84 esp: 00023f84
Daniel.