![]() |
|
|||
0001 /* SPDX-License-Identifier: GPL-2.0-only */ 0002 /* 0003 * Copyright (c) 2003 ARM Limited 0004 * Copyright (c) u-boot contributors 0005 * Copyright (c) 2012 Pavel Machek <pavel@denx.de> 0006 */ 0007 #include <linux/linkage.h> 0008 #include <linux/init.h> 0009 #include <asm/memory.h> 0010 #include <asm/assembler.h> 0011 0012 .arch armv7-a 0013 .arm 0014 0015 ENTRY(secondary_trampoline) 0016 /* CPU1 will always fetch from 0x0 when it is brought out of reset. 0017 * Thus, we can just subtract the PAGE_OFFSET to get the physical 0018 * address of &cpu1start_addr. This would not work for platforms 0019 * where the physical memory does not start at 0x0. 0020 */ 0021 ARM_BE8(setend be) 0022 adr r0, 1f 0023 ldmia r0, {r1, r2} 0024 sub r2, r2, #PAGE_OFFSET 0025 ldr r3, [r2] 0026 ldr r4, [r3] 0027 ARM_BE8(rev r4, r4) 0028 bx r4 0029 0030 .align 0031 1: .long . 0032 .long socfpga_cpu1start_addr 0033 ENTRY(secondary_trampoline_end)
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |