L4Linux with serial console / IRQ usage
Andreas Niederl
niederl at sbox.tugraz.at
Fri Aug 11 14:39:32 CEST 2006
Hi,
Adam Lackorzynski wrote:
> On Thu Aug 10, 2006 at 19:22:15 +0200, Andreas Niederl wrote:
[...]
>>Unfortunately I don't know which IRQ number is required here. I tried
>>passing some different values to L4Linux which resulted in the error
>>message 'irq_thread: RMGR denied IRQ 4: Code 0x1'.
>>
>>I'd be grateful for some hints on that.
>
>
> It's 17.
Thanks, where did you get that number?
Now the system stops after printing out the message
'l4lx | l4lx_thread_create: Created thread 0e.0b (IRQ17)'.
When using l4io as omega0 server it stops after this message:
l4lx_irq_dev_startup_virt(17) unimplemented
Ctrl-C still doesn't work on my serial console, so I'm not able to debug
this.
Is gdb suitable for this kind of debugging? I could not find much
information on this topic on the internet.
The serial console is in my case a pseudo terminal connected to the
serial port emulation of Qemu which I can access with GNU screen or
kermit or by using Qemu with the -nographic option which maps the serial
console onto the invoking terminal (Grub needs extra configuration for
that).
>
>>I also noticed that there are several different ways for handling IRQs
>>(omega0, rmgr, l4io, ...) which require different options for some
>>servers and L4Linux.
>>Are there any documents describing the IRQ handling in L4Env and how to
>>follow one of these ways consistently?
>
>
> Short summary: There's the direct way of attaching to interrupts or
> using the omega0 protocol to attach to an interupt server.
> l4io and omega0 both implement the omega0 interface, the 'rmgr way' is
> the way to directly attach to the interrupts.
> When directly attaching you need I/O port access and might have problems
> with IRQ sharing which an interrupt server should fix for you, adding a
> slight penalty due to the indirection.
> There's a paper on omega0 at
> http://os.inf.tu-dresden.de/~hohmuth/prj/omega0.ps.gz
So, is there a recommended setup for interrupt handling? omega0 seems to
be a reasonable approach.
Regards,
Andi
More information about the l4-hackers
mailing list