diff options
author | Richard Henderson | 2021-03-02 04:21:08 +0100 |
---|---|---|
committer | Richard Henderson | 2021-03-06 20:53:57 +0100 |
commit | 6cc9d67c6f682cf04eea2d6e64a252b63a7eccdf (patch) | |
tree | f4a70ec6c66bcb37242891c9b544508b78f5a726 /include/hw | |
parent | include/exec: lightly re-arrange TranslationBlock (diff) | |
download | qemu-6cc9d67c6f682cf04eea2d6e64a252b63a7eccdf.tar.gz qemu-6cc9d67c6f682cf04eea2d6e64a252b63a7eccdf.tar.xz qemu-6cc9d67c6f682cf04eea2d6e64a252b63a7eccdf.zip |
accel/tcg: Precompute curr_cflags into cpu->tcg_cflags
The primary motivation is to remove a dozen insns along
the fast-path in tb_lookup. As a byproduct, this allows
us to completely remove parallel_cpus.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/hw')
-rw-r--r-- | include/hw/core/cpu.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index c005d3dc2d..c68bc3ba8a 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -282,6 +282,7 @@ struct qemu_work_item; * to a cluster this will be UNASSIGNED_CLUSTER_INDEX; otherwise it will * be the same as the cluster-id property of the CPU object's TYPE_CPU_CLUSTER * QOM parent. + * @tcg_cflags: Pre-computed cflags for this cpu. * @nr_cores: Number of cores within this CPU package. * @nr_threads: Number of threads within this CPU. * @running: #true if CPU is currently running (lockless). @@ -412,6 +413,7 @@ struct CPUState { /* TODO Move common fields from CPUArchState here. */ int cpu_index; int cluster_index; + uint32_t tcg_cflags; uint32_t halted; uint32_t can_do_io; int32_t exception_index; |