Blackfin arch: Fix bug - HW Errors never recover on BF548
The kernel does not properly clear the EBIU Error Master (EBIU_ERRMST) Register on BF548, which causes the kernel to panic. We need to make sure that we clear the EBIU_ERRMST (necessary on BF54x) Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
@@ -179,7 +179,16 @@ ENTRY(_evt_ivhw)
|
||||
call _trap_c;
|
||||
SP += 12;
|
||||
|
||||
#ifdef EBIU_ERRMST
|
||||
/* make sure EBIU_ERRMST is clear */
|
||||
p0.l = LO(EBIU_ERRMST);
|
||||
p0.h = HI(EBIU_ERRMST);
|
||||
r0.l = (CORE_ERROR | CORE_MERROR);
|
||||
w[p0] = r0.l;
|
||||
#endif
|
||||
|
||||
call _ret_from_exception;
|
||||
|
||||
.Lcommon_restore_all_sys:
|
||||
RESTORE_ALL_SYS
|
||||
rti;
|
||||
|
Reference in New Issue
Block a user