[LinuxBIOS] any chance to get X fbdev driver to work ?
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.
>>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.
> 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