On Tue, Nov 5, 2024 at 10:33 AM Xiaoyao Li <xiaoyao.li@xxxxxxxxx> wrote: > > On 11/5/2024 5:12 PM, Paolo Bonzini wrote: > > On 11/5/24 07:24, Xiaoyao Li wrote: > >> Otherwise, it gets warnings like below when number of vcpus > 1: > >> > >> warning: TDX enforces set the feature: CPUID.01H:EDX.ht [bit 28] > >> > >> This is because x86_confidential_guest_check_features() checks > >> env->features[] instead of the cpuid date set up by cpu_x86_cpuid() > >> > > It seems I mixed it up with no_autoenable_flags. /faceplam > > CPUID_HT doesn't get enabled by x86_cpu_expand_features() for "-cpu > host/max". It won't be filtered by x86_cpu_filter_features() either > because QEMU sets it in kvm_arch_get_supported_cpuid(). > > yes, the comment is wrong and comment needs to be dropped. The code can > be move up to just below x86_cpu_expand_features() or inside it? Inside it seems okay, and you can then remove it from cpu_x86_cpuid(). However, let's also add qemu_early_init_vcpu() to the realize function from all targets, and remove MachineState *ms = MACHINE(qdev_get_machine()); cpu->nr_cores = machine_topo_get_cores_per_socket(ms); cpu->nr_threads = ms->smp.threads; from qemu_init_vcpu(). You can resend patches 58 and 59 separately from the TDX series. Paolo