[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.

However,
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

chris






More information about the coreboot mailing list