On Thu, Jan 03, 2008 at 10:37:45AM -0800, ron minnich wrote:
On Jan 3, 2008 3:05 AM, Torsten Duwe duwe@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 case.
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 file.
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.