Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Mar 2012 16:25:15 +0530
From:      Sandeep Kumar <sandeep.gopalpet@gmail.com>
To:        freebsd-ppc@freebsd.org
Subject:   gdb on e500mc platforms
Message-ID:  <CAF9Vv_yuzHDx=NBx6rY%2BjcnmL4yF-sruMx50_CHWy5AJVsffZA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
HI all,

We are facing an issue wrt debug interrupts on a E500MC platform from
Freescale.

The int_debug handler defined in trap_subr.S was for non e500mc platforms
where CSSR0/CSSR1 were used.
But in case of e500mc, they have defined some additional debug registers
DBSRR0/DBSRR1 for handling the debug exceptions.
Also instead of using a "rfci" we needed to use "rfdi".

We made these basic changes for the int_debug handler. But after these
basic changes, we observed some issues while trying to gdb some daemons
1. when we set a break point and then 'continue' from gdb,  we were hitting
the breakpoint but then after that if we do a 'continue' again, we were
hitting the same breakpoint.
    i believe we were not able to restore the pc properly (rather we might
have interpreted the srr0 value incorrectly)
2. instead of 'continue' from gdb, even when we tried doing 'single step'
execution, we never proceeded (this  issue could be same as 1);

Has anyone tried gdb on e500mc platforms ? If so, what sort of changes made
it work ?

Can some one help us understanding the core difference interms of debug
interrupt handling in e500mc and e500v2.

Is there a way to treat Debug exception as critical exception on e500mc ?

--
Thanks
Sandeep



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAF9Vv_yuzHDx=NBx6rY%2BjcnmL4yF-sruMx50_CHWy5AJVsffZA>