Rev 326 | Rev 330 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
130 | decky | 1 | MIPS_TARGET=mipsel-linux-gnu |
1 | jermar | 2 | |
130 | decky | 3 | MIPS_CC_DIR=/usr/local/mipsel/bin |
4 | MIPS_BINUTILS_DIR=/usr/local/mipsel/bin |
||
1 | jermar | 5 | |
6 | CC=$(MIPS_CC_DIR)/$(MIPS_TARGET)-gcc |
||
7 | AS=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-as |
||
8 | LD=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-ld |
||
293 | palkovsky | 9 | OBJDUMP=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-objdump |
268 | palkovsky | 10 | OBJCOPY=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-objcopy |
11 | BFD_NAME=elf32-tradlittlemips |
||
12 | BFD_ARCH=mips |
||
1 | jermar | 13 | |
329 | palkovsky | 14 | DEFS=-DARCH=$(ARCH) -DMACHINE=${MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS} |
15 | CFLAGS=$(DEFS) -mno-abicalls -G 0 -nostdlib -fno-builtin -O2 -fno-zero-initialized-in-bss |
||
16 | LFLAGS=-M -N |
||
1 | jermar | 17 | |
326 | palkovsky | 18 | # It seems that on big endian either GCC or the simulators |
19 | # have the swl/swr/lwl/lwr instructions wrong. Just for sure, |
||
20 | # disable it with -mmemcpy (force calling memcpy instead of inlining) |
||
21 | |||
22 | ifeq (${MACHINE},indy) |
||
329 | palkovsky | 23 | CFLAGS += -EB -mmemcpy -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY -march=r4600 |
24 | BFD = ecoff-bigmips |
||
25 | KERNEL_LOAD_ADDRESS = 0x88002000 |
||
326 | palkovsky | 26 | endif |
27 | |||
28 | ifeq (${MACHINE},lgxemul) |
||
329 | palkovsky | 29 | CFLAGS += -DHAVE_FPU -DFPU_LAZY -mips3 |
326 | palkovsky | 30 | BFD = ecoff-littlemips |
329 | palkovsky | 31 | KERNEL_LOAD_ADDRESS = 0x80010000 |
326 | palkovsky | 32 | endif |
33 | |||
34 | ifeq (${MACHINE},bgxemul) |
||
329 | palkovsky | 35 | CFLAGS += -EB -mmemcpy -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY -mips3 |
326 | palkovsky | 36 | BFD = ecoff-bigmips |
329 | palkovsky | 37 | KERNEL_LOAD_ADDRESS = 0x80010000 |
326 | palkovsky | 38 | endif |
39 | |||
329 | palkovsky | 40 | # MSIM needs lwl/swl patch & 4kc instruction patch to work |
41 | # otherwise add -mmemcpy -mips3 |
||
326 | palkovsky | 42 | ifeq (${MACHINE},msim) |
43 | BFD = binary |
||
329 | palkovsky | 44 | CFLAGS += -msoft-float -march=4kc |
45 | KERNEL_LOAD_ADDRESS = 0x80010000 |
||
326 | palkovsky | 46 | endif |
47 | |||
329 | palkovsky | 48 | # SIMICS 4kc emulation is broken, although for instructions |
49 | # that do not bother us |
||
326 | palkovsky | 50 | ifeq (${MACHINE},simics) |
51 | BFD = elf32-little |
||
329 | palkovsky | 52 | CFLAGS += -msoft-float -mips3 |
53 | KERNEL_LOAD_ADDRESS = 0x80010000 |
||
326 | palkovsky | 54 | endif |
55 | |||
56 | ../arch/$(ARCH)/_link.ld: ../arch/$(ARCH)/_link.ld.in |
||
57 | $(CC) $(CFLAGS) -C -DBFD=${BFD} -E -x c $< | grep -v "^\#" > $@ |
||
58 | |||
1 | jermar | 59 | arch_sources= \ |
60 | arch/start.S \ |
||
61 | arch/context.S \ |
||
313 | palkovsky | 62 | arch/panic.S \ |
1 | jermar | 63 | arch/mips.c \ |
313 | palkovsky | 64 | arch/dummy.S \ |
324 | palkovsky | 65 | arch/console.c \ |
313 | palkovsky | 66 | arch/asm.S \ |
1 | jermar | 67 | arch/exception.c \ |
68 | arch/interrupt.c \ |
||
69 | arch/cache.c \ |
||
70 | arch/cpu/cpu.c \ |
||
71 | arch/mm/frame.c \ |
||
72 | arch/mm/page.c \ |
||
52 | vana | 73 | arch/mm/tlb.c \ |
230 | cejka | 74 | arch/fpu_context.c \ |
75 | arch/fmath.c |