L4Linux with serial console / IRQ usage
Adam Lackorzynski
adam at os.inf.tu-dresden.de
Sun Aug 20 15:33:30 CEST 2006
On Mon Aug 14, 2006 at 19:35:24 +0200, Andreas Niederl wrote:
> Hi,
>
> Adam Lackorzynski wrote:
> > On Mon Aug 14, 2006 at 14:16:43 +0200, Andreas Niederl wrote:
> >
> >>Adam Lackorzynski wrote:
> [...]
> >>What about the stop after I got the first message using one thread per
> >>IRQ with the rmgr way? Is it a known problem or perhaps caused by some
> >>misconfiguration on my side?
> >
> >
> > Do you refer to the 'RMGR denied IRQ 4' issue? RMGR won't give you IRQ 4
> > as it is already used by the kernel for the debug console. Try the 17
> > with this setup and it should work.
>
> No, I should have separated the two messages more clearly. I meant this
> part:
> >>>>Now the system stops after printing out the message
> >>>>'l4lx | l4lx_thread_create: Created thread 0e.0b (IRQ17)'.
>
> It's just like this, the system stops at this line and I cannot get into
> JDB (with the Escape key this time). Qemu itself remains responsive, I
> can e.g. access its monitor.
> This only happens when I specify 'l4ser.vkey_irq=17' as argument for
> L4Linux, otherwise I get only the output of L4Linux on the serial line
> but the system runs happily.
The attached patch against Fiasco should fix the issue for now.
Index: kern/shared/jdb-ia32-amd64.cpp
===================================================================
RCS file: /home/cvs/l4/kernel/fiasco/src/kern/shared/jdb-ia32-amd64.cpp,v
retrieving revision 1.15
diff -u -r1.15 jdb-ia32-amd64.cpp
--- kern/shared/jdb-ia32-amd64.cpp 1 Aug 2006 14:16:16 -0000 1.15
+++ kern/shared/jdb-ia32-amd64.cpp 20 Aug 2006 13:32:25 -0000
@@ -116,6 +116,7 @@
#include "kernel_console.h"
#include "keycodes.h"
#include "kernel_uart.h"
+#include "kernel_task.h"
#include "kmem.h"
#include "logdefs.h"
#include "mem_layout.h"
@@ -939,12 +940,13 @@
{
case 13:
// inchar
- if (Vkey::get() != -1)
+ //if (Vkey::get() != -1)
{
// we still have received a character via serial
entry_frame->value(Vkey::get());
Vkey::clear();
}
+#if 0
else
{
// wait for a character (either from serial or from keyboard
@@ -952,6 +954,7 @@
entry_frame->value(getchar());
close_debug_console();
}
+#endif
return 1;
// fiasco_tbuf
case 29:
Adam
--
Adam adam at os.inf.tu-dresden.de
Lackorzynski http://os.inf.tu-dresden.de/~adam/
More information about the l4-hackers
mailing list