Resending, due to typo in LKML mail  address.

 Hi Vineet,
 
 The EV_MachineCheck exception handler is halting the core for exceptions
 which are not tlb_overlap_fault.
 Since for the NPS platform each core is running a single thread in ZOL (Zero
 Overhead Linux) isolation mode, we feel that most of the time it is safe to
 resume execution instead of halting the core.
 I would appreciate it if you could review the change  below and let me know
 what you think, if this change is valid or if we missed or overlooked
 something.
 We are not looking to push this change upstream, but will be used on some
 systems.
 
 Please see below our implementation after label 1.
 
 Thanks
 Ofer
 
 ENTRY(EV_MachineCheck)
 
        EXCEPTION_PROLOGUE
 
 #ifdef CONFIG_CONTEXT_TRACKING
        bl context_tracking_user_exit
 #endif
 
        lr  r2, [ecr]
        lr  r0, [efa]
        mov r1, sp
 
        ; hardware auto-disables MMU, re-enable it to allow kernel vaddr
        ; access for say stack unwinding of modules for crash dumps
        lr r3, [ARC_REG_PID]
        or r3, r3, MMU_ENABLE
        sr r3, [ARC_REG_PID]
 
        lsr     r3, r2, 8
        bmsk    r3, r3, 7
        brne    r3, ECR_C_MCHK_DUP_TLB, 1f
 
        bl      do_tlb_overlap_fault
        b       ret_from_exception
 
 1:
        FAKE_RET_FROM_EXCPN
        bl              do_machine_check  ; using DO_ERROR_INFO macro
        b       ret_from_exception
 
 END(EV_MachineCheck)

Reply via email to