hw/cpu: Extend CPUState::cluster_index documentation
Copy part of the description of commit f7b78602fd
("accel/tcg:
Add cluster number to TCG TB hash") in tcg_cpu_init_cflags(),
improving a bit CPUState::cluster_index documentation.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20230216142338.82982-2-philmd@linaro.org>
This commit is contained in:
parent
2d2f2507c6
commit
a371975ef6
@ -44,7 +44,18 @@
|
|||||||
|
|
||||||
void tcg_cpu_init_cflags(CPUState *cpu, bool parallel)
|
void tcg_cpu_init_cflags(CPUState *cpu, bool parallel)
|
||||||
{
|
{
|
||||||
uint32_t cflags = cpu->cluster_index << CF_CLUSTER_SHIFT;
|
uint32_t cflags;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Include the cluster number in the hash we use to look up TBs.
|
||||||
|
* This is important because a TB that is valid for one cluster at
|
||||||
|
* a given physical address and set of CPU flags is not necessarily
|
||||||
|
* valid for another:
|
||||||
|
* the two clusters may have different views of physical memory, or
|
||||||
|
* may have different CPU features (eg FPU present or absent).
|
||||||
|
*/
|
||||||
|
cflags = cpu->cluster_index << CF_CLUSTER_SHIFT;
|
||||||
|
|
||||||
cflags |= parallel ? CF_PARALLEL : 0;
|
cflags |= parallel ? CF_PARALLEL : 0;
|
||||||
cflags |= icount_enabled() ? CF_USE_ICOUNT : 0;
|
cflags |= icount_enabled() ? CF_USE_ICOUNT : 0;
|
||||||
cpu->tcg_cflags = cflags;
|
cpu->tcg_cflags = cflags;
|
||||||
|
@ -272,6 +272,8 @@ struct qemu_work_item;
|
|||||||
* to a cluster this will be UNASSIGNED_CLUSTER_INDEX; otherwise it will
|
* 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
|
* be the same as the cluster-id property of the CPU object's TYPE_CPU_CLUSTER
|
||||||
* QOM parent.
|
* QOM parent.
|
||||||
|
* Under TCG this value is propagated to @tcg_cflags.
|
||||||
|
* See TranslationBlock::TCG CF_CLUSTER_MASK.
|
||||||
* @tcg_cflags: Pre-computed cflags for this cpu.
|
* @tcg_cflags: Pre-computed cflags for this cpu.
|
||||||
* @nr_cores: Number of cores within this CPU package.
|
* @nr_cores: Number of cores within this CPU package.
|
||||||
* @nr_threads: Number of threads within this CPU.
|
* @nr_threads: Number of threads within this CPU.
|
||||||
|
Loading…
Reference in New Issue
Block a user