diff options
author | Ben Dooks <ben.dooks@codethink.co.uk> | 2015-03-25 07:27:47 -0400 |
---|---|---|
committer | Dinh Nguyen <dinguyen@opensource.altera.com> | 2015-05-11 14:59:23 -0400 |
commit | bf55e0a48f8ee086c71d1a9de1f0eeee7501b1c4 (patch) | |
tree | 6e203408bdcde217a8d975e1d596d2ef65876c3b /arch/arm/mach-socfpga | |
parent | 6ef4e47926b2008c6a1736fe4e3b2817e3b95463 (diff) |
ARM: socfpga: enable big endian for secondary core(s)
Update the secondary code to allow the secondary boot to work when the
system is running big endian.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Diffstat (limited to 'arch/arm/mach-socfpga')
-rw-r--r-- | arch/arm/mach-socfpga/headsmp.S | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-socfpga/headsmp.S b/arch/arm/mach-socfpga/headsmp.S index f65ea0af4af3..a580dcdec526 100644 --- a/arch/arm/mach-socfpga/headsmp.S +++ b/arch/arm/mach-socfpga/headsmp.S | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/linkage.h> | 10 | #include <linux/linkage.h> |
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <asm/memory.h> | 12 | #include <asm/memory.h> |
13 | #include <asm/assembler.h> | ||
13 | 14 | ||
14 | .arch armv7-a | 15 | .arch armv7-a |
15 | 16 | ||
@@ -18,12 +19,14 @@ ENTRY(secondary_trampoline) | |||
18 | * Thus, we can just subtract the PAGE_OFFSET to get the physical | 19 | * Thus, we can just subtract the PAGE_OFFSET to get the physical |
19 | * address of &cpu1start_addr. This would not work for platforms | 20 | * address of &cpu1start_addr. This would not work for platforms |
20 | * where the physical memory does not start at 0x0. | 21 | * where the physical memory does not start at 0x0. |
21 | */ | 22 | */ |
23 | ARM_BE8(setend be) | ||
22 | adr r0, 1f | 24 | adr r0, 1f |
23 | ldmia r0, {r1, r2} | 25 | ldmia r0, {r1, r2} |
24 | sub r2, r2, #PAGE_OFFSET | 26 | sub r2, r2, #PAGE_OFFSET |
25 | ldr r3, [r2] | 27 | ldr r3, [r2] |
26 | ldr r4, [r3] | 28 | ldr r4, [r3] |
29 | ARM_BE8(rev r4, r4) | ||
27 | bx r4 | 30 | bx r4 |
28 | 31 | ||
29 | .align | 32 | .align |