diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-05-28 05:54:30 -0400 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-06-22 09:53:23 -0400 |
commit | 1898a959b7512fcf6fa9f436ac8c403fab7255c3 (patch) | |
tree | e990d920414c458af317afb08f53c7f9e05404b3 /arch/arc/kernel | |
parent | 3ebedbb2fdf730b7e5e2417dbd37faee6304bfb5 (diff) |
ARC: Entry Handler tweaks: Avoid hardcoded LIMMS for ECR values
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/kernel')
-rw-r--r-- | arch/arc/kernel/entry.S | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S index 53655bf4c9d7..b4a96144430d 100644 --- a/arch/arc/kernel/entry.S +++ b/arch/arc/kernel/entry.S | |||
@@ -321,7 +321,10 @@ ARC_ENTRY EV_MachineCheck | |||
321 | lr r1, [efa] | 321 | lr r1, [efa] |
322 | mov r2, sp | 322 | mov r2, sp |
323 | 323 | ||
324 | brne r0, 0x200100, 1f | 324 | lsr r3, r0, 8 |
325 | bmsk r3, r3, 7 | ||
326 | brne r3, ECR_C_MCHK_DUP_TLB, 1f | ||
327 | |||
325 | bl do_tlb_overlap_fault | 328 | bl do_tlb_overlap_fault |
326 | b ret_from_exception | 329 | b ret_from_exception |
327 | 330 | ||
@@ -368,11 +371,11 @@ ARC_ENTRY EV_TLBProtV | |||
368 | ;------ (5) Type of Protection Violation? ---------- | 371 | ;------ (5) Type of Protection Violation? ---------- |
369 | ; | 372 | ; |
370 | ; ProtV Hardware Exception is triggered for Access Faults of 2 types | 373 | ; ProtV Hardware Exception is triggered for Access Faults of 2 types |
371 | ; -Access Violaton (WRITE to READ ONLY Page) - for linux COW | 374 | ; -Access Violaton : 00_23_(00|01|02|03)_00 |
372 | ; -Unaligned Access (READ/WRITE on odd boundary) | 375 | ; x r w r+w |
376 | ; -Unaligned Access : 00_23_04_00 | ||
373 | ; | 377 | ; |
374 | cmp r2, 0x230400 ; Misaligned data access ? | 378 | bbit1 r2, ECR_C_BIT_PROTV_MISALIG_DATA, 4f |
375 | beq 4f | ||
376 | 379 | ||
377 | ;========= (6a) Access Violation Processing ======== | 380 | ;========= (6a) Access Violation Processing ======== |
378 | mov r0, sp ; pt_regs | 381 | mov r0, sp ; pt_regs |
@@ -542,7 +545,7 @@ ARC_ENTRY EV_Trap | |||
542 | 545 | ||
543 | ;------- (4) What caused the Trap -------------- | 546 | ;------- (4) What caused the Trap -------------- |
544 | lr r12, [ecr] | 547 | lr r12, [ecr] |
545 | and.f 0, r12, ECR_PARAM_MASK | 548 | bmsk.f 0, r12, 7 |
546 | bnz trap_with_param | 549 | bnz trap_with_param |
547 | 550 | ||
548 | ; ======= (5a) Trap is due to System Call ======== | 551 | ; ======= (5a) Trap is due to System Call ======== |