4.104.114.84.95
Last change
on this file since 68c498f4 was
68c498f4,
checked in by Joel Sherrill <joel.sherrill@…>, on 06/12/00 at 16:34:46
|
Added i960sim BSP which (ignoring the 3 instructions not supported
by gdb 5.0's i960 simulator) is enough to run hello world.
|
-
Property mode set to
100644
|
File size:
1.0 KB
|
Line | |
---|
1 | char *__env[1] = {0}; |
---|
2 | char **environ = __env; |
---|
3 | |
---|
4 | #define ENABLE_TRACE_MASK 1 |
---|
5 | #define STACK_ALIGN 64 |
---|
6 | |
---|
7 | __inline static void |
---|
8 | init_Cregs (void) |
---|
9 | { |
---|
10 | /* set register values gcc like */ |
---|
11 | register unsigned int mask0=0x3b001000; |
---|
12 | register unsigned int mask1=0x00009107; |
---|
13 | __asm__ volatile ("mov %0,g14" |
---|
14 | : /* no output */ |
---|
15 | : "I" (0)); /* gnu structure pointer */ |
---|
16 | __asm__ volatile ("modac %1,%0,%0" |
---|
17 | : /* no output */ |
---|
18 | : "d" (mask0), |
---|
19 | "d" (mask1)); /* fpu control kb */ |
---|
20 | } |
---|
21 | |
---|
22 | void _start(void) |
---|
23 | { |
---|
24 | extern int stack_init; |
---|
25 | register void *ptr = &stack_init; |
---|
26 | |
---|
27 | /* enable tracing */ |
---|
28 | register int mask = ENABLE_TRACE_MASK; |
---|
29 | __asm__ volatile ("modpc %0,%0,%0" : : "d" (mask)); |
---|
30 | |
---|
31 | /* SP must be 64 bytes larger than FP at start. */ |
---|
32 | __asm__ volatile ("mov %0,sp" : : "d" (ptr + STACK_ALIGN)); |
---|
33 | __asm__ volatile ("mov %0,fp" : : "d" (ptr)); |
---|
34 | |
---|
35 | |
---|
36 | init_Cregs(); |
---|
37 | boot_card(); |
---|
38 | _sys_exit(0); |
---|
39 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.