diff options
author | Wolfgang Denk <wd@pollux.denx.de> | 2006-10-24 15:17:18 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@pollux.denx.de> | 2006-10-24 15:17:18 +0200 |
commit | 9748d5a9e8aa8bf6dd576e70894b9996c22f7003 (patch) | |
tree | bfbdfb6f1ef9d24389e19a3b47ecdc7a883af455 /examples/stubs.c | |
parent | 8318fbf8cc30418b621ea9f39b84b4c1a08f003a (diff) | |
parent | 3a78e3e75b633ecb6413114ffd11e2f000c4f11e (diff) | |
download | u-boot-imx-9748d5a9e8aa8bf6dd576e70894b9996c22f7003.zip u-boot-imx-9748d5a9e8aa8bf6dd576e70894b9996c22f7003.tar.gz u-boot-imx-9748d5a9e8aa8bf6dd576e70894b9996c22f7003.tar.bz2 |
Merge with /home/wd/git/u-boot/mailing-list/Haavard_Skinnemoen
Diffstat (limited to 'examples/stubs.c')
-rw-r--r-- | examples/stubs.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/examples/stubs.c b/examples/stubs.c index 1caa575..ffd314e 100644 --- a/examples/stubs.c +++ b/examples/stubs.c @@ -138,6 +138,19 @@ gd_t *global_data; " P0 = [P0 + %1]\n" \ " JUMP (P0)\n" \ : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "P0"); +#elif defined(CONFIG_AVR32) +/* + * r6 holds the pointer to the global_data. r8 is call clobbered. + */ +#define EXPORT_FUNC(x) \ + asm volatile( \ + " .globl\t" #x "\n" \ + #x ":\n" \ + " ld.w r8, r6[%0]\n" \ + " ld.w pc, r8[%1]\n" \ + : \ + : "i"(offsetof(gd_t, jt)), "i"(XF_ ##x) \ + : "r8"); #else #error stubs definition missing for this architecture #endif |