xref: /XiangShan/debug/Makefile (revision a58e33519795596dc4f85fe66907cbc7dde2d66a)
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