xref: /XiangShan/debug/Makefile (revision a58e33519795596dc4f85fe66907cbc7dde2d66a)
1c6d43980SLemover#***************************************************************************************
2c6d43980SLemover# Copyright (c) 2020-2021 Institute of Computing Technology, Chinese Academy of Sciences
3f320e0f0SYinan Xu# Copyright (c) 2020-2021 Peng Cheng Laboratory
4c6d43980SLemover#
5c6d43980SLemover# XiangShan is licensed under Mulan PSL v2.
6c6d43980SLemover# You can use this software according to the terms and conditions of the Mulan PSL v2.
7c6d43980SLemover# You may obtain a copy of Mulan PSL v2 at:
8c6d43980SLemover#          http://license.coscl.org.cn/MulanPSL2
9c6d43980SLemover#
10c6d43980SLemover# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
11c6d43980SLemover# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
12c6d43980SLemover# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
13c6d43980SLemover#
14c6d43980SLemover# See the Mulan PSL v2 for more details.
15c6d43980SLemover#***************************************************************************************
16c6d43980SLemover
17a3e87608SWilliam WangARCH = ARCH=riscv64-xs
18e8a976fcSZihao YuNANOS_HOME ?= $(AM_HOME)/../nanos-lite
19da180052SWilliam WangSINGLETEST = ALL=min3
20e8a976fcSZihao Yu
214b703cecSLinJiaweiB ?= 0
223802dba5SWilliam WangE ?= 0
236f763b2dSjinyue110V ?= OFF
245172f157Sjinyue110#V ?= OFF
25ff899225SLinJiaweiEMU_ARGS = B=$(B) E=$(E) V=$(V)
264b703cecSLinJiawei
27aa02bbc7SWilliam Wang# ------------------------------------------------------------------
28aa02bbc7SWilliam Wang# bulid CPU and run dummy test
29aa02bbc7SWilliam Wang# ------------------------------------------------------------------
30aa02bbc7SWilliam Wang
3123814de3Sjinyue110cache:
32598e480fSjinyue110	$(MAKE) -C $(AM_HOME)/tests/cachetest $(ARCH) ALL=loader $(EMU_ARGS) run
33598e480fSjinyue110	#2>&1 | tee > loader.log
3423814de3Sjinyue110	#2>&1 | tee > loader.log
3523814de3Sjinyue110
364d317394SWilliam Wangcpu:
373802dba5SWilliam Wang	$(MAKE) -C $(AM_HOME)/tests/cputest $(ARCH) ALL=dummy $(EMU_ARGS) run 2>&1
38e8a976fcSZihao Yu
39aa02bbc7SWilliam Wang# ------------------------------------------------------------------
40aa02bbc7SWilliam Wang# run different test sets
41aa02bbc7SWilliam Wang# ------------------------------------------------------------------
42aa02bbc7SWilliam Wang
43e8a976fcSZihao Yucputest:
44e1f91fc1SWilliam Wang	bash cputest.sh
45e8a976fcSZihao Yu
46da180052SWilliam Wang# bputest:
47da180052SWilliam Wang# 	$(MAKE) -C $(AM_HOME)/tests/bputest $(ARCH) run 2>&1 | tee > bpu.log
48da180052SWilliam Wang# 	cat bpu.log | grep different
49da180052SWilliam Wangbputest:
50ae7c6cedSWilliam Wang	$(MAKE) -C $(AM_HOME)/tests/bputest $(ARCH) run 2 > bpu.log
51da180052SWilliam Wang	cat bpu.log | grep Mbp
52da180052SWilliam Wang
53fc85214eSLinJiaweiamtest:
54ae7c6cedSWilliam Wang	$(MAKE) -C $(AM_HOME)/tests/cputest $(ARCH) $(SINGLETEST) run 2 > test.log
555b1b5e6fSWilliam Wang	cat test.log | grep different
565b1b5e6fSWilliam Wang	cat test.log | grep ISU > isu.log
575b1b5e6fSWilliam Wang
584d317394SWilliam Wangmicrobench:
594e4bcef1Sjinyue110	$(MAKE) -C $(AM_HOME)/apps/microbench $(ARCH) $(EMU_ARGS) mainargs=test run
603c20517cSjinyue110	#2>&1 | tee > microbench.log
614e4bcef1Sjinyue110	#2 > microbench.log
624d317394SWilliam Wang	cat microbench.log | grep IPC
634d317394SWilliam Wang
64cd551cc7SWilliam Wangmicrobench_train:
65ae7c6cedSWilliam Wang	$(MAKE) -C $(AM_HOME)/apps/microbench $(ARCH) $(EMU_ARGS) mainargs=train run 2 > microbench.log
664d317394SWilliam Wang	cat microbench.log | grep IPC
674d317394SWilliam Wang
684d317394SWilliam Wangcoremark:
694e4bcef1Sjinyue110	$(MAKE) -C $(AM_HOME)/apps/coremark $(ARCH) $(EMU_ARGS) mainargs=test run
704e4bcef1Sjinyue110	#2 > coremark.log
714d317394SWilliam Wang	cat coremark.log | grep IPC
724d317394SWilliam Wang
734d317394SWilliam Wangdhrystone:
74ae7c6cedSWilliam Wang	$(MAKE) -C $(AM_HOME)/apps/dhrystone $(ARCH) $(EMU_ARGS) mainargs=test run 2 > dhrystone.log
754d317394SWilliam Wang	cat dhrystone.log | grep IPC
76e8a976fcSZihao Yu
77e8a976fcSZihao Yuxj:
78ae7c6cedSWilliam Wang	$(MAKE) -C $(NANOS_HOME) $(ARCH) $(EMU_ARGS) run
79a207cd54SWilliam Wang
805c98f425SWilliam Wangxjnemu:
815c98f425SWilliam Wang	$(MAKE) -C $(NANOS_HOME) ARCH=riscv64-nemu run
82aa02bbc7SWilliam Wang
83cd551cc7SWilliam Wangrttos:
84cd551cc7SWilliam Wang	$(MAKE) -C $(RTTOS_HOME)/bsp/riscv64-noop run
85cd551cc7SWilliam Wang
861c919a5fSWilliam Wangrttos-debug:
871c919a5fSWilliam Wang	$(MAKE) -C $(RTTOS_HOME)/bsp/riscv64-noop run 2>&1 | tee > rttos.log
881c919a5fSWilliam Wang
89aa02bbc7SWilliam Wangfreertos:
9095a15ae8SWilliam Wang	$(MAKE) -C $(FREERTOS_HOME)/Demo/riscv64-noop noop_run
91aa02bbc7SWilliam Wang
92e0501435SWilliam Wangxv6:
93e0501435SWilliam Wang	$(MAKE) -C $(XV6_HOME) noop
94e0501435SWilliam Wang
95217c27a7SWilliam Wangxv6-debug:
96217c27a7SWilliam Wang	$(MAKE) -C $(XV6_HOME) noop 2>&1 | tee > xv6.log
97217c27a7SWilliam Wang
989ba7b869SWilliam Wanglinux:
99ae7c6cedSWilliam Wang	$(MAKE) -C $(BBL_LINUX_HOME) $(EMU_ARGS) noop
100aa02bbc7SWilliam Wang# ------------------------------------------------------------------
101aa02bbc7SWilliam Wang# get disassembled test src
102aa02bbc7SWilliam Wang# ------------------------------------------------------------------
103aa02bbc7SWilliam Wang
104aa02bbc7SWilliam Wangdisassemble-rttos:
105aa02bbc7SWilliam Wang	cp $(RTTOS_HOME)/bsp/riscv64-noop/build/code.txt ./d-rttos.log
106aa02bbc7SWilliam Wang
107aa02bbc7SWilliam Wangdisassemble-freertos:
10895a15ae8SWilliam Wang	cp $(FREERTOS_HOME)/Demo/riscv64-noop/build/FreeRTOS-simple.elf.txt ./d-freertos.log
109aa02bbc7SWilliam Wang
110e0501435SWilliam Wangdisassemble-xv6:
111e0501435SWilliam Wang	cp $(XV6_HOME)/build/code.txt ./d-xv6.log
112fc85214eSLinJiawei
113fc85214eSLinJiawei
114903af6a2SLinJiaweiSUITE = cache.L2CacheTest
115fc85214eSLinJiawei
116fc85214eSLinJiaweiunit-test:
117903af6a2SLinJiawei	cd .. && mill XiangShan.test.testOnly -o -s $(SUITE)
118fc85214eSLinJiawei
119ab3aa7eeSBigWhiteDogtlc-test:
120ab3aa7eeSBigWhiteDog	cd .. && mill XiangShan.test.testOnly -o -s cache.TLCTest.TLCCacheTest
121ab3aa7eeSBigWhiteDog
122b086c6daSBigWhiteDogl1-test:
123b086c6daSBigWhiteDog	cd .. && mill XiangShan.test.testOnly -o -s cache.L1DTest.L1DCacheTest
124b086c6daSBigWhiteDog
125*a58e3351SLi Qianruoint-divider-test:
126*a58e3351SLi Qianruo	cd .. && mill XiangShan.test.testOnly -o -s futest.IntDividerTest
127*a58e3351SLi Qianruo
128fc85214eSLinJiaweiunit-test-all:
129d7fd0e77SLinJiawei	cd .. && mill XiangShan.test.test -P$(P)
130950887cbSWilliam Wang
131950887cbSWilliam Wang# ------------------------------------------------------------------
132950887cbSWilliam Wang# chore
133950887cbSWilliam Wang# ------------------------------------------------------------------
134950887cbSWilliam Wang
135950887cbSWilliam Wangclean:
136950887cbSWilliam Wang	$(MAKE) -C .. clean
137