Just to be clear, it's fine to try initializing the video card in SeaBIOS, it's fine to try initializing the video card in coreboot, and it's fine to try and hold off initialization until Linux starts. But, definitely don't try booting with two or more points trying to initialize the video hardware - that's known to cause problems.
When attempting to initialize the video hardware in SeaBIOS, make sure coreboot has CONFIG_VGA_ROM_RUN, CONFIG_ON_DEVICE_ROM_RUN, CONFIG_VGA_BIOS, and CONFIG_PXE_ROM all disabled. If attempting to initialize the video in coreboot or Linux, then one must force SeaBIOS to not attempt to run the vga option rom - the easiest way to do this is to use the latest development seabios code and set /etc/pci-optionrom-exec to 0 (see http://www.coreboot.org/SeaBIOS#Other_Configuration_items ).
-Kevin
On Sun, Mar 22, 2015 at 05:32:32PM +0000, ron minnich wrote:
A good first pass is to enable YABEL instead of native execution and watch what it does. That's how I've had to debug graphics before.
Also, if you can do a serial console only setup, you can run the VBIOS once linux is booted and try to debug it that way.
It's very hard to debug a VBIOS issue as you are doing it now, however. It will take years off of your life :-)
ron
On Sun, Mar 22, 2015 at 9:07 AM Martin Roth gaumless@gmail.com wrote:
My experience is that the aspeed chip based graphics card that comes with Mohon Peak has a bug in the vbios causing it to hang when run. If you need to use this specific card, you'll need to debug it, probably with a jtag debugger, going through the assembly, and see what's causing the issue. My initial guess is that they're looking for some value in the bda or ebda that isn't present, but I'm not sure what this might be.
Martin
On Sun, Mar 22, 2015 at 8:45 AM, Kevin O'Connor kevin@koconnor.net wrote:
On Fri, Mar 20, 2015 at 12:30:38PM +0300, Kuzmichev Viktor wrote:
I tried not to include any VBIOS file in coreboot ROM much earlier, in
my
first tests. With 'Run VGA Option ROMs' option checked the board just
hung.
And as I mentioned in my previous email VGA works fine with vendor's
BIOS.
So the card itself should be fine.
Sadly, I don't have another card to try. Even if I had, I still would
need
to make this one work somehow as Mohon Peak is just a reference board
and
the target board will have a similar VGA controller.
So please, let me know if there are some other things I could try or if
I am
mistaken somewhere.
Hi Viktor,
It seems you've tried a bunch of different configurations. However, this is making your trouble report hard to understand as it becomes unclear which config had which results.
If you have an external VGA card, then please build coreboot with CONFIG_VGA_ROM_RUN, CONFIG_ON_DEVICE_ROM_RUN, CONFIG_VGA_BIOS, and CONFIG_PXE_ROM all disabled. Please use either the SeaBIOS provided by coreboot, or build SeaBIOS with a default config (only CONFIG_COREBOOT and if needed CONFIG_DEBUG_SERIAL changed from the seabios defaults). This is described at: http://www.coreboot.org/SeaBIOS
In particular, there should be no "pciXXXX,YYYY.rom" or "vgaroms/XXX" files in your cbfs rom.
If the above does not work, please use the above config and recompile SeaBIOS at debug level 8, and post the full debug log along with the output of "cbfstool print".
Cheers, -Kevin
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
On Mon, Mar 23, 2015 at 4:18 PM Kevin O'Connor kevin@koconnor.net wrote:
Just to be clear, it's fine to try initializing the video card in SeaBIOS, it's fine to try initializing the video card in coreboot, and it's fine to try and hold off initialization until Linux starts. But, definitely don't try booting with two or more points trying to initialize the video hardware - that's known to cause problems.
This is great advice and probably true for most hardware most of the time. But I have seen hardware (as part of debugging) that can cope with multiple init passes. For example, on many new intel parts, the VBIOS runs, and then sometimes X11 decides to run it again. Or, you modprobe -r and when you modprobe again, it it will do the hardware init again. Or x11 decides to run the init again for other reasons. Or the kernel modules does. Or Ron does as part of FUI testing.
So I think kevin is making a very good point but as always, with hardware, the rules can be broken :-) ron