Subversion Repositories HelenOS

Rev

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

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