diff options
Diffstat (limited to 'c/src/lib/libbsp/i960/i960sim/start/start.c')
-rw-r--r-- | c/src/lib/libbsp/i960/i960sim/start/start.c | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/c/src/lib/libbsp/i960/i960sim/start/start.c b/c/src/lib/libbsp/i960/i960sim/start/start.c deleted file mode 100644 index 2b7a83e64c..0000000000 --- a/c/src/lib/libbsp/i960/i960sim/start/start.c +++ /dev/null @@ -1,38 +0,0 @@ -char *__env[1] = {0}; -char **environ = __env; - -#define ENABLE_TRACE_MASK 1 -#define STACK_ALIGN 64 - -__inline static void -init_Cregs (void) -{ - /* set register values gcc like */ - register unsigned int mask0=0x3b001000; - register unsigned int mask1=0x00009107; - __asm__ volatile ("mov %0,g14" - : /* no output */ - : "I" (0)); /* gnu structure pointer */ - __asm__ volatile ("modac %1,%0,%0" - : /* no output */ - : "d" (mask0), - "d" (mask1)); /* fpu control kb */ -} - -void _start(void) -{ - extern int stack_init; - register void *ptr = &stack_init; - - /* enable tracing */ - register int mask = ENABLE_TRACE_MASK; - __asm__ volatile ("modpc %0,%0,%0" : : "d" (mask)); - - /* SP must be 64 bytes larger than FP at start. */ - __asm__ volatile ("mov %0,sp" : : "d" (ptr + STACK_ALIGN)); - __asm__ volatile ("mov %0,fp" : : "d" (ptr)); - - init_Cregs(); - boot_card(); - _sys_exit(0); -} |