summaryrefslogtreecommitdiffstats
path: root/api_examples/crt0.S
diff options
context:
space:
mode:
authorRafal Jaworowski <raj@semihalf.com>2009-01-23 13:27:15 +0100
committerWolfgang Denk <wd@denx.de>2009-02-18 00:39:34 +0100
commitb84d7d8f1e1066f810866304a16a3583f88e7c98 (patch)
tree78ce8c7adbc218545cd2d94185c54a593767fc58 /api_examples/crt0.S
parent86b4bafdfaf669ede8fd99044abc7e27ea29b4f5 (diff)
downloadtalos-obmc-uboot-b84d7d8f1e1066f810866304a16a3583f88e7c98.tar.gz
talos-obmc-uboot-b84d7d8f1e1066f810866304a16a3583f88e7c98.zip
API: Use stack pointer as API signature search hint in the glue layer.
De-hardcode range in RAM we search for the API signature. Instead use the stack pointer as a hint to narrow down the range in which the signature could reside (it is malloc'ed on the U-Boot heap, and is hoped to remain in some proximity from stack area). Adjust PowerPC code in API demo to the new scheme. Signed-off-by: Rafal Czubak <rcz@semihalf.com> Signed-off-by: Rafal Jaworowski <raj@semihalf.com>
Diffstat (limited to 'api_examples/crt0.S')
-rw-r--r--api_examples/crt0.S14
1 files changed, 10 insertions, 4 deletions
diff --git a/api_examples/crt0.S b/api_examples/crt0.S
index 8d4f7064eb..3129a07bcb 100644
--- a/api_examples/crt0.S
+++ b/api_examples/crt0.S
@@ -29,6 +29,9 @@
.globl _start
_start:
+ lis %r11, search_hint@ha
+ addi %r11, %r11, search_hint@l
+ stw %r1, 0(%r11)
b main
@@ -39,12 +42,15 @@ syscall:
lwz %r11, 0(%r11)
mtctr %r11
bctr
-
+#else
+#error No support for this arch!
+#endif
.globl syscall_ptr
syscall_ptr:
.align 4
.long 0
-#else
-#error No support for this arch!
-#endif
+
+ .globl search_hint
+search_hint:
+ .long 0
OpenPOWER on IntegriCloud