[LinuxBIOS] [Patch] Fix CONFIG_CONSOLE_VGA handling in default pci_dev_init.

Luc Verhaegen libv at skynet.be
Fri Jan 4 15:32:54 CET 2008

On Thu, Jan 03, 2008 at 10:37:45AM -0800, ron minnich wrote:
> On Jan 3, 2008 3:05 AM, Torsten Duwe <duwe at lst.de> wrote:
> > If you had mentioned that CONSOLE_VGA=1 PCI_ROM_RUN=0 does not compile and you
> > are working on a free standing driver, that would have saved us from the
> > irrelevant part of this discussion.
> Exactly. Simple, clear bug reports are always useful. Took me a few
> minutes to fix.

How long do you think it took me to fix in the first place?

The difference is that one fix uses CONSOLE_VGA as the name obviously 
suggests, and the other continues non-obvious side effects, which might 
be desired for 95% of the cases, but which completely rules out building 
without those non-obvious side-effects.

> >
> > So if nobody objects I'll commit the original patch, after the west coast has
> > had a chance to comment ;-)
> Luc's patch is unnecessary as submitted; it will eliminate an option
> that, in the past, was deemed desirable by some users (they may no
> longer care, it may no longer matter).

Those users can either use both PCI_ROM_RUN _and_ CONSOLE_VGA, or a now 
often suggested third option (VGA_ROM_RUN or similar, maybe 
VGA_PCI_ROM_RUN, or the inverse logic?) can be introduced for the other 

I am specifically not removing an option, i am simply sanitising the 
usage of an option, to match its linguistical and logical meaning, as 
there are cases where the non-obvious side-effects are not needed.

> You can just use the patch I
> sent, which fixes the problem and preserves behavior which, at one
> point, somebody wanted.

It exacerbates the problem.

> When the code got broken I am not sure.

I do not care when it got broken or who did so. I do know that the code 
got broken because the side-effect was non-obvious. And i do want to see 
it become obvious.

> That
> said, if the feeling is that we should go with Luc's patch, I have no
> objection.
> I should comment on the "who wants an emulator in a free BIOS"
> argument; that discussion was resolved years ago, in favor or "lots of
> people need it, whether they want it or not" -- I don't like it
> either, but that's the way it goes. I was one of the strongest
> opponents of using the option ROMs. I no longer see any way out of
> using the option ROMs in some cases. It's the same reason we have
> binary blobs in the linux kernel (e.g. microcode patches); sometimes
> there is no choice.

I never said i do not want emulators in free BIOSes. I said that, when a 
board doesn't require the emulator, and when the linuxbios user doesn't 
add the requirement later on through the target config.lb, then there is 
no real need to force inclusion of the emulator.

> So, even if we have a totally free driver for graphics, we will
> probably see continuing demand for the emulator, to support cards with
> option ROMs.

Of course. But does this mean that we should always impose the emulator 
on everybody all the time? Or do we leave this up to:
* whichever chip driver that might require it.
* whichever board that might require it.
* whichever user that might see a point in it when building his 
target image.

For the EPIA-M, the hardware present doesn't require pci roms. And the 
typical use case, with a single pci slot, does not involve pci roms. So 
why impose the emulator?

Tonight or tomorrow, whenever i will have the time, i will go over _all_ 
instances of CONSOLE_VGA and prepend this with either PCI_ROM_RUN (when 
this isn't already done), or something VGA specific, whatever the 
consensus will be. So, to those interested, please come to some 
consensus on this.

For the EPIA-M, I will add a commented out PCI_ROM_RUN option to the 
Config.lb with a comment beforehand explaining that, when desired, this 
should be enabled. It should not be enabled per default, as those 
building an image should at least read and alter the target Config.lb 

I do hope that this will finally satisfy you so that i can finally move 
on and fix the remaining issues with my native vga textmode bringup.

Luc Verhaegen.
SUSE/Novell X Driver Developer.

More information about the coreboot mailing list