Re: geodefb issues, possible patch
From: Knut Petersen <hidden>
Date: 2005-11-12 07:31:06
i have a patch if someone is interested. the problem is that i dont know what else to do, as i cant debug (with printf's) the driver as i dont have a screen, how does a fb driver gets debugged?
First of all, it´s a good idea to allow the driver to be compiled either as a module or as a permanent part of the kernel. If it´s a module, it is really helpfull if it can be unloaded / reloaded. Allow your driver to be loaded with vesafb or vesafb-tng compiled into the kernel, normally that should be possible if you do not fail if you cannot get exclusive access to some resources vesafb reserves. That way you might start with vesafb, load version 1 of your driver, map consoles to either one, do some testing, map all consoles to vesafb, unload your module and load a new version. That helped a lot in debugging cyblafb. If you do loop for some conditions, always include a timeout. Use printks, and have a look at the system log after a reboot. Use a serial console or another computer connected via network. Let the driver display some status information at a fixed location of the screen. First of all: write a userspace program that does a complete register dump. Boot with vesafb and all vga=??? parameters supported by the bios and store those register dump. Include a register dump function in the driver and compare the register values to those found for vesafb. Don´t believe documentation that indexed registers end at index x if x is less than the highest possible value. If bits of a value are stored in several places (e.g. vga screen start address), don´t assume that the documentation documents all high bits. Get it right unaccelerated first. cu, knut ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php