1#*************************************************************************************** 2# Copyright (c) 2020-2021 Institute of Computing Technology, Chinese Academy of Sciences 3# Copyright (c) 2020-2021 Peng Cheng Laboratory 4# 5# XiangShan is licensed under Mulan PSL v2. 6# You can use this software according to the terms and conditions of the Mulan PSL v2. 7# You may obtain a copy of Mulan PSL v2 at: 8# http://license.coscl.org.cn/MulanPSL2 9# 10# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, 11# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 12# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. 13# 14# See the Mulan PSL v2 for more details. 15#*************************************************************************************** 16 17ARCH = ARCH=riscv64-xs 18NANOS_HOME ?= $(AM_HOME)/../nanos-lite 19SINGLETEST = ALL=min3 20 21B ?= 0 22E ?= 0 23V ?= OFF 24#V ?= OFF 25EMU_ARGS = B=$(B) E=$(E) V=$(V) 26 27# ------------------------------------------------------------------ 28# bulid CPU and run dummy test 29# ------------------------------------------------------------------ 30 31cache: 32 $(MAKE) -C $(AM_HOME)/tests/cachetest $(ARCH) ALL=loader $(EMU_ARGS) run 33 #2>&1 | tee > loader.log 34 #2>&1 | tee > loader.log 35 36cpu: 37 $(MAKE) -C $(AM_HOME)/tests/cputest $(ARCH) ALL=dummy $(EMU_ARGS) run 2>&1 38 39# ------------------------------------------------------------------ 40# run different test sets 41# ------------------------------------------------------------------ 42 43cputest: 44 bash cputest.sh 45 46# bputest: 47# $(MAKE) -C $(AM_HOME)/tests/bputest $(ARCH) run 2>&1 | tee > bpu.log 48# cat bpu.log | grep different 49bputest: 50 $(MAKE) -C $(AM_HOME)/tests/bputest $(ARCH) run 2 > bpu.log 51 cat bpu.log | grep Mbp 52 53amtest: 54 $(MAKE) -C $(AM_HOME)/tests/cputest $(ARCH) $(SINGLETEST) run 2 > test.log 55 cat test.log | grep different 56 cat test.log | grep ISU > isu.log 57 58microbench: 59 $(MAKE) -C $(AM_HOME)/apps/microbench $(ARCH) $(EMU_ARGS) mainargs=test run 60 #2>&1 | tee > microbench.log 61 #2 > microbench.log 62 cat microbench.log | grep IPC 63 64microbench_train: 65 $(MAKE) -C $(AM_HOME)/apps/microbench $(ARCH) $(EMU_ARGS) mainargs=train run 2 > microbench.log 66 cat microbench.log | grep IPC 67 68coremark: 69 $(MAKE) -C $(AM_HOME)/apps/coremark $(ARCH) $(EMU_ARGS) mainargs=test run 70 #2 > coremark.log 71 cat coremark.log | grep IPC 72 73dhrystone: 74 $(MAKE) -C $(AM_HOME)/apps/dhrystone $(ARCH) $(EMU_ARGS) mainargs=test run 2 > dhrystone.log 75 cat dhrystone.log | grep IPC 76 77xj: 78 $(MAKE) -C $(NANOS_HOME) $(ARCH) $(EMU_ARGS) run 79 80xjnemu: 81 $(MAKE) -C $(NANOS_HOME) ARCH=riscv64-nemu run 82 83rttos: 84 $(MAKE) -C $(RTTOS_HOME)/bsp/riscv64-noop run 85 86rttos-debug: 87 $(MAKE) -C $(RTTOS_HOME)/bsp/riscv64-noop run 2>&1 | tee > rttos.log 88 89freertos: 90 $(MAKE) -C $(FREERTOS_HOME)/Demo/riscv64-noop noop_run 91 92xv6: 93 $(MAKE) -C $(XV6_HOME) noop 94 95xv6-debug: 96 $(MAKE) -C $(XV6_HOME) noop 2>&1 | tee > xv6.log 97 98linux: 99 $(MAKE) -C $(BBL_LINUX_HOME) $(EMU_ARGS) noop 100# ------------------------------------------------------------------ 101# get disassembled test src 102# ------------------------------------------------------------------ 103 104disassemble-rttos: 105 cp $(RTTOS_HOME)/bsp/riscv64-noop/build/code.txt ./d-rttos.log 106 107disassemble-freertos: 108 cp $(FREERTOS_HOME)/Demo/riscv64-noop/build/FreeRTOS-simple.elf.txt ./d-freertos.log 109 110disassemble-xv6: 111 cp $(XV6_HOME)/build/code.txt ./d-xv6.log 112 113 114SUITE = cache.L2CacheTest 115 116unit-test: 117 cd .. && mill XiangShan.test.testOnly -o -s $(SUITE) 118 119tlc-test: 120 cd .. && mill XiangShan.test.testOnly -o -s cache.TLCTest.TLCCacheTest 121 122l1-test: 123 cd .. && mill XiangShan.test.testOnly -o -s cache.L1DTest.L1DCacheTest 124 125int-divider-test: 126 cd .. && mill XiangShan.test.testOnly -o -s futest.IntDividerTest 127 128unit-test-all: 129 cd .. && mill XiangShan.test.test -P$(P) 130 131# ------------------------------------------------------------------ 132# chore 133# ------------------------------------------------------------------ 134 135clean: 136 $(MAKE) -C .. clean 137