| [6bc4dbd] | 1 | # | 
|---|
|  | 2 | # Copyright (C) 2005 Martin Decky | 
|---|
|  | 3 | # All rights reserved. | 
|---|
|  | 4 | # | 
|---|
|  | 5 | # Redistribution and use in source and binary forms, with or without | 
|---|
|  | 6 | # modification, are permitted provided that the following conditions | 
|---|
|  | 7 | # are met: | 
|---|
|  | 8 | # | 
|---|
|  | 9 | # - Redistributions of source code must retain the above copyright | 
|---|
|  | 10 | #   notice, this list of conditions and the following disclaimer. | 
|---|
|  | 11 | # - Redistributions in binary form must reproduce the above copyright | 
|---|
|  | 12 | #   notice, this list of conditions and the following disclaimer in the | 
|---|
|  | 13 | #   documentation and/or other materials provided with the distribution. | 
|---|
|  | 14 | # - The name of the author may not be used to endorse or promote products | 
|---|
|  | 15 | #   derived from this software without specific prior written permission. | 
|---|
|  | 16 | # | 
|---|
|  | 17 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | 
|---|
|  | 18 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | 
|---|
|  | 19 | # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | 
|---|
|  | 20 | # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | 
|---|
|  | 21 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | 
|---|
|  | 22 | # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 
|---|
|  | 23 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 
|---|
|  | 24 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
|---|
|  | 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 
|---|
|  | 26 | # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
|---|
|  | 27 | # | 
|---|
|  | 28 |  | 
|---|
|  | 29 | ## Toolchain configuration | 
|---|
|  | 30 | # | 
|---|
|  | 31 |  | 
|---|
|  | 32 | BFD_ARCH = mips | 
|---|
|  | 33 | TARGET = mipsel-linux-gnu | 
|---|
|  | 34 | TOOLCHAIN_DIR = /usr/local/mipsel/bin | 
|---|
|  | 35 |  | 
|---|
|  | 36 | ## Make some default assumptions | 
|---|
|  | 37 | # | 
|---|
|  | 38 |  | 
|---|
| [9371c30] | 39 | ifndef MIPS_MACHINE | 
|---|
|  | 40 | MIPS_MACHINE = msim | 
|---|
| [6bc4dbd] | 41 | endif | 
|---|
|  | 42 |  | 
|---|
| [389f41e] | 43 | KERNEL_LOAD_ADDRESS = 0x80100000 | 
|---|
| [aa72859] | 44 | INIT_ADDRESS = 0x80110000 | 
|---|
|  | 45 | INIT_SIZE = 65536 | 
|---|
| [feb1a414] | 46 | CFLAGS += -mno-abicalls -G 0 -fno-zero-initialized-in-bss | 
|---|
| [9371c30] | 47 | DEFS += -DMACHINE=${MIPS_MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS} -DINIT_ADDRESS=${INIT_ADDRESS} -DINIT_SIZE=${INIT_SIZE} | 
|---|
| [389f41e] | 48 |  | 
|---|
|  | 49 | ## Accepted MACHINEs | 
|---|
| [6bc4dbd] | 50 | # | 
|---|
|  | 51 |  | 
|---|
| [9371c30] | 52 | ifeq ($(MIPS_MACHINE),indy) | 
|---|
| [389f41e] | 53 | # GCC 4.0.1 compiled for mipsEL has problems compiling in | 
|---|
|  | 54 | # BigEndian mode with the swl/swr/lwl/lwr instructions. | 
|---|
|  | 55 | # We have to compile it with mips-sgi-irix5 to get it right. | 
|---|
|  | 56 |  | 
|---|
|  | 57 | BFD_NAME = elf32-bigmips | 
|---|
| [96c939e] | 58 | BFD = ecoff-bigmips --impure | 
|---|
| [389f41e] | 59 | TARGET = mips-sgi-irix5 | 
|---|
|  | 60 | TOOLCHAIN_DIR = /usr/local/mips/bin | 
|---|
|  | 61 | KERNEL_LOAD_ADDRESS = 0x88002000 | 
|---|
|  | 62 | CFLAGS += -EB -DBIG_ENDIAN -DHAVE_FPU -march=r4600 | 
|---|
|  | 63 | endif | 
|---|
| [9371c30] | 64 | ifeq ($(MIPS_MACHINE),lgxemul) | 
|---|
| [389f41e] | 65 | BFD_NAME=elf32-tradlittlemips | 
|---|
|  | 66 | BFD = ecoff-littlemips | 
|---|
|  | 67 | CFLAGS += -DHAVE_FPU -mips3 | 
|---|
|  | 68 | endif | 
|---|
| [9371c30] | 69 | ifeq ($(MIPS_MACHINE),bgxemul) | 
|---|
| [389f41e] | 70 | BFD_NAME=elf32-bigmips | 
|---|
|  | 71 | BFD = ecoff-bigmips | 
|---|
|  | 72 | TARGET = mips-sgi-irix5 | 
|---|
|  | 73 | TOOLCHAIN_DIR = /usr/local/mips/bin | 
|---|
|  | 74 | CFLAGS += -EB -DBIG_ENDIAN -DHAVE_FPU -mips3 | 
|---|
| [6bc4dbd] | 75 | endif | 
|---|
| [9371c30] | 76 | ifeq ($(MIPS_MACHINE),simics) | 
|---|
| [389f41e] | 77 | # SIMICS 4kc emulation is broken, although for instructions | 
|---|
|  | 78 | # that do not bother us | 
|---|
|  | 79 |  | 
|---|
|  | 80 | BFD_NAME = elf32-tradlittlemips | 
|---|
|  | 81 | BFD = elf32-tradlittlemips | 
|---|
| [54aff98] | 82 | CFLAGS += -mhard-float -mips3 -DTLBCNT=16 | 
|---|
|  | 83 | TLBCNT = 16 | 
|---|
| [6bc4dbd] | 84 | endif | 
|---|
| [9371c30] | 85 | ifeq ($(MIPS_MACHINE),msim) | 
|---|
| [389f41e] | 86 | BFD_NAME = elf32-tradlittlemips | 
|---|
|  | 87 | BFD = binary | 
|---|
|  | 88 | CFLAGS += -mhard-float -mips3 | 
|---|
| [6bc4dbd] | 89 | endif | 
|---|
|  | 90 |  | 
|---|
|  | 91 |  | 
|---|
|  | 92 | ARCH_SOURCES = \ | 
|---|
| [389f41e] | 93 | arch/$(ARCH)/src/start.S \ | 
|---|
|  | 94 | arch/$(ARCH)/src/context.S \ | 
|---|
|  | 95 | arch/$(ARCH)/src/panic.S \ | 
|---|
|  | 96 | arch/$(ARCH)/src/mips32.c \ | 
|---|
|  | 97 | arch/$(ARCH)/src/dummy.S \ | 
|---|
|  | 98 | arch/$(ARCH)/src/console.c \ | 
|---|
| [6bc4dbd] | 99 | arch/$(ARCH)/src/asm.S \ | 
|---|
| [389f41e] | 100 | arch/$(ARCH)/src/exception.c \ | 
|---|
| [6bc4dbd] | 101 | arch/$(ARCH)/src/interrupt.c \ | 
|---|
| [389f41e] | 102 | arch/$(ARCH)/src/cache.c \ | 
|---|
| [5bb8e45] | 103 | arch/$(ARCH)/src/debugger.c \ | 
|---|
| [6bc4dbd] | 104 | arch/$(ARCH)/src/cpu/cpu.c \ | 
|---|
| [389f41e] | 105 | arch/$(ARCH)/src/mm/asid.c \ | 
|---|
| [6bc4dbd] | 106 | arch/$(ARCH)/src/mm/frame.c \ | 
|---|
|  | 107 | arch/$(ARCH)/src/mm/page.c \ | 
|---|
|  | 108 | arch/$(ARCH)/src/mm/tlb.c \ | 
|---|
| [389f41e] | 109 | arch/$(ARCH)/src/mm/vm.c \ | 
|---|
|  | 110 | arch/$(ARCH)/src/fpu_context.c \ | 
|---|
|  | 111 | arch/$(ARCH)/src/fmath.c \ | 
|---|
| [a7fdfe1] | 112 | arch/$(ARCH)/src/drivers/arc.c \ | 
|---|
| [973be64e] | 113 | arch/$(ARCH)/src/drivers/msim.c \ | 
|---|
|  | 114 | arch/$(ARCH)/src/drivers/serial.c | 
|---|