Subversion Repositories HelenOS

Rev

Rev 326 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 326 Rev 329
Line 9... Line 9...
9
OBJDUMP=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-objdump
9
OBJDUMP=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-objdump
10
OBJCOPY=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-objcopy
10
OBJCOPY=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-objcopy
11
BFD_NAME=elf32-tradlittlemips
11
BFD_NAME=elf32-tradlittlemips
12
BFD_ARCH=mips
12
BFD_ARCH=mips
13
 
13
 
14
ASFLAGS=-mips3
-
 
15
 
-
 
16
DEFS=-DARCH=$(ARCH) -DMACHINE=${MACHINE}
14
DEFS=-DARCH=$(ARCH) -DMACHINE=${MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS}
17
CFLAGS=$(DEFS) -mno-abicalls -mips3 -G 0 -nostdlib -fno-builtin -O2 
15
CFLAGS=$(DEFS) -mno-abicalls -G 0 -nostdlib -fno-builtin -O2  -fno-zero-initialized-in-bss 
18
LFLAGS=-mips2 -M -no-check-sections
16
LFLAGS=-M -N
19
 
17
 
20
# It seems that on big endian either GCC or the simulators
18
# It seems that on big endian either GCC or the simulators
21
# have the swl/swr/lwl/lwr instructions wrong. Just for sure,
19
# have the swl/swr/lwl/lwr instructions wrong. Just for sure,
22
# disable it with -mmemcpy (force calling memcpy instead of inlining)
20
# disable it with -mmemcpy (force calling memcpy instead of inlining)
23
 
21
 
24
ifeq (${MACHINE},indy)
22
ifeq (${MACHINE},indy)
25
 CFLAGS += -EB -mmemcpy -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY
23
 CFLAGS += -EB -mmemcpy -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY -march=r4600
26
 BFD = elf32-big
24
 BFD = ecoff-bigmips
-
 
25
 KERNEL_LOAD_ADDRESS = 0x88002000
27
endif
26
endif
28
 
27
 
29
ifeq (${MACHINE},lgxemul)
28
ifeq (${MACHINE},lgxemul)
30
 CFLAGS += -DHAVE_FPU -DFPU_LAZY
29
 CFLAGS += -DHAVE_FPU -DFPU_LAZY -mips3
31
 BFD = ecoff-littlemips
30
 BFD = ecoff-littlemips
-
 
31
 KERNEL_LOAD_ADDRESS = 0x80010000
32
endif
32
endif
33
 
33
 
34
ifeq (${MACHINE},bgxemul)
34
ifeq (${MACHINE},bgxemul)
35
 CFLAGS += -EB -mmemcpy -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY
35
 CFLAGS += -EB -mmemcpy -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY -mips3
36
 BFD = ecoff-bigmips
36
 BFD = ecoff-bigmips
-
 
37
 KERNEL_LOAD_ADDRESS = 0x80010000
37
endif
38
endif
38
 
39
 
-
 
40
# MSIM needs lwl/swl patch & 4kc instruction patch to work
-
 
41
# otherwise add -mmemcpy -mips3
39
ifeq (${MACHINE},msim)
42
ifeq (${MACHINE},msim)
40
 BFD = binary
43
 BFD = binary
41
 CFLAGS += -msoft-float
44
 CFLAGS += -msoft-float -march=4kc 
-
 
45
 KERNEL_LOAD_ADDRESS = 0x80010000
42
endif
46
endif
43
 
47
 
-
 
48
# SIMICS 4kc emulation is broken, although for instructions
-
 
49
# that do not bother us
44
ifeq (${MACHINE},simics)
50
ifeq (${MACHINE},simics)
45
 BFD = elf32-little
51
 BFD = elf32-little
46
 CFLAGS += -msoft-float
52
 CFLAGS += -msoft-float -mips3
-
 
53
 KERNEL_LOAD_ADDRESS = 0x80010000
47
endif
54
endif
48
 
55
 
49
../arch/$(ARCH)/_link.ld: ../arch/$(ARCH)/_link.ld.in
56
../arch/$(ARCH)/_link.ld: ../arch/$(ARCH)/_link.ld.in
50
	$(CC) $(CFLAGS) -C -DBFD=${BFD} -E -x c $< | grep -v "^\#" > $@
57
	$(CC) $(CFLAGS) -C -DBFD=${BFD} -E -x c $< | grep -v "^\#" > $@
51
 
58