ARM with Qemu

Adam Lackorzynski adam at os.inf.tu-dresden.de
Tue Mar 24 22:04:47 CET 2015


Hi,

On Mon Mar 23, 2015 at 16:55:03 +0100, Nicolas VARONA wrote:
> >A page-fault above the current stack, so that will probably be the cause for the segfault. Does this >always happen in this way?
> 
> In fact I have 2 different exitcodes on the board: 
> -	exitcode=0x00000004 :
> 
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
> CPU: 0 PID: 1 Comm: init Not tainted 3.16.0-l4 #50
> [<0200caa0>] (unwind_backtrace) from [<020055e8>] (show_stack+0x10/0x14)
> [<020055e8>] (show_stack) from [<022441e4>] (panic+0x7c/0x1e0)
> [<022441e4>] (panic) from [<0201e6d4>] (do_exit+0x708/0x7a0)
> [<0201e6d4>] (do_exit) from [<0201e838>] (do_group_exit+0x3c/0x9c)
> [<0201e838>] (do_group_exit) from [<020283bc>] (get_signal_to_deliver+0x148/0x490)
> [<020283bc>] (get_signal_to_deliver) from [<02006be8>] (do_signal+0x114/0x448)
> [<02006be8>] (do_signal) from [<02006fc4>] (do_work_pending+0xa8/0xf8)
> [<02006fc4>] (do_work_pending) from [<02008970>] (l4x_pre_iret_work.isra.24.part.25+0x60/0x100)
> [<02008970>] (l4x_pre_iret_work.isra.24.part.25) from [<020099f0>] (l4x_vcpu_entry_c+0x274/0x1da8)
> [<020099f0>] (l4x_vcpu_entry_c) from [<0000c4ec>] (0xc4ec)
> ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
> 
> -	exitcode=0x0000000b:
> 
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
> CPU: 0 PID: 1 Comm: init Not tainted 3.16.0-l4 #50
> [<0200caa0>] (unwind_backtrace) from [<020055e8>] (show_stack+0x10/0x14)
> [<020055e8>] (show_stack) from [<022441e4>] (panic+0x7c/0x1e0)
> [<022441e4>] (panic) from [<0201e6d4>] (do_exit+0x708/0x7a0)
> [<0201e6d4>] (do_exit) from [<0201e838>] (do_group_exit+0x3c/0x9c)
> [<0201e838>] (do_group_exit) from [<020283bc>] (get_signal_to_deliver+0x148/0x490)
> [<020283bc>] (get_signal_to_deliver) from [<02006be8>] (do_signal+0x114/0x448)
> [<02006be8>] (do_signal) from [<0200a210>] (l4x_vcpu_entry_c+0xa94/0x1da8)
> [<0200a210>] (l4x_vcpu_entry_c) from [<00000000>] (  (null))
> ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
> 
> Nonetheless, on the trace, it always seems to be the same way and the same task problem. So, with the exitcode 0x00000004 I have:
> 
> jdb: T
>   0% of 32768  Perf:ACor 1=00000000(:e0)                                   index
>                          2=00000000(:e0)
> vcpu: 003e exc #0 err=0 pc=fb870 sp=bf792ef0 state=2f task=D:44               32
> vcpu: 003e ret pc=fb850 sp=bf792ef0 state=2f task=D:44                        31
> vcpu: 003e pf  pc=fb850 pfa=fb850 err=80000007 state=2f task=D:44             30
> vcpu: 003e ret pc=c4c0 sp=bf792ef0 state=2f task=D:44                         29
> vcpu: 003e pf  pc=c4c0 pfa=c4c0 err=80000005 state=2f task=D:44               28
> vcpu: 003e ret pc=c4c0 sp=bf792ef0 state=27 task=D:44                         27
> vcpu: 003e ret pc=20a6cc0 sp=5c27e90 state=5 task=D:34                        26
> vcpu: 003e ipc from D:41 task=D:5 sp=5c27e90                                  25
> vcpu: 003e ret pc=2157a94 sp=5c27984 state=5 task=D:34                        24
> […]
> 
> And with the exitcode 0x0000000b I can see:
> 
> jdb: T
>   0% of 32768  Perf:ACor 1=00000000(:e0)                                   index
>                          2=00000000(:e0)
> vcpu: 003e pf  pc=0 pfa=0 err=80000007 state=2f task=D:44                     34
> vcpu: 003e ret pc=c4c0 sp=bf66bef0 state=2f task=D:44                         33
> vcpu: 003e pf  pc=c4c0 pfa=c4c0 err=80000005 state=2f task=D:44               32
> vcpu: 003e ret pc=c4c0 sp=bf66bef0 state=27 task=D:44                         31
> vcpu: 003e ret pc=209fa20 sp=5c27e88 state=5 task=D:34                        30
> vcpu: 003e ipc from D:41 task=D:5 sp=5c27e88                                  29
> vcpu: 003e ret pc=2157a94 sp=5c27d1c state=5 task=D:34                        28
> […]

Hmm, interesting.
 
> >Now why. I tried my parallella and it works fine for me. What's your hardware?
> 
> I am using the ZedBoard from Digilent.

Ok, so I picked the wrong one. But still works for me on this one.

> >On the key issue, you have the -serial_esc option too?
> 
> On the key issue with Qemu I have tried both with and without the line “kernel fiasco -serial_esc” in the module list with the same result:
> 
> Something strange happened! I wanted to try if the condition was well done with the “vkey_irq”.
> So I tried this code:
> 
> Vkey::trigger()
> {
>   //for(int i = 0; i < 10000000; i++);
>   if (vkey_irq){
>     printf("%x", vkey_irq);
>     vkey_irq->hit(0);}  
> }
> 
> And I can enter into the consol with inputs :-) ! 
> 
> Please press Enter to activate this console. f11c8320
> / # f11c8320
> / # f11c8320
> / #
> 
> So I tried a few things:
> 	-	I tried the active loop above for the temporization’s test and I have no inputs: is it an io problem? 
> 	-	So I tried a blank printf(“”) before the writing of the hit to check syscall and still no input. 
> 	-	Finally I tried a printf with a space before the writing of the hit (printf(“  ”)) and I have inputs with the space.
> 
> So it seems to be an input format problem.

So something like this is probably more weird. Which compiler do you
use?
Could you try this image?
http://os.inf.tu-dresden.de/~adam/dl/bootstrap-zedboard-l4linux.raw
It works just fine for me.
I could also try / have a look at your image. Send via PM.



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