[okl4-developer] okl4: system hangs if I use virtual_lcd_get_mode
Nelson Tam
nelson at ok-labs.com
Fri Aug 15 10:39:38 EST 2008
Hi Dennis,
On 14/08/2008, at 11:32 PM, Dennis Gessner wrote:
> is there any reason, why okl4 -hangs- if I use the function
> "virtual_lcd_get_mode" inside "init_lcd" (regarding your tutorial:
> Using
> A Virtual Device"?
>
> Here is the exact call:
>
> "virtual_lcd_get_mode(lcd->server, lcd->obj, &lcd->control->xres,
> &lcd->control->yres, &lcd->control->bpp, NULL);"
>
> It's not even possible to enter the KDB manually if I enter
>
> "L4_KDB_Enter("Please please - print this...");"
>
> one line above the other one.
If this is the case, perhaps the system has already hung before
lcd_get_mode() is called? How about inserting more L4_KDB_Enter()
calls before this line?
> If I hit ESC in a VERY fast rate, it's
> possible to enter the KDB. The funny thing (for me) is, it looks like
> the problem is the call of the function itself, not what is inside the
> function (for testing - I commented out everything inside
> "virtual_lcd_get_mode").
I also have the gut feeling that the crash occurs outside the call,
not inside, because lcd_get_mode() is pretty ordinary.
> Inside the KDB - if I /tracebuffer and dump (in the situation the
> system
> hangs) I see only three different lines (repeating in a fast rate):
>
> INTERRUPT: 0000c001, 80000000
> SYSCALL_INTERRUPT_CONTROL
> SYSCALL_IPC: 0000c001, 00000000, ffffffff
This is just saying that an interrupt is being delivered. Note that
the interrupt number is given by 0xc001 >> 12, in other words, 0xc =
12. If you take a look at platforms/s3c2410/tools/machines.py, IRQ 12
belongs to the timer.
In the same file, you might notice that under class s3c2410, the
member v2_drivers has an array element which is a tuple starting with
"s3c2410_lcd". It may be commented out. If that's the case, try
uncommenting it and see if that makes a difference.
> It looks like my function (init_lcd) has not the necessary rights to
> use
> the function "virtual_lcd_get_mode". What does okl4 internally do
> when a
> function is called? I did everything else as described in your
> tutorial
> (http://wiki.ok-labs.com/DriverFramework).
--
(nt)
Nelson Tam
More information about the Developer
mailing list