[LinuxBIOS] [Patch] Fix CONFIG_CONSOLE_VGA handling in default pci_dev_init.
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.
> said, if the feeling is that we should go with Luc's patch, I have no
> 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
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.
SUSE/Novell X Driver Developer.
More information about the coreboot