On 12/7/06, Luis Correia luis.f.correia@gmail.com wrote:
Hi!
On 12/7/06, Jon Dufresne jon.dufresne@gmail.com wrote:
I followed the guide at this site http://linuxbios.org/VGA_support to get my onboard video to work. I have yet to be successful.
I am a little confused about the Config.lb section. This is what the guid says:
device pci 9.0 on # PCI chip drivers/pci/onboard device pci 9.0 on end register "rom_address" = "0xfff80000" #512k image end end
I don't get why you list the "device pci 9.0" twice. I tried that and when I did my vga device never got the driver from onboard.c, instead it would always get the generic pci driver. So I changed it to only include the device below the chip line. This is what my Config.lb looks like
chip northbridge/intel/i855gm chip cpu/intel/socket_mPGA479M device apic 0 on end end device pci_domain 0 on device pci 0.0 on end # host bridge device pci 0.1 on end # memory configuration device pci 0.3 on end # process configuration device pci 1.0 on end
chip drivers/pci/onboard device pci 2.0 on end # vga controller register "rom_address" = "0xfff80000" #512k image end chip southbridge/intel/i82801dbm chip superio/ite/it8712f end end end
end
One thing that is also strange is that when I run "lspci" in a working environment I see two vga devices one at 0:2.0 and one at 0:2.1, I tried listing both but LB complained that I had a leftover static device at 0:2.1, it appears that only one of these devices is visible at boot.
Maybe it is the second head that is visible from PCI but un-implemented by hardware.
So I continued with the code above, and in the debug output I can see where linuxbios attempts to run the proprietary vga bios. I see:
PCI: 00:02.0 init rom address for PCI: 00:02.0 = fff80000 PCI Expansion ROM, signature 0xaa55, INIT size 0xc800, data ptr 0x0040 PCI ROM Image, Vendor 8086, Device 3582, PCI ROM Image, Class Code 030000, Code Type 00 copying VGA ROM Image from 0xfff80000 to 0xc0000, 0xc800 bytes entering emulator
Now, 0xC0000 is controlled by my PAM registers, so I took my best guess and set it read/write to SDRAM. When I do this LB stays inside the emulator for a while and eventually kicks out with this message:
halt_sys: file /root/LinuxBIOSv2/src/devices/emulator/x86emu/ops.c, line 4387
I never see anything on my monitor. I looked at the ops.c file but couldn't figure out what was going on. I have been fooling around with this for quite some time, changing every little thing I can think of, but no luck.
My northbridge is an Intel 855 gme, I used the perl script to extract the vga bios which is 50KiB, I subtracted that size from the ROM_SIZE, and I concatenated it with the linuxBIOS.
Anyone have an idea how to fix this?
Thanks, Jon
Luis
That makes sense, because many of the registers are documented the same including the exact same VID/DID. However, I don't understand why this shows up with an lspci but not with linuxbios. This could just be a peculiarity of pci that I don't understand.
Jon