From nobody Mon Feb 9 07:23:20 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1561747914; cv=none; d=zoho.com; s=zohoarc; b=hnxh4ZFQo+idat5HTo7hq5KZwV/JvPuR02Y++GbZjz6UQctF7snEyMPGzqe9vMO1aeV0z2aIyO3sCtqsEkinPShE7msJa1A7ufK37+iIOPSdl/aXhryqfQmbiMukdH6Dp71hV+jgucH8KAwzJ+0183XfHyYQdSXklR1JTIaxpWY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1561747914; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=U/YmGmlPrWRoK2cRXiRvINcb9RRUe1R8qHYLICW+I3M=; b=DaZdCv5nTAnl4hzhXq9BhuhYgcWZWtqC8XsiJZj4kcXPuJnnql9K2BhDzBLUe8kUhZ5YIO8TLnlYSGnaR3dLZL/0oJy84Su/esC7nPgWML2YSNHfcU1LtkSMhtbLSnXzeTMgjIhHftnS5Rbq9oOTQtKES/8oLmdLrzUCcdNwDTA= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1561747914417462.2636195586574; Fri, 28 Jun 2019 11:51:54 -0700 (PDT) Received: from localhost ([::1]:35509 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hgvyH-0003nL-DT for importer@patchew.org; Fri, 28 Jun 2019 14:51:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40039) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hgvuy-0001sc-CA for qemu-devel@nongnu.org; Fri, 28 Jun 2019 14:48:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hgvut-0000vi-Ev for qemu-devel@nongnu.org; Fri, 28 Jun 2019 14:48:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36804) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hgvus-0000hE-5y for qemu-devel@nongnu.org; Fri, 28 Jun 2019 14:48:10 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 17703307D86F; Fri, 28 Jun 2019 18:48:00 +0000 (UTC) Received: from localhost (ovpn-116-7.gru2.redhat.com [10.97.116.7]) by smtp.corp.redhat.com (Postfix) with ESMTP id 67E875DD65; Fri, 28 Jun 2019 18:47:59 +0000 (UTC) From: Eduardo Habkost To: Peter Maydell , qemu-devel@nongnu.org, Marcel Apfelbaum Date: Fri, 28 Jun 2019 15:47:14 -0300 Message-Id: <20190628184742.5961-2-ehabkost@redhat.com> In-Reply-To: <20190628184742.5961-1-ehabkost@redhat.com> References: <20190628184742.5961-1-ehabkost@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Fri, 28 Jun 2019 18:48:00 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL v2 01/29] hw/boards: Add struct CpuTopology to MachineState X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Igor Mammedov , Like Xu , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Like Xu The cpu topology property CpuTopology is added to the MachineState and its members are initialized with the leagcy global smp variables. From this commit, the code in the system emulation mode is supposed to use cpu topology variables from MachineState instead of the global ones defined in vl.c and there is no semantic change. Suggested-by: Igor Mammedov Suggested-by: Eduardo Habkost Signed-off-by: Like Xu Reviewed-by: Alistair Francis Message-Id: <20190518205428.90532-2-like.xu@linux.intel.com> Signed-off-by: Eduardo Habkost --- include/hw/boards.h | 15 +++++++++++++++ vl.c | 5 +++++ 2 files changed, 20 insertions(+) diff --git a/include/hw/boards.h b/include/hw/boards.h index eaa050a7ab..31dab77b4b 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -231,6 +231,20 @@ typedef struct DeviceMemoryState { MemoryRegion mr; } DeviceMemoryState; =20 +/** + * CpuTopology: + * @cpus: the number of present logical processors on the machine + * @cores: the number of cores in one package + * @threads: the number of threads in one core + * @max_cpus: the maximum number of logical processors on the machine + */ +typedef struct CpuTopology { + unsigned int cpus; + unsigned int cores; + unsigned int threads; + unsigned int max_cpus; +} CpuTopology; + /** * MachineState: */ @@ -273,6 +287,7 @@ struct MachineState { const char *cpu_type; AccelState *accelerator; CPUArchIdList *possible_cpus; + CpuTopology smp; struct NVDIMMState *nvdimms_state; }; =20 diff --git a/vl.c b/vl.c index 99a56b5556..e9698cb1b1 100644 --- a/vl.c +++ b/vl.c @@ -4059,6 +4059,11 @@ int main(int argc, char **argv, char **envp) =20 smp_parse(qemu_opts_find(qemu_find_opts("smp-opts"), NULL)); =20 + current_machine->smp.cpus =3D smp_cpus; + current_machine->smp.max_cpus =3D max_cpus; + current_machine->smp.cores =3D smp_cores; + current_machine->smp.threads =3D smp_threads; + /* sanity-check smp_cpus and max_cpus against machine_class */ if (smp_cpus < machine_class->min_cpus) { error_report("Invalid SMP CPUs %d. The min CPUs " --=20 2.18.0.rc1.1.g3f1ff2140