Makefile 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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. ARCH = ARCH=riscv64-xs
  17. NANOS_HOME ?= $(AM_HOME)/../nanos-lite
  18. SINGLETEST = ALL=min3
  19. B ?= 0
  20. E ?= 0
  21. V ?= OFF
  22. #V ?= OFF
  23. EMU_ARGS = B=$(B) E=$(E) V=$(V)
  24. # ------------------------------------------------------------------
  25. # bulid CPU and run dummy test
  26. # ------------------------------------------------------------------
  27. cache:
  28. $(MAKE) -C $(AM_HOME)/tests/cachetest $(ARCH) ALL=loader $(EMU_ARGS) run
  29. #2>&1 | tee > loader.log
  30. #2>&1 | tee > loader.log
  31. cpu:
  32. $(MAKE) -C $(AM_HOME)/tests/cputest $(ARCH) ALL=dummy $(EMU_ARGS) run 2>&1
  33. # ------------------------------------------------------------------
  34. # run different test sets
  35. # ------------------------------------------------------------------
  36. cputest:
  37. bash cputest.sh
  38. # bputest:
  39. # $(MAKE) -C $(AM_HOME)/tests/bputest $(ARCH) run 2>&1 | tee > bpu.log
  40. # cat bpu.log | grep different
  41. bputest:
  42. $(MAKE) -C $(AM_HOME)/tests/bputest $(ARCH) run 2 > bpu.log
  43. cat bpu.log | grep Mbp
  44. amtest:
  45. $(MAKE) -C $(AM_HOME)/tests/cputest $(ARCH) $(SINGLETEST) run 2 > test.log
  46. cat test.log | grep different
  47. cat test.log | grep ISU > isu.log
  48. microbench:
  49. $(MAKE) -C $(AM_HOME)/apps/microbench $(ARCH) $(EMU_ARGS) mainargs=test run
  50. #2>&1 | tee > microbench.log
  51. #2 > microbench.log
  52. cat microbench.log | grep IPC
  53. microbench_train:
  54. $(MAKE) -C $(AM_HOME)/apps/microbench $(ARCH) $(EMU_ARGS) mainargs=train run 2 > microbench.log
  55. cat microbench.log | grep IPC
  56. coremark:
  57. $(MAKE) -C $(AM_HOME)/apps/coremark $(ARCH) $(EMU_ARGS) mainargs=test run
  58. #2 > coremark.log
  59. cat coremark.log | grep IPC
  60. dhrystone:
  61. $(MAKE) -C $(AM_HOME)/apps/dhrystone $(ARCH) $(EMU_ARGS) mainargs=test run 2 > dhrystone.log
  62. cat dhrystone.log | grep IPC
  63. xj:
  64. $(MAKE) -C $(NANOS_HOME) $(ARCH) $(EMU_ARGS) run
  65. xjnemu:
  66. $(MAKE) -C $(NANOS_HOME) ARCH=riscv64-nemu run
  67. rttos:
  68. $(MAKE) -C $(RTTOS_HOME)/bsp/riscv64-noop run
  69. rttos-debug:
  70. $(MAKE) -C $(RTTOS_HOME)/bsp/riscv64-noop run 2>&1 | tee > rttos.log
  71. freertos:
  72. $(MAKE) -C $(FREERTOS_HOME)/Demo/riscv64-noop noop_run
  73. xv6:
  74. $(MAKE) -C $(XV6_HOME) noop
  75. xv6-debug:
  76. $(MAKE) -C $(XV6_HOME) noop 2>&1 | tee > xv6.log
  77. linux:
  78. $(MAKE) -C $(BBL_LINUX_HOME) $(EMU_ARGS) noop
  79. # ------------------------------------------------------------------
  80. # get disassembled test src
  81. # ------------------------------------------------------------------
  82. disassemble-rttos:
  83. cp $(RTTOS_HOME)/bsp/riscv64-noop/build/code.txt ./d-rttos.log
  84. disassemble-freertos:
  85. cp $(FREERTOS_HOME)/Demo/riscv64-noop/build/FreeRTOS-simple.elf.txt ./d-freertos.log
  86. disassemble-xv6:
  87. cp $(XV6_HOME)/build/code.txt ./d-xv6.log
  88. SUITE = cache.L2CacheTest
  89. unit-test:
  90. cd .. && mill XiangShan.test.testOnly -o -s $(SUITE)
  91. tlc-test:
  92. cd .. && mill XiangShan.test.testOnly -o -s cache.TLCTest.TLCCacheTest
  93. l1-test:
  94. cd .. && mill XiangShan.test.testOnly -o -s cache.L1DTest.L1DCacheTest
  95. int-divider-test:
  96. cd .. && mill XiangShan.test.testOnly -o -s futest.IntDividerTest
  97. unit-test-all:
  98. cd .. && mill XiangShan.test.test -P$(P)
  99. # ------------------------------------------------------------------
  100. # chore
  101. # ------------------------------------------------------------------
  102. clean:
  103. $(MAKE) -C .. clean