diff options
Diffstat (limited to 'firmware/test/kernel')
-rw-r--r-- | firmware/test/kernel/Makefile | 9 | ||||
-rw-r--r-- | firmware/test/kernel/app.lds | 9 | ||||
-rw-r--r-- | firmware/test/kernel/crt0.S | 49 | ||||
-rw-r--r-- | firmware/test/kernel/main.c | 10 |
4 files changed, 14 insertions, 63 deletions
diff --git a/firmware/test/kernel/Makefile b/firmware/test/kernel/Makefile index 0f9f284a10..cec39b1d49 100644 --- a/firmware/test/kernel/Makefile +++ b/firmware/test/kernel/Makefile | |||
@@ -6,10 +6,15 @@ OC = sh-elf-objcopy | |||
6 | 6 | ||
7 | INCLUDES=-I../../ -I../../drivers | 7 | INCLUDES=-I../../ -I../../drivers |
8 | 8 | ||
9 | CFLAGS = -g -O -Wall -m1 -save-temps -nostdlib -Wstrict-prototypes -fomit-frame-pointer -fschedule-insns -fno-builtin $(INCLUDES) | 9 | # Pick a target to build for |
10 | #TARGET = -DARCHOS_PLAYER=1 | ||
11 | TARGET = -DARCHOS_PLAYER_OLD=1 | ||
12 | #TARGET = -DARCHOS_RECORDER=1 | ||
13 | |||
14 | CFLAGS = -g -O -Wall -m1 -save-temps -nostdlib -Wstrict-prototypes -fomit-frame-pointer -fschedule-insns -fno-builtin $(INCLUDES) $(TARGET) | ||
10 | AFLAGS += -small -relax | 15 | AFLAGS += -small -relax |
11 | 16 | ||
12 | OBJS= crt0.o main.o ../../thread.o ../../debug.o | 17 | OBJS= ../../crt0.o ../../drivers/lcd.o ../../system.o main.o ../../thread.o ../../debug.o |
13 | 18 | ||
14 | %.o: %.S | 19 | %.o: %.S |
15 | $(CC) -o $@ $(CFLAGS) $(INCLUDES) $(DEFS) -c $< | 20 | $(CC) -o $@ $(CFLAGS) $(INCLUDES) $(DEFS) -c $< |
diff --git a/firmware/test/kernel/app.lds b/firmware/test/kernel/app.lds index 8a31ee7a13..2aa374f8c1 100644 --- a/firmware/test/kernel/app.lds +++ b/firmware/test/kernel/app.lds | |||
@@ -6,8 +6,7 @@ SECTIONS | |||
6 | { | 6 | { |
7 | *(.vectors) | 7 | *(.vectors) |
8 | . = ALIGN(0x200); | 8 | . = ALIGN(0x200); |
9 | crt0.o(.text) | 9 | *(.init.text) |
10 | *(.rodata) | ||
11 | } | 10 | } |
12 | 11 | ||
13 | .text : | 12 | .text : |
@@ -17,9 +16,15 @@ SECTIONS | |||
17 | 16 | ||
18 | .data : | 17 | .data : |
19 | { | 18 | { |
19 | *(.rodata) | ||
20 | *(.data) | 20 | *(.data) |
21 | } | 21 | } |
22 | 22 | ||
23 | .rodata : | ||
24 | { | ||
25 | *(.rodata) | ||
26 | } | ||
27 | |||
23 | .bss : | 28 | .bss : |
24 | { | 29 | { |
25 | *(.bss) | 30 | *(.bss) |
diff --git a/firmware/test/kernel/crt0.S b/firmware/test/kernel/crt0.S deleted file mode 100644 index 5f0ef2d64e..0000000000 --- a/firmware/test/kernel/crt0.S +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | .section .text | ||
2 | .global start | ||
3 | start: | ||
4 | mov.l stack_k,r15 | ||
5 | |||
6 | ! zero out bss | ||
7 | mov.l edata_k,r0 | ||
8 | mov.l end_k,r1 | ||
9 | mov #0,r2 | ||
10 | start_l: | ||
11 | mov.l r2,@r0 | ||
12 | add #4,r0 | ||
13 | cmp/ge r0,r1 | ||
14 | bt start_l | ||
15 | nop | ||
16 | |||
17 | #if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY) | ||
18 | mov.l set_fpscr_k, r1 | ||
19 | jsr @r1 | ||
20 | mov #0,r4 | ||
21 | lds r3,fpscr | ||
22 | #endif /* defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) */ | ||
23 | |||
24 | ! call the mainline | ||
25 | mov.l main_k,r0 | ||
26 | jsr @r0 | ||
27 | nop | ||
28 | .hoo: | ||
29 | bra .hoo | ||
30 | |||
31 | .align 2 | ||
32 | #if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) | ||
33 | set_fpscr_k: | ||
34 | .long ___set_fpscr | ||
35 | #endif /* defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(SH4_SINGLE_ONLY) */ | ||
36 | stack_k: | ||
37 | .long _stack | ||
38 | edata_k: | ||
39 | .long _edata | ||
40 | end_k: | ||
41 | .long _end | ||
42 | main_k: | ||
43 | .long _main | ||
44 | |||
45 | #ifdef __ELF__ | ||
46 | .section .stack,"aw" | ||
47 | #else | ||
48 | .section .stack | ||
49 | #endif | ||
diff --git a/firmware/test/kernel/main.c b/firmware/test/kernel/main.c index 7e0bd3e3f8..5ac24a7971 100644 --- a/firmware/test/kernel/main.c +++ b/firmware/test/kernel/main.c | |||
@@ -70,13 +70,3 @@ void t2(void) | |||
70 | switch_thread(); | 70 | switch_thread(); |
71 | } | 71 | } |
72 | } | 72 | } |
73 | |||
74 | extern const void stack(void); | ||
75 | |||
76 | const void* vectors[] __attribute__ ((section (".vectors"))) = | ||
77 | { | ||
78 | main, /* Power-on reset */ | ||
79 | stack, /* Power-on reset (stack pointer) */ | ||
80 | main, /* Manual reset */ | ||
81 | stack /* Manual reset (stack pointer) */ | ||
82 | }; | ||