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:
Wolfgang Denk
2006-10-24 14:21:16 +02:00
parent 2da2d9a476
commit 7b64fef33c
33 changed files with 2463 additions and 2 deletions

View File

@@ -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

View File

@@ -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