Subversion Repositories HelenOS

Rev

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

Rev 3425 Rev 4377
Line 27... Line 27...
27
#
27
#
28
 
28
 
29
## Toolchain configuration
29
## Toolchain configuration
30
#
30
#
31
 
31
 
32
ifndef CROSS_PREFIX
-
 
33
	CROSS_PREFIX = /usr/local
-
 
34
endif
-
 
35
 
-
 
36
BFD_ARCH = mips
32
BFD_ARCH = mips
-
 
33
BFD = binary
37
TARGET = mipsel-linux-gnu
34
TARGET = mipsel-linux-gnu
38
TOOLCHAIN_DIR = $(CROSS_PREFIX)/mipsel
35
TOOLCHAIN_DIR = $(CROSS_PREFIX)/mipsel
39
 
36
 
40
KERNEL_LOAD_ADDRESS = 0x80100000
-
 
41
 
-
 
42
GCC_CFLAGS += -mno-abicalls -G 0 -fno-zero-initialized-in-bss
37
GCC_CFLAGS += -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3
43
 
-
 
44
DEFS += -D__32_BITS__ -DMACHINE=$(MACHINE) -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS} 
-
 
45
 
38
 
46
## Compile with hierarchical page tables support.
-
 
47
#
-
 
48
 
-
 
49
CONFIG_PAGE_PT = y
-
 
50
DEFS += -DCONFIG_PAGE_PT
39
DEFS += -D__32_BITS__
51
 
-
 
52
## Compile with support for address space identifiers.
-
 
53
#
-
 
54
 
-
 
55
CONFIG_ASID = y
-
 
56
CONFIG_ASID_FIFO = y
-
 
57
 
40
 
58
## Accepted MACHINEs
41
## Accepted MACHINEs
59
#
42
#
60
 
43
 
61
ifeq ($(MACHINE),lgxemul)
44
ifeq ($(MACHINE),lgxemul)
62
	BFD_NAME = elf32-tradlittlemips
45
	BFD_NAME = elf32-tradlittlemips
63
	BFD = binary
-
 
64
	GCC_CFLAGS += -DFB_INVERT_ENDIAN -DARCH_HAS_FPU -mips3
-
 
65
endif
46
endif
66
ifeq ($(MACHINE),bgxemul)
47
ifeq ($(MACHINE),bgxemul)
67
	BFD_NAME = elf32-bigmips
48
	BFD_NAME = elf32-tradbigmips
68
	BFD = ecoff-bigmips
-
 
69
	TARGET = mips-sgi-irix5
-
 
70
	TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips/bin
49
	TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips
71
	GCC_CFLAGS += -EB -DBIG_ENDIAN -DARCH_HAS_FPU -mips3
-
 
72
endif
-
 
73
ifeq ($(MACHINE),simics)
-
 
74
	# SIMICS 4kc emulation is broken, although for instructions
-
 
75
	# that do not bother us
-
 
76
	
-
 
77
	BFD_NAME = elf32-tradlittlemips
50
	TARGET = mips-linux-gnu
78
	BFD = elf32-tradlittlemips
-
 
79
	GCC_CFLAGS += -mhard-float -mips3 -DTLBCNT=16
51
	GCC_CFLAGS += -DBIG_ENDIAN
80
	TLBCNT = 16
-
 
81
endif
52
endif
82
ifeq ($(MACHINE),msim)
53
ifeq ($(MACHINE),msim)
83
	BFD_NAME = elf32-tradlittlemips
54
	BFD_NAME = elf32-tradlittlemips
84
	BFD = binary
-
 
85
	GCC_CFLAGS += -mhard-float -mips3
55
	GCC_CFLAGS += -mhard-float
86
endif
56
endif
87
 
57
 
88
## Compile with support for software integer division.
-
 
89
#
-
 
90
 
-
 
91
CONFIG_SOFTINT = y
-
 
92
 
-
 
93
 
-
 
94
ARCH_SOURCES = \
58
ARCH_SOURCES = \
95
	arch/$(ARCH)/src/start.S \
59
	arch/$(KARCH)/src/start.S \
96
	arch/$(ARCH)/src/context.S \
60
	arch/$(KARCH)/src/context.S \
97
	arch/$(ARCH)/src/panic.S \
61
	arch/$(KARCH)/src/panic.S \
98
	arch/$(ARCH)/src/mips32.c \
62
	arch/$(KARCH)/src/mips32.c \
99
	arch/$(ARCH)/src/dummy.S \
-
 
100
	arch/$(ARCH)/src/console.c \
-
 
101
	arch/$(ARCH)/src/asm.S \
63
	arch/$(KARCH)/src/asm.S \
102
	arch/$(ARCH)/src/exception.c \
64
	arch/$(KARCH)/src/exception.c \
103
	arch/$(ARCH)/src/interrupt.c \
65
	arch/$(KARCH)/src/interrupt.c \
104
	arch/$(ARCH)/src/cache.c \
66
	arch/$(KARCH)/src/cache.c \
105
	arch/$(ARCH)/src/debugger.c \
67
	arch/$(KARCH)/src/debugger.c \
106
	arch/$(ARCH)/src/cpu/cpu.c \
68
	arch/$(KARCH)/src/cpu/cpu.c \
107
	arch/$(ARCH)/src/mm/frame.c \
69
	arch/$(KARCH)/src/mm/frame.c \
108
	arch/$(ARCH)/src/mm/page.c \
70
	arch/$(KARCH)/src/mm/page.c \
109
	arch/$(ARCH)/src/mm/tlb.c \
71
	arch/$(KARCH)/src/mm/tlb.c \
110
	arch/$(ARCH)/src/mm/as.c \
72
	arch/$(KARCH)/src/mm/as.c \
111
	arch/$(ARCH)/src/fpu_context.c \
73
	arch/$(KARCH)/src/fpu_context.c \
112
	arch/$(ARCH)/src/ddi/ddi.c \
74
	arch/$(KARCH)/src/ddi/ddi.c \
113
	arch/$(ARCH)/src/drivers/msim.c \
-
 
114
	arch/$(ARCH)/src/drivers/serial.c \
75
	arch/$(KARCH)/src/smp/dorder.c \
115
	arch/$(ARCH)/src/smp/order.c
76
	arch/$(KARCH)/src/smp/smp.c