L4Linux with serial console / IRQ usage

Andreas Niederl niederl at sbox.tugraz.at
Fri Aug 11 14:39:32 CEST 2006


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 

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 

>>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.


More information about the l4-hackers mailing list