diff options
| author | Wolfgang Denk <wd@denx.de> | 2010-05-28 20:34:39 +0200 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2010-05-28 20:34:39 +0200 | 
| commit | bd7bb6f8a3278caff0ac6eeaf08b188b9bb05dfc (patch) | |
| tree | 8c0d3886a19dfd82551588928b448198ac5274ce /examples | |
| parent | 35269d3fca60b5f73113b0443c8e40070749c1d9 (diff) | |
| parent | 1117cbf2adac59050af1751af6c6a524afa5c3ef (diff) | |
| download | olio-uboot-2014.01-bd7bb6f8a3278caff0ac6eeaf08b188b9bb05dfc.tar.xz olio-uboot-2014.01-bd7bb6f8a3278caff0ac6eeaf08b188b9bb05dfc.zip | |
Merge branch 'next' of git://git.denx.de/u-boot-nios
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/standalone/stubs.c | 23 | 
1 files changed, 3 insertions, 20 deletions
| diff --git a/examples/standalone/stubs.c b/examples/standalone/stubs.c index ce3371d91..f3e1ab5c6 100644 --- a/examples/standalone/stubs.c +++ b/examples/standalone/stubs.c @@ -65,26 +65,9 @@ gd_t *global_data;  "	lw	$25, %1($25)\n"		\  "	jr	$25\n"			\  	: : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "t9"); -#elif defined(CONFIG_NIOS) -/* - * %g7 holds the pointer to the global_data. %g0 is call clobbered. - */ -#define EXPORT_FUNC(x) \ -	asm volatile (			\ -"	.globl " #x "\n"		\ -#x ":\n"				\ -"	pfx	%%hi(%0)\n"		\ -"	movi	%%g0, %%lo(%0)\n"	\ -"	add	%%g0, %%g7\n"		\ -"	ld	%%g0, [%%g0]\n"		\ -"	pfx	%1\n"			\ -"	ld	%%g0, [%%g0]\n"		\ -"	jmp	%%g0\n"			\ -"	nop	\n"			\ -	: : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x) : "r0");  #elif defined(CONFIG_NIOS2)  /* - * r15 holds the pointer to the global_data, r8 is call-clobbered + * gp holds the pointer to the global_data, r8 is call-clobbered   */  #define EXPORT_FUNC(x) \  	asm volatile (			\ @@ -92,11 +75,11 @@ gd_t *global_data;  #x ":\n"				\  "	movhi	r8, %%hi(%0)\n"		\  "	ori	r8, r0, %%lo(%0)\n"	\ -"	add	r8, r8, r15\n"		\ +"	add	r8, r8, gp\n"		\  "	ldw	r8, 0(r8)\n"		\  "	ldw	r8, %1(r8)\n"		\  "	jmp	r8\n"			\ -	: : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "r15"); +	: : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "gp");  #elif defined(CONFIG_M68K)  /*   * d7 holds the pointer to the global_data, a0 is a call-clobbered |