[mips]- added sim stuff and lto
git-svn-id: http://moon:8086/svn/mips@136 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
+15
-3
@@ -16,7 +16,7 @@ endif
|
|||||||
BUILD_DIR=build/$(BOARD)/$(ENDIANESS)
|
BUILD_DIR=build/$(BOARD)/$(ENDIANESS)
|
||||||
LSYS_BUILD_DIR=libsys/build/$(BOARD)/$(ENDIANESS)
|
LSYS_BUILD_DIR=libsys/build/$(BOARD)/$(ENDIANESS)
|
||||||
|
|
||||||
CFLAGS:=$(ENDIAN_FLAGS) -Tlink/link.ld -g -msoft-float -O2 -march=r3000 -I. -Ilibsys -Ilibsys/boards/$(BOARD) -L$(LSYS_BUILD_DIR) -Wl,-M
|
CFLAGS:=$(ENDIAN_FLAGS) -G 0 -Tlink/link.ld -g -msoft-float -O2 -march=r3000 -I. -Ilibsys -Ilibsys/boards/$(BOARD) -L$(LSYS_BUILD_DIR) -Wl,-M
|
||||||
ifeq ($(TLB),yes)
|
ifeq ($(TLB),yes)
|
||||||
CFLAGS+=-DSYS_IO_BASE=0xAC000000 -DSDRAM_BASE=0x80000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x88000000
|
CFLAGS+=-DSYS_IO_BASE=0xAC000000 -DSDRAM_BASE=0x80000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x88000000
|
||||||
else
|
else
|
||||||
@@ -40,9 +40,12 @@ OBJDUMP=mips-elf-objdump
|
|||||||
OBJCOPY=mips-elf-objcopy
|
OBJCOPY=mips-elf-objcopy
|
||||||
|
|
||||||
PROG-ml402 = $(addprefix $(BUILD_DIR)/, hello.elf testbench.elf test_irq.elf dhry.elf queens.elf stanford.elf paranoia.elf rmd160_test.elf Bessel.elf whet.elf phrasen.elf dttl.elf richards_benchmark.elf test_exception.elf life.elf r3.elf gunzip.elf basic_math.elf jman_patches.elf jman_patchmeshes.elf jman_polys.elf test_hpi.elf test_vga.elf test_fft.elf)
|
PROG-ml402 = $(addprefix $(BUILD_DIR)/, hello.elf testbench.elf test_irq.elf dhry.elf queens.elf stanford.elf paranoia.elf rmd160_test.elf Bessel.elf whet.elf phrasen.elf dttl.elf richards_benchmark.elf test_exception.elf life.elf r3.elf gunzip.elf basic_math.elf jman_patches.elf jman_patchmeshes.elf jman_polys.elf test_hpi.elf test_vga.elf test_fft.elf)
|
||||||
|
|
||||||
PROG-denano = $(addprefix $(BUILD_DIR)/, hello.elf dhry.elf queens.elf stanford.elf paranoia.elf rmd160_test.elf Bessel.elf whet.elf phrasen.elf dttl.elf richards_benchmark.elf test_exception.elf testbench_denano.elf)
|
PROG-denano = $(addprefix $(BUILD_DIR)/, hello.elf dhry.elf queens.elf stanford.elf paranoia.elf rmd160_test.elf Bessel.elf whet.elf phrasen.elf dttl.elf richards_benchmark.elf test_exception.elf testbench_denano.elf)
|
||||||
|
PROG-sim = $(addprefix $(BUILD_DIR)/, hello.elf ICacheTest.elf)
|
||||||
|
CFLAGS-sim := -flto -O0
|
||||||
|
|
||||||
|
CFLAGS += $(CFLAGS-$(BOARD))
|
||||||
|
|
||||||
all: $(PROG-$(BOARD))
|
all: $(PROG-$(BOARD))
|
||||||
|
|
||||||
$(BUILD_DIR):
|
$(BUILD_DIR):
|
||||||
@@ -66,6 +69,15 @@ $(BUILD_DIR)/hello.elf: $(BUILD_DIR) hello.c
|
|||||||
cat $@.srec | $(PACKHEX) > $@.pack
|
cat $@.srec | $(PACKHEX) > $@.pack
|
||||||
$(OBJCOPY) -O ihex -I binary $@.flash.bin $@.hex
|
$(OBJCOPY) -O ihex -I binary $@.flash.bin $@.hex
|
||||||
|
|
||||||
|
$(BUILD_DIR)/ICacheTest.elf: $(BUILD_DIR) ICacheTest.c
|
||||||
|
$(CC) -O0 $(CFLAGS) -o $@ ICacheTest.c $(LIBS) >$@.map
|
||||||
|
$(OBJDUMP) -d $@ > $@.dis
|
||||||
|
$(OBJCOPY) $@ -O binary $@.bin
|
||||||
|
$(OBJCOPY) -O srec $@ $@.srec
|
||||||
|
$(FLASHGEN) $@.bin $(ENDIAN_FLAGS)
|
||||||
|
cat $@.srec | $(PACKHEX) > $@.pack
|
||||||
|
$(OBJCOPY) -O ihex -I binary $@.flash.bin $@.hex
|
||||||
|
|
||||||
$(BUILD_DIR)/blittertest.elf: $(BUILD_DIR) blittertest.c
|
$(BUILD_DIR)/blittertest.elf: $(BUILD_DIR) blittertest.c
|
||||||
$(CC) $(CFLAGS) -o $@ -Os blittertest.c $(LIBS) >$@.map
|
$(CC) $(CFLAGS) -o $@ -Os blittertest.c $(LIBS) >$@.map
|
||||||
$(OBJDUMP) -d $@ > $@.dis
|
$(OBJDUMP) -d $@ > $@.dis
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# environment vaiables read:
|
# environment vaiables read:
|
||||||
# BOARD = {ml402, denano}
|
# BOARD = {ml402, denano, sim}
|
||||||
# TLB = {no, yes}
|
# TLB = {no, yes}
|
||||||
# ENDIANESS = {eb, el}
|
# ENDIANESS = {eb, el}
|
||||||
BOARD ?= ml402
|
BOARD ?= ml402
|
||||||
@@ -50,7 +50,8 @@ all: $(BUILD_DIR) $(BUILD_DIR)/bootloader.elf $(BUILD_DIR)/bootloader_with_flash
|
|||||||
|
|
||||||
OBJS-ml402=$(addprefix $(BUILD_DIR)/, startup.o kernel.o cop0.o libsys.o srec.o board.o uart.o $(DBG_OBJ))
|
OBJS-ml402=$(addprefix $(BUILD_DIR)/, startup.o kernel.o cop0.o libsys.o srec.o board.o uart.o $(DBG_OBJ))
|
||||||
OBJS-denano=$(addprefix $(BUILD_DIR)/, startup.o kernel.o cop0.o libsys.o srec.o board.o uart.o $(DBG_OBJ))
|
OBJS-denano=$(addprefix $(BUILD_DIR)/, startup.o kernel.o cop0.o libsys.o srec.o board.o uart.o $(DBG_OBJ))
|
||||||
|
OBJS-sim=$(addprefix $(BUILD_DIR)/, startup.o kernel.o cop0.o libsys.o srec.o board.o uart.o $(DBG_OBJ))
|
||||||
|
|
||||||
$(BUILD_DIR)/cop0.o : ../libsys/cop0.c
|
$(BUILD_DIR)/cop0.o : ../libsys/cop0.c
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#define MAGIC_EB 0x4A464931 // "JFI1" in big-endian;
|
#define MAGIC_EB 0x4A464931 // "JFI1" in big-endian;
|
||||||
#define MAGIC_EL 0x3149464A // "JFI1" in little-endian;
|
#define MAGIC_EL 0x3149464A // "JFI1" in little-endian;
|
||||||
|
|
||||||
extern uint32_t getBootOffset(uint32_t sel);
|
extern uint32_t getBootOffset(uint32_t sel) __attribute__ ((used));
|
||||||
|
|
||||||
typedef struct _sflash_img_hdr_t
|
typedef struct _sflash_img_hdr_t
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ FLASHGEN=flashgen
|
|||||||
|
|
||||||
OBJS-ml402=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o cop0.o irq.o $(DBG_OBJ) console.o uart.o board.o gpio.o mips_ps2.o mips_gfx.o screen.o)
|
OBJS-ml402=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o cop0.o irq.o $(DBG_OBJ) console.o uart.o board.o gpio.o mips_ps2.o mips_gfx.o screen.o)
|
||||||
OBJS-denano=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o cop0.o irq.o $(DBG_OBJ) console.o uart.o board.o gpio.o)
|
OBJS-denano=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o cop0.o irq.o $(DBG_OBJ) console.o uart.o board.o gpio.o)
|
||||||
|
OBJS-sim=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o cop0.o irq.o $(DBG_OBJ) console.o uart.o board.o gpio.o)
|
||||||
|
|
||||||
all: $(BUILD_DIR) $(BUILD_DIR)/libsys.a
|
all: $(BUILD_DIR) $(BUILD_DIR)/libsys.a
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
extern int paranoia(int argc, char **argv);
|
extern int paranoia(int argc, char **argv);
|
||||||
gpio_if_t gpio_if;
|
gpio_if_t gpio_if;
|
||||||
|
|
||||||
uint32_t test_icache_instr[] =
|
const uint32_t test_icache_instr[] =
|
||||||
{
|
{
|
||||||
0x27bdfff8, // addiu sp,sp,-8
|
0x27bdfff8, // addiu sp,sp,-8
|
||||||
0xafbe0004, // sw s8,4(sp)
|
0xafbe0004, // sw s8,4(sp)
|
||||||
|
|||||||
+2
-2
@@ -31,7 +31,7 @@ if [ ! -e ./$SRC_BINUTILS-build ]; then
|
|||||||
echo Building $SRC_BINUTILS
|
echo Building $SRC_BINUTILS
|
||||||
mkdir -p $SRC_BINUTILS-build
|
mkdir -p $SRC_BINUTILS-build
|
||||||
cd $SRC_BINUTILS-build
|
cd $SRC_BINUTILS-build
|
||||||
../$SRC_BINUTILS/configure --target=$TARGET --prefix=$PREFIX || exit 1
|
../$SRC_BINUTILS/configure --target=$TARGET --prefix=$PREFIX --enable-plugins --enable-lto || exit 1
|
||||||
make -j4 || exit 1
|
make -j4 || exit 1
|
||||||
make install || exit 1
|
make install || exit 1
|
||||||
cd ..
|
cd ..
|
||||||
@@ -171,7 +171,7 @@ if [ ! -e ./$SRC_GCC-build ]; then
|
|||||||
echo Building $SRC_GCC
|
echo Building $SRC_GCC
|
||||||
mkdir -p $SRC_GCC-build
|
mkdir -p $SRC_GCC-build
|
||||||
cd $SRC_GCC-build
|
cd $SRC_GCC-build
|
||||||
../$SRC_GCC/configure --target=$TARGET --prefix=$PREFIX --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-float=soft --with-newlib --verbose --enable-languages="c,c++" --with-gnu-as --with-gnu-ld || exit 1
|
../$SRC_GCC/configure --target=$TARGET --prefix=$PREFIX --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-float=soft --with-newlib --verbose --enable-languages="c,c++" --with-gnu-as --with-gnu-ld --enable-lto || exit 1
|
||||||
make -j4 all || exit 1
|
make -j4 all || exit 1
|
||||||
make info || exit 1
|
make info || exit 1
|
||||||
make install || exit 1
|
make install || exit 1
|
||||||
|
|||||||
Reference in New Issue
Block a user