Booting on Raspberry Pi

Robert Kaiser robert.kaiser at hs-rm.de
Thu Sep 12 17:13:07 CEST 2013


Hi Adam

Adam Lackorzynski wrote:
>> Unfortunately, it *still* doesn't work. The last messages I see trying
>> to run the bootstrap_hello example are:
>>
>> MOE: cmdline: moe --init=rom/hello
>> MOE: Starting: rom/hello
>> MOE: loading 'rom/hello'
>> L4Re: unhandled exception: pc=0xffffff9c
>>
>> Any hints what could be wrong now?
> 
> Would be interesting to know where this is coming from (lr). Anyway,
> this does not look so bad because quite a few things have happened
> again.

I agree. (My problem here is that I am only just learning how to use
JDB.) With pagefault monitoring enabled, the last lines of output look
like this:

......
pf:  001d pfa=010191a4 ip=0100a7c8 (r-) spc=0xf12e56fc err=410007

pf:  001d pfa=000012e0 ip=0100a830 (w-) spc=0xf12e56fc err=410807

pf:  001a pfa=b000f070 ip=b000f070 (r-) spc=0xf12e56fc err=330007

L4Re: unhandled exception: pc=0xffffff9c

Am I right to interpret this as "last pagefault occured due to an opcode
fetch at virtual address b000f070"? AFAIK, none of the modules in the
image has its text segment in the b0000000 range, so this must be the
unhandled exception L4Re complains about (but if so, why does it say
pc=0xffffff9c?).

spc=0xf12e56fc would be the faulting thread's number, right?

Giving an "s" command, I get:

       1 f00567b8 [Task   ] {KERNEL} R=2
       7 f12e5770 [Task   ] {sigma0          } R=3
       9 f12e5720 [Task   ] {moe             } R=3
      19 f12e56d0 [Task   ] {hello           } R=3


The thread number, f12e56fc, does not appear. It is closeest to
f12e56d0, but does that really mean the fault happened in the hello task?

Selecting the hello task with the cursor, i get:

       1 f00567b8 [Task   ] {KERNEL} R=2
       7 f12e5770 [Task   ] {sigma0          } R=3
       9 f12e5720 [Task   ] {moe             } R=3
Space 0xf12e56d0 (Kobject*)0xf12e56d0        } R=3
  utcb area: user_va=0xb3000000 kernel_va=0xf11a2000 size=2000
  mem usage:  235824 (230KB) of -1 (4194303KB) @0xf0056474


I would like to derive the program address where the fault occurs from
this, but frankly, not being familiar with JDB I'm at a loss here.

JDB Single stepping does not seem to work on ARM platforms.




 For which architecture version have you been building?
> 
> 

in fiasco: Broadcom 2835:
CONFIG_PF_BCM2835=y
CONFIG_ARM_1176=y
CONFIG_ARM_V6=y
CONFIG_ARM_V6PLUS=y


in L4Re: armv6:
CONFIG_CPU_ARMV6=y
CONFIG_CPU="armv6"
CONFIG_CPU_ARMV6PLUS=y

Is that correct?


Thanks a  lot for your help!


Cheers

Robert




More information about the l4-hackers mailing list