|
@@ -9,9 +9,20 @@
|
|
#ifndef ACCEL_TCG_INTERNAL_COMMON_H
|
|
#ifndef ACCEL_TCG_INTERNAL_COMMON_H
|
|
#define ACCEL_TCG_INTERNAL_COMMON_H
|
|
#define ACCEL_TCG_INTERNAL_COMMON_H
|
|
|
|
|
|
|
|
+#include "exec/translation-block.h"
|
|
|
|
+
|
|
extern int64_t max_delay;
|
|
extern int64_t max_delay;
|
|
extern int64_t max_advance;
|
|
extern int64_t max_advance;
|
|
|
|
|
|
void dump_exec_info(GString *buf);
|
|
void dump_exec_info(GString *buf);
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * Return true if CS is not running in parallel with other cpus, either
|
|
|
|
+ * because there are no other cpus or we are within an exclusive context.
|
|
|
|
+ */
|
|
|
|
+static inline bool cpu_in_serial_context(CPUState *cs)
|
|
|
|
+{
|
|
|
|
+ return !(cs->tcg_cflags & CF_PARALLEL) || cpu_in_exclusive_context(cs);
|
|
|
|
+}
|
|
|
|
+
|
|
#endif
|
|
#endif
|