[LinuxBIOS] vga bios troubles

Jon Dufresne jon.dufresne at gmail.com
Thu Dec 7 16:20:14 CET 2006


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.

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




More information about the coreboot mailing list