From 14d24213a8b73fe2c22ce623f447762c95837e0e Mon Sep 17 00:00:00 2001 From: Xi Zhang Date: Thu, 17 Mar 2022 21:04:47 +0800 Subject: [PATCH] Support LoongArch ISA multithreading (#3353) (#3354) --- docs/CONTRIBUTORS | 1 + include/verilatedos.h | 3 +++ 2 files changed, 4 insertions(+) diff --git a/docs/CONTRIBUTORS b/docs/CONTRIBUTORS index 90de66590..7906a039f 100644 --- a/docs/CONTRIBUTORS +++ b/docs/CONTRIBUTORS @@ -111,6 +111,7 @@ Vassilis Papaefstathiou Veripool API Bot Victor Besyakov Wilson Snyder +Xi Zhang Yossi Nivin Yuri Victorovich Yutetsu TAKATSUKASA diff --git a/include/verilatedos.h b/include/verilatedos.h index af7742388..b20f1419f 100644 --- a/include/verilatedos.h +++ b/include/verilatedos.h @@ -475,6 +475,9 @@ using ssize_t = uint32_t; ///< signed size_t; returned from read() # define VL_CPU_RELAX() asm volatile("yield" ::: "memory") # elif defined(__powerpc64__) # define VL_CPU_RELAX() asm volatile("or 1, 1, 1; or 2, 2, 2;" ::: "memory") +# elif defined(__loongarch__) +// LoongArch does not currently have a yield/pause instruction +# define VL_CPU_RELAX() asm volatile("nop" ::: "memory") # else # error "Missing VL_CPU_RELAX() definition. Or, don't use VL_THREADED" # endif