From e255319c575709d6a12b7dd574a0c9f6868d8bf3 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Sun, 22 Jan 2017 20:15:11 +0000 Subject: [PATCH] - added testbench for de-nano - added workaround for DCache_inv_all() for de-nano git-svn-id: http://moon:8086/svn/mips@124 a8ebac50-d88d-4704-bea3-6648445a41b3 --- src/Makefile | 9 +++++++++ src/libsys/Makefile | 4 ++-- src/libsys/cop0.c | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Makefile b/src/Makefile index a5025fb..3207b6b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -93,6 +93,15 @@ $(BUILD_DIR)/testbench.elf: $(BUILD_DIR) testbench.c cat $@.srec | $(PACKHEX) > $@.pack $(OBJCOPY) -O ihex -I binary $@.flash.bin $@.hex +$(BUILD_DIR)/testbench_denano.elf: $(BUILD_DIR) testbench_denano.c + $(CC) $(CFLAGS) -O3 -o $@ -DHZ=1000 -DNOSIGNAL -DBATCHMODE -DNOMAIN -Os -g testbench_denano.c paranoia.c delay_mips.c bogomips.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)/test_irq.elf: $(BUILD_DIR) test_irq.c $(CC) $(CFLAGS) -o $@ test_irq.c $(LIBS) >$@.map $(OBJDUMP) -d $@ > $@.dis diff --git a/src/libsys/Makefile b/src/libsys/Makefile index 316fc18..23e10fb 100644 --- a/src/libsys/Makefile +++ b/src/libsys/Makefile @@ -31,8 +31,8 @@ OBJDUMP=mips-elf-objdump OBJCOPY=mips-elf-objcopy FLASHGEN=flashgen -OBJS-ml402=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o cop0.o irq.o mips_dbg.o mips_dis.o mips_ps2.o mips_gfx.o console.o screen.o uart.o board.o gpio.o) -OBJS-denano=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o cop0.o irq.o mips_dbg.o mips_dis.o console.o uart.o board.o gdb_stub.o) +OBJS-ml402=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o cop0.o irq.o mips_dbg.o mips_dis.o mips_ps2.o mips_gfx.o console.o screen.o uart.o board.o gpio.o gdb_stub.o) +OBJS-denano=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o cop0.o irq.o mips_dbg.o mips_dis.o console.o uart.o board.o gpio.o gdb_stub.o) all: $(BUILD_DIR) $(BUILD_DIR)/libsys.a diff --git a/src/libsys/cop0.c b/src/libsys/cop0.c index beca1ad..50c845b 100644 --- a/src/libsys/cop0.c +++ b/src/libsys/cop0.c @@ -144,6 +144,7 @@ void DCACHE_invalidate_at(uint32_t* pPtr) ( "mtc0 %[pPtr], $31\n" "cop0 35\n" + "nop" // fix needed: don't work without nop on de-nano : : [pPtr] "r" (pPtr) );