1
0
Fork 0

[PATCH] ARM SMP: convert alignment enable

The current vector entry system does not allow for SMP.  In
order to work around this, we need to eliminate our reliance
on the fixed save areas, which breaks the way we enable
alignment traps.  This patch makes the alignment trap enable
code independent of the way we handle the save areas.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
hifive-unleashed-5.1
Russell King 2005-05-31 18:02:00 +01:00
parent 791be9b976
commit 49f680ea7b
2 changed files with 6 additions and 5 deletions

View File

@ -269,6 +269,8 @@ __pabt_svc:
.word __temp_und
.LCabt:
.word __temp_abt
.LCcralign:
.word cr_alignment
#ifdef MULTI_ABORT
.LCprocfns:
.word processor
@ -311,7 +313,7 @@ __pabt_svc:
@
@ Enable the alignment trap while in kernel mode
@
alignment_trap r7, r0, __temp_\sym
alignment_trap r0
@
@ Clear FP to mark the first stack frame

View File

@ -59,11 +59,10 @@
mov \rd, \rd, lsl #13
.endm
.macro alignment_trap, rbase, rtemp, sym
.macro alignment_trap, rtemp
#ifdef CONFIG_ALIGNMENT_TRAP
#define OFF_CR_ALIGNMENT(x) cr_alignment - x
ldr \rtemp, [\rbase, #OFF_CR_ALIGNMENT(\sym)]
ldr \rtemp, .LCcralign
ldr \rtemp, [\rtemp]
mcr p15, 0, \rtemp, c1, c0
#endif
.endm