Add AVR32 architecture support
Patch by Haavard Skinnemoen, 6 Sep 2006 16:23:02 +0200 This patch adds common infrastructure code for the Atmel AVR32 architecture. See doc/README.AVR32 for details. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
This commit is contained in:
@@ -57,6 +57,10 @@ ifeq ($(ARCH),blackfin)
|
||||
LOAD_ADDR = 0x1000
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),avr32)
|
||||
LOAD_ADDR = 0x00000000
|
||||
endif
|
||||
|
||||
include $(TOPDIR)/config.mk
|
||||
|
||||
ELF = hello_world
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user