diff options
author | Olof Johansson <olof@lixom.net> | 2013-02-12 07:37:51 +0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-02-12 07:37:51 +0400 |
commit | 1c75c4210009d5cceced76af316c51f9e56ce630 (patch) | |
tree | cfa3600b25fe8ca385ddc6a2cd230da876312dcb /arch/arm/mach-socfpga/headsmp.S | |
parent | 877cd953167bc50765719ca047a3ac2c4fdd7aaf (diff) | |
parent | d6dd735f4bda19bfe07d96d9025c94c4619d4596 (diff) | |
download | linux-1c75c4210009d5cceced76af316c51f9e56ce630.tar.xz |
Merge branch 'socfpga/hw' into next/soc
From Dinh Nguyen, this is a series of patches introducing support for
socfpga hardware (Altera Cyclone5). It also includes a cleanup that
moves some of the ARMv7 cache maintenance functions to a common location,
since three other platforms aready implemented it separately.
* socfpga/hw:
arm: socfpga: Add SMP support for actual socfpga harware
arm: Add v7_invalidate_l1 to cache-v7.S
arm: socfpga: Add entries to enable make dtbs socfpga
arm: socfpga: Add new device tree source for actual socfpga HW
Trivial conflict in arch/arm/mach-tegra/headsmp.S.
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-socfpga/headsmp.S')
-rw-r--r-- | arch/arm/mach-socfpga/headsmp.S | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/arch/arm/mach-socfpga/headsmp.S b/arch/arm/mach-socfpga/headsmp.S index f09b1283ffca..9004bfb1756e 100644 --- a/arch/arm/mach-socfpga/headsmp.S +++ b/arch/arm/mach-socfpga/headsmp.S @@ -13,13 +13,21 @@ __CPUINIT .arch armv7-a -#define CPU1_START_ADDR 0xffd08010 - ENTRY(secondary_trampoline) - movw r0, #:lower16:CPU1_START_ADDR - movt r0, #:upper16:CPU1_START_ADDR + movw r2, #:lower16:cpu1start_addr + movt r2, #:upper16:cpu1start_addr + + /* The socfpga VT cannot handle a 0xC0000000 page offset when loading + the cpu1start_addr, we bit clear it. Tested on HW and VT. */ + bic r2, r2, #0x40000000 + ldr r0, [r2] ldr r1, [r0] bx r1 ENTRY(secondary_trampoline_end) + +ENTRY(socfpga_secondary_startup) + bl v7_invalidate_l1 + b secondary_startup +ENDPROC(socfpga_secondary_startup) |