From nobody Tue Nov 18 05:58:55 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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-Seal: i=1; a=rsa-sha256; t=1607922803; cv=none; d=zohomail.com; s=zohoarc; b=LbxLxLa0nUrar2hg16GVR6EL483k1mpiRI/SEsiAtG4ix18XhjECEtYwC6M/RdEMuGDofzb7KWl6Zxtde9yDDpDD2M79NeEDUupZKLLcpounC8yzrrqs4u1Q6IczpFkP4NstYIs3vWY1+qcGIdmYwjIa5UaA4NA3tr/l2wBD1Wc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607922803; h=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=s+Flb+aQsb1e3NslkTzUQVzk3kaYRGSNvlbBwe0xb94=; b=jM4C7dfD3HGoOBVwlTC38TXYIcSGb+FsYgyVoBKzJsD4QOeIt1djYFvWUOIhq89MKpoelh2cBuRHZBDZkDxjsYtVzn9mC8tFzdpKSxSrRMR460vjpIRfbes+a/hKg6pwxSBvhKlLiFGOnspeZMYh8HRMjtPamK50xJ90fKTyAis= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607922803173797.0837724755809; Sun, 13 Dec 2020 21:13:23 -0800 (PST) Received: from localhost ([::1]:57222 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kogAk-0008ON-2v for importer@patchew.org; Mon, 14 Dec 2020 00:13:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39390) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kofwV-0005H1-RD; Sun, 13 Dec 2020 23:58:40 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:58613 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kofwT-0004s0-4L; Sun, 13 Dec 2020 23:58:39 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 4CvTfs0TTsz9sW8; Mon, 14 Dec 2020 15:58:13 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1607921893; bh=VEVsQoNOTp6RC84Xqfdj8Fs1+zfFBV3XfyThxL+idf8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AP4ZPDnT56UeZeXY6N4hCv9wT1Yt6njFf5PfHGWMPRjH4oCTDMiX5rzE8H7cX0qI4 jKNBlRME1UU7GD/qqi/tAzmuSojMg3n376Du1IvpUZZtsonyKPB8iVFaUj19BkVaAc D4FimPaQ8usFCht6xCICd0OzHfkYfHwxon26eyR0= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 17/30] spapr: Fix pre-2.10 dummy ICP hack Date: Mon, 14 Dec 2020 15:57:54 +1100 Message-Id: <20201214045807.41003-18-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201214045807.41003-1-david@gibson.dropbear.id.au> References: <20201214045807.41003-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=203.11.71.1; envelope-from=dgibson@ozlabs.org; helo=ozlabs.org X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no 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: David Gibson , qemu-ppc@nongnu.org, qemu-devel@nongnu.org, groug@kaod.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz This hack registers dummy VMState entries of ICPs in order to support migration of old pseries machine types that used to create all smp.max_cpus possible ICPs at machine init. Part of the work is to unregister the dummy entries when plugging an actual vCPU core, and to register them back when unplugging the core. The code that unregisters the dummy ICPs in spapr_core_plug() is misplaced: if ppc_set_compat() fails afterwards, the hotplug operation will be cancelled and the dummy ICPs won't be registered back since the unplug handler isn't called. Unregister the dummy ICPs at the end of spapr_core_plug(). Signed-off-by: Greg Kurz Message-Id: <20201201113728.885700-2-groug@kaod.org> Signed-off-by: David Gibson --- hw/ppc/spapr.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index d51c550288..5fbae8adda 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -3782,13 +3782,6 @@ static void spapr_core_plug(HotplugHandler *hotplug_= dev, DeviceState *dev, =20 core_slot->cpu =3D OBJECT(dev); =20 - if (smc->pre_2_10_has_unused_icps) { - for (i =3D 0; i < cc->nr_threads; i++) { - cs =3D CPU(core->threads[i]); - pre_2_10_vmstate_unregister_dummy_icp(cs->cpu_index); - } - } - /* * Set compatibility mode to match the boot CPU, which was either set * by the machine reset code or by CAS. @@ -3802,6 +3795,13 @@ static void spapr_core_plug(HotplugHandler *hotplug_= dev, DeviceState *dev, } } } + + if (smc->pre_2_10_has_unused_icps) { + for (i =3D 0; i < cc->nr_threads; i++) { + cs =3D CPU(core->threads[i]); + pre_2_10_vmstate_unregister_dummy_icp(cs->cpu_index); + } + } } =20 static void spapr_core_pre_plug(HotplugHandler *hotplug_dev, DeviceState *= dev, --=20 2.29.2