On Thu, Apr 11, 2013 at 1:33 PM, Kumar Gala <ga...@kernel.crashing.org> wrote: > > On Apr 5, 2013, at 2:53 AM, Bhushan Bharat-R65777 wrote: > >> Hi Kumar/Benh, >> >> After further looking into the code I think that if we correct the vector >> range below in DebugDebug handler then we do not need the change I provided >> in this patch. >> >> Here is the snapshot for 32 bit (head_booke.h, same will be true for 64 bit): >> >> #define DEBUG_DEBUG_EXCEPTION >> \ >> START_EXCEPTION(DebugDebug); >> \ >> DEBUG_EXCEPTION_PROLOG; >> \ >> >> \ >> /* >> \ >> * If there is a single step or branch-taken exception in an >> \ >> * exception entry sequence, it was probably meant to apply to >> \ >> * the code where the exception occurred (since exception entry >> \ >> * doesn't turn off DE automatically). We simulate the effect >> \ >> * of turning off DE on entry to an exception handler by turning >> \ >> * off DE in the DSRR1 value and clearing the debug status. >> \ >> */ >> \ >> mfspr r10,SPRN_DBSR; /* check single-step/branch taken */ >> \ >> andis. r10,r10,(DBSR_IC|DBSR_BT)@h; >> \ >> beq+ 2f; >> \ >> >> \ >> lis r10,KERNELBASE@h; /* check if exception in vectors */ >> \ >> ori r10,r10,KERNELBASE@l; >> \ >> cmplw r12,r10; >> \ >> blt+ 2f; /* addr below exception vectors */ >> \ >> >> \ >> lis r10,DebugDebug@h; \ >> ori r10,r10,DebugDebug@l; >> \ >> >> ^^^^ >> Here we assume all exception vector ends at DebugDebug, which is not >> correct. >> We probably should get proper end by using some start_vector and >> end_vector lebels >> or at least use end at Ehvpriv (which is last defined in >> head_fsl_booke.S for PowerPC. Is that correct? >> >> >> cmplw r12,r10; >> \ >> bgt+ 2f; /* addr above exception vectors */ >> \ >> >> Thanks >> -Bharat > > I talked to Stuart and this general approach is good. Just make sure to > update both head_44x.S and head_fsl_booke.S. Plus do this for both > DEBUG_CRIT_EXCEPTION & DEBUG_DEBUG_EXCEPTION
Also, it looks like 64-bit already handles this properly with symbols identifying the start/end of the vectors (exceptions-64e.S). Stuart _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev