Subversion Repositories HelenOS

Rev

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

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