Hi All,

I am using OS, vxworks on Processor, IBM PPC 405 GP
I am witnessing a Machine Check Exception and need help to debug the
same.

Machine Check Exception is a Critical Exception and can be of two
types Data/Instruction.

When an external bus error occurs on an instruction fetch, and
execution of that instruction is subsequently attempted, a Machine
Check--Instruction exception occurs.
When an external bus error occurs while attempting data accesses, a
Machine Check--Data exception occurs.

Upon this Exception Registers SRR2 stores PC( Program Counter) and
SRR3 stores MSR( Machine Status Register).

1) I need to locally reproduce the Machine Check Exception. Is there
some sample code which would generate a Machine Check Data Exception ?

2) The default vxworks Exception Handler doesn't display contents of
SRR2 and SRR3, as these registers are neither present in the vxworks
Register Set Structure REG_SET and nor in the vxworks Exception Stack
Frame Structure ESFPPC.
However if i register my own exception handler myHandler() for the
Machine Check Exception, using excCrtConnect(), then before calling
myHandler(), vxworks calls excCrtEnt() to save the Registers,including
SRR2/SRR3 on the Stack Frame.
In myHandler(), i am planning to read the value of SRR2/SRR3 and store
it in some unused General Purpose Register like R9/R10 such that these
are printed by the Exception Printing Routine.
Is the above approach okay or can we use some better approach to
achieve the same?

Kindly help me with the above.

Thanks & Regards,
Delta