Richard Smith schrieb:
On 12/28/05, Ronald G Minnich
>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