Add Book-E Enhanced Debug (E.D) profile debug support
authorjhibbits <jhibbits@FreeBSD.org>
Wed, 1 Feb 2017 03:29:13 +0000 (03:29 +0000)
committerjhibbits <jhibbits@FreeBSD.org>
Wed, 1 Feb 2017 03:29:13 +0000 (03:29 +0000)
commita3bd38c3ab2f15e23f3f5407ed34e768c7c8ab9c
treead15cd52ac108eec584cad1fde2c9459e47ec06b
parentfc60bae8734f423fa763133ea8127ece2e799d4a
Add Book-E Enhanced Debug (E.D) profile debug support

Freescale added the E.D profile to e500mc and derivative cores.  From
Freescale's EREF reference manual this is enabled by a bit in HID0 and should
otherwise default to traditional debug.  However, none of the Freescale cores
support that bit, and instead always use E.D.  This results in kernel panics
using the standard debug on e500mc+ cores.

Enhanced debug allows debugging of interrupts, including critical interrupts,
as it uses a different save/restore registers (srr*).  At this time we don't use
this ability, so instead share the core of the debug handler code between both
handlers.

MFC after: 3 weeks
sys/powerpc/booke/booke_machdep.c
sys/powerpc/booke/trap_subr.S
sys/powerpc/include/spr.h