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>