aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Rini2014-01-10 09:56:00 -0600
committerTom Rini2014-01-10 09:56:00 -0600
commit7f673c99c2d8d1aa21996c5b914f06d784b080ca (patch)
treedf68108a0bd7326dc6299b96853b769220c55470 /examples
parent8401bfa91ef57e331e2a3abdf768d41803bec88e (diff)
parent10a147bc665367111920be657409a5d56d3c0590 (diff)
downloadu-boot-7f673c99c2d8d1aa21996c5b914f06d784b080ca.tar.gz
u-boot-7f673c99c2d8d1aa21996c5b914f06d784b080ca.tar.xz
u-boot-7f673c99c2d8d1aa21996c5b914f06d784b080ca.zip
Merge branch 'master' of git://git.denx.de/u-boot-arm
Bringing in the MMC tree means that CONFIG_BOUNCE_BUFFER needed to be added to include/configs/exynos5-dt.h now. Conflicts: include/configs/exynos5250-dt.h Signed-off-by: Tom Rini <trini@ti.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/standalone/stubs.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/examples/standalone/stubs.c b/examples/standalone/stubs.c
index 8fb17653b0..32a19ce354 100644
--- a/examples/standalone/stubs.c
+++ b/examples/standalone/stubs.c
@@ -39,17 +39,32 @@ gd_t *global_data;
39" bctr\n" \ 39" bctr\n" \
40 : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "r11"); 40 : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "r11");
41#elif defined(CONFIG_ARM) 41#elif defined(CONFIG_ARM)
42#ifdef CONFIG_ARM64
42/* 43/*
43 * r8 holds the pointer to the global_data, ip is a call-clobbered 44 * x18 holds the pointer to the global_data, x9 is a call-clobbered
44 * register 45 * register
45 */ 46 */
46#define EXPORT_FUNC(x) \ 47#define EXPORT_FUNC(x) \
47 asm volatile ( \ 48 asm volatile ( \
48" .globl " #x "\n" \ 49" .globl " #x "\n" \
49#x ":\n" \ 50#x ":\n" \
50" ldr ip, [r8, %0]\n" \ 51" ldr x9, [x18, %0]\n" \
52" ldr x9, [x9, %1]\n" \
53" br x9\n" \
54 : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "x9");
55#else
56/*
57 * r9 holds the pointer to the global_data, ip is a call-clobbered
58 * register
59 */
60#define EXPORT_FUNC(x) \
61 asm volatile ( \
62" .globl " #x "\n" \
63#x ":\n" \
64" ldr ip, [r9, %0]\n" \
51" ldr pc, [ip, %1]\n" \ 65" ldr pc, [ip, %1]\n" \
52 : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "ip"); 66 : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "ip");
67#endif
53#elif defined(CONFIG_MIPS) 68#elif defined(CONFIG_MIPS)
54/* 69/*
55 * k0 ($26) holds the pointer to the global_data; t9 ($25) is a call- 70 * k0 ($26) holds the pointer to the global_data; t9 ($25) is a call-