I've been working on EIM_ERM module lately. I could see that a machine check exception occurs after generating a multi bit error. Although I've tried to handle the exception by writing a logic which instructs to move to next instrcution. Surprisingly,the next instruction also goes into handler and then the process repeats.I tried disabling the global enable and bit in EIMCR also. Below is the handler:
void machine_exception(VectorId vector,const void *stack_ptr)
Uint32 new_xsrr0 = 0UL;
new_xsrr0 = get_xsrr0((Uint32 *)stack_ptr, std_context_size) + 4UL;
set_xsrr0((Uint32 *)stack_ptr, std_context_size, new_xsrr0);
PFA of the registers after exception has occured
Kindly let me know if I am going wrong somewhere.