Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 191845
b: refs/heads/master
c: e220ba6
h: refs/heads/master
i:
  191843: c540f15
v: v3
  • Loading branch information
Dave Estes authored and Daniel Walker committed May 3, 2010
1 parent 6ad95b4 commit 1249353
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ee3c454b8da04815c1884ed85fe89d2d131c0e51
refs/heads/master: e220ba60223a9d63e70217e5b112160df8c21cea
2 changes: 2 additions & 0 deletions trunk/arch/arm/mm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -572,6 +572,8 @@ config CPU_TLB_V6
config CPU_TLB_V7
bool

config VERIFY_PERMISSION_FAULT
bool
endif

config CPU_HAS_ASID
Expand Down
21 changes: 21 additions & 0 deletions trunk/arch/arm/mm/abort-ev7.S
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,26 @@ ENTRY(v7_early_abort)
* V6 code adjusts the returned DFSR.
* New designs should not need to patch up faults.
*/

#if defined(CONFIG_VERIFY_PERMISSION_FAULT)
/*
* Detect erroneous permission failures and fix
*/
ldr r3, =0x40d @ On permission fault
and r3, r1, r3
cmp r3, #0x0d
movne pc, lr

mcr p15, 0, r0, c7, c8, 0 @ Retranslate FAR
isb
mrc p15, 0, r2, c7, c4, 0 @ Read the PAR
and r3, r2, #0x7b @ On translation fault
cmp r3, #0x0b
movne pc, lr
bic r1, r1, #0xf @ Fix up FSR FS[5:0]
and r2, r2, #0x7e
orr r1, r1, r2, LSR #1
#endif

mov pc, lr
ENDPROC(v7_early_abort)

0 comments on commit 1249353

Please sign in to comment.