diff --git a/include/verilated.h b/include/verilated.h index 998740bfc..70dc9e6ca 100644 --- a/include/verilated.h +++ b/include/verilated.h @@ -327,7 +327,7 @@ public: // But internals only - called from VerilatedModule's class Verilated { // MEMBERS // Slow path variables - static VerilatedMutex m_mutex; ///< Mutex for all static members, when VL_THREADED + static VerilatedMutex m_mutex; ///< Mutex for s_s/s_ns members, when VL_THREADED static VerilatedVoidCb s_flushCb; ///< Flush callback function diff --git a/include/verilatedos.h b/include/verilatedos.h index e27402666..6fbc9ee9d 100644 --- a/include/verilatedos.h +++ b/include/verilatedos.h @@ -356,21 +356,19 @@ typedef unsigned long long vluint64_t; ///< 64-bit unsigned type //========================================================================= // Performance counters -#if VL_THREADED /// The vluint64_t argument is loaded with a high-performance counter for profiling /// or 0x0 if not implemeted on this platform -# if defined(__i386__) || defined(__x86_64__) -# define VL_RDTSC(val) { \ +#if defined(__i386__) || defined(__x86_64__) +# define VL_RDTSC(val) { \ vluint32_t hi, lo; \ asm volatile("rdtsc" : "=a" (lo), "=d" (hi)); \ (val) = ((vluint64_t)lo) | (((vluint64_t)hi)<<32); \ } -# elif defined(__aarch64__) -# define VL_RDTSC(val) asm volatile("mrs %[rt],PMCCNTR_EL0" : [rt] "=r" (val)); -# else +#elif defined(__aarch64__) +# define VL_RDTSC(val) asm volatile("mrs %[rt],PMCCNTR_EL0" : [rt] "=r" (val)); +#else // We just silently ignore unknown OSes, as only leads to missing statistics -# define VL_RDTSC(val) (val) = 0; -# endif +# define VL_RDTSC(val) (val) = 0; #endif //=========================================================================