From: David Hildenbrand <david@redhat.com>
To: Xiaoyao Li <xiaoyao.li@intel.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
Michael Rolnik <mrolnik@gmail.com>,
Brian Cain <bcain@quicinc.com>, Song Gao <gaosong@loongson.cn>,
Laurent Vivier <laurent@vivier.eu>,
"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
Aurelien Jarno <aurelien@aurel32.net>,
Palmer Dabbelt <palmer@dabbelt.com>,
Alistair Francis <alistair.francis@wdc.com>,
Bin Meng <bmeng.cn@gmail.com>, Thomas Huth <thuth@redhat.com>,
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
Artyom Tarasenko <atar4qemu@gmail.com>,
Bastian Koppelmann <kbastian@mail.uni-paderborn.de>,
Max Filippov <jcmvbkbc@gmail.com>,
qemu-devel@nongnu.org
Subject: Re: [PATCH v1 0/4] Initialize nr_cores and nr_threads early and related clearup
Date: Mon, 11 Nov 2024 11:49:26 +0100 [thread overview]
Message-ID: <5f8db586-cdda-4d00-be02-f9880a20e1a3@redhat.com> (raw)
In-Reply-To: <20241108070609.3653085-1-xiaoyao.li@intel.com>
On 08.11.24 08:06, Xiaoyao Li wrote:
> This series is extracted from TDX QEMU v6[1] series per Paolo's request.
>
> It is originally motivated by x86 TDX to track CPUID_HT in env->features[]
> which requires nr_cores and nr_cores being initialized earlier than in
"and nr_threads"
> qemu_init_vcpu().
>
> Initialize of nr_cores and nr_threads earlier in x86's cpu_realizefn()
> can make it work for x86 but it's duplicated with the initialization in
> qemu_init_vcpu() which are used by all the ARCHes. Since initialize them
> earlier also work for other ARCHes, introduce qemu_init_early_vcpu() to
> hold the initialization of nr_cores and nr_threads and call it at the
> beginning in realizefn() for each ARCH.
>
> Note, I only tested it for x86 ARCH. Please help test on other ARCHes.
[...]
> accel/tcg/user-exec-stub.c | 4 +++
> hw/core/cpu-common.c | 2 +-
> include/hw/core/cpu.h | 8 +++++
> system/cpus.c | 6 +++-
> target/alpha/cpu.c | 2 ++
> target/arm/cpu.c | 2 ++
> target/avr/cpu.c | 2 ++
> target/hexagon/cpu.c | 2 ++
> target/hppa/cpu.c | 2 ++
> target/i386/cpu.c | 61 +++++++++++++++++++-------------------
> target/loongarch/cpu.c | 2 ++
> target/m68k/cpu.c | 2 ++
> target/microblaze/cpu.c | 2 ++
> target/mips/cpu.c | 2 ++
> target/openrisc/cpu.c | 2 ++
> target/ppc/cpu_init.c | 2 ++
> target/riscv/cpu.c | 2 ++
> target/rx/cpu.c | 2 ++
> target/s390x/cpu.c | 2 ++
> target/sh4/cpu.c | 2 ++
> target/sparc/cpu.c | 2 ++
> target/tricore/cpu.c | 2 ++
> target/xtensa/cpu.c | 2 ++
> 23 files changed, 85 insertions(+), 32 deletions(-)
Hm. It looks like this belongs into the parent realize function. But the
"bad thing" is that we call the parent realize function after we try
realizing the derived CPU.
Could it go into cpu_common_initfn()?
--
Cheers,
David / dhildenb
next prev parent reply other threads:[~2024-11-11 10:50 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-08 7:06 [PATCH v1 0/4] Initialize nr_cores and nr_threads early and related clearup Xiaoyao Li
2024-11-08 7:06 ` [PATCH v1 1/4] cpu: Introduce qemu_early_init_vcpu() to initialize nr_cores and nr_threads inside it Xiaoyao Li
2024-11-22 16:03 ` [PATCH] cpu: Initialize nr_cores and nr_threads in cpu_common_initfn() Xiaoyao Li
2024-11-22 17:26 ` Philippe Mathieu-Daudé
2024-11-22 19:17 ` Richard Henderson
2024-11-25 9:38 ` Igor Mammedov
2024-11-29 7:12 ` Xiaoyao Li
2024-12-05 11:53 ` Xiaoyao Li
2024-11-08 7:06 ` [PATCH v1 2/4] i386/cpu: Set up CPUID_HT in x86_cpu_expand_features() instead of cpu_x86_cpuid() Xiaoyao Li
2024-12-05 7:19 ` Zhao Liu
2024-12-05 7:54 ` Xiaoyao Li
2024-12-05 8:31 ` Zhao Liu
2024-12-05 8:34 ` Xiaoyao Li
2024-11-08 7:06 ` [PATCH v1 3/4] i386/cpu: Set and track CPUID_EXT3_CMP_LEG in env->features[FEAT_8000_0001_ECX] Xiaoyao Li
2024-11-08 7:06 ` [PATCH v1 4/4] i386/cpu: Rectify the comment on order dependency on qemu_init_vcpu() Xiaoyao Li
2024-11-11 10:49 ` David Hildenbrand [this message]
2024-11-21 16:24 ` [PATCH v1 0/4] Initialize nr_cores and nr_threads early and related clearup Xiaoyao Li
2024-11-21 17:39 ` Philippe Mathieu-Daudé
2024-11-21 18:52 ` Paolo Bonzini
2024-11-22 2:40 ` Xiaoyao Li
2024-11-22 9:44 ` David Hildenbrand
2024-11-22 9:53 ` Paolo Bonzini
2024-12-05 7:30 ` Zhao Liu
2024-12-05 8:05 ` Xiaoyao Li
2024-12-05 8:48 ` Zhao Liu
2024-12-05 8:50 ` Xiaoyao Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5f8db586-cdda-4d00-be02-f9880a20e1a3@redhat.com \
--to=david@redhat.com \
--cc=alistair.francis@wdc.com \
--cc=atar4qemu@gmail.com \
--cc=aurelien@aurel32.net \
--cc=bcain@quicinc.com \
--cc=bmeng.cn@gmail.com \
--cc=edgar.iglesias@gmail.com \
--cc=gaosong@loongson.cn \
--cc=jcmvbkbc@gmail.com \
--cc=kbastian@mail.uni-paderborn.de \
--cc=laurent@vivier.eu \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=mrolnik@gmail.com \
--cc=palmer@dabbelt.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
--cc=xiaoyao.li@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).