From owner-freebsd-ppc@FreeBSD.ORG Tue Mar 20 10:55:16 2012 Return-Path: Delivered-To: freebsd-ppc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ED0371065675 for ; Tue, 20 Mar 2012 10:55:16 +0000 (UTC) (envelope-from sandeep.gopalpet@gmail.com) Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by mx1.freebsd.org (Postfix) with ESMTP id 7DAF18FC0C for ; Tue, 20 Mar 2012 10:55:16 +0000 (UTC) Received: by wibhj6 with SMTP id hj6so3942614wib.13 for ; Tue, 20 Mar 2012 03:55:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=HK09VwHnKiq1+mcxQoCG03bXfECV2DQJ7ToRzs27Ack=; b=toY/PcScJH0qGpqnoQa2ycy0ujVveTnLBYXgt8iwa9/lQFNzlNLQwe/PhynKBB+HAe 429nDQ8eGm7+59OmzckQdnBIS2k/3hK3S2Gl6sd9bxxILWiPBFSGxMw7ZLeU+aZPU8t8 t8ndONqOVpryacj6atrXJwtgg9h13eZ7GqLVVa44Tk36ES6Zgxdh27I3fxnHIMqc5K9t lSaQwrn07AW99Z5t/YgIcWA7/J1b6WJvDfD9RtQ6q8j6BsEEcIYqRaX6WoGafgicZCDP ovd0237v8OX/zjy+WR1IZB9isF+eIiUf2cU/yE8zcn8+Uv95lNhUvsaR8fAHe1L+tIvU ypjg== MIME-Version: 1.0 Received: by 10.180.79.72 with SMTP id h8mr15990218wix.1.1332240915296; Tue, 20 Mar 2012 03:55:15 -0700 (PDT) Received: by 10.223.155.208 with HTTP; Tue, 20 Mar 2012 03:55:15 -0700 (PDT) Date: Tue, 20 Mar 2012 16:25:15 +0530 Message-ID: From: Sandeep Kumar To: freebsd-ppc@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: gdb on e500mc platforms X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Mar 2012 10:55:17 -0000 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