[LinuxBIOS] any chance to get X fbdev driver to work ?

Christian Sühs chris at suehsi.de
Wed Dec 28 20:01:55 CET 2005

Richard Smith schrieb:
> On 12/28/05, Ronald G Minnich <rminnich at lanl.gov> wrote:
>>Christian Sühs wrote:
>>>It seems that the content on 0x0c0000 is not the same as the vgabios
>>>Only the first (between Offset 0x00 and Offset 0x7f) words are the same.
>>>The rest differs from vgabios (Offset 0x80 - 0xFFFF). That is the reason
>>>why X detects a valid vga-Bios section on Offset 00 and 01 (55aa) and
>>>the rest fails.
>>>Now, I will have a look why this happens.
>>>Any hint?
>>as ollie has mentioned, VGA bios are frequently self-modifying code.
>>Once the system is up, you are looking at the code AFTER
>>self-modification has happened.

Oh well, it isn't easy for me to explain, I guess I need a translator :D
I will try it again in easy words.

Ok, the factory bios works well. Kernel 2.4.25 with epia-2 patch.
I used viafb on booting, bootsplash works also. The whole system is 
loading into RAM. X works with via driver-modul.

X does not work with fbdev driver modul (system hangs without any 
errors). I think, that is a problem between kernel insided viafb and the 
fbdev driver, because the fbdev driver works on kernel insided vesafb 
and factory bios.

with LinuxBios the system runs as described before, but X does not work 
with via driver modul, the fbdev driver does not work, too.

via driver fails, because of the checksum errors.
fbdev driver fails as described before. I have not tried it on vesafb, 
because vesafb does not work with Linuxbios

Runtime scenarios with Linuxbios:

1. same V_Bios
--> different checksums after reboot, when starting X with via driver

2. changed V_Bios, i.e. Offset 2 or fill up with 00 vs. FF
--> different checksums and more or less failures, when starting X (via)

and so on.

Problem is, that parts of Video Rom between 0xc0000 - 0xd0000 are 
overwritten under Linuxbios. The overwritten part offsets are always the 
same, but it seems, the content changed (a little)

> I guess I misread.  I though he indicated that large areas of the code
> that was supposed to be 0xff was not.
> It works with the factory bios but does not with linuxbios. Yes?  So
> if thats the case then the self-modification is probally not the
> problem.  Also it shouldn't change checksums from run to run.

That's right.
> Is it possible to diff the contents of 0xc0000-0x0d0000 under both the
> factory and linux bios?  I think you may have said that you have to
> use different copy of the video bios for linuxbios?

I have not done this, for now. I will make a dd as soon as possible and 
diff it to the original V-Bios, when using the factory bios.

However, I have done this on my host machine, and the part between c0000 
- d0000 looks like the original.
> Grrrr... We really need to get this stuff going under the emulator to
> make it easier to figure out whats up.
> --
> Richard A. Smith


More information about the coreboot mailing list