From patchwork Tue Mar 22 18:38:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Henrique Barboza X-Patchwork-Id: 12788942 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F21A9C433EF for ; Tue, 22 Mar 2022 18:42:27 +0000 (UTC) Received: from localhost ([::1]:44230 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nWjSc-0004yJ-Iy for qemu-devel@archiver.kernel.org; Tue, 22 Mar 2022 14:42:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56796) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nWjPU-0002Mb-WF; Tue, 22 Mar 2022 14:39:13 -0400 Received: from [2607:f8b0:4864:20::336] (port=38657 helo=mail-ot1-x336.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nWjPS-0006ZU-1U; Tue, 22 Mar 2022 14:39:12 -0400 Received: by mail-ot1-x336.google.com with SMTP id a7-20020a9d5c87000000b005ad1467cb59so13108211oti.5; Tue, 22 Mar 2022 11:39:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5bETcJ1VAQBfcrmPp79dWNkpCfk535Hl4vdR5mSX/QE=; b=pwGuNw5uNnq6ab2r+1GF3rGnPV3Qxua4FAwjRf7zS/C8Rmf2E4oKyyCTAQkufnGo3N cKm2Qqxf2dsFbg6uq3m5hLEG/dHbGeYaSFWs+0ZX8Iq7nXRYvL/j5xRcKuihijIwuyQl muYa1c2lHD6fqSKkBoRvBRNUSle8irInmsgrqIq4IrRi5a9VzZIhtt4GVb1QMdxc5yJq Vq4/hM6RQLI8CO9QzPmgSMmZAwFT2Lwmj7Gz9pv2sqPzxgxOVooeVlagU28hCVWt3JCH EgirxvAVlX6Hjlnla0AB/IXznFyOUAUwM0LxYQ+Wb942WTBgzliijEv+rRl0fAaX+C0I zJNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5bETcJ1VAQBfcrmPp79dWNkpCfk535Hl4vdR5mSX/QE=; b=osgJSPVnue9KqitB/pRYa2Tg8agsw0DhAFDnwfLXF1GSeC2Cp0LNc+CmZdRD4w5ZK9 vwC0sVCZRgpaI8xVEKtX5JHMwaW8ti6R7jflg92cXoFmiHoHJc9m3BH4N2RH14Y7up50 FlOZqjU8eFGJtWgaCJoDB6/PfOl1+qRp0jO3LX/oKYh0ACXGqFR6IWpBCJJsg6MdFR89 xfVR/rJSKj+0o+P1i5w0G7BruyH0vaD+UlKyqa8t922zfLNjCdIsK9xhzV/uD63TxOpt AGenZymE3fhasx8dkM/rdGaJoL8c2hjOQMhyrjcREjpl46XE0rrakfY8hL7rPRZxB4uK YZZw== X-Gm-Message-State: AOAM530WzLF/Z+5MctZ7ox12ugyImCbXhhbd440QyXSldGaT0TuUK55/ k/CJ1MDmizRZYQmstD9JmjctJ3I9Qi4= X-Google-Smtp-Source: ABdhPJzNnVWrf0Lkc6GIA6tmkOZBeZwESeai8ZcaCSU94i1cmS7nDIzEo1oEWn+oOFSkgwQX/nFSOA== X-Received: by 2002:a9d:7994:0:b0:5b2:3110:e69c with SMTP id h20-20020a9d7994000000b005b23110e69cmr10539574otm.267.1647974346566; Tue, 22 Mar 2022 11:39:06 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:daa8:ba9e:6f18:bac1:8a96]) by smtp.gmail.com with ESMTPSA id 96-20020a9d0469000000b005c959dd643csm9109627otc.3.2022.03.22.11.39.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Mar 2022 11:39:06 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Subject: [PATCH for-7.1 1/4] hw/ppc: use qdev to register logical DRC vmstates Date: Tue, 22 Mar 2022 15:38:51 -0300 Message-Id: <20220322183854.196063-2-danielhb413@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220322183854.196063-1-danielhb413@gmail.com> References: <20220322183854.196063-1-danielhb413@gmail.com> MIME-Version: 1.0 X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::336 (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::336; envelope-from=danielhb413@gmail.com; helo=mail-ot1-x336.google.com X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Henrique Barboza , qemu-ppc@nongnu.org, clg@kaod.org, david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Today we use vmstate_register() to register the vmstate of logical DRCs during drc_realize(), following it up with a similar vmstate_unregister() during drc_unrealize(). We can instead use qdev to init the vmstate of the device via the dc->vmsd interface. This will spare us of both vmstate calls and make the code a little more maintainable. Since we're using spapr_drc_index() as instance_id in vmstate_register(), we'll need to use qdev_set_legacy_instance_id() to set the same instance_id the DRC vmstates are now used to have. Signed-off-by: Daniel Henrique Barboza --- hw/ppc/spapr_drc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 76bc5d42a0..a5ef64d2a2 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -536,8 +536,7 @@ static void drc_realize(DeviceState *d, Error **errp) trace_spapr_drc_realize_child(spapr_drc_index(drc), child_name); object_property_add_alias(root_container, link_name, drc->owner, child_name); - vmstate_register(VMSTATE_IF(drc), spapr_drc_index(drc), &vmstate_spapr_drc, - drc); + qdev_set_legacy_instance_id(d, spapr_drc_index(drc), 1); trace_spapr_drc_realize_complete(spapr_drc_index(drc)); } @@ -548,7 +547,6 @@ static void drc_unrealize(DeviceState *d) Object *root_container; trace_spapr_drc_unrealize(spapr_drc_index(drc)); - vmstate_unregister(VMSTATE_IF(drc), &vmstate_spapr_drc, drc); root_container = container_get(object_get_root(), DRC_CONTAINER_PATH); object_property_del(root_container, name); } @@ -673,8 +671,11 @@ static void spapr_drc_physical_class_init(ObjectClass *k, void *data) static void spapr_drc_logical_class_init(ObjectClass *k, void *data) { + DeviceClass *dk = DEVICE_CLASS(k); SpaprDrcClass *drck = SPAPR_DR_CONNECTOR_CLASS(k); + dk->vmsd = &vmstate_spapr_drc; + drck->dr_entity_sense = logical_entity_sense; drck->isolate = drc_isolate_logical; drck->unisolate = drc_unisolate_logical; From patchwork Tue Mar 22 18:38:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Henrique Barboza X-Patchwork-Id: 12788950 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 26408C433EF for ; Tue, 22 Mar 2022 18:50:56 +0000 (UTC) Received: from localhost ([::1]:54744 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nWjap-00043x-5E for qemu-devel@archiver.kernel.org; Tue, 22 Mar 2022 14:50:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nWjVe-0001Js-Q1; Tue, 22 Mar 2022 14:45:34 -0400 Received: from [2607:f8b0:4864:20::22d] (port=38834 helo=mail-oi1-x22d.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nWjVd-00027U-A8; Tue, 22 Mar 2022 14:45:34 -0400 Received: by mail-oi1-x22d.google.com with SMTP id r8so2197002oib.5; Tue, 22 Mar 2022 11:45:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=A7f8Slps6kTB2L0YS104RO82zM8TUqid6XT3BdhH7GY=; b=VH6gPE89Llad+njQE/v47cxzqsRrf0DyOPg8AfNP+Ulv61TYWfWXabKdJigR7SEjtG Ki3EcroXZG2kBT5NUnR4BW5RXNLqR9M0aHjSJiFX6M2fEwJRxSLyKATlPDeQv2AvfBBf toPGQwU18i0hLS9mgyCO+QW95LtBJvvYpXDjnVI0PjWfEpVP0CPGcdteSfcdFjJ7aQoK Alr+0pn11muC3MBVvwJdoqEShP5/I3z1gg3Tv+l/N5uWcLNXaFlR9eAaHj/uKrQlowXz ZyCMOAcA1ucd4cK2Aac4N3g+jb2f1QeoYxXGJLXtnaWpRJ+iM/aQt6L1Q8xSbNSapwYB hzXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=A7f8Slps6kTB2L0YS104RO82zM8TUqid6XT3BdhH7GY=; b=FhGxyVDwyX7PjotGECS5c/3n7bKOA7HR8QqeCV5sjeJverS/e4CoiuxUJu4nvvLYbk 4k9neYRqcmS7QKJWbaOPBF2xB9kOEL/Q3tRjd0Psa6r+NjxJycmX353iqQ3b678rfkkh OwQg1HEc5Y1O1p9OFdJIY0VkHhsdrjHqcHF4/pF5TqsZqYImLrfkVRIgkq91Z8D/1pAx vVgo+y3Vrqc2Bl3dH40A0PEUEEGaccAFP5t/6AxobMrAIH1v72+eUS1h3bXaFn4p8G9g shdrQRdEfZDXKaE2cBXArZ3tusBhB9X3oepDO6NNQXA7maNnNcG+4bZtepD2faNccS4C 670A== X-Gm-Message-State: AOAM531LoBN1EWSa2QyugLjHjTZpdRfeQRXr0PFWIW/Ew/VepYCwz2Yi KTePlkFzpHkRuFKFoUbssJRaayoMQKY= X-Google-Smtp-Source: ABdhPJyhjZLulNyjNgi75jSqgCI3hDH47oTLrG0vowtktLEDnBLb4gYIuoTqKvPImi1I8WorMmOU4g== X-Received: by 2002:a05:6870:42c8:b0:de:193b:cba6 with SMTP id z8-20020a05687042c800b000de193bcba6mr2402362oah.204.1647974348630; Tue, 22 Mar 2022 11:39:08 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:daa8:ba9e:6f18:bac1:8a96]) by smtp.gmail.com with ESMTPSA id 96-20020a9d0469000000b005c959dd643csm9109627otc.3.2022.03.22.11.39.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Mar 2022 11:39:08 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Subject: [PATCH for-7.1 2/4] hw/ppc: use qdev to register physical DRC vmstates Date: Tue, 22 Mar 2022 15:38:52 -0300 Message-Id: <20220322183854.196063-3-danielhb413@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220322183854.196063-1-danielhb413@gmail.com> References: <20220322183854.196063-1-danielhb413@gmail.com> MIME-Version: 1.0 X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::22d (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::22d; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x22d.google.com X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Henrique Barboza , qemu-ppc@nongnu.org, clg@kaod.org, david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Similar to logical DRCs, let's convert physical DRCs to register their vmstates using dc->vmsd. The same constraints with instance_id being set to spapr_drc_index() also applies in this case. However, since realize_physical() calls drc_realize(), qdev_set_legacy_instance_id() is already being set. Signed-off-by: Daniel Henrique Barboza --- hw/ppc/spapr_drc.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index a5ef64d2a2..5a60885876 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -640,9 +640,6 @@ static void realize_physical(DeviceState *d, Error **errp) return; } - vmstate_register(VMSTATE_IF(drcp), - spapr_drc_index(SPAPR_DR_CONNECTOR(drcp)), - &vmstate_spapr_drc_physical, drcp); qemu_register_reset(drc_physical_reset, drcp); } @@ -651,7 +648,6 @@ static void unrealize_physical(DeviceState *d) SpaprDrcPhysical *drcp = SPAPR_DRC_PHYSICAL(d); drc_unrealize(d); - vmstate_unregister(VMSTATE_IF(drcp), &vmstate_spapr_drc_physical, drcp); qemu_unregister_reset(drc_physical_reset, drcp); } @@ -662,6 +658,8 @@ static void spapr_drc_physical_class_init(ObjectClass *k, void *data) dk->realize = realize_physical; dk->unrealize = unrealize_physical; + dk->vmsd = &vmstate_spapr_drc_physical; + drck->dr_entity_sense = physical_entity_sense; drck->isolate = drc_isolate_physical; drck->unisolate = drc_unisolate_physical; From patchwork Tue Mar 22 18:38:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Henrique Barboza X-Patchwork-Id: 12788944 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 20FC5C433F5 for ; Tue, 22 Mar 2022 18:42:39 +0000 (UTC) Received: from localhost ([::1]:44898 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nWjSo-0005Ry-3D for qemu-devel@archiver.kernel.org; Tue, 22 Mar 2022 14:42:38 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56834) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nWjPX-0002Ok-6W; Tue, 22 Mar 2022 14:39:15 -0400 Received: from [2607:f8b0:4864:20::c29] (port=44687 helo=mail-oo1-xc29.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nWjPV-0006a3-OL; Tue, 22 Mar 2022 14:39:14 -0400 Received: by mail-oo1-xc29.google.com with SMTP id j7-20020a4ad6c7000000b0031c690e4123so21291762oot.11; Tue, 22 Mar 2022 11:39:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=h3tTFfrRS7qhxgSna2mS+NqVXyrjXDbAiB5G5+CJqBY=; b=oDLcyYM95N7LxLM7/6//0Nt4ZJd+sEogNRuO2LV7kTb/pZ+LA+OyDg+bYkIW66Rsdg QIBGGoUOm8wIrFzTnYDoC58uJDYS/wPILF3KD+2B9AaMy2URQ0kJ2d4Uka5iTapyDezM ptcjrj5DqBJ1xQ+O2cwY/mqbT0VIW3oBIRynryFLhF7L0vAwzMtgN/vkn+Wd6JTK+q03 5QwxLZixCFeEZYmT7ROGk8AWQj4CD84yJ/V4nvs1S4c15HFgCPTXlwlmuObTGfKtT159 hgfQbOOuRRqAnmD+Lra1u6Q7IKpuTutuKxzdxDCOa2mrXG5rMKIK0kdF5eZsC9fDBaL4 5Gjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=h3tTFfrRS7qhxgSna2mS+NqVXyrjXDbAiB5G5+CJqBY=; b=Pkk7H4WJlH5/Fm9spycQXoOYUJp4HDxpNSiKnWKiQxLwBpyL+uDSo3rd5gaH3t9afb t2aTtOv5BxsNQ5x2wqbp+R43wnn1acAuPmiTzWs2wIra3OqiPjz0JDFUnwgqhWdyVP8w 9k4X8XSuLW3y5jCsr6QIjGTcHS9NjRJ76Sa/a/volZD+AdXd/D4EEXsrzmg751Xm3YK7 eXtRDBeh5KI9e+Uv6hoqozu6m5vI7VZXDIUkJTabgvnUEsDZjawOax0GsI02bmS+eDUp C25qUhRktJgy9XUeeI+pz/IXMrh/mNMN4MSjNj2wwGQQPo17Ivl1C9so5EUmFpdgrwnn ebnA== X-Gm-Message-State: AOAM530zUsM4KoMzON9tGVlFMKFe5CN5DqIA95dh607IjygxUJ2E8Y9d rdB2xFvVtKyWFM+x9Pkg1xvYmNmdCHk= X-Google-Smtp-Source: ABdhPJyabLayGdOXK9CR005HLZrlHhzjDNDoLNt/1kPq6iJ8bqVhW9DOWZXMHOYNyqTKW/ikLQxRKA== X-Received: by 2002:a4a:c68d:0:b0:321:6a20:e9c9 with SMTP id m13-20020a4ac68d000000b003216a20e9c9mr8879610ooq.63.1647974350559; Tue, 22 Mar 2022 11:39:10 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:daa8:ba9e:6f18:bac1:8a96]) by smtp.gmail.com with ESMTPSA id 96-20020a9d0469000000b005c959dd643csm9109627otc.3.2022.03.22.11.39.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Mar 2022 11:39:10 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Subject: [PATCH for-7.1 3/4] hw/ppc: use qdev to register spapr_iommu tcet vmstate Date: Tue, 22 Mar 2022 15:38:53 -0300 Message-Id: <20220322183854.196063-4-danielhb413@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220322183854.196063-1-danielhb413@gmail.com> References: <20220322183854.196063-1-danielhb413@gmail.com> MIME-Version: 1.0 X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::c29 (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::c29; envelope-from=danielhb413@gmail.com; helo=mail-oo1-xc29.google.com X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Henrique Barboza , qemu-ppc@nongnu.org, clg@kaod.org, david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Use the dc->vmsd interface to register the vmstate of the tcet. The instance_id is being set to tcet->liobn by calling qdev_set_legacy_instance_id() during spapr_tce_table_realize(). Signed-off-by: Daniel Henrique Barboza --- hw/ppc/spapr_iommu.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hw/ppc/spapr_iommu.c b/hw/ppc/spapr_iommu.c index 81e5a1aea3..ac3389f0b7 100644 --- a/hw/ppc/spapr_iommu.c +++ b/hw/ppc/spapr_iommu.c @@ -321,8 +321,8 @@ static void spapr_tce_table_realize(DeviceState *dev, Error **errp) QLIST_INSERT_HEAD(&spapr_tce_tables, tcet, list); - vmstate_register(VMSTATE_IF(tcet), tcet->liobn, &vmstate_spapr_tce_table, - tcet); + qdev_set_legacy_instance_id(dev, tcet->liobn, + vmstate_spapr_tce_table.minimum_version_id); } void spapr_tce_set_need_vfio(SpaprTceTable *tcet, bool need_vfio) @@ -424,8 +424,6 @@ static void spapr_tce_table_unrealize(DeviceState *dev) { SpaprTceTable *tcet = SPAPR_TCE_TABLE(dev); - vmstate_unregister(VMSTATE_IF(tcet), &vmstate_spapr_tce_table, tcet); - QLIST_REMOVE(tcet, list); spapr_tce_table_disable(tcet); @@ -673,6 +671,7 @@ static void spapr_tce_table_class_init(ObjectClass *klass, void *data) dc->realize = spapr_tce_table_realize; dc->reset = spapr_tce_reset; dc->unrealize = spapr_tce_table_unrealize; + dc->vmsd = &vmstate_spapr_tce_table; /* Reason: This is just an internal device for handling the hypercalls */ dc->user_creatable = false; From patchwork Tue Mar 22 18:38:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Henrique Barboza X-Patchwork-Id: 12788943 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2E182C433EF for ; Tue, 22 Mar 2022 18:42:34 +0000 (UTC) Received: from localhost ([::1]:44382 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nWjSj-00054y-1S for qemu-devel@archiver.kernel.org; Tue, 22 Mar 2022 14:42:33 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56864) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nWjPY-0002Sh-Ct; Tue, 22 Mar 2022 14:39:20 -0400 Received: from [2607:f8b0:4864:20::32c] (port=39817 helo=mail-ot1-x32c.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nWjPW-0006aV-25; Tue, 22 Mar 2022 14:39:16 -0400 Received: by mail-ot1-x32c.google.com with SMTP id a17-20020a9d3e11000000b005cb483c500dso8701719otd.6; Tue, 22 Mar 2022 11:39:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/ZB+NAl/2RAHlVzCkyaNJO8uJxeA8ba7I+7zknXaYBA=; b=nJ4HdsEPPF82NbUDTmr/jH2o/k+3jSninw0hFeFyg4ohopES3k7mLH4ahQ81wO/slo F1C1iNap3qwUKGCYfB9Cxz3f95cmWBCopRTtcjARkPSEawN+i4tokJh1CmtmQCteTuCT i/wBubsYNz8L1ZtZ9PQSC9Skilyt+5twlKmNOoLDxvTyfdYVzEc2wJ7fjRDjwi1Aly/v m9+oqV4yMMIx/f/KJ7EHDuShkoAbuP72IYgMI1bLFn/wBPwoYa6JQBz4DngB/+KKTcgI cferyXqcuwsmCqZmDiAY8go1r27SZfH3ce3lTRkSB924ndxalm1w6sdw/DybMyIMpu9w tqjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/ZB+NAl/2RAHlVzCkyaNJO8uJxeA8ba7I+7zknXaYBA=; b=EQAbZacNMvdS+nLY+Es46Pb2hQLBmAzS9jIoJxqcpBrzXrCzgfjtEs7UIeoSkZ8kkV ZsOwmeDWrI72pRWdwx8vKalrbMbFB2w/qHB039KxgeVBYEvpMjyYCu/6UR4ewfEaTH6/ w+R/K0s7fqEqJCflmYbloGeNo5lOBt9T+kI2LsY4JgfZSUfSgn2H9Ud6Dfokt9aeXHPR xCfqCKAurKftZz0eWem2LIID1IT6W9JEyuDX/ip8CnFhzhTKHMyk3SfLxKDC6IaPDB6M 7TXgcUwoAC4lEu+3quBy2cxipjNf1KDf7yI7MkgwWII+GLAeU6u7ux9Tpu0Uv+iYcQx9 dnFA== X-Gm-Message-State: AOAM533TqxgRnpMH6OsxkyDi2+pKHEEaHu+kL7nz7eDHdc7L8SHNzpsp QATkz/7Bj4s3zm3FtkHDQSJtv4Ta80I= X-Google-Smtp-Source: ABdhPJwy4FIL/f5d39UuE7FA6uS5JgBnXIcIGObKG4qj9jY63q0fJp6PXH097Rx3kFprbcixHj0MVA== X-Received: by 2002:a05:6830:4121:b0:5c9:4d2b:7364 with SMTP id w33-20020a056830412100b005c94d2b7364mr11073718ott.366.1647974352681; Tue, 22 Mar 2022 11:39:12 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:daa8:ba9e:6f18:bac1:8a96]) by smtp.gmail.com with ESMTPSA id 96-20020a9d0469000000b005c959dd643csm9109627otc.3.2022.03.22.11.39.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Mar 2022 11:39:12 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Subject: [PATCH for-7.1 4/4] hw/ppc: use qdev to register spapr_nvdimm vmsd Date: Tue, 22 Mar 2022 15:38:54 -0300 Message-Id: <20220322183854.196063-5-danielhb413@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220322183854.196063-1-danielhb413@gmail.com> References: <20220322183854.196063-1-danielhb413@gmail.com> MIME-Version: 1.0 X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::32c (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::32c; envelope-from=danielhb413@gmail.com; helo=mail-ot1-x32c.google.com X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Henrique Barboza , qemu-ppc@nongnu.org, clg@kaod.org, Shivaprasad G Bhat , david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Make the code a little more maintainable by using dc->vmsd to register the vmstate instead of using vmstate_(un)register calls. 'instance_id' was being set to VMSTATE_INSTANCE_ID_ANY so there is no need for qdev_set_legacy_instance_id() calls. spapr_nvdimm_unrealize() was removed since it was only being used to call vmstate_unregister(). Cc: Shivaprasad G Bhat Signed-off-by: Daniel Henrique Barboza --- hw/ppc/spapr_nvdimm.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/hw/ppc/spapr_nvdimm.c b/hw/ppc/spapr_nvdimm.c index c4c97da5de..973e9d0fbe 100644 --- a/hw/ppc/spapr_nvdimm.c +++ b/hw/ppc/spapr_nvdimm.c @@ -866,14 +866,6 @@ static void spapr_nvdimm_realize(NVDIMMDevice *dimm, Error **errp) if (!is_pmem || pmem_override) { s_nvdimm->hcall_flush_required = true; } - - vmstate_register(NULL, VMSTATE_INSTANCE_ID_ANY, - &vmstate_spapr_nvdimm_states, dimm); -} - -static void spapr_nvdimm_unrealize(NVDIMMDevice *dimm) -{ - vmstate_unregister(NULL, &vmstate_spapr_nvdimm_states, dimm); } static Property spapr_nvdimm_properties[] = { @@ -888,8 +880,9 @@ static void spapr_nvdimm_class_init(ObjectClass *oc, void *data) DeviceClass *dc = DEVICE_CLASS(oc); NVDIMMClass *nvc = NVDIMM_CLASS(oc); + dc->vmsd = &vmstate_spapr_nvdimm_states; + nvc->realize = spapr_nvdimm_realize; - nvc->unrealize = spapr_nvdimm_unrealize; device_class_set_props(dc, spapr_nvdimm_properties); }