From nobody Tue Feb 10 01:32:39 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=amd.com) ARC-Seal: i=2; a=rsa-sha256; t=1597504585; cv=pass; d=zohomail.com; s=zohoarc; b=BIVEGWfpomBaGGqf4MujffzRtB0u5GVpJkxVPfo+sZYomQJMc5/GpbX0Ijm+yP2yazlP/ZtwBdjebyXnJ8cyaFhfRN5K1qDikfez8W/Oqmz96WsBo3tBGRe/qfHFMjo2AaAXelJkE7X2BlmuLeESEiftIXm3w+M7TeqS+LWT+fk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1597504585; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ybYEXSBoOxQUSvQPmPxghDJ8IANQct8GyKDeplE7/Uo=; b=Zzn8DcgRAeVHA3V9bMLB9qLGmFzBiZsjC0kQiR/e26eV0ATTkBblOsXwfvDneE4ifHMbLVdF4rYNs/vC2y4yDnQaEdxFLQ+rumIsxsK9uRUra2uldd881K5Sv+jjCCsQQ/mol4mHgMhT+tEu9w9l9zeBfM9uCKVDZRQPD6mCio8= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=amd.com) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1597504585350747.3234495917333; Sat, 15 Aug 2020 08:16:25 -0700 (PDT) Received: from localhost ([::1]:51094 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k6xux-0008Fc-Tu for importer@patchew.org; Sat, 15 Aug 2020 11:16:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54602) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k6xqM-0002LD-8N for qemu-devel@nongnu.org; Sat, 15 Aug 2020 11:11:38 -0400 Received: from mail-bn8nam12on2084.outbound.protection.outlook.com ([40.107.237.84]:40417 helo=NAM12-BN8-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k6xqJ-0000QD-Ry for qemu-devel@nongnu.org; Sat, 15 Aug 2020 11:11:37 -0400 Received: from SN1PR12MB2560.namprd12.prod.outlook.com (2603:10b6:802:26::19) by SA0PR12MB4528.namprd12.prod.outlook.com (2603:10b6:806:9e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3283.20; Fri, 14 Aug 2020 21:39:41 +0000 Received: from SN1PR12MB2560.namprd12.prod.outlook.com ([fe80::691c:c75:7cc2:7f2c]) by SN1PR12MB2560.namprd12.prod.outlook.com ([fe80::691c:c75:7cc2:7f2c%6]) with mapi id 15.20.3261.026; Fri, 14 Aug 2020 21:39:41 +0000 Received: from naples-babu.amd.com (165.204.78.2) by SN6PR2101CA0013.namprd21.prod.outlook.com (2603:10b6:805:106::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.2 via Frontend Transport; Fri, 14 Aug 2020 21:39:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kFdomoFQEuw/0yad/2kxZsAq/0tmKk8NS0QI5VZ/G2UDzjeqQKUzClU3V8g4x5v22sw6KQuepEiNDDWAXvMvedEbfKAXkkDzYdG/aYievTkhEVEojGhUgpszUoFjvEfjTem1SH9NYL4ub5R0LN4ZkluxISBCMf+HH39m2AeCq9YPpJ/KTZwXRhlIubfSVYqkmFaaAZ81Y/BQk96BOdl3I82PkMnwUKzZhmbAwR38vcdP50e/X/SC5QssvB6wpfOh0Wl1BuVDUftAyK0BdhGynWJqScs8AjV6x41E/4blYQ3ZSX9WJmYf/v3lDplA0UgOd5x9ZtP+j9K7e6/rmexUlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ybYEXSBoOxQUSvQPmPxghDJ8IANQct8GyKDeplE7/Uo=; b=P68Rlrd9Nz7LCGJWeQk79PBL9b4fmKEruVAllMJDW3jX5li1KZ870P5B4IR5OIVxJDP312UmN8u5WJKLJRSSA7KCD6HPfeyhnaApwAvj82KAgVHIvmy/O6lvIbt/r5ZXOLxSxQTfIslNWRT1dXgFNGdBKw3/Kkt7WjWuFqosxlF9Alw53Iz8ahMojpaZg+0wfU1ZPZzo7273YhwZDJRfxkrNQQMu2IUD8QcVczRf6Pk6lak7wYLVTI/manGbeYQMLVuctraoIV3JbwJs/qKaAS28+Aw6LzDKOmtdugIohlH+mJ2/19tW5iTjhsqgkjpjxtnZ6KdcozazbG1amYM05g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ybYEXSBoOxQUSvQPmPxghDJ8IANQct8GyKDeplE7/Uo=; b=xKrYuengeVn/pN400RIKAseF+5bN3TF4fqbklJId7DGH+5kBhmJ2mkUelxYFT55eOqnp+qRrHN/fv8FfRW/ieS8xnAjzez7aRxSaj8hRONWN4yiUuRzi/L0I97XBMiisEW1rBWSK0Guw8E9ioysg4CGa3psPk83xzzxyblR4jds= Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=amd.com; Subject: [PATCH v4 3/3] hw/i386: Remove node_id, nr_nodes and nodes_per_pkg from topology From: Babu Moger To: pbonzini@redhat.com, rth@twiddle.net, ehabkost@redhat.com, imammedo@redhat.com Date: Fri, 14 Aug 2020 16:39:40 -0500 Message-ID: <159744118012.39197.535122421806420639.stgit@naples-babu.amd.com> In-Reply-To: <159744083536.39197.13827776633866601278.stgit@naples-babu.amd.com> References: <159744083536.39197.13827776633866601278.stgit@naples-babu.amd.com> User-Agent: StGit/unknown-version Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SN6PR2101CA0013.namprd21.prod.outlook.com (2603:10b6:805:106::23) To SN1PR12MB2560.namprd12.prod.outlook.com (2603:10b6:802:26::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-Originating-IP: [165.204.78.2] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 5fed0aba-7eff-4748-347a-08d8409a8d30 X-MS-TrafficTypeDiagnostic: SA0PR12MB4528: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1091; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7hLNqIHl106xAi9ofbf6uSyjrEs60Tp2doZI6M1BgsiLknimJV7exK6GZGAV0LkUnphJustpVnG5jD5T0Ar131rmM3aNm2Zuq1lGSQeGJjKHN3xls2P62QDpqwjYwjKsI56vfIzBlOH67xtW3z6nbC2459mQfpXZxdDywMTKbO0hryClPmnfrZ8WjE+ztWCOcjZ3zrqj9XRf6HoqA6xI8B18i7cprV1grb7Af5/m7+dO+B6XJWzfRs0kOAWmwf4R6XauPhN8o2KGhaBxAa0pm058mdQs4iZMOqN/VWBNGx7Bd9RBcloHubHYEpni9dId24g4ug4SzjWM8YFLJDGu864CLlXbxctmFH3hR16DoZZs8fIKT4MO1Do5sb/ZMbfhEIE1wOW68qPW8kGvnjxxjQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN1PR12MB2560.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(136003)(376002)(39860400002)(346002)(956004)(186003)(16526019)(26005)(316002)(478600001)(966005)(8936002)(8676002)(2906002)(86362001)(44832011)(4326008)(52116002)(7696005)(55016002)(83380400001)(5660300002)(66556008)(66476007)(103116003)(66946007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: iwjgrwZVOIyRN9qQlvmg45OJU3gyKWdtlXu/y7S9c+ckXSJnkYgIzmpa8tPIbz6O4SLGiqc8dQ4dJe1wM3cqDYFF3LsKAOODrejvXlMJbJiKmmiEuAcWDlepZAJc0Dq11IB8WeH32pYKpTwgE0TagaybTiyWX/86fzCu1SQNvNhd/8rFRyhpNHtTYyTYujm5UBi4O1NPEhBFBPKTm/HlIzvqI+5atOq9N+GE/w+dwd7hLkD3SLRy1WLlFYtlvsp5tXh303ATXZxiapnFT8m4CBq7M92en5cENe1Y2Qp4DzVIChIqwg+VC3UTlzWBaF+r5F0GD716uHNTNT4gJCnHqfxx1SHvWBFWY/6CqbsV5MRqp5hMwQrqutE4zhCwcZTnQOX4bca+LCPl3YjsITNhzpXFCig58McOPfRIjmzQnapFhk1aY10uEwkel3+DUn/XteZzUaQUupD/Kl9XKXHZheMiZMFXL9BMNLAcbPvTNmvcDj2nREtzox5oWNF30eZB0whL0zambiBlPU8lagqNgm0m8B/HqMHsKGTv+7xsjv2pwpqAKDz/TmMqVKidrC1ucGUhcXSlhnNHpxlm5TbvZC8PeWhO4+NGeVnUmtv+pCj5XJ7Gt+4HkZYAsA0bzgr8B7QTB8gPl32xcHSsHEdcQw== X-MS-Exchange-CrossTenant-Network-Message-Id: 5fed0aba-7eff-4748-347a-08d8409a8d30 X-MS-Exchange-CrossTenant-AuthSource: SN1PR12MB2560.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2020 21:39:41.2512 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: B1vJd9a1flUiaHdJB/7KikozXp24CpzUE/3nQYl2iO+N6eHdEEfT89VXJt1C1d2g X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4528 X-MS-Exchange-Transport-Forked: True X-OriginatorOrg: amd.com Received-SPF: pass (zohomail.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; Received-SPF: none client-ip=40.107.237.84; envelope-from=Babu.Moger@amd.com; helo=NAM12-BN8-obe.outbound.protection.outlook.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/15 11:11:33 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FORGED_SPF_HELO=1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: qemu-devel@nongnu.org, mst@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @amdcloud.onmicrosoft.com) Remove node_id, nr_nodes and nodes_per_pkg from topology. Use die_id, nr_dies and dies_per_pkg which is already available. Removes the confusion over two variables. With node_id removed in topology the uninitialized memory issue with -device and CPU hotplug will be fixed. Link: https://bugzilla.redhat.com/show_bug.cgi?id=3D1828750 Signed-off-by: Babu Moger --- hw/i386/pc.c | 1 - hw/i386/x86.c | 1 - include/hw/i386/topology.h | 40 +++++++++------------------------------- target/i386/cpu.c | 11 +++-------- target/i386/cpu.h | 1 - 5 files changed, 12 insertions(+), 42 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 47c5ca3e34..0ae5cb3af4 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1498,7 +1498,6 @@ static void pc_cpu_pre_plug(HotplugHandler *hotplug_d= ev, init_topo_info(&topo_info, x86ms); =20 env->nr_dies =3D x86ms->smp_dies; - env->nr_nodes =3D topo_info.nodes_per_pkg; env->pkg_offset =3D x86ms->apicid_pkg_offset(&topo_info); =20 /* diff --git a/hw/i386/x86.c b/hw/i386/x86.c index e90c42d2fc..4efa1f8b87 100644 --- a/hw/i386/x86.c +++ b/hw/i386/x86.c @@ -62,7 +62,6 @@ inline void init_topo_info(X86CPUTopoInfo *topo_info, { MachineState *ms =3D MACHINE(x86ms); =20 - topo_info->nodes_per_pkg =3D ms->numa_state->num_nodes / ms->smp.socke= ts; topo_info->dies_per_pkg =3D x86ms->smp_dies; topo_info->cores_per_die =3D ms->smp.cores; topo_info->threads_per_core =3D ms->smp.threads; diff --git a/include/hw/i386/topology.h b/include/hw/i386/topology.h index 07239f95f4..05ddde7ba0 100644 --- a/include/hw/i386/topology.h +++ b/include/hw/i386/topology.h @@ -47,14 +47,12 @@ typedef uint32_t apic_id_t; =20 typedef struct X86CPUTopoIDs { unsigned pkg_id; - unsigned node_id; unsigned die_id; unsigned core_id; unsigned smt_id; } X86CPUTopoIDs; =20 typedef struct X86CPUTopoInfo { - unsigned nodes_per_pkg; unsigned dies_per_pkg; unsigned cores_per_die; unsigned threads_per_core; @@ -89,11 +87,6 @@ static inline unsigned apicid_die_width(X86CPUTopoInfo *= topo_info) return apicid_bitwidth_for_count(topo_info->dies_per_pkg); } =20 -/* Bit width of the node_id field per socket */ -static inline unsigned apicid_node_width_epyc(X86CPUTopoInfo *topo_info) -{ - return apicid_bitwidth_for_count(MAX(topo_info->nodes_per_pkg, 1)); -} /* Bit offset of the Core_ID field */ static inline unsigned apicid_core_offset(X86CPUTopoInfo *topo_info) @@ -114,30 +107,23 @@ static inline unsigned apicid_pkg_offset(X86CPUTopoIn= fo *topo_info) return apicid_die_offset(topo_info) + apicid_die_width(topo_info); } =20 -#define NODE_ID_OFFSET 3 /* Minimum node_id offset if numa configured */ +#define EPYC_DIE_OFFSET 3 /* Minimum die_id offset if numa configured */ =20 /* - * Bit offset of the node_id field - * - * Make sure nodes_per_pkg > 0 if numa configured else zero. + * Bit offset of the die_id field */ -static inline unsigned apicid_node_offset_epyc(X86CPUTopoInfo *topo_info) +static inline unsigned apicid_die_offset_epyc(X86CPUTopoInfo *topo_info) { - unsigned offset =3D apicid_die_offset(topo_info) + - apicid_die_width(topo_info); + unsigned offset =3D apicid_core_offset(topo_info) + + apicid_core_width(topo_info); =20 - if (topo_info->nodes_per_pkg) { - return MAX(NODE_ID_OFFSET, offset); - } else { - return offset; - } + return MAX(EPYC_DIE_OFFSET, offset); } =20 /* Bit offset of the Pkg_ID (socket ID) field */ static inline unsigned apicid_pkg_offset_epyc(X86CPUTopoInfo *topo_info) { - return apicid_node_offset_epyc(topo_info) + - apicid_node_width_epyc(topo_info); + return apicid_die_offset_epyc(topo_info) + apicid_die_width(topo_info); } =20 /* @@ -150,8 +136,7 @@ x86_apicid_from_topo_ids_epyc(X86CPUTopoInfo *topo_info, const X86CPUTopoIDs *topo_ids) { return (topo_ids->pkg_id << apicid_pkg_offset_epyc(topo_info)) | - (topo_ids->node_id << apicid_node_offset_epyc(topo_info)) | - (topo_ids->die_id << apicid_die_offset(topo_info)) | + (topo_ids->die_id << apicid_die_offset_epyc(topo_info)) | (topo_ids->core_id << apicid_core_offset(topo_info)) | topo_ids->smt_id; } @@ -160,15 +145,11 @@ static inline void x86_topo_ids_from_idx_epyc(X86CPUT= opoInfo *topo_info, unsigned cpu_index, X86CPUTopoIDs *topo_ids) { - unsigned nr_nodes =3D MAX(topo_info->nodes_per_pkg, 1); unsigned nr_dies =3D topo_info->dies_per_pkg; unsigned nr_cores =3D topo_info->cores_per_die; unsigned nr_threads =3D topo_info->threads_per_core; - unsigned cores_per_node =3D DIV_ROUND_UP((nr_dies * nr_cores * nr_thre= ads), - nr_nodes); =20 topo_ids->pkg_id =3D cpu_index / (nr_dies * nr_cores * nr_threads); - topo_ids->node_id =3D (cpu_index / cores_per_node) % nr_nodes; topo_ids->die_id =3D cpu_index / (nr_cores * nr_threads) % nr_dies; topo_ids->core_id =3D cpu_index / nr_threads % nr_cores; topo_ids->smt_id =3D cpu_index % nr_threads; @@ -188,11 +169,8 @@ static inline void x86_topo_ids_from_apicid_epyc(apic_= id_t apicid, (apicid >> apicid_core_offset(topo_info)) & ~(0xFFFFFFFFUL << apicid_core_width(topo_info)); topo_ids->die_id =3D - (apicid >> apicid_die_offset(topo_info)) & + (apicid >> apicid_die_offset_epyc(topo_info)) & ~(0xFFFFFFFFUL << apicid_die_width(topo_info)); - topo_ids->node_id =3D - (apicid >> apicid_node_offset_epyc(topo_info)) & - ~(0xFFFFFFFFUL << apicid_node_width_epyc(topo_info)); topo_ids->pkg_id =3D apicid >> apicid_pkg_offset_epyc(topo_info); } =20 diff --git a/target/i386/cpu.c b/target/i386/cpu.c index c892432cae..ba0a24f6b8 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -345,7 +345,6 @@ static void encode_cache_cpuid8000001d(CPUCacheInfo *ca= che, uint32_t *ecx, uint32_t *edx) { uint32_t l3_cores; - unsigned nodes =3D MAX(topo_info->nodes_per_pkg, 1); =20 assert(cache->size =3D=3D cache->line_size * cache->associativity * cache->partitions * cache->sets); @@ -355,10 +354,9 @@ static void encode_cache_cpuid8000001d(CPUCacheInfo *c= ache, =20 /* L3 is shared among multiple cores */ if (cache->level =3D=3D 3) { - l3_cores =3D DIV_ROUND_UP((topo_info->dies_per_pkg * - topo_info->cores_per_die * + l3_cores =3D DIV_ROUND_UP((topo_info->cores_per_die * topo_info->threads_per_core), - nodes); + topo_info->dies_per_pkg); *eax |=3D (l3_cores - 1) << 14; } else { *eax |=3D ((topo_info->threads_per_core - 1) << 14); @@ -387,7 +385,6 @@ static void encode_topo_cpuid8000001e(X86CPUTopoInfo *t= opo_info, X86CPU *cpu, uint32_t *ecx, uint32_t *edx) { X86CPUTopoIDs topo_ids =3D {0}; - unsigned long nodes =3D MAX(topo_info->nodes_per_pkg, 1); =20 x86_topo_ids_from_apicid_epyc(cpu->apic_id, topo_info, &topo_ids); =20 @@ -433,7 +430,7 @@ static void encode_topo_cpuid8000001e(X86CPUTopoInfo *t= opo_info, X86CPU *cpu, * NodeId is combination of node and socket_id which is already decoded * in apic_id. Just use it by shifting. */ - *ecx =3D ((nodes - 1) << 8) | cpu->node_id; + *ecx =3D ((topo_info->dies_per_pkg - 1) << 8) | cpu->node_id; *edx =3D 0; } =20 @@ -5484,7 +5481,6 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, = uint32_t count, uint32_t signature[3]; X86CPUTopoInfo topo_info; =20 - topo_info.nodes_per_pkg =3D env->nr_nodes; topo_info.dies_per_pkg =3D env->nr_dies; topo_info.cores_per_die =3D cs->nr_cores; topo_info.threads_per_core =3D cs->nr_threads; @@ -6944,7 +6940,6 @@ static void x86_cpu_initfn(Object *obj) FeatureWord w; =20 env->nr_dies =3D 1; - env->nr_nodes =3D 1; cpu_set_cpustate_pointers(cpu); =20 object_property_add(obj, "family", "int", diff --git a/target/i386/cpu.h b/target/i386/cpu.h index e1a5c174dc..4c89bee8d1 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -1629,7 +1629,6 @@ typedef struct CPUX86State { TPRAccess tpr_access_type; =20 unsigned nr_dies; - unsigned nr_nodes; unsigned pkg_offset; } CPUX86State; =20