Many Thanks for the reply. I am getting the following error when another
processes is created by fork system call.Here 743 is the process id of the
new process created .*

**SigNo=0init/743: potentially unexpected fatal signal 0.
<4>
<4>Cpu 0
<4>$ 0   : 0000000000000000 0000000000000000 ffffffffffff9018
00000000000000a8
<4>$ 4   : 00000000000000a8 0000000000000000 00000001200aca40
0000000000000000
<4>$ 8   : 0000000000000000 0000000000000005 8101010101010100
000000000000002f
<4>$12   : 0000000000000000 0000000000000020 ffffffff841dd468
000000012a712000
<4>$16   : 0000000120076280 0000000000000000 0000000120076168
000000000000008d
<4>$20   : ffffffff848dc658 0000000000000000 0000000000000000
0000000000000000
<4>$24   : 0000000000000006
000000012004f320
<4>$28   : 00000001200aca40 000000ffffba2d50 000000ffffba2d50
0000000120011410
<4>Hi    : 0000000000000042
<4>Lo    : 6666666666666677
<4>epc   : 000000012004f348 0x12004f348
<4>    Not tainted
<4>ra    : 0000000120011410 0x120011410
<4>Status: 04008df3    KX SX UX USER EXL IE
<4>Cause : 80800008
<4>BadVA : 00000000000000a8
<4>PrId  : 000d0408 (Cavium Octeon+)



*After seeing the Qemu log , i see the load exception at this virtual
address *00000000000000a8*  at the following point

0x000000012004f34c:  ld    v0,0(v1)


When i try to find out the code behind that above exception address
*0x000000012004f34c
*in the vmlinux file using objdump, i don't get anything.

After seeing this detail, can u plz elaborate to me more about what should
i do next?

A little help would highly be appreciated.

Thanks


*Nouman
*



On Mon, Apr 22, 2013 at 5:53 PM, Peter Maydell <peter.mayd...@linaro.org>wrote:

> On 22 April 2013 13:31, Muhammad Nouman <nouman...@gmail.com> wrote:
> > Hi ! I am trying to emulate cavium octeon's mips64 linux kernel on
> Qemu.When
> > the fork system call is generated from usermode (i.e from init code),
> after
> > creating a new thread, the kernel gets a fatal signal from the new thread
> > and then the new thread never runs.
> >
> > I have tried to debug this new thread but the gdb is always showing a
> single
> > thread when the "info threads" command is run.It is not showing the other
> > threads.
>
> When you connect a gdb to QEMU's system emulation, you should not
> expect to be able to see different user mode processes or threads:
> you just see the state of the physical CPU (which may be running
> kernel code or user code, depending). This is similar to the view
> you get if you connect a debugger to a JTAG port on real hardware.
>
> Note that "the kernel gets a fatal signal from the new thread" is
> backwards -- the kernel sends signals to threads, not the other
> way around. You should probably try to identify why the kernel
> thinks it should be sending a signal to this new thread (probably
> provoked by a hardware exception) and work backwards to figure
> out why the hardware exception has occurred.
>
> PS: the fork system call creates new processes, not new threads
> (the latter is done via clone).
>
> -- PMM
>

Reply via email to