Hi Ali,

I have a different panic now(not sure about the old one, that is also
there). I had modified e1000_clean_rx_irq function to check for the
skb_dev_name and match it with eth0 and process the packet only if it
matched, just for a check.. The panic comes in the first line of code in
strcmp:
fffffc00004e8ff0 <strcmp>:
fffffc00004e8ff0:       00 00 70 2c     ldq_u   t2,0(a0)
This is because a0($16) holds 000032b25000ada8 which is not a valid
address. I tried to trace back when a0 was last loaded:
        stq $16,168($30)         # adapter, adapter

        stq $18,176($30)         # work_done, work_done

        stq $19,184($30)         # work_to_do, work_to_do

This is at the beginning of the function e1000_clean_rx_irq :
static bool e1000_clean_rx_irq(struct e1000_adapter *adapter,
                   struct e1000_rx_ring *rx_ring,
                   int *work_done, int work_to_do)
I am not sure how to fix this.. Is there a problem during compiling, a0
should have been loaded but it is not? I followed the instructions in this
site to match the assembly code and c code :
http://kerneltrap.org/node/3648
I added the assembly comments after each line to trace the flow of the code
and made sure I went through all the parts of the code till before the
strcmp call to check if a0 is loaded.. Do you have any suggestion about
what I can do next?

Thanks,
Pritha


On Tue, Jun 19, 2012 at 7:03 PM, Pritha Ghoshal <pritha9...@neo.tamu.edu>wrote:

> I was able to use 1 core with the remote gdb.. With the 4 cores though,
> even after connecting remote gdb-s to each of the cores, I get the same
> output even after a kernel panic:
> (gdb) c
> Continuing.
> Watchdog has expired.  Target detached.
>
> I am not able to get a backtrace on any of the connected gdb-s..
>
> Pritha
>
> On Tue, Jun 19, 2012 at 2:38 PM, Ali Saidi <sa...@umich.edu> wrote:
>
>> **
>>
>> I think i missed that post, but you might need to connect 4 instances of
>> gdb to the four cpus. This doesn't happen with 1, 2 or 3 cores?
>>
>>
>>
>> You can go to every cache and add code to the inbound port or dram port
>> that has an explicit check on that address in the packet (cache block
>> aligned). Every time it sees a read or write you should print out the fact
>> that the write happened and at some point hopefully you'll find the bad
>> piece of data.
>>
>>
>>
>> Ali
>>
>>
>>
>> On 19.06.2012 14:31, Pritha Ghoshal wrote:
>>
>> Hi Ali,
>>
>> I am having some troubles using the gdb on a 4 core machine (I had posted
>> a previous mail to the group about that), I'll try it out once more and
>> see..
>>
>> How could I add the memory checks?
>>
>> Thanks,
>> Pritha
>>
>> On Tue, Jun 19, 2012 at 2:02 PM, Ali Saidi <sa...@umich.edu> wrote:
>>
>>>
>>>
>>> On 19.06.2012 13:06, Pritha Ghoshal wrote:
>>>
>>>  Hi,
>>> I am getting a kernel panic which I am not able to debug. The pc itself
>>> is getting polluted.. I have added the trace of the panic at the end of the
>>> email.
>>> This is a snippet from the object dump of the kernel code.
>>>  fffffc00005d51e8:       00 00 69 a7     ldq     t12,0(s0)
>>> fffffc00005d51ec:       00 40 5b 6b     jsr     ra,(t12),fffffc00005d51f0
>>>   fffffc00005d51f0:       2a 00 ba 27     ldah    gp,42(ra)
>>> The panic is when ra = fffffc00005d51f0. Therefore the jsr should have
>>> jumped to the address in t12 which is 0000000002969588. t12 gets loaded
>>> from s0 in the previous step. I was unable to trace back the memory address
>>> content, is there a way to do it? The last function in the trace is given
>>> in the following link:
>>> http://lxr.free-electrons.com/source/net/core/neighbour.c?v=2.6.28#L1187
>>> Could someone suggest how I go about debugging this kernel panic? Thanks
>>> in advance..
>>> Thanks,
>>> Pritha
>>>
>>> You'll need to either use the gdb support in gem5 or maybe put some
>>> checks in the memory system for that specific address and print as it gets
>>> changed.
>>> Ali
>>>
>>>
>>> _______________________________________________
>>> gem5-users mailing list
>>> gem5-users@gem5.org
>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>
>>
>>
>>
>
>
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to