Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 49f680ea authored by Russell King's avatar Russell King
Browse files

[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: default avatarRussell King <rmk@arm.linux.org.uk>
parent 791be9b9
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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
+3 −4
Original line number Diff line number Diff line
@@ -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