/* * This HPMC handler retrieves the HPMC pim data, resets IO and * returns to the default trap handler with code set to 1 (HPMC). * The default trap handler calls handle interruption, which * does a stack and register dump. This at least allows kernel * developers to get back to C code in virtual mode, where they * have the option to examine and print values from memory that * would help in debugging an HPMC caused by a software bug. * * There is more to do here: * * 1) On MP systems we need to synchronize processors * before calling pdc/iodc. * 2) We should be checking the system state and not * returning to the fault handler if things are really * bad. *
*/
rsm PSW_SM_Q,%r0 /* Clear Q bit */
ldi 1,%r8 /* Set trap code to "1" for HPMC */
load32 PA(intr_save),%r1
be 0(%sr7,%r1)
nop
os_hpmc_fail:
/* * Reset the system * * Some systems may lockup from a broadcast reset, so try the * hversion PDC_BROADCAST_RESET() first. * MP_FIXME: reset all processors if more than one central bus.
*/
/* PDC_BROADCAST_RESET() */
ldo PDC_BROADCAST_RESET(%r0),arg0
ldo 0(%r0),arg1 /* do reset */
b .
nop
.align 16 /* make function length multiple of 16 bytes */
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.15Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.