Mansoor wrote:
I have attached the YABEL output.
Thanks. I think it is helpful. Please follow Kevin's suggestions to find out more about what the ROM is trying to do.
Even though coreboot does only the hardware initialization, it has to do a VGA rom init for payloads other than seabios?
VGA is often not very important for payloads, and option ROMs in general fundamentally require a BIOS, which coreboot does not, and shall not, offer. If a BIOS environment is needed, then SeaBIOS is the way to go.
I my case I was planning to use FILO as payload to boot Linux. FILO doesn't do any VGA init.
In theory it can, if libpayload has native support for your graphics hardware. Since this isn't the case, there is no init done. There exists only very few graphics drivers in libpayload, which would support the idea that graphics is not very important for payloads.
I think there are a few options that you can explore further. First, maybe the graphics driver in Linux has the ability to initialize hardware completely? Because Linux will be started pretty quickly with coreboot+FILO, the delay from power on until graphics enabled will not be very long even if it is postponed to Linux.
Second, you can use both SeaBIOS and FILO together. SeaBIOS supports booting using another payload file than itself in CBFS. Normally this is used as a last resort when there is no local storage or option ROM to boot from, but that behavior should be very easy to change in SeaBIOS, so that FILO is always used for booting.
Using multiple payloads will increase boot time, but if legacy VGA ROM initialization is a hard requirement then I'm afraid there is no substitute for a BIOS environment, such as provided by SeaBIOS.
But, don't rule out the Linux graphics driver alternative. There exists at least one driver (for AMD Geode) which does this, one or several of the VIA hardware drivers may also be able to do it. Linux 2.6.31 got kernel modesetting support in the Intel framebuffer driver so there is a chance. Also, the Intel graphics drivers developers are very active in the Linux community, and maybe they can quickly add any features that are discovered to be missing at the moment.
//Peter