Commit 1898a959 authored by Vineet Gupta's avatar Vineet Gupta

ARC: Entry Handler tweaks: Avoid hardcoded LIMMS for ECR values

Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent 3ebedbb2
...@@ -68,6 +68,11 @@ ...@@ -68,6 +68,11 @@
#define ECR_C_PROTV_XCHG 0x03 #define ECR_C_PROTV_XCHG 0x03
#define ECR_C_PROTV_MISALIG_DATA 0x04 #define ECR_C_PROTV_MISALIG_DATA 0x04
#define ECR_C_BIT_PROTV_MISALIG_DATA 10
/* Machine Check Cause Code Values */
#define ECR_C_MCHK_DUP_TLB 0x01
/* DTLB Miss Exception Cause Code Values */ /* DTLB Miss Exception Cause Code Values */
#define ECR_C_BIT_DTLB_LD_MISS 8 #define ECR_C_BIT_DTLB_LD_MISS 8
#define ECR_C_BIT_DTLB_ST_MISS 9 #define ECR_C_BIT_DTLB_ST_MISS 9
......
...@@ -321,7 +321,10 @@ ARC_ENTRY EV_MachineCheck ...@@ -321,7 +321,10 @@ ARC_ENTRY EV_MachineCheck
lr r1, [efa] lr r1, [efa]
mov r2, sp mov r2, sp
brne r0, 0x200100, 1f lsr r3, r0, 8
bmsk r3, r3, 7
brne r3, ECR_C_MCHK_DUP_TLB, 1f
bl do_tlb_overlap_fault bl do_tlb_overlap_fault
b ret_from_exception b ret_from_exception
...@@ -368,11 +371,11 @@ ARC_ENTRY EV_TLBProtV ...@@ -368,11 +371,11 @@ ARC_ENTRY EV_TLBProtV
;------ (5) Type of Protection Violation? ---------- ;------ (5) Type of Protection Violation? ----------
; ;
; ProtV Hardware Exception is triggered for Access Faults of 2 types ; ProtV Hardware Exception is triggered for Access Faults of 2 types
; -Access Violaton (WRITE to READ ONLY Page) - for linux COW ; -Access Violaton : 00_23_(00|01|02|03)_00
; -Unaligned Access (READ/WRITE on odd boundary) ; x r w r+w
; -Unaligned Access : 00_23_04_00
; ;
cmp r2, 0x230400 ; Misaligned data access ? bbit1 r2, ECR_C_BIT_PROTV_MISALIG_DATA, 4f
beq 4f
;========= (6a) Access Violation Processing ======== ;========= (6a) Access Violation Processing ========
mov r0, sp ; pt_regs mov r0, sp ; pt_regs
...@@ -542,7 +545,7 @@ ARC_ENTRY EV_Trap ...@@ -542,7 +545,7 @@ ARC_ENTRY EV_Trap
;------- (4) What caused the Trap -------------- ;------- (4) What caused the Trap --------------
lr r12, [ecr] lr r12, [ecr]
and.f 0, r12, ECR_PARAM_MASK bmsk.f 0, r12, 7
bnz trap_with_param bnz trap_with_param
; ======= (5a) Trap is due to System Call ======== ; ======= (5a) Trap is due to System Call ========
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment