Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 36686
b: refs/heads/master
c: 0f45d7f
h: refs/heads/master
v: v3
  • Loading branch information
Hyok S. Choi authored and Russell King committed Sep 28, 2006
1 parent bb40922 commit f3266fa
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6cc7cbef948ea2660cc40d7aab090a479f7db6a2
refs/heads/master: 0f45d7f36b766cb668cebfb5d4d2f67b4a8676ba
9 changes: 6 additions & 3 deletions trunk/arch/arm/mm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ config CPU_ARM9TDMI
bool "Support ARM9TDMI processor"
depends on !MMU
select CPU_32v4T
select CPU_ABRT_EV4T
select CPU_ABRT_NOMMU
select CPU_CACHE_V4
help
A 32-bit RISC microprocessor based on the ARM9 processor core
Expand Down Expand Up @@ -192,7 +192,7 @@ config CPU_ARM940T
bool "Support ARM940T processor" if ARCH_INTEGRATOR
depends on !MMU
select CPU_32v4T
select CPU_ABRT_EV4T
select CPU_ABRT_NOMMU
select CPU_CACHE_VIVT
select CPU_CP15_MPU
help
Expand All @@ -209,7 +209,7 @@ config CPU_ARM946E
bool "Support ARM946E-S processor" if ARCH_INTEGRATOR
depends on !MMU
select CPU_32v5
select CPU_ABRT_EV5T
select CPU_ABRT_NOMMU
select CPU_CACHE_VIVT
select CPU_CP15_MPU
help
Expand Down Expand Up @@ -392,6 +392,9 @@ config CPU_32v6
bool

# The abort model
config CPU_ABRT_NOMMU
bool

config CPU_ABRT_EV4
bool

Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ obj-$(CONFIG_MODULES) += proc-syms.o
obj-$(CONFIG_ALIGNMENT_TRAP) += alignment.o
obj-$(CONFIG_DISCONTIGMEM) += discontig.o

obj-$(CONFIG_CPU_ABRT_NOMMU) += abort-nommu.o
obj-$(CONFIG_CPU_ABRT_EV4) += abort-ev4.o
obj-$(CONFIG_CPU_ABRT_EV4T) += abort-ev4t.o
obj-$(CONFIG_CPU_ABRT_LV4T) += abort-lv4t.o
Expand Down
7 changes: 6 additions & 1 deletion trunk/arch/arm/mm/abort-lv4t.S
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,16 @@
*/
ENTRY(v4t_late_abort)
tst r3, #PSR_T_BIT @ check for thumb mode
#ifdef CONFIG_CPU_CP15_MMU
mrc p15, 0, r1, c5, c0, 0 @ get FSR
mrc p15, 0, r0, c6, c0, 0 @ get FAR
bic r1, r1, #1 << 11 | 1 << 10 @ clear bits 11 and 10 of FSR
#else
mov r0, #0 @ clear r0, r1 (no FSR/FAR)
mov r1, #0
#endif
bne .data_thumb_abort
ldr r8, [r2] @ read arm instruction
bic r1, r1, #1 << 11 | 1 << 10 @ clear bits 11 and 10 of FSR
tst r8, #1 << 20 @ L = 1 -> write?
orreq r1, r1, #1 << 11 @ yes.
and r7, r8, #15 << 24
Expand Down
19 changes: 19 additions & 0 deletions trunk/arch/arm/mm/abort-nommu.S
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#include <linux/linkage.h>
#include <asm/assembler.h>
/*
* Function: nommu_early_abort
*
* Params : r2 = address of aborted instruction
* : r3 = saved SPSR
*
* Returns : r0 = 0 (abort address)
* : r1 = 0 (FSR)
*
* Note: There is no FSR/FAR on !CPU_CP15_MMU cores.
* Just fill zero into the registers.
*/
.align 5
ENTRY(nommu_early_abort)
mov r0, #0 @ clear r0, r1 (no FSR/FAR)
mov r1, #0
mov pc, lr
2 changes: 1 addition & 1 deletion trunk/arch/arm/mm/proc-arm940.S
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ __arm940_setup:
*/
.type arm940_processor_functions, #object
ENTRY(arm940_processor_functions)
.word v4t_early_abort
.word nommu_early_abort
.word cpu_arm940_proc_init
.word cpu_arm940_proc_fin
.word cpu_arm940_reset
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mm/proc-arm946.S
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ __arm946_setup:
*/
.type arm946_processor_functions, #object
ENTRY(arm946_processor_functions)
.word v5t_early_abort
.word nommu_early_abort
.word cpu_arm946_proc_init
.word cpu_arm946_proc_fin
.word cpu_arm946_reset
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mm/proc-arm9tdmi.S
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ __arm9tdmi_setup:
*/
.type arm9tdmi_processor_functions, #object
ENTRY(arm9tdmi_processor_functions)
.word v4t_early_abort
.word nommu_early_abort
.word cpu_arm9tdmi_proc_init
.word cpu_arm9tdmi_proc_fin
.word cpu_arm9tdmi_reset
Expand Down

0 comments on commit f3266fa

Please sign in to comment.