From nobody Fri May 3 20:53:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1490816701495599.94111368934; Wed, 29 Mar 2017 12:45:01 -0700 (PDT) Received: from localhost ([::1]:60622 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJWd-00032n-UK for importer@patchew.org; Wed, 29 Mar 2017 15:45:00 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44735) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJV4-0001vk-3V for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ctJV1-00006o-68 for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:22 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58884) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ctJV1-00006d-1D for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:19 -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 0636061B8F for ; Wed, 29 Mar 2017 19:43:18 +0000 (UTC) Received: from localhost (ovpn-116-7.gru2.redhat.com [10.97.116.7]) by smtp.corp.redhat.com (Postfix) with ESMTP id 884ED17AEB; Wed, 29 Mar 2017 19:43:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 0636061B8F Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=ehabkost@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 0636061B8F From: Eduardo Habkost To: qemu-devel@nongnu.org Date: Wed, 29 Mar 2017 16:41:40 -0300 Message-Id: <20170329194148.19015-2-ehabkost@redhat.com> In-Reply-To: <20170329194148.19015-1-ehabkost@redhat.com> References: <20170329194148.19015-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.39]); Wed, 29 Mar 2017 19:43:18 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [RFC v2 1/9] configure: test if _Generic works as expected X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Test if _Generic works as expected, and set HAVE_C11_GENERIC config variable if it does. Signed-off-by: Eduardo Habkost --- configure | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/configure b/configure index d1ce33bc79..b29bce0b53 100755 --- a/configure +++ b/configure @@ -1548,6 +1548,22 @@ EOF fi fi =20 +# Ensure we support _Generic, and that it takes type qualifiers into accou= nt +have_c11_generic=3D +cat > $TMPC << EOF +const int *p; +typedef typeof(_Generic(p, + const int *: (int *)0, + int *: 0, + default: 0)) T; +T foo; +int x(void); +int x(void) { return *foo; } +EOF +if do_cc $QEMU_CFLAGS -Werror -c -o $TMPO $TMPC;then + have_c11_generic=3Dyes +fi + # Workaround for http://gcc.gnu.org/PR55489. Happens with -fPIE/-fPIC and # large functions that use global variables. The bug is in all releases of # GCC, but it became particularly acute in 4.6.x and 4.7.x. It is fixed in @@ -5751,6 +5767,10 @@ if test "$have_sysmacros" =3D "yes" ; then echo "CONFIG_SYSMACROS=3Dy" >> $config_host_mak fi =20 +if test "$have_c11_generic" =3D "yes" ; then + echo "HAVE_C11_GENERIC=3Dy" >> $config_host_mak +fi + # Hold two types of flag: # CONFIG_THREAD_SETNAME_BYTHREAD - we've got a way of setting the name = on # a thread we have a handle to --=20 2.11.0.259.g40922b1 From nobody Fri May 3 20:53:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 149081669890698.48576009688395; Wed, 29 Mar 2017 12:44:58 -0700 (PDT) Received: from localhost ([::1]:60621 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJWb-00031G-Ny for importer@patchew.org; Wed, 29 Mar 2017 15:44:57 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44738) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJV4-0001vm-40 for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ctJV3-00007L-2S for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:22 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45250) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ctJV2-000078-Sd for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:20 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D712E7F3EC for ; Wed, 29 Mar 2017 19:43:19 +0000 (UTC) Received: from localhost (ovpn-116-7.gru2.redhat.com [10.97.116.7]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6B8E284701; Wed, 29 Mar 2017 19:43:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com D712E7F3EC Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=ehabkost@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com D712E7F3EC From: Eduardo Habkost To: qemu-devel@nongnu.org Date: Wed, 29 Mar 2017 16:41:41 -0300 Message-Id: <20170329194148.19015-3-ehabkost@redhat.com> In-Reply-To: <20170329194148.19015-1-ehabkost@redhat.com> References: <20170329194148.19015-1-ehabkost@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 29 Mar 2017 19:43:20 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [RFC v2 2/9] Simplify code using *MACHINE_GET_CLASS X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" There's no need to use MACHINE_GET_CLASS/object_get_class() followed by a *MACHINE_CLASS cast. Use *MACHINE_GET_CLASS() directly. Signed-off-by: Eduardo Habkost --- hw/core/machine.c | 3 +-- hw/pci/pci.c | 3 +-- hw/xen/xen_backend.c | 3 +-- target/i386/machine.c | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/hw/core/machine.c b/hw/core/machine.c index ada9eea483..6aa452a792 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -342,8 +342,7 @@ static void error_on_sysbus_device(SysBusDevice *sbdev,= void *opaque) static void machine_init_notify(Notifier *notifier, void *data) { Object *machine =3D qdev_get_machine(); - ObjectClass *oc =3D object_get_class(machine); - MachineClass *mc =3D MACHINE_CLASS(oc); + MachineClass *mc =3D MACHINE_GET_CLASS(machine); =20 if (mc->has_dynamic_sysbus) { /* Our machine can handle dynamic sysbus devices, we're all good */ diff --git a/hw/pci/pci.c b/hw/pci/pci.c index e6b08e1988..9151057bf5 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -1195,8 +1195,7 @@ static pcibus_t pci_bar_address(PCIDevice *d, int bar =3D pci_bar(d, reg); uint16_t cmd =3D pci_get_word(d->config + PCI_COMMAND); Object *machine =3D qdev_get_machine(); - ObjectClass *oc =3D object_get_class(machine); - MachineClass *mc =3D MACHINE_CLASS(oc); + MachineClass *mc =3D MACHINE_GET_CLASS(machine); bool allow_0_address =3D mc->pci_allow_0_address; =20 if (type & PCI_BASE_ADDRESS_SPACE_IO) { diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c index 6c21c37d68..6e530681f4 100644 --- a/hw/xen/xen_backend.c +++ b/hw/xen/xen_backend.c @@ -553,8 +553,7 @@ err: static void xen_set_dynamic_sysbus(void) { Object *machine =3D qdev_get_machine(); - ObjectClass *oc =3D object_get_class(machine); - MachineClass *mc =3D MACHINE_CLASS(oc); + MachineClass *mc =3D MACHINE_GET_CLASS(machine); =20 mc->has_dynamic_sysbus =3D true; } diff --git a/target/i386/machine.c b/target/i386/machine.c index 78ae2f986b..5b9eb3a2f6 100644 --- a/target/i386/machine.c +++ b/target/i386/machine.c @@ -893,8 +893,7 @@ static bool tsc_khz_needed(void *opaque) { X86CPU *cpu =3D opaque; CPUX86State *env =3D &cpu->env; - MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); - PCMachineClass *pcmc =3D PC_MACHINE_CLASS(mc); + PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(qdev_get_machine()); return env->tsc_khz && pcmc->save_tsc_khz; } =20 --=20 2.11.0.259.g40922b1 From nobody Fri May 3 20:53:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1490816913241859.9120230937953; Wed, 29 Mar 2017 12:48:33 -0700 (PDT) Received: from localhost ([::1]:60642 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJa4-0005pB-56 for importer@patchew.org; Wed, 29 Mar 2017 15:48:32 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44771) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJV6-0001xE-9P for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ctJV4-000089-W1 for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42332) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ctJV4-00007m-Oq for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:22 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C3AF27E9EE for ; Wed, 29 Mar 2017 19:43:21 +0000 (UTC) Received: from localhost (ovpn-116-7.gru2.redhat.com [10.97.116.7]) by smtp.corp.redhat.com (Postfix) with ESMTP id 51FA818996; Wed, 29 Mar 2017 19:43:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com C3AF27E9EE Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=ehabkost@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com C3AF27E9EE From: Eduardo Habkost To: qemu-devel@nongnu.org Date: Wed, 29 Mar 2017 16:41:42 -0300 Message-Id: <20170329194148.19015-4-ehabkost@redhat.com> In-Reply-To: <20170329194148.19015-1-ehabkost@redhat.com> References: <20170329194148.19015-1-ehabkost@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Wed, 29 Mar 2017 19:43:21 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [RFC v2 3/9] qom: QUALIFIED_CAST helper macro X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The new helper will help us write macros that keep const-ness of the input arguments, using C11's _Generic keyword. If _Generic is not supported by the compiler, QUALIFIED_CAST becomes a regular non-const cast. Signed-off-by: Eduardo Habkost --- include/qom/object.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/include/qom/object.h b/include/qom/object.h index cd0f412ce9..6829735f99 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -474,6 +474,52 @@ struct TypeInfo ((Object *)(obj)) =20 /** + * REFERENCED_TYPE: + * @t: a pointer type + * + * Returns the referenced type of a pointer type. + */ +#define REFERENCED_TYPE(t) \ + typeof(*((t)0)) + +/** + * QUALIFIED_CAST: + * @orig_type: Original type (a pointer type) + * @type: A pointer type to which an expression will be cast to. + * + * Helper to cast an expression to another pointer type while + * keeping the 'const' qualifier if it was present in + * @orig_type. If the compiler doesn't support _Generic, it + * becomes a regular non-const cast. + * + * Usage examples: + * QUALIFIED_CAST(AType *, BType *)(expr) + * equivalent to (BType *)(expr) + * + * QUALIFIED_CAST(const AType *, BType *)(expr) + * If supported, equivalent to: (const BType *)(expr) + * otherwise, equivalent to: (BType *)(expr) + * + * AType *a; + * QUALIFIED_CAST(typeof(a), BType *)(b) + * equivalent to (BType *)(b) + * + * const AType *a; + * QUALIFIED_CAST(typeof(a), BType *)(b) + * If supported, equivalent to: (const BType *)(expr) + * otherwise, equivalent to: (BType *)(expr) + */ +#ifdef HAVE_C11_GENERIC +#define QUALIFIED_CAST(orig_type, type) \ + (typeof(_Generic((const REFERENCED_TYPE(orig_type) *)0, \ + orig_type: (const type)(0), \ + default: (type)(0)))) +#else +#define QUALIFIED_CAST(orig_type, type) \ + (type) +#endif + +/** * OBJECT_CLASS: * @class: A derivative of #ObjectClass. * --=20 2.11.0.259.g40922b1 From nobody Fri May 3 20:53:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1490816834424952.6197574850236; Wed, 29 Mar 2017 12:47:14 -0700 (PDT) Received: from localhost ([::1]:60635 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJYn-0004qe-6t for importer@patchew.org; Wed, 29 Mar 2017 15:47:13 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44801) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJV7-0001ya-K2 for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ctJV6-00008x-S8 for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:25 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44420) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ctJV6-00008R-N1 for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:24 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AE0E14E4D6 for ; Wed, 29 Mar 2017 19:43:23 +0000 (UTC) Received: from localhost (ovpn-116-7.gru2.redhat.com [10.97.116.7]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4041317121; Wed, 29 Mar 2017 19:43:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com AE0E14E4D6 Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=ehabkost@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com AE0E14E4D6 From: Eduardo Habkost To: qemu-devel@nongnu.org Date: Wed, 29 Mar 2017 16:41:43 -0300 Message-Id: <20170329194148.19015-5-ehabkost@redhat.com> In-Reply-To: <20170329194148.19015-1-ehabkost@redhat.com> References: <20170329194148.19015-1-ehabkost@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 29 Mar 2017 19:43:23 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [RFC v2 4/9] qom: Make object_class_get_parent() const-aware X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This makes object_class_get_parent() return a const pointer in case its class argument is a const pointer. Signed-off-by: Eduardo Habkost --- include/qom/object.h | 6 +++++- qom/object.c | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 6829735f99..674a45862d 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -873,7 +873,11 @@ ObjectClass *object_class_dynamic_cast(ObjectClass *kl= ass, * * Returns: The parent for @klass or %NULL if none. */ -ObjectClass *object_class_get_parent(ObjectClass *klass); +#define object_class_get_parent(klass) \ + (QUALIFIED_CAST(typeof(klass), ObjectClass *) \ + object_class_get_parent_const(klass)) + +const ObjectClass *object_class_get_parent_const(const ObjectClass *klass); =20 /** * object_class_get_name: diff --git a/qom/object.c b/qom/object.c index eb4bc924ff..8f60ad9b8e 100644 --- a/qom/object.c +++ b/qom/object.c @@ -774,7 +774,7 @@ ObjectClass *object_class_by_name(const char *typename) return type->class; } =20 -ObjectClass *object_class_get_parent(ObjectClass *class) +const ObjectClass *object_class_get_parent_const(const ObjectClass *class) { TypeImpl *type =3D type_get_parent(class->type); =20 --=20 2.11.0.259.g40922b1 From nobody Fri May 3 20:53:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 149081683693843.19859377210071; Wed, 29 Mar 2017 12:47:16 -0700 (PDT) Received: from localhost ([::1]:60636 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJYp-0004sD-Mn for importer@patchew.org; Wed, 29 Mar 2017 15:47:15 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44831) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJVA-00022Q-4b for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ctJV9-00009w-72 for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45310) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ctJV8-00009Z-V5 for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:27 -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 E6D258AE72 for ; Wed, 29 Mar 2017 19:43:25 +0000 (UTC) Received: from localhost (ovpn-116-7.gru2.redhat.com [10.97.116.7]) by smtp.corp.redhat.com (Postfix) with ESMTP id 77CD017AF0; Wed, 29 Mar 2017 19:43:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com E6D258AE72 Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=ehabkost@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com E6D258AE72 From: Eduardo Habkost To: qemu-devel@nongnu.org Date: Wed, 29 Mar 2017 16:41:44 -0300 Message-Id: <20170329194148.19015-6-ehabkost@redhat.com> In-Reply-To: <20170329194148.19015-1-ehabkost@redhat.com> References: <20170329194148.19015-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.25]); Wed, 29 Mar 2017 19:43:26 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [RFC v2 5/9] Make class parameter const at some functions X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" There are many functions that don't need a non-const class pointer argument. Change them to accept a const argument. This will allow us to change class pointer variables to const in most of the code. Signed-off-by: Eduardo Habkost --- include/qom/object.h | 7 ++++--- gdbstub.c | 2 +- qdev-monitor.c | 4 ++-- qom/object.c | 10 +++++----- target/i386/cpu.c | 2 +- target/ppc/translate_init.c | 2 +- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 674a45862d..bb0be22ac7 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -885,7 +885,7 @@ const ObjectClass *object_class_get_parent_const(const = ObjectClass *klass); * * Returns: The QOM typename for @klass. */ -const char *object_class_get_name(ObjectClass *klass); +const char *object_class_get_name(const ObjectClass *klass); =20 /** * object_class_is_abstract: @@ -893,7 +893,7 @@ const char *object_class_get_name(ObjectClass *klass); * * Returns: %true if @klass is abstract, %false otherwise. */ -bool object_class_is_abstract(ObjectClass *klass); +bool object_class_is_abstract(const ObjectClass *klass); =20 /** * object_class_by_name: @@ -984,7 +984,8 @@ ObjectProperty *object_class_property_add(ObjectClass *= klass, const char *name, */ ObjectProperty *object_property_find(Object *obj, const char *name, Error **errp); -ObjectProperty *object_class_property_find(ObjectClass *klass, const char = *name, +ObjectProperty *object_class_property_find(const ObjectClass *klass, + const char *name, Error **errp); =20 typedef struct ObjectPropertyIterator { diff --git a/gdbstub.c b/gdbstub.c index 991115361e..3c7e5f3a96 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -573,7 +573,7 @@ static int memtox(char *buf, const char *mem, int len) } =20 static const char *get_feature_xml(const char *p, const char **newp, - CPUClass *cc) + const CPUClass *cc) { size_t len; int i; diff --git a/qdev-monitor.c b/qdev-monitor.c index 5f2fcdfc45..339775e49d 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -77,7 +77,7 @@ static const QDevAlias qdev_alias_table[] =3D { { } }; =20 -static const char *qdev_class_get_alias(DeviceClass *dc) +static const char *qdev_class_get_alias(const DeviceClass *dc) { const char *typename =3D object_class_get_name(OBJECT_CLASS(dc)); int i; @@ -96,7 +96,7 @@ static const char *qdev_class_get_alias(DeviceClass *dc) return NULL; } =20 -static bool qdev_class_has_alias(DeviceClass *dc) +static bool qdev_class_has_alias(const DeviceClass *dc) { return (qdev_class_get_alias(dc) !=3D NULL); } diff --git a/qom/object.c b/qom/object.c index 8f60ad9b8e..a25b1fffad 100644 --- a/qom/object.c +++ b/qom/object.c @@ -751,12 +751,12 @@ ObjectClass *object_get_class(Object *obj) return obj->class; } =20 -bool object_class_is_abstract(ObjectClass *klass) +bool object_class_is_abstract(const ObjectClass *klass) { return klass->type->abstract; } =20 -const char *object_class_get_name(ObjectClass *klass) +const char *object_class_get_name(const ObjectClass *klass) { return klass->type->name; } @@ -1029,11 +1029,11 @@ ObjectProperty *object_property_iter_next(ObjectPro= pertyIterator *iter) return val; } =20 -ObjectProperty *object_class_property_find(ObjectClass *klass, const char = *name, - Error **errp) +ObjectProperty *object_class_property_find(const ObjectClass *klass, + const char *name, Error **errp) { ObjectProperty *prop; - ObjectClass *parent_klass; + const ObjectClass *parent_klass; =20 parent_klass =3D object_class_get_parent(klass); if (parent_klass) { diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 7aa762245a..b1d6252ae0 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -735,7 +735,7 @@ static ObjectClass *x86_cpu_class_by_name(const char *c= pu_model) return oc; } =20 -static char *x86_cpu_class_get_model_name(X86CPUClass *cc) +static char *x86_cpu_class_get_model_name(const X86CPUClass *cc) { const char *class_name =3D object_class_get_name(OBJECT_CLASS(cc)); assert(g_str_has_suffix(class_name, X86_CPU_TYPE_SUFFIX)); diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c index c1a901455c..ee8ff04fd2 100644 --- a/target/ppc/translate_init.c +++ b/target/ppc/translate_init.c @@ -9773,7 +9773,7 @@ static int ppc_fixup_cpu(PowerPCCPU *cpu) return 0; } =20 -static inline bool ppc_cpu_is_valid(PowerPCCPUClass *pcc) +static inline bool ppc_cpu_is_valid(const PowerPCCPUClass *pcc) { #ifdef TARGET_PPCEMB return pcc->mmu_model =3D=3D POWERPC_MMU_BOOKE || --=20 2.11.0.259.g40922b1 From nobody Fri May 3 20:53:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1490816999259411.91947234850863; Wed, 29 Mar 2017 12:49:59 -0700 (PDT) Received: from localhost ([::1]:60646 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJbS-0006ow-2B for importer@patchew.org; Wed, 29 Mar 2017 15:49:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44873) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJVE-00025u-69 for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ctJVB-0000Ad-7a for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45336) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ctJVA-0000AN-VX for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:29 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EBF8A7F3EB for ; Wed, 29 Mar 2017 19:43:27 +0000 (UTC) Received: from localhost (ovpn-116-7.gru2.redhat.com [10.97.116.7]) by smtp.corp.redhat.com (Postfix) with ESMTP id 80DC684704; Wed, 29 Mar 2017 19:43:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com EBF8A7F3EB Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=ehabkost@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com EBF8A7F3EB From: Eduardo Habkost To: qemu-devel@nongnu.org Date: Wed, 29 Mar 2017 16:41:45 -0300 Message-Id: <20170329194148.19015-7-ehabkost@redhat.com> In-Reply-To: <20170329194148.19015-1-ehabkost@redhat.com> References: <20170329194148.19015-1-ehabkost@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 29 Mar 2017 19:43:28 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [RFC v2 6/9] Explicitly cast the *_GET_CLASS() value when we break the rules X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" object_get_class() and *_GET_CLASS() macros are going to be changed to return const pointers because the class structs are supposed to be initialized at class_init and not be changed later. However, there are a few places the code still break the (proposed) rules, and change class data outside class_init. On those cases, add an explicit cast to the *_GET_CLASS() return value. Signed-off-by: Eduardo Habkost --- hw/core/bus.c | 2 +- hw/mips/mips_jazz.c | 2 +- hw/xen/xen_backend.c | 2 +- target/s390x/cpu.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/core/bus.c b/hw/core/bus.c index 4651f24486..9233f8723b 100644 --- a/hw/core/bus.c +++ b/hw/core/bus.c @@ -90,7 +90,7 @@ static void qbus_realize(BusState *bus, DeviceState *pare= nt, const char *name) bus->name =3D g_strdup_printf("%s.%d", bus->parent->id, bus_id); } else { /* no id -> use lowercase bus type plus global bus-id for bus name= */ - bc =3D BUS_GET_CLASS(bus); + bc =3D (BusClass *)BUS_GET_CLASS(bus); bus_id =3D bc->automatic_ids++; bus->name =3D g_strdup_printf("%s.%d", typename, bus_id); for (i =3D 0; bus->name[i]; i++) { diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c index 1cef581878..0407d998f1 100644 --- a/hw/mips/mips_jazz.c +++ b/hw/mips/mips_jazz.c @@ -166,7 +166,7 @@ static void mips_jazz_init(MachineState *machine, * CPU, which raise an exception. * Handle that case by hijacking the do_unassigned_access method on * the CPU, and do not raise exceptions for data access. */ - cc =3D CPU_GET_CLASS(cpu); + cc =3D (CPUClass *)CPU_GET_CLASS(cpu); real_do_unassigned_access =3D cc->do_unassigned_access; cc->do_unassigned_access =3D mips_jazz_do_unassigned_access; =20 diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c index 6e530681f4..541ebb226c 100644 --- a/hw/xen/xen_backend.c +++ b/hw/xen/xen_backend.c @@ -553,7 +553,7 @@ err: static void xen_set_dynamic_sysbus(void) { Object *machine =3D qdev_get_machine(); - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + MachineClass *mc =3D (MachineClass *)MACHINE_GET_CLASS(machine); =20 mc->has_dynamic_sysbus =3D true; } diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c index 066dcd17df..07eb8b745f 100644 --- a/target/s390x/cpu.c +++ b/target/s390x/cpu.c @@ -174,7 +174,7 @@ static void s390_cpu_disas_set_info(CPUState *cpu, disa= ssemble_info *info) static void s390_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - S390CPUClass *scc =3D S390_CPU_GET_CLASS(dev); + S390CPUClass *scc =3D (S390CPUClass *)S390_CPU_GET_CLASS(dev); S390CPU *cpu =3D S390_CPU(dev); CPUS390XState *env =3D &cpu->env; Error *err =3D NULL; --=20 2.11.0.259.g40922b1 From nobody Fri May 3 20:53:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1490820360992874.5958103819833; Wed, 29 Mar 2017 13:46:00 -0700 (PDT) Received: from localhost ([::1]:60892 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctKTe-0001u1-B5 for importer@patchew.org; Wed, 29 Mar 2017 16:45:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44967) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJVZ-0002NW-7K for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:44:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ctJVF-0000Bq-4N for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:53 -0400 Received: from mx1.redhat.com ([209.132.183.28]:43628) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ctJVE-0000BD-72 for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:33 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 32EEEC05AA42 for ; Wed, 29 Mar 2017 19:43:31 +0000 (UTC) Received: from localhost (ovpn-116-7.gru2.redhat.com [10.97.116.7]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5EDBE18996; Wed, 29 Mar 2017 19:43:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 32EEEC05AA42 Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=ehabkost@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 32EEEC05AA42 From: Eduardo Habkost To: qemu-devel@nongnu.org Date: Wed, 29 Mar 2017 16:41:46 -0300 Message-Id: <20170329194148.19015-8-ehabkost@redhat.com> In-Reply-To: <20170329194148.19015-1-ehabkost@redhat.com> References: <20170329194148.19015-1-ehabkost@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 29 Mar 2017 19:43:31 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 X-Mailman-Approved-At: Wed, 29 Mar 2017 16:42:56 -0400 Subject: [Qemu-devel] [RFC v2 7/9] Use const variables for *_GET_CLASS values X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Use const variables for the return value of *_GET_CLASS and object_get_class(). This will allow us to make *_GET_CLASS and object_get_class() return const pointers later. Most of the changes were generated using the following Coccinelle script, but some additional cases had to be udpated by hand after running the script. @@ type XClass; identifier oc; identifier X_GET_CLASS =3D~ ".*_GET_CLASS|object_get_class"; @@ -XClass *oc; +const XClass *oc; <+... oc =3D X_GET_CLASS(...); ...+> @@ type XClass; identifier oc; identifier X_GET_CLASS =3D~ ".*_GET_CLASS|object_get_class"; @@ +const XClass *oc =3D X_GET_CLASS(...); Signed-off-by: Eduardo Habkost --- include/qom/cpu.h | 12 ++++---- include/qom/object.h | 2 +- target/ppc/mmu-book3s-v3.h | 2 +- target/ppc/mmu-hash64.h | 2 +- target/s390x/cpu.h | 2 +- backends/cryptodev.c | 10 +++---- backends/hostmem.c | 2 +- backends/rng.c | 4 +-- backends/tpm.c | 28 +++++++++---------- chardev/char-mux.c | 2 +- chardev/char.c | 10 +++---- cpu-exec.c | 14 +++++----- device-hotplug.c | 2 +- disas.c | 4 +-- exec.c | 6 ++-- gdbstub.c | 10 +++---- hmp.c | 4 +-- hw/acpi/acpi_interface.c | 2 +- hw/acpi/cpu.c | 8 +++--- hw/acpi/cpu_hotplug.c | 4 +-- hw/acpi/ipmi.c | 2 +- hw/acpi/memory_hotplug.c | 2 +- hw/acpi/nvdimm.c | 4 +-- hw/acpi/pcihp.c | 4 +-- hw/arm/aspeed.c | 2 +- hw/arm/aspeed_soc.c | 4 +-- hw/arm/boot.c | 2 +- hw/arm/exynos4_boards.c | 2 +- hw/arm/vexpress.c | 2 +- hw/arm/virt-acpi-build.c | 6 ++-- hw/arm/virt.c | 6 ++-- hw/audio/cs4231a.c | 10 +++---- hw/audio/gus.c | 6 ++-- hw/audio/intel-hda.c | 8 +++--- hw/audio/sb16.c | 6 ++-- hw/block/dataplane/virtio-blk.c | 6 ++-- hw/block/fdc.c | 8 +++--- hw/block/m25p80.c | 2 +- hw/char/serial-pci.c | 2 +- hw/char/virtio-console.c | 6 ++-- hw/char/virtio-serial-bus.c | 18 ++++++------ hw/core/bus.c | 2 +- hw/core/fw-path-provider.c | 2 +- hw/core/generic-loader.c | 2 +- hw/core/hotplug.c | 8 +++--- hw/core/loader.c | 4 +-- hw/core/machine.c | 4 +-- hw/core/nmi.c | 2 +- hw/core/qdev-properties.c | 4 +-- hw/core/qdev.c | 32 ++++++++++----------- hw/core/stream.c | 4 +-- hw/core/sysbus.c | 6 ++-- hw/display/cirrus_vga.c | 2 +- hw/i2c/core.c | 10 +++---- hw/i2c/smbus.c | 8 +++--- hw/i386/acpi-build.c | 16 +++++------ hw/i386/kvm/i8254.c | 2 +- hw/i386/kvm/i8259.c | 2 +- hw/i386/pc.c | 32 ++++++++++----------- hw/i386/pc_piix.c | 4 +-- hw/i386/pc_q35.c | 4 +-- hw/i386/x86-iommu.c | 2 +- hw/ide/microdrive.c | 4 +-- hw/ide/qdev.c | 2 +- hw/input/adb.c | 6 ++-- hw/input/virtio-input.c | 12 ++++---- hw/intc/apic_common.c | 26 ++++++++--------- hw/intc/arm_gic.c | 2 +- hw/intc/arm_gic_common.c | 4 +-- hw/intc/arm_gic_kvm.c | 4 +-- hw/intc/arm_gicv3.c | 2 +- hw/intc/arm_gicv3_common.c | 4 +-- hw/intc/arm_gicv3_its_common.c | 6 ++-- hw/intc/arm_gicv3_kvm.c | 4 +-- hw/intc/i8259.c | 2 +- hw/intc/i8259_common.c | 4 +-- hw/intc/ioapic_common.c | 6 ++-- hw/intc/xics.c | 26 ++++++++--------- hw/ipack/ipack.c | 4 +-- hw/ipack/tpci200.c | 12 ++++---- hw/ipmi/ipmi_bmc_extern.c | 12 ++++---- hw/ipmi/ipmi_bmc_sim.c | 24 ++++++++-------- hw/ipmi/isa_ipmi_bt.c | 22 +++++++-------- hw/ipmi/isa_ipmi_kcs.c | 20 ++++++------- hw/mem/pc-dimm.c | 10 +++---- hw/misc/imx_ccm.c | 2 +- hw/net/e1000.c | 2 +- hw/net/vhost_net.c | 4 +-- hw/net/vmxnet3.c | 2 +- hw/nvram/fw_cfg.c | 2 +- hw/pci-bridge/pcie_root_port.c | 8 +++--- hw/pci/pci.c | 16 +++++------ hw/pcmcia/pxa2xx.c | 16 +++++------ hw/ppc/pnv.c | 14 +++++----- hw/ppc/pnv_core.c | 2 +- hw/ppc/pnv_xscom.c | 6 ++-- hw/ppc/prep.c | 8 +++--- hw/ppc/spapr.c | 50 ++++++++++++++++----------------- hw/ppc/spapr_cpu_core.c | 4 +-- hw/ppc/spapr_drc.c | 20 ++++++------- hw/ppc/spapr_events.c | 6 ++-- hw/ppc/spapr_hcall.c | 2 +- hw/ppc/spapr_pci.c | 14 +++++----- hw/ppc/spapr_rtas.c | 8 +++--- hw/ppc/spapr_vio.c | 12 ++++---- hw/s390x/css-bridge.c | 2 +- hw/s390x/css.c | 6 ++-- hw/s390x/event-facility.c | 14 +++++----- hw/s390x/s390-skeys-kvm.c | 2 +- hw/s390x/s390-skeys.c | 8 +++--- hw/s390x/s390-virtio-ccw.c | 8 +++--- hw/s390x/sclp.c | 10 +++---- hw/s390x/virtio-ccw.c | 12 ++++---- hw/scsi/megasas.c | 8 +++--- hw/scsi/mptconfig.c | 6 ++-- hw/scsi/scsi-bus.c | 8 +++--- hw/scsi/vhost-scsi.c | 4 +-- hw/scsi/virtio-scsi-dataplane.c | 6 ++-- hw/scsi/vmw_pvscsi.c | 2 +- hw/sd/core.c | 18 ++++++------ hw/sh4/sh7750.c | 2 +- hw/smbios/smbios_type_38.c | 2 +- hw/sparc/sun4m.c | 2 +- hw/sparc64/sun4u.c | 2 +- hw/ssi/aspeed_smc.c | 2 +- hw/ssi/ssi.c | 8 +++--- hw/ssi/xilinx_spips.c | 2 +- hw/timer/i8254.c | 2 +- hw/timer/i8254_common.c | 10 +++---- hw/timer/m48t59-isa.c | 2 +- hw/timer/m48t59.c | 2 +- hw/usb/bus.c | 32 ++++++++++----------- hw/usb/dev-smartcard-reader.c | 8 +++--- hw/usb/hcd-ehci-pci.c | 2 +- hw/usb/hcd-ehci-sysbus.c | 2 +- hw/usb/hcd-uhci.c | 2 +- hw/vfio/amd-xgbe.c | 2 +- hw/vfio/calxeda-xgmac.c | 2 +- hw/virtio/vhost-vsock.c | 4 +-- hw/virtio/vhost.c | 2 +- hw/virtio/virtio-bus.c | 24 ++++++++-------- hw/virtio/virtio-mmio.c | 2 +- hw/virtio/virtio-pci.c | 20 ++++++------- hw/virtio/virtio.c | 62 ++++++++++++++++++++-----------------= ---- io/channel.c | 20 ++++++------- kvm-all.c | 2 +- migration/migration.c | 2 +- migration/savevm.c | 2 +- monitor.c | 2 +- net/filter.c | 6 ++-- qdev-monitor.c | 8 +++--- qmp.c | 4 +-- qom/cpu.c | 26 ++++++++--------- qom/object.c | 2 +- qom/object_interfaces.c | 4 +-- target/alpha/cpu.c | 2 +- target/arm/cpu.c | 8 +++--- target/arm/kvm.c | 2 +- target/cris/cpu.c | 10 +++---- target/cris/helper.c | 2 +- target/hppa/cpu.c | 2 +- target/i386/cpu.c | 8 +++--- target/i386/kvm.c | 2 +- target/i386/machine.c | 2 +- target/lm32/cpu.c | 4 +-- target/lm32/gdbstub.c | 2 +- target/m68k/cpu.c | 4 +-- target/microblaze/cpu.c | 4 +-- target/microblaze/gdbstub.c | 2 +- target/mips/cpu.c | 4 +-- target/moxie/cpu.c | 4 +-- target/nios2/cpu.c | 8 +++--- target/openrisc/cpu.c | 4 +-- target/openrisc/gdbstub.c | 2 +- target/ppc/arch_dump.c | 2 +- target/ppc/compat.c | 4 +-- target/ppc/excp_helper.c | 2 +- target/ppc/mmu-hash64.c | 6 ++-- target/ppc/mmu_helper.c | 2 +- target/ppc/translate_init.c | 12 ++++---- target/s390x/cpu.c | 4 +-- target/s390x/cpu_models.c | 4 +-- target/s390x/kvm.c | 4 +-- target/s390x/mem_helper.c | 6 ++-- target/s390x/misc_helper.c | 6 ++-- target/s390x/mmu_helper.c | 2 +- target/sh4/cpu.c | 4 +-- target/sparc/cpu.c | 4 +-- target/tilegx/cpu.c | 4 +-- target/tricore/cpu.c | 4 +-- target/unicore32/cpu.c | 2 +- target/xtensa/cpu.c | 6 ++-- tests/check-qom-interface.c | 2 +- user-exec.c | 2 +- vl.c | 2 +- 195 files changed, 679 insertions(+), 679 deletions(-) diff --git a/include/qom/cpu.h b/include/qom/cpu.h index c3292efe1c..c6a5bfa8cd 100644 --- a/include/qom/cpu.h +++ b/include/qom/cpu.h @@ -549,7 +549,7 @@ void cpu_dump_statistics(CPUState *cpu, FILE *f, fprint= f_function cpu_fprintf, static inline hwaddr cpu_get_phys_page_attrs_debug(CPUState *cpu, vaddr ad= dr, MemTxAttrs *attrs) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 if (cc->get_phys_page_attrs_debug) { return cc->get_phys_page_attrs_debug(cpu, addr, attrs); @@ -585,7 +585,7 @@ static inline hwaddr cpu_get_phys_page_debug(CPUState *= cpu, vaddr addr) */ static inline int cpu_asidx_from_attrs(CPUState *cpu, MemTxAttrs attrs) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 if (cc->asidx_from_attrs) { return cc->asidx_from_attrs(cpu, attrs); @@ -644,7 +644,7 @@ CPUState *cpu_generic_init(const char *typename, const = char *cpu_model); */ static inline bool cpu_has_work(CPUState *cpu) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 g_assert(cc->has_work); return cc->has_work(cpu); @@ -811,7 +811,7 @@ static inline void cpu_unassigned_access(CPUState *cpu,= hwaddr addr, bool is_write, bool is_exec, int opaque, unsigned size) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 if (cc->do_unassigned_access) { cc->do_unassigned_access(cpu, addr, is_write, is_exec, opaque, siz= e); @@ -822,7 +822,7 @@ static inline void cpu_unaligned_access(CPUState *cpu, = vaddr addr, MMUAccessType access_type, int mmu_idx, uintptr_t retaddr) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 cc->do_unaligned_access(cpu, addr, access_type, mmu_idx, retaddr); } @@ -837,7 +837,7 @@ static inline void cpu_unaligned_access(CPUState *cpu, = vaddr addr, */ static inline void cpu_set_pc(CPUState *cpu, vaddr addr) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 cc->set_pc(cpu, addr); } diff --git a/include/qom/object.h b/include/qom/object.h index bb0be22ac7..4af3c8e232 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -989,7 +989,7 @@ ObjectProperty *object_class_property_find(const Object= Class *klass, Error **errp); =20 typedef struct ObjectPropertyIterator { - ObjectClass *nextclass; + const ObjectClass *nextclass; GHashTableIter iter; } ObjectPropertyIterator; =20 diff --git a/target/ppc/mmu-book3s-v3.h b/target/ppc/mmu-book3s-v3.h index 636f6ab95f..0c58891732 100644 --- a/target/ppc/mmu-book3s-v3.h +++ b/target/ppc/mmu-book3s-v3.h @@ -34,7 +34,7 @@ static inline bool ppc64_use_proc_tbl(PowerPCCPU *cpu) =20 static inline bool ppc64_radix_guest(PowerPCCPU *cpu) { - PPCVirtualHypervisorClass *vhc =3D + const PPCVirtualHypervisorClass *vhc =3D PPC_VIRTUAL_HYPERVISOR_GET_CLASS(cpu->vhyp); =20 return !!(vhc->get_patbe(cpu->vhyp) & PATBE1_GR); diff --git a/target/ppc/mmu-hash64.h b/target/ppc/mmu-hash64.h index 54f1e37655..d62882b414 100644 --- a/target/ppc/mmu-hash64.h +++ b/target/ppc/mmu-hash64.h @@ -102,7 +102,7 @@ static inline hwaddr ppc_hash64_hpt_base(PowerPCCPU *cp= u) static inline hwaddr ppc_hash64_hpt_mask(PowerPCCPU *cpu) { if (cpu->vhyp) { - PPCVirtualHypervisorClass *vhc =3D + const PPCVirtualHypervisorClass *vhc =3D PPC_VIRTUAL_HYPERVISOR_GET_CLASS(cpu->vhyp); return vhc->hpt_mask(cpu->vhyp); } diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h index 058ddad83a..1f904ad5d0 100644 --- a/target/s390x/cpu.h +++ b/target/s390x/cpu.h @@ -505,7 +505,7 @@ static inline hwaddr decode_basedisp_s(CPUS390XState *e= nv, uint32_t ipb, /* helper functions for run_on_cpu() */ static inline void s390_do_cpu_reset(CPUState *cs, run_on_cpu_data arg) { - S390CPUClass *scc =3D S390_CPU_GET_CLASS(cs); + const S390CPUClass *scc =3D S390_CPU_GET_CLASS(cs); =20 scc->cpu_reset(cs); } diff --git a/backends/cryptodev.c b/backends/cryptodev.c index 832f056266..e0ec00278d 100644 --- a/backends/cryptodev.c +++ b/backends/cryptodev.c @@ -67,7 +67,7 @@ void cryptodev_backend_cleanup( CryptoDevBackend *backend, Error **errp) { - CryptoDevBackendClass *bc =3D + const CryptoDevBackendClass *bc =3D CRYPTODEV_BACKEND_GET_CLASS(backend); =20 if (bc->cleanup) { @@ -80,7 +80,7 @@ int64_t cryptodev_backend_sym_create_session( CryptoDevBackendSymSessionInfo *sess_info, uint32_t queue_index, Error **errp) { - CryptoDevBackendClass *bc =3D + const CryptoDevBackendClass *bc =3D CRYPTODEV_BACKEND_GET_CLASS(backend); =20 if (bc->create_session) { @@ -95,7 +95,7 @@ int cryptodev_backend_sym_close_session( uint64_t session_id, uint32_t queue_index, Error **errp) { - CryptoDevBackendClass *bc =3D + const CryptoDevBackendClass *bc =3D CRYPTODEV_BACKEND_GET_CLASS(backend); =20 if (bc->close_session) { @@ -110,7 +110,7 @@ static int cryptodev_backend_sym_operation( CryptoDevBackendSymOpInfo *op_info, uint32_t queue_index, Error **errp) { - CryptoDevBackendClass *bc =3D + const CryptoDevBackendClass *bc =3D CRYPTODEV_BACKEND_GET_CLASS(backend); =20 if (bc->do_sym_op) { @@ -178,7 +178,7 @@ static void cryptodev_backend_complete(UserCreatable *uc, Error **errp) { CryptoDevBackend *backend =3D CRYPTODEV_BACKEND(uc); - CryptoDevBackendClass *bc =3D CRYPTODEV_BACKEND_GET_CLASS(uc); + const CryptoDevBackendClass *bc =3D CRYPTODEV_BACKEND_GET_CLASS(uc); Error *local_err =3D NULL; =20 if (bc->init) { diff --git a/backends/hostmem.c b/backends/hostmem.c index 89feb9ed75..2f5ca16dde 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -257,7 +257,7 @@ static void host_memory_backend_memory_complete(UserCreatable *uc, Error **errp) { HostMemoryBackend *backend =3D MEMORY_BACKEND(uc); - HostMemoryBackendClass *bc =3D MEMORY_BACKEND_GET_CLASS(uc); + const HostMemoryBackendClass *bc =3D MEMORY_BACKEND_GET_CLASS(uc); Error *local_err =3D NULL; void *ptr; uint64_t sz; diff --git a/backends/rng.c b/backends/rng.c index 398ebe4a7d..0f7c42ab9e 100644 --- a/backends/rng.c +++ b/backends/rng.c @@ -20,7 +20,7 @@ void rng_backend_request_entropy(RngBackend *s, size_t si= ze, EntropyReceiveFunc *receive_entropy, void *opaque) { - RngBackendClass *k =3D RNG_BACKEND_GET_CLASS(s); + const RngBackendClass *k =3D RNG_BACKEND_GET_CLASS(s); RngRequest *req; =20 if (k->request_entropy) { @@ -53,7 +53,7 @@ static void rng_backend_complete(UserCreatable *uc, Error= **errp) static void rng_backend_prop_set_opened(Object *obj, bool value, Error **e= rrp) { RngBackend *s =3D RNG_BACKEND(obj); - RngBackendClass *k =3D RNG_BACKEND_GET_CLASS(s); + const RngBackendClass *k =3D RNG_BACKEND_GET_CLASS(s); Error *local_err =3D NULL; =20 if (value =3D=3D s->opened) { diff --git a/backends/tpm.c b/backends/tpm.c index 536f262bb7..d02f3bdce8 100644 --- a/backends/tpm.c +++ b/backends/tpm.c @@ -22,21 +22,21 @@ =20 enum TpmType tpm_backend_get_type(TPMBackend *s) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 return k->ops->type; } =20 const char *tpm_backend_get_desc(TPMBackend *s) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 return k->ops->desc(); } =20 void tpm_backend_destroy(TPMBackend *s) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 k->ops->destroy(s); } @@ -44,70 +44,70 @@ void tpm_backend_destroy(TPMBackend *s) int tpm_backend_init(TPMBackend *s, TPMState *state, TPMRecvDataCB *datacb) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 return k->ops->init(s, state, datacb); } =20 int tpm_backend_startup_tpm(TPMBackend *s) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 return k->ops->startup_tpm(s); } =20 bool tpm_backend_had_startup_error(TPMBackend *s) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 return k->ops->had_startup_error(s); } =20 size_t tpm_backend_realloc_buffer(TPMBackend *s, TPMSizedBuffer *sb) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 return k->ops->realloc_buffer(sb); } =20 void tpm_backend_deliver_request(TPMBackend *s) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 k->ops->deliver_request(s); } =20 void tpm_backend_reset(TPMBackend *s) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 k->ops->reset(s); } =20 void tpm_backend_cancel_cmd(TPMBackend *s) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 k->ops->cancel_cmd(s); } =20 bool tpm_backend_get_tpm_established_flag(TPMBackend *s) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 return k->ops->get_tpm_established_flag(s); } =20 int tpm_backend_reset_tpm_established_flag(TPMBackend *s, uint8_t locty) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 return k->ops->reset_tpm_established_flag(s, locty); } =20 TPMVersion tpm_backend_get_tpm_version(TPMBackend *s) { - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); =20 return k->ops->get_tpm_version(s); } @@ -127,7 +127,7 @@ void tpm_backend_open(TPMBackend *s, Error **errp) static void tpm_backend_prop_set_opened(Object *obj, bool value, Error **e= rrp) { TPMBackend *s =3D TPM_BACKEND(obj); - TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); + const TPMBackendClass *k =3D TPM_BACKEND_GET_CLASS(s); Error *local_err =3D NULL; =20 if (value =3D=3D s->opened) { diff --git a/chardev/char-mux.c b/chardev/char-mux.c index 5547a36a0a..23f73825e3 100644 --- a/chardev/char-mux.c +++ b/chardev/char-mux.c @@ -241,7 +241,7 @@ static GSource *mux_chr_add_watch(Chardev *s, GIOCondit= ion cond) { MuxChardev *d =3D MUX_CHARDEV(s); Chardev *chr =3D qemu_chr_fe_get_driver(&d->chr); - ChardevClass *cc =3D CHARDEV_GET_CLASS(chr); + const ChardevClass *cc =3D CHARDEV_GET_CLASS(chr); =20 if (!cc->chr_add_watch) { return NULL; diff --git a/chardev/char.c b/chardev/char.c index 3df116350b..f4abfbf0fd 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -102,7 +102,7 @@ static void qemu_chr_fe_write_log(Chardev *s, static int qemu_chr_fe_write_buffer(Chardev *s, const uint8_t *buf, int len, int *offs= et) { - ChardevClass *cc =3D CHARDEV_GET_CLASS(s); + const ChardevClass *cc =3D CHARDEV_GET_CLASS(s); int res =3D 0; *offset =3D 0; =20 @@ -137,7 +137,7 @@ static bool qemu_chr_replay(Chardev *chr) int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len) { Chardev *s =3D be->chr; - ChardevClass *cc; + const ChardevClass *cc; int ret; =20 if (!s) { @@ -369,7 +369,7 @@ void qemu_chr_fe_printf(CharBackend *be, const char *fm= t, ...) static void qemu_char_open(Chardev *chr, ChardevBackend *backend, bool *be_opened, Error **errp) { - ChardevClass *cc =3D CHARDEV_GET_CLASS(chr); + const ChardevClass *cc =3D CHARDEV_GET_CLASS(chr); /* Any ChardevCommon member would work */ ChardevCommon *common =3D backend ? backend->u.null.data : NULL; =20 @@ -549,7 +549,7 @@ void qemu_chr_fe_set_handlers(CharBackend *b, bool set_open) { Chardev *s; - ChardevClass *cc; + const ChardevClass *cc; int fe_open; =20 s =3D b->chr; @@ -603,7 +603,7 @@ void qemu_chr_fe_take_focus(CharBackend *b) =20 int qemu_chr_wait_connected(Chardev *chr, Error **errp) { - ChardevClass *cc =3D CHARDEV_GET_CLASS(chr); + const ChardevClass *cc =3D CHARDEV_GET_CLASS(chr); =20 if (cc->chr_wait_connected) { return cc->chr_wait_connected(chr, errp); diff --git a/cpu-exec.c b/cpu-exec.c index 748cb66bca..45a4c7d0bd 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -174,7 +174,7 @@ static inline tcg_target_ulong cpu_tb_exec(CPUState *cp= u, TranslationBlock *itb) * counter hit zero); we must restore the guest PC to the address * of the start of the TB. */ - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); qemu_log_mask_and_addr(CPU_LOG_EXEC, last_tb->pc, "Stopped execution of TB chain before %p [" TARGET_FMT_lx "] %s\n", @@ -223,7 +223,7 @@ static void cpu_exec_nocache(CPUState *cpu, int max_cyc= les, =20 static void cpu_exec_step(CPUState *cpu) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); CPUArchState *env =3D (CPUArchState *)cpu->env_ptr; TranslationBlock *tb; target_ulong cs_base, pc; @@ -421,7 +421,7 @@ static inline bool cpu_handle_halt(CPUState *cpu) =20 static inline void cpu_handle_debug_exception(CPUState *cpu) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); CPUWatchpoint *wp; =20 if (!cpu->watchpoint_hit) { @@ -450,7 +450,7 @@ static inline bool cpu_handle_exception(CPUState *cpu, = int *ret) which will be handled outside the cpu execution loop */ #if defined(TARGET_I386) - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); cc->do_interrupt(cpu); #endif *ret =3D cpu->exception_index; @@ -458,7 +458,7 @@ static inline bool cpu_handle_exception(CPUState *cpu, = int *ret) return true; #else if (replay_exception()) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); qemu_mutex_lock_iothread(); cc->do_interrupt(cpu); qemu_mutex_unlock_iothread(); @@ -486,7 +486,7 @@ static inline bool cpu_handle_exception(CPUState *cpu, = int *ret) static inline bool cpu_handle_interrupt(CPUState *cpu, TranslationBlock **last_tb) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 if (unlikely(atomic_read(&cpu->interrupt_request))) { int interrupt_request; @@ -621,7 +621,7 @@ static inline void cpu_loop_exec_tb(CPUState *cpu, Tran= slationBlock *tb, =20 int cpu_exec(CPUState *cpu) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); int ret; SyncClocks sc =3D { 0 }; =20 diff --git a/device-hotplug.c b/device-hotplug.c index 126f73c676..1ac178aa30 100644 --- a/device-hotplug.c +++ b/device-hotplug.c @@ -36,7 +36,7 @@ static DriveInfo *add_init_drive(const char *optstr) { DriveInfo *dinfo; QemuOpts *opts; - MachineClass *mc; + const MachineClass *mc; =20 opts =3D drive_def(optstr); if (!opts) diff --git a/disas.c b/disas.c index d335c55bbf..4f4d7dddb5 100644 --- a/disas.c +++ b/disas.c @@ -181,7 +181,7 @@ static int print_insn_od_target(bfd_vma pc, disassemble= _info *info) void target_disas(FILE *out, CPUState *cpu, target_ulong code, target_ulong size, int flags) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); target_ulong pc; int count; CPUDebug s; @@ -369,7 +369,7 @@ monitor_read_memory (bfd_vma memaddr, bfd_byte *myaddr,= int length, void monitor_disas(Monitor *mon, CPUState *cpu, target_ulong pc, int nb_insn, int is_physical, int flag= s) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); int count, i; CPUDebug s; =20 diff --git a/exec.c b/exec.c index e57a8a2178..56e2a495a2 100644 --- a/exec.c +++ b/exec.c @@ -673,7 +673,7 @@ AddressSpace *cpu_get_address_space(CPUState *cpu, int = asidx) =20 void cpu_exec_unrealizefn(CPUState *cpu) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 cpu_list_remove(cpu); =20 @@ -711,7 +711,7 @@ void cpu_exec_initfn(CPUState *cpu) =20 void cpu_exec_realizefn(CPUState *cpu, Error **errp) { - CPUClass *cc ATTRIBUTE_UNUSED =3D CPU_GET_CLASS(cpu); + const CPUClass *cc ATTRIBUTE_UNUSED =3D CPU_GET_CLASS(cpu); =20 cpu_list_add(cpu); =20 @@ -2207,7 +2207,7 @@ static const MemoryRegionOps notdirty_mem_ops =3D { static void check_watchpoint(int offset, int len, MemTxAttrs attrs, int fl= ags) { CPUState *cpu =3D current_cpu; - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); CPUArchState *env =3D cpu->env_ptr; target_ulong pc, cs_base; target_ulong vaddr; diff --git a/gdbstub.c b/gdbstub.c index 3c7e5f3a96..25216c06a6 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -47,7 +47,7 @@ static inline int target_memory_rw_debug(CPUState *cpu, target_ulong addr, uint8_t *buf, int len, bool is_wr= ite) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 if (cc->memory_rw_debug) { return cc->memory_rw_debug(cpu, addr, buf, len, is_write); @@ -625,7 +625,7 @@ static const char *get_feature_xml(const char *p, const= char **newp, =20 static int gdb_read_register(CPUState *cpu, uint8_t *mem_buf, int reg) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); CPUArchState *env =3D cpu->env_ptr; GDBRegisterState *r; =20 @@ -643,7 +643,7 @@ static int gdb_read_register(CPUState *cpu, uint8_t *me= m_buf, int reg) =20 static int gdb_write_register(CPUState *cpu, uint8_t *mem_buf, int reg) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); CPUArchState *env =3D cpu->env_ptr; GDBRegisterState *r; =20 @@ -710,7 +710,7 @@ static inline int xlat_gdb_type(CPUState *cpu, int gdbt= ype) [GDB_WATCHPOINT_ACCESS] =3D BP_GDB | BP_MEM_ACCESS, }; =20 - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); int cputype =3D xlat[gdbtype]; =20 if (cc->gdb_stop_before_watchpoint) { @@ -943,7 +943,7 @@ out: static int gdb_handle_packet(GDBState *s, const char *line_buf) { CPUState *cpu; - CPUClass *cc; + const CPUClass *cc; const char *p; uint32_t thread; int ch, reg_size, type, res; diff --git a/hmp.c b/hmp.c index edb8970461..5e3641ed70 100644 --- a/hmp.c +++ b/hmp.c @@ -809,7 +809,7 @@ static void hmp_info_pci_device(Monitor *mon, const Pci= DeviceInfo *dev) static int hmp_info_irq_foreach(Object *obj, void *opaque) { InterruptStatsProvider *intc; - InterruptStatsProviderClass *k; + const InterruptStatsProviderClass *k; Monitor *mon =3D opaque; =20 if (object_dynamic_cast(obj, TYPE_INTERRUPT_STATS_PROVIDER)) { @@ -847,7 +847,7 @@ void hmp_info_irq(Monitor *mon, const QDict *qdict) static int hmp_info_pic_foreach(Object *obj, void *opaque) { InterruptStatsProvider *intc; - InterruptStatsProviderClass *k; + const InterruptStatsProviderClass *k; Monitor *mon =3D opaque; =20 if (object_dynamic_cast(obj, TYPE_INTERRUPT_STATS_PROVIDER)) { diff --git a/hw/acpi/acpi_interface.c b/hw/acpi/acpi_interface.c index 6583917b8e..ed6c394c98 100644 --- a/hw/acpi/acpi_interface.c +++ b/hw/acpi/acpi_interface.c @@ -4,7 +4,7 @@ =20 void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event) { - AcpiDeviceIfClass *adevc =3D ACPI_DEVICE_IF_GET_CLASS(dev); + const AcpiDeviceIfClass *adevc =3D ACPI_DEVICE_IF_GET_CLASS(dev); if (adevc->send_event) { AcpiDeviceIf *adev =3D ACPI_DEVICE_IF(dev); adevc->send_event(adev, event); diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c index 8c719d3f9d..21b8c16c44 100644 --- a/hw/acpi/cpu.c +++ b/hw/acpi/cpu.c @@ -189,7 +189,7 @@ void cpu_hotplug_hw_init(MemoryRegion *as, Object *owne= r, CPUHotplugState *state, hwaddr base_addr) { MachineState *machine =3D MACHINE(qdev_get_machine()); - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); const CPUArchIdList *id_list; int i; =20 @@ -208,7 +208,7 @@ void cpu_hotplug_hw_init(MemoryRegion *as, Object *owne= r, =20 static AcpiCpuStatus *get_cpu_status(CPUHotplugState *cpu_st, DeviceState = *dev) { - CPUClass *k =3D CPU_GET_CLASS(dev); + const CPUClass *k =3D CPU_GET_CLASS(dev); uint64_t cpu_arch_id =3D k->get_arch_id(CPU(dev)); int i; =20 @@ -323,11 +323,11 @@ void build_cpus_aml(Aml *table, MachineState *machine= , CPUHotplugFeatures opts, Aml *zero =3D aml_int(0); Aml *one =3D aml_int(1); Aml *sb_scope =3D aml_scope("_SB"); - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); const CPUArchIdList *arch_ids =3D mc->possible_cpu_arch_ids(machine); char *cphp_res_path =3D g_strdup_printf("%s." CPUHP_RES_DEVICE, res_ro= ot); Object *obj =3D object_resolve_path_type("", TYPE_ACPI_DEVICE_IF, NULL= ); - AcpiDeviceIfClass *adevc =3D ACPI_DEVICE_IF_GET_CLASS(obj); + const AcpiDeviceIfClass *adevc =3D ACPI_DEVICE_IF_GET_CLASS(obj); AcpiDeviceIf *adev =3D ACPI_DEVICE_IF(obj); =20 cpu_ctrl_dev =3D aml_device("%s", cphp_res_path); diff --git a/hw/acpi/cpu_hotplug.c b/hw/acpi/cpu_hotplug.c index 5243918125..ab0bf1afb1 100644 --- a/hw/acpi/cpu_hotplug.c +++ b/hw/acpi/cpu_hotplug.c @@ -59,7 +59,7 @@ static const MemoryRegionOps AcpiCpuHotplug_ops =3D { static void acpi_set_cpu_present_bit(AcpiCpuHotplug *g, CPUState *cpu, Error **errp) { - CPUClass *k =3D CPU_GET_CLASS(cpu); + const CPUClass *k =3D CPU_GET_CLASS(cpu); int64_t cpu_id; =20 cpu_id =3D k->get_arch_id(cpu); @@ -127,7 +127,7 @@ void build_legacy_cpu_hotplug_aml(Aml *ctx, MachineStat= e *machine, Aml *cpus_map =3D aml_name(CPU_ON_BITMAP); Aml *zero =3D aml_int(0); Aml *one =3D aml_int(1); - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); const CPUArchIdList *apic_ids =3D mc->possible_cpu_arch_ids(machine); PCMachineState *pcms =3D PC_MACHINE(machine); =20 diff --git a/hw/acpi/ipmi.c b/hw/acpi/ipmi.c index 651e2e94ea..4dbad05982 100644 --- a/hw/acpi/ipmi.c +++ b/hw/acpi/ipmi.c @@ -88,7 +88,7 @@ void build_acpi_ipmi_devices(Aml *scope, BusState *bus) =20 QTAILQ_FOREACH(kid, &bus->children, sibling) { IPMIInterface *ii; - IPMIInterfaceClass *iic; + const IPMIInterfaceClass *iic; IPMIFwInfo info; Object *obj =3D object_dynamic_cast(OBJECT(kid->child), TYPE_IPMI_INTERFACE); diff --git a/hw/acpi/memory_hotplug.c b/hw/acpi/memory_hotplug.c index 210073d283..4e5f8a4ae9 100644 --- a/hw/acpi/memory_hotplug.c +++ b/hw/acpi/memory_hotplug.c @@ -262,7 +262,7 @@ void acpi_memory_plug_cb(HotplugHandler *hotplug_dev, M= emHotplugState *mem_st, DeviceState *dev, Error **errp) { MemStatus *mdev; - DeviceClass *dc =3D DEVICE_GET_CLASS(dev); + const DeviceClass *dc =3D DEVICE_GET_CLASS(dev); =20 if (!dc->hotpluggable) { return; diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c index 8e7d6ec034..05d98dc3ff 100644 --- a/hw/acpi/nvdimm.c +++ b/hw/acpi/nvdimm.c @@ -690,7 +690,7 @@ static uint32_t nvdimm_rw_label_data_check(NVDIMMDevice= *nvdimm, static void nvdimm_dsm_get_label_data(NVDIMMDevice *nvdimm, NvdimmDsmIn *i= n, hwaddr dsm_mem_addr) { - NVDIMMClass *nvc =3D NVDIMM_GET_CLASS(nvdimm); + const NVDIMMClass *nvc =3D NVDIMM_GET_CLASS(nvdimm); NvdimmFuncGetLabelDataIn *get_label_data; NvdimmFuncGetLabelDataOut *get_label_data_out; uint32_t status; @@ -730,7 +730,7 @@ static void nvdimm_dsm_get_label_data(NVDIMMDevice *nvd= imm, NvdimmDsmIn *in, static void nvdimm_dsm_set_label_data(NVDIMMDevice *nvdimm, NvdimmDsmIn *i= n, hwaddr dsm_mem_addr) { - NVDIMMClass *nvc =3D NVDIMM_GET_CLASS(nvdimm); + const NVDIMMClass *nvc =3D NVDIMM_GET_CLASS(nvdimm); NvdimmFuncSetLabelDataIn *set_label_data; uint32_t status; =20 diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 2b0f3e1bfb..48c9f3e583 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -106,8 +106,8 @@ static PCIBus *acpi_pcihp_find_hotplug_bus(AcpiPciHpSta= te *s, int bsel) =20 static bool acpi_pcihp_pc_no_hotplug(AcpiPciHpState *s, PCIDevice *dev) { - PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); - DeviceClass *dc =3D DEVICE_GET_CLASS(dev); + const PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); + const DeviceClass *dc =3D DEVICE_GET_CLASS(dev); /* * ACPI doesn't allow hotplug of bridge devices. Don't allow * hot-unplug of bridge devices unless they were added by hotplug diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index 283c038814..21a506782d 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -164,7 +164,7 @@ static void aspeed_board_init(MachineState *machine, const AspeedBoardConfig *cfg) { AspeedBoardState *bmc; - AspeedSoCClass *sc; + const AspeedSoCClass *sc; DriveInfo *drive0 =3D drive_get(IF_MTD, 0, 0); =20 bmc =3D g_new0(AspeedBoardState, 1); diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c index 571e4f097b..020fe1b159 100644 --- a/hw/arm/aspeed_soc.c +++ b/hw/arm/aspeed_soc.c @@ -120,7 +120,7 @@ static const MemoryRegionOps aspeed_soc_io_ops =3D { static void aspeed_soc_init(Object *obj) { AspeedSoCState *s =3D ASPEED_SOC(obj); - AspeedSoCClass *sc =3D ASPEED_SOC_GET_CLASS(s); + const AspeedSoCClass *sc =3D ASPEED_SOC_GET_CLASS(s); char *cpu_typename; int i; =20 @@ -181,7 +181,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) { int i; AspeedSoCState *s =3D ASPEED_SOC(dev); - AspeedSoCClass *sc =3D ASPEED_SOC_GET_CLASS(s); + const AspeedSoCClass *sc =3D ASPEED_SOC_GET_CLASS(s); Error *err =3D NULL, *local_err =3D NULL; =20 /* IO space */ diff --git a/hw/arm/boot.c b/hw/arm/boot.c index ff621e4b6a..0e93aca969 100644 --- a/hw/arm/boot.c +++ b/hw/arm/boot.c @@ -702,7 +702,7 @@ static int do_arm_linux_init(Object *obj, void *opaque) { if (object_dynamic_cast(obj, TYPE_ARM_LINUX_BOOT_IF)) { ARMLinuxBootIf *albif =3D ARM_LINUX_BOOT_IF(obj); - ARMLinuxBootIfClass *albifc =3D ARM_LINUX_BOOT_IF_GET_CLASS(obj); + const ARMLinuxBootIfClass *albifc =3D ARM_LINUX_BOOT_IF_GET_CLASS(= obj); struct arm_boot_info *info =3D opaque; =20 if (albifc->arm_linux_init) { diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c index 0efa194054..7101e38c13 100644 --- a/hw/arm/exynos4_boards.c +++ b/hw/arm/exynos4_boards.c @@ -98,7 +98,7 @@ static void lan9215_init(uint32_t base, qemu_irq irq) static Exynos4210State *exynos4_boards_init_common(MachineState *machine, Exynos4BoardType board_= type) { - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); =20 if (smp_cpus !=3D EXYNOS4210_NCPUS && !qtest_enabled()) { fprintf(stderr, "%s board supports only %d CPU cores. Ignoring smp= _cpus" diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c index c6b1e674b4..266c27564f 100644 --- a/hw/arm/vexpress.c +++ b/hw/arm/vexpress.c @@ -543,7 +543,7 @@ static pflash_t *ve_pflash_cfi01_register(hwaddr base, = const char *name, static void vexpress_common_init(MachineState *machine) { VexpressMachineState *vms =3D VEXPRESS_MACHINE(machine); - VexpressMachineClass *vmc =3D VEXPRESS_MACHINE_GET_CLASS(machine); + const VexpressMachineClass *vmc =3D VEXPRESS_MACHINE_GET_CLASS(machine= ); VEDBoardInfo *daughterboard =3D vmc->daughterboard; DeviceState *dev, *sysctl, *pl041; qemu_irq pic[64]; diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index 0835e59bb2..605f54ee2d 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -546,7 +546,7 @@ build_mcfg(GArray *table_data, BIOSLinker *linker, Virt= MachineState *vms) static void build_gtdt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) { - VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(vms); + const VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(vms); int gtdt_start =3D table_data->len; AcpiGenericTimerTable *gtdt; uint32_t irqflags; @@ -581,7 +581,7 @@ build_gtdt(GArray *table_data, BIOSLinker *linker, Virt= MachineState *vms) static void build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) { - VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(vms); + const VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(vms); int madt_start =3D table_data->len; const MemMapEntry *memmap =3D vms->memmap; const int *irqmap =3D vms->irqmap; @@ -746,7 +746,7 @@ struct AcpiBuildState { static void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables) { - VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(vms); + const VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(vms); GArray *table_offsets; unsigned dsdt, rsdt; GArray *tables_blob =3D tables->table_data; diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 5f62a0321e..6579cb97a3 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -302,7 +302,7 @@ static void fdt_add_timer_nodes(const VirtMachineState = *vms) * the correct information. */ ARMCPU *armcpu; - VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(vms); + const VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(vms); uint32_t irqflags =3D GIC_FDT_IRQ_FLAGS_LEVEL_HI; =20 if (vmc->claim_edge_triggered_timers) { @@ -1197,7 +1197,7 @@ void virt_machine_done(Notifier *notifier, void *data) static void machvirt_init(MachineState *machine) { VirtMachineState *vms =3D VIRT_MACHINE(machine); - VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(machine); + const VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(machine); qemu_irq pic[NUM_IRQS]; MemoryRegion *sysmem =3D get_system_memory(); MemoryRegion *secure_sysmem =3D NULL; @@ -1554,7 +1554,7 @@ type_init(machvirt_machine_init); static void virt_2_9_instance_init(Object *obj) { VirtMachineState *vms =3D VIRT_MACHINE(obj); - VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(vms); + const VirtMachineClass *vmc =3D VIRT_MACHINE_GET_CLASS(vms); =20 /* EL3 is disabled by default on virt: this makes us consistent * between KVM and TCG for this board, and it also allows us to diff --git a/hw/audio/cs4231a.c b/hw/audio/cs4231a.c index 3ecd0582bf..47630c7e77 100644 --- a/hw/audio/cs4231a.c +++ b/hw/audio/cs4231a.c @@ -266,7 +266,7 @@ static void cs_reset_voices (CSState *s, uint32_t val) { int xtal; struct audsettings as; - IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); + const IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); =20 #ifdef DEBUG_XLAW if (val =3D=3D 0 || val =3D=3D 32) @@ -455,7 +455,7 @@ static void cs_write (void *opaque, hwaddr addr, } else { if (s->dma_running) { - IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); + const IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); k->release_DREQ(s->isa_dma, s->dma); AUD_set_active_out (s->voice, 0); s->dma_running =3D 0; @@ -521,7 +521,7 @@ static int cs_write_audio (CSState *s, int nchan, int d= ma_pos, { int temp, net; uint8_t tmpbuf[4096]; - IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); + const IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); =20 temp =3D len; net =3D 0; @@ -604,7 +604,7 @@ static int cs4231a_pre_load (void *opaque) CSState *s =3D opaque; =20 if (s->dma_running) { - IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); + const IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); k->release_DREQ(s->isa_dma, s->dma); AUD_set_active_out (s->voice, 0); } @@ -661,7 +661,7 @@ static void cs4231a_realizefn (DeviceState *dev, Error = **errp) { ISADevice *d =3D ISA_DEVICE (dev); CSState *s =3D CS4231A (dev); - IsaDmaClass *k; + const IsaDmaClass *k; =20 isa_init_irq (d, &s->pic, s->irq); s->isa_dma =3D isa_get_dma(isa_bus_from_device(d), s->dma); diff --git a/hw/audio/gus.c b/hw/audio/gus.c index 3d08a6576a..07aba884d2 100644 --- a/hw/audio/gus.c +++ b/hw/audio/gus.c @@ -175,7 +175,7 @@ void GUS_irqclear (GUSEmuState *emu, int hwirq) void GUS_dmarequest (GUSEmuState *emu) { GUSState *s =3D emu->opaque; - IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); + const IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); ldebug ("dma request %d\n", der->gusdma); k->hold_DREQ(s->isa_dma, s->emu.gusdma); } @@ -183,7 +183,7 @@ void GUS_dmarequest (GUSEmuState *emu) static int GUS_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len) { GUSState *s =3D opaque; - IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); + const IsaDmaClass *k =3D ISADMA_GET_CLASS(s->isa_dma); char tmpbuf[4096]; int pos =3D dma_pos, mode, left =3D dma_len - dma_pos; =20 @@ -238,7 +238,7 @@ static void gus_realizefn (DeviceState *dev, Error **er= rp) { ISADevice *d =3D ISA_DEVICE(dev); GUSState *s =3D GUS (dev); - IsaDmaClass *k; + const IsaDmaClass *k; struct audsettings as; =20 AUD_register_card ("gus", &s->card); diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c index 537face94d..afdb3e4912 100644 --- a/hw/audio/intel-hda.c +++ b/hw/audio/intel-hda.c @@ -55,7 +55,7 @@ static void hda_codec_dev_realize(DeviceState *qdev, Erro= r **errp) { HDACodecBus *bus =3D HDA_BUS(qdev->parent_bus); HDACodecDevice *dev =3D HDA_CODEC_DEVICE(qdev); - HDACodecDeviceClass *cdc =3D HDA_CODEC_DEVICE_GET_CLASS(dev); + const HDACodecDeviceClass *cdc =3D HDA_CODEC_DEVICE_GET_CLASS(dev); =20 if (dev->cad =3D=3D -1) { dev->cad =3D bus->next_cad; @@ -73,7 +73,7 @@ static void hda_codec_dev_realize(DeviceState *qdev, Erro= r **errp) static int hda_codec_dev_exit(DeviceState *qdev) { HDACodecDevice *dev =3D HDA_CODEC_DEVICE(qdev); - HDACodecDeviceClass *cdc =3D HDA_CODEC_DEVICE_GET_CLASS(dev); + const HDACodecDeviceClass *cdc =3D HDA_CODEC_DEVICE_GET_CLASS(dev); =20 if (cdc->exit) { cdc->exit(dev); @@ -280,7 +280,7 @@ static int intel_hda_send_command(IntelHDAState *d, uin= t32_t verb) { uint32_t cad, nid, data; HDACodecDevice *codec; - HDACodecDeviceClass *cdc; + const HDACodecDeviceClass *cdc; =20 cad =3D (verb >> 28) & 0x0f; if (verb & (1 << 27)) { @@ -493,7 +493,7 @@ static void intel_hda_notify_codecs(IntelHDAState *d, u= int32_t stream, bool runn =20 QTAILQ_FOREACH(kid, &d->codecs.qbus.children, sibling) { DeviceState *qdev =3D kid->child; - HDACodecDeviceClass *cdc; + const HDACodecDeviceClass *cdc; =20 cdev =3D HDA_CODEC_DEVICE(qdev); cdc =3D HDA_CODEC_DEVICE_GET_CLASS(cdev); diff --git a/hw/audio/sb16.c b/hw/audio/sb16.c index 6b4427f242..912ca5cf0e 100644 --- a/hw/audio/sb16.c +++ b/hw/audio/sb16.c @@ -170,7 +170,7 @@ static void control (SB16State *s, int hold) { int dma =3D s->use_hdma ? s->hdma : s->dma; IsaDma *isa_dma =3D s->use_hdma ? s->isa_hdma : s->isa_dma; - IsaDmaClass *k =3D ISADMA_GET_CLASS(isa_dma); + const IsaDmaClass *k =3D ISADMA_GET_CLASS(isa_dma); s->dma_running =3D hold; =20 ldebug ("hold %d high %d dma %d\n", hold, s->use_hdma, dma); @@ -1143,7 +1143,7 @@ static int write_audio (SB16State *s, int nchan, int = dma_pos, int dma_len, int len) { IsaDma *isa_dma =3D nchan =3D=3D s->dma ? s->isa_dma : s->isa_hdma; - IsaDmaClass *k =3D ISADMA_GET_CLASS(isa_dma); + const IsaDmaClass *k =3D ISADMA_GET_CLASS(isa_dma); int temp, net; uint8_t tmpbuf[4096]; =20 @@ -1362,7 +1362,7 @@ static void sb16_realizefn (DeviceState *dev, Error *= *errp) { ISADevice *isadev =3D ISA_DEVICE (dev); SB16State *s =3D SB16 (dev); - IsaDmaClass *k; + const IsaDmaClass *k; =20 isa_init_irq (isadev, &s->pic, s->irq); =20 diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-bl= k.c index 5556f0e64e..81cc13e7e2 100644 --- a/hw/block/dataplane/virtio-blk.c +++ b/hw/block/dataplane/virtio-blk.c @@ -82,7 +82,7 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, Vir= tIOBlkConf *conf, { VirtIOBlockDataPlane *s; BusState *qbus =3D BUS(qdev_get_parent_bus(DEVICE(vdev))); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); =20 *dataplane =3D NULL; =20 @@ -164,7 +164,7 @@ int virtio_blk_data_plane_start(VirtIODevice *vdev) VirtIOBlock *vblk =3D VIRTIO_BLK(vdev); VirtIOBlockDataPlane *s =3D vblk->dataplane; BusState *qbus =3D BUS(qdev_get_parent_bus(DEVICE(vblk))); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); unsigned i; unsigned nvqs =3D s->conf->num_queues; int r; @@ -232,7 +232,7 @@ void virtio_blk_data_plane_stop(VirtIODevice *vdev) VirtIOBlock *vblk =3D VIRTIO_BLK(vdev); VirtIOBlockDataPlane *s =3D vblk->dataplane; BusState *qbus =3D qdev_get_parent_bus(DEVICE(vblk)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); unsigned i; unsigned nvqs =3D s->conf->num_queues; =20 diff --git a/hw/block/fdc.c b/hw/block/fdc.c index a328693d15..8e8bd3d589 100644 --- a/hw/block/fdc.c +++ b/hw/block/fdc.c @@ -1629,7 +1629,7 @@ static void fdctrl_stop_transfer(FDCtrl *fdctrl, uint= 8_t status0, fdctrl->fifo[6] =3D FD_SECTOR_SC; fdctrl->data_dir =3D FD_DIR_READ; if (!(fdctrl->msr & FD_MSR_NONDMA)) { - IsaDmaClass *k =3D ISADMA_GET_CLASS(fdctrl->dma); + const IsaDmaClass *k =3D ISADMA_GET_CLASS(fdctrl->dma); k->release_DREQ(fdctrl->dma, fdctrl->dma_chann); } fdctrl->msr |=3D FD_MSR_RQM | FD_MSR_DIO; @@ -1717,7 +1717,7 @@ static void fdctrl_start_transfer(FDCtrl *fdctrl, int= direction) fdctrl->eot =3D fdctrl->fifo[6]; if (fdctrl->dor & FD_DOR_DMAEN) { IsaDmaTransferMode dma_mode; - IsaDmaClass *k =3D ISADMA_GET_CLASS(fdctrl->dma); + const IsaDmaClass *k =3D ISADMA_GET_CLASS(fdctrl->dma); bool dma_mode_ok; /* DMA transfer are enabled. Check if DMA channel is well programm= ed */ dma_mode =3D k->get_transfer_mode(fdctrl->dma, fdctrl->dma_chann); @@ -1791,7 +1791,7 @@ static int fdctrl_transfer_handler (void *opaque, int= nchan, FDrive *cur_drv; int len, start_pos, rel_pos; uint8_t status0 =3D 0x00, status1 =3D 0x00, status2 =3D 0x00; - IsaDmaClass *k; + const IsaDmaClass *k; =20 fdctrl =3D opaque; if (fdctrl->msr & FD_MSR_RQM) { @@ -2667,7 +2667,7 @@ static void fdctrl_realize_common(DeviceState *dev, F= DCtrl *fdctrl, fdctrl->num_floppies =3D MAX_FD; =20 if (fdctrl->dma_chann !=3D -1) { - IsaDmaClass *k; + const IsaDmaClass *k; assert(fdctrl->dma); k =3D ISADMA_GET_CLASS(fdctrl->dma); k->register_channel(fdctrl->dma, fdctrl->dma_chann, diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c index 190573cefa..e5585eeca9 100644 --- a/hw/block/m25p80.c +++ b/hw/block/m25p80.c @@ -1214,7 +1214,7 @@ static uint32_t m25p80_transfer8(SSISlave *ss, uint32= _t tx) static void m25p80_realize(SSISlave *ss, Error **errp) { Flash *s =3D M25P80(ss); - M25P80Class *mc =3D M25P80_GET_CLASS(s); + const M25P80Class *mc =3D M25P80_GET_CLASS(s); int ret; =20 s->pi =3D mc->pi; diff --git a/hw/char/serial-pci.c b/hw/char/serial-pci.c index 303104dd19..be683a5559 100644 --- a/hw/char/serial-pci.c +++ b/hw/char/serial-pci.c @@ -88,7 +88,7 @@ static void multi_serial_irq_mux(void *opaque, int n, int= level) =20 static void multi_serial_pci_realize(PCIDevice *dev, Error **errp) { - PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); + const PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); PCIMultiSerialState *pci =3D DO_UPCAST(PCIMultiSerialState, dev, dev); SerialState *s; Error *err =3D NULL; diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c index 798d9b69fd..d23ebe29f0 100644 --- a/hw/char/virtio-console.c +++ b/hw/char/virtio-console.c @@ -58,7 +58,7 @@ static ssize_t flush_buf(VirtIOSerialPort *port, trace_virtio_console_flush_buf(port->id, len, ret); =20 if (ret < len) { - VirtIOSerialPortClass *k =3D VIRTIO_SERIAL_PORT_GET_CLASS(port); + const VirtIOSerialPortClass *k =3D VIRTIO_SERIAL_PORT_GET_CLASS(po= rt); =20 /* * Ideally we'd get a better error code than just -1, but @@ -106,7 +106,7 @@ static void set_guest_connected(VirtIOSerialPort *port,= int guest_connected) { VirtConsole *vcon =3D VIRTIO_CONSOLE(port); DeviceState *dev =3D DEVICE(port); - VirtIOSerialPortClass *k =3D VIRTIO_SERIAL_PORT_GET_CLASS(port); + const VirtIOSerialPortClass *k =3D VIRTIO_SERIAL_PORT_GET_CLASS(port); =20 if (!k->is_console) { qemu_chr_fe_set_open(&vcon->chr, guest_connected); @@ -167,7 +167,7 @@ static void virtconsole_realize(DeviceState *dev, Error= **errp) { VirtIOSerialPort *port =3D VIRTIO_SERIAL_PORT(dev); VirtConsole *vcon =3D VIRTIO_CONSOLE(dev); - VirtIOSerialPortClass *k =3D VIRTIO_SERIAL_PORT_GET_CLASS(dev); + const VirtIOSerialPortClass *k =3D VIRTIO_SERIAL_PORT_GET_CLASS(dev); Chardev *chr =3D qemu_chr_fe_get_driver(&vcon->chr); =20 if (port->id =3D=3D 0 && !k->is_console) { diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c index d797a6796e..dcb4aa0055 100644 --- a/hw/char/virtio-serial-bus.c +++ b/hw/char/virtio-serial-bus.c @@ -80,7 +80,7 @@ static VirtIOSerialPort *find_first_connected_console(Vir= tIOSerial *vser) VirtIOSerialPort *port; =20 QTAILQ_FOREACH(port, &vser->ports, next) { - VirtIOSerialPortClass const *vsc =3D VIRTIO_SERIAL_PORT_GET_CLASS(= port); + const VirtIOSerialPortClass *vsc =3D VIRTIO_SERIAL_PORT_GET_CLASS(= port); if (vsc->is_console && port->host_connected) { return port; } @@ -157,7 +157,7 @@ static void discard_throttle_data(VirtIOSerialPort *por= t) static void do_flush_queued_data(VirtIOSerialPort *port, VirtQueue *vq, VirtIODevice *vdev) { - VirtIOSerialPortClass *vsc; + const VirtIOSerialPortClass *vsc; =20 assert(port); assert(virtio_queue_ready(vq)); @@ -342,7 +342,7 @@ static void handle_control_message(VirtIOSerial *vser, = void *buf, size_t len) { VirtIODevice *vdev =3D VIRTIO_DEVICE(vser); struct VirtIOSerialPort *port; - VirtIOSerialPortClass *vsc; + const VirtIOSerialPortClass *vsc; struct virtio_console_control cpkt, *gcpkt; uint8_t *buffer; size_t buffer_len; @@ -524,7 +524,7 @@ static void handle_input(VirtIODevice *vdev, VirtQueue = *vq) */ VirtIOSerial *vser; VirtIOSerialPort *port; - VirtIOSerialPortClass *vsc; + const VirtIOSerialPortClass *vsc; =20 vser =3D VIRTIO_SERIAL(vdev); port =3D find_port_by_vq(vser, vq); @@ -579,7 +579,7 @@ static void set_config(VirtIODevice *vdev, const uint8_= t *config_data) (struct virtio_console_config *)config_data; uint8_t emerg_wr_lo =3D le32_to_cpu(config->emerg_wr); VirtIOSerialPort *port =3D find_first_connected_console(vser); - VirtIOSerialPortClass *vsc; + const VirtIOSerialPortClass *vsc; =20 if (!config->emerg_wr) { return; @@ -597,7 +597,7 @@ static void set_config(VirtIODevice *vdev, const uint8_= t *config_data) static void guest_reset(VirtIOSerial *vser) { VirtIOSerialPort *port; - VirtIOSerialPortClass *vsc; + const VirtIOSerialPortClass *vsc; =20 QTAILQ_FOREACH(port, &vser->ports, next) { vsc =3D VIRTIO_SERIAL_PORT_GET_CLASS(port); @@ -702,7 +702,7 @@ static void virtio_serial_post_load_timer_cb(void *opaq= ue) VirtIOSerial *s =3D VIRTIO_SERIAL(opaque); VirtIOSerialPort *port; uint8_t host_connected; - VirtIOSerialPortClass *vsc; + const VirtIOSerialPortClass *vsc; =20 if (!s->post_load) { return; @@ -919,7 +919,7 @@ static void remove_port(VirtIOSerial *vser, uint32_t po= rt_id) static void virtser_port_device_realize(DeviceState *dev, Error **errp) { VirtIOSerialPort *port =3D VIRTIO_SERIAL_PORT(dev); - VirtIOSerialPortClass *vsc =3D VIRTIO_SERIAL_PORT_GET_CLASS(port); + const VirtIOSerialPortClass *vsc =3D VIRTIO_SERIAL_PORT_GET_CLASS(port= ); VirtIOSerialBus *bus =3D VIRTIO_SERIAL_BUS(qdev_get_parent_bus(dev)); int max_nr_ports; bool plugging_port0; @@ -996,7 +996,7 @@ static void virtser_port_device_plug(HotplugHandler *ho= tplug_dev, static void virtser_port_device_unrealize(DeviceState *dev, Error **errp) { VirtIOSerialPort *port =3D VIRTIO_SERIAL_PORT(dev); - VirtIOSerialPortClass *vsc =3D VIRTIO_SERIAL_PORT_GET_CLASS(dev); + const VirtIOSerialPortClass *vsc =3D VIRTIO_SERIAL_PORT_GET_CLASS(dev); VirtIOSerial *vser =3D port->vser; =20 qemu_bh_delete(port->bh); diff --git a/hw/core/bus.c b/hw/core/bus.c index 9233f8723b..1d913606b7 100644 --- a/hw/core/bus.c +++ b/hw/core/bus.c @@ -156,7 +156,7 @@ static bool bus_get_realized(Object *obj, Error **errp) static void bus_set_realized(Object *obj, bool value, Error **errp) { BusState *bus =3D BUS(obj); - BusClass *bc =3D BUS_GET_CLASS(bus); + const BusClass *bc =3D BUS_GET_CLASS(bus); BusChild *kid; Error *local_err =3D NULL; =20 diff --git a/hw/core/fw-path-provider.c b/hw/core/fw-path-provider.c index 33b99830e7..808b4a0699 100644 --- a/hw/core/fw-path-provider.c +++ b/hw/core/fw-path-provider.c @@ -21,7 +21,7 @@ char *fw_path_provider_get_dev_path(FWPathProvider *p, BusState *bus, DeviceState *dev) { - FWPathProviderClass *k =3D FW_PATH_PROVIDER_GET_CLASS(p); + const FWPathProviderClass *k =3D FW_PATH_PROVIDER_GET_CLASS(p); =20 return k->get_dev_path(p, bus, dev); } diff --git a/hw/core/generic-loader.c b/hw/core/generic-loader.c index 58f1f02902..84d9134c7f 100644 --- a/hw/core/generic-loader.c +++ b/hw/core/generic-loader.c @@ -45,7 +45,7 @@ static void generic_loader_reset(void *opaque) GenericLoaderState *s =3D GENERIC_LOADER(opaque); =20 if (s->set_pc) { - CPUClass *cc =3D CPU_GET_CLASS(s->cpu); + const CPUClass *cc =3D CPU_GET_CLASS(s->cpu); cpu_reset(s->cpu); if (cc) { cc->set_pc(s->cpu, s->addr); diff --git a/hw/core/hotplug.c b/hw/core/hotplug.c index 17ac986685..9ef66a9f15 100644 --- a/hw/core/hotplug.c +++ b/hw/core/hotplug.c @@ -17,7 +17,7 @@ void hotplug_handler_pre_plug(HotplugHandler *plug_handle= r, DeviceState *plugged_dev, Error **errp) { - HotplugHandlerClass *hdc =3D HOTPLUG_HANDLER_GET_CLASS(plug_handler); + const HotplugHandlerClass *hdc =3D HOTPLUG_HANDLER_GET_CLASS(plug_hand= ler); =20 if (hdc->pre_plug) { hdc->pre_plug(plug_handler, plugged_dev, errp); @@ -28,7 +28,7 @@ void hotplug_handler_plug(HotplugHandler *plug_handler, DeviceState *plugged_dev, Error **errp) { - HotplugHandlerClass *hdc =3D HOTPLUG_HANDLER_GET_CLASS(plug_handler); + const HotplugHandlerClass *hdc =3D HOTPLUG_HANDLER_GET_CLASS(plug_hand= ler); =20 if (hdc->plug) { hdc->plug(plug_handler, plugged_dev, errp); @@ -39,7 +39,7 @@ void hotplug_handler_unplug_request(HotplugHandler *plug_= handler, DeviceState *plugged_dev, Error **errp) { - HotplugHandlerClass *hdc =3D HOTPLUG_HANDLER_GET_CLASS(plug_handler); + const HotplugHandlerClass *hdc =3D HOTPLUG_HANDLER_GET_CLASS(plug_hand= ler); =20 if (hdc->unplug_request) { hdc->unplug_request(plug_handler, plugged_dev, errp); @@ -50,7 +50,7 @@ void hotplug_handler_unplug(HotplugHandler *plug_handler, DeviceState *plugged_dev, Error **errp) { - HotplugHandlerClass *hdc =3D HOTPLUG_HANDLER_GET_CLASS(plug_handler); + const HotplugHandlerClass *hdc =3D HOTPLUG_HANDLER_GET_CLASS(plug_hand= ler); =20 if (hdc->unplug) { hdc->unplug(plug_handler, plugged_dev, errp); diff --git a/hw/core/loader.c b/hw/core/loader.c index bf17b42cbe..3ea6ace302 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -884,7 +884,7 @@ int rom_add_file(const char *file, const char *fw_dir, bool option_rom, MemoryRegion *mr, AddressSpace *as) { - MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); + const MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); Rom *rom; int rc, fd =3D -1; char devpath[100]; @@ -989,7 +989,7 @@ MemoryRegion *rom_add_blob(const char *name, const void= *blob, size_t len, FWCfgReadCallback fw_callback, void *callback_opaque, AddressSpace *as, bool read_only) { - MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); + const MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); Rom *rom; MemoryRegion *mr =3D NULL; =20 diff --git a/hw/core/machine.c b/hw/core/machine.c index 6aa452a792..d49214a095 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -342,7 +342,7 @@ static void error_on_sysbus_device(SysBusDevice *sbdev,= void *opaque) static void machine_init_notify(Notifier *notifier, void *data) { Object *machine =3D qdev_get_machine(); - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); =20 if (mc->has_dynamic_sysbus) { /* Our machine can handle dynamic sysbus devices, we're all good */ @@ -610,7 +610,7 @@ static void machine_register_compat_for_subclass(Object= Class *oc, void *opaque) =20 void machine_register_compat_props(MachineState *machine) { - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); int i; GlobalProperty *p; ObjectClass *oc; diff --git a/hw/core/nmi.c b/hw/core/nmi.c index bfd0896daf..ee90ae9b13 100644 --- a/hw/core/nmi.c +++ b/hw/core/nmi.c @@ -39,7 +39,7 @@ static int do_nmi(Object *o, void *opaque) NMIState *n =3D (NMIState *) object_dynamic_cast(o, TYPE_NMI); =20 if (n) { - NMIClass *nc =3D NMI_GET_CLASS(n); + const NMIClass *nc =3D NMI_GET_CLASS(n); =20 ns->handled =3D true; nc->nmi_monitor_handler(n, ns->cpu_index, &ns->err); diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 6ab4265eb4..6d0ef1ffe4 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -937,7 +937,7 @@ static Property *qdev_prop_walk(Property *props, const = char *name) =20 static Property *qdev_prop_find(DeviceState *dev, const char *name) { - ObjectClass *class; + const ObjectClass *class; Property *prop; =20 /* device properties */ @@ -1118,7 +1118,7 @@ static void qdev_prop_set_globals_for_type(DeviceStat= e *dev, =20 void qdev_prop_set_globals(DeviceState *dev) { - ObjectClass *class =3D object_get_class(OBJECT(dev)); + const ObjectClass *class =3D object_get_class(OBJECT(dev)); =20 do { qdev_prop_set_globals_for_type(dev, object_class_get_name(class)); diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 1e7fb33246..87f46743d6 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -45,13 +45,13 @@ static bool qdev_hot_removed =3D false; =20 const VMStateDescription *qdev_get_vmsd(DeviceState *dev) { - DeviceClass *dc =3D DEVICE_GET_CLASS(dev); + const DeviceClass *dc =3D DEVICE_GET_CLASS(dev); return dc->vmsd; } =20 const char *qdev_fw_name(DeviceState *dev) { - DeviceClass *dc =3D DEVICE_GET_CLASS(dev); + const DeviceClass *dc =3D DEVICE_GET_CLASS(dev); =20 if (dc->fw_name) { return dc->fw_name; @@ -222,7 +222,7 @@ void device_listener_unregister(DeviceListener *listene= r) =20 static void device_realize(DeviceState *dev, Error **errp) { - DeviceClass *dc =3D DEVICE_GET_CLASS(dev); + const DeviceClass *dc =3D DEVICE_GET_CLASS(dev); =20 if (dc->init) { int rc =3D dc->init(dev); @@ -235,7 +235,7 @@ static void device_realize(DeviceState *dev, Error **er= rp) =20 static void device_unrealize(DeviceState *dev, Error **errp) { - DeviceClass *dc =3D DEVICE_GET_CLASS(dev); + const DeviceClass *dc =3D DEVICE_GET_CLASS(dev); =20 if (dc->exit) { int rc =3D dc->exit(dev); @@ -262,7 +262,7 @@ HotplugHandler *qdev_get_hotplug_handler(DeviceState *d= ev) hotplug_ctrl =3D dev->parent_bus->hotplug_handler; } else if (object_dynamic_cast(qdev_get_machine(), TYPE_MACHINE)) { MachineState *machine =3D MACHINE(qdev_get_machine()); - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); =20 if (mc->get_hotplug_handler) { hotplug_ctrl =3D mc->get_hotplug_handler(machine, dev); @@ -273,9 +273,9 @@ HotplugHandler *qdev_get_hotplug_handler(DeviceState *d= ev) =20 void qdev_unplug(DeviceState *dev, Error **errp) { - DeviceClass *dc =3D DEVICE_GET_CLASS(dev); + const DeviceClass *dc =3D DEVICE_GET_CLASS(dev); HotplugHandler *hotplug_ctrl; - HotplugHandlerClass *hdc; + const HotplugHandlerClass *hdc; =20 if (dev->parent_bus && !qbus_is_hotpluggable(dev->parent_bus)) { error_setg(errp, QERR_BUS_NO_HOTPLUG, dev->parent_bus->name); @@ -314,7 +314,7 @@ static int qdev_reset_one(DeviceState *dev, void *opaqu= e) =20 static int qbus_reset_one(BusState *bus, void *opaque) { - BusClass *bc =3D BUS_GET_CLASS(bus); + const BusClass *bc =3D BUS_GET_CLASS(bus); if (bc->reset) { bc->reset(bus); } @@ -656,7 +656,7 @@ DeviceState *qdev_find_recursive(BusState *bus, const c= har *id) =20 static char *bus_get_fw_dev_path(BusState *bus, DeviceState *dev) { - BusClass *bc =3D BUS_GET_CLASS(bus); + const BusClass *bc =3D BUS_GET_CLASS(bus); =20 if (bc->get_fw_dev_path) { return bc->get_fw_dev_path(dev); @@ -721,7 +721,7 @@ char* qdev_get_fw_dev_path(DeviceState *dev) =20 char *qdev_get_dev_path(DeviceState *dev) { - BusClass *bc; + const BusClass *bc; =20 if (!dev || !dev->parent_bus) { return NULL; @@ -847,12 +847,12 @@ void qdev_property_add_static(DeviceState *dev, Prope= rty *prop, */ void qdev_alias_all_properties(DeviceState *target, Object *source) { - ObjectClass *class; + const ObjectClass *class; Property *prop; =20 class =3D object_get_class(OBJECT(target)); do { - DeviceClass *dc =3D DEVICE_CLASS(class); + const DeviceClass *dc =3D DEVICE_CLASS(class); =20 for (prop =3D dc->props; prop && prop->name; prop++) { object_property_add_alias(source, prop->name, @@ -898,7 +898,7 @@ static bool device_get_realized(Object *obj, Error **er= rp) static void device_set_realized(Object *obj, bool value, Error **errp) { DeviceState *dev =3D DEVICE(obj); - DeviceClass *dc =3D DEVICE_GET_CLASS(dev); + const DeviceClass *dc =3D DEVICE_GET_CLASS(dev); HotplugHandler *hotplug_ctrl; BusState *bus; Error *local_err =3D NULL; @@ -1023,7 +1023,7 @@ fail: =20 static bool device_get_hotpluggable(Object *obj, Error **errp) { - DeviceClass *dc =3D DEVICE_GET_CLASS(obj); + const DeviceClass *dc =3D DEVICE_GET_CLASS(obj); DeviceState *dev =3D DEVICE(obj); =20 return dc->hotpluggable && (dev->parent_bus =3D=3D NULL || @@ -1047,7 +1047,7 @@ static void device_set_hotplugged(Object *obj, bool v= alue, Error **err) static void device_initfn(Object *obj) { DeviceState *dev =3D DEVICE(obj); - ObjectClass *class; + const ObjectClass *class; Property *prop; =20 if (qdev_hotplug) { @@ -1163,7 +1163,7 @@ static void device_class_init(ObjectClass *class, voi= d *data) =20 void device_reset(DeviceState *dev) { - DeviceClass *klass =3D DEVICE_GET_CLASS(dev); + const DeviceClass *klass =3D DEVICE_GET_CLASS(dev); =20 if (klass->reset) { klass->reset(dev); diff --git a/hw/core/stream.c b/hw/core/stream.c index 4439ecdf0b..e2e32da3d2 100644 --- a/hw/core/stream.c +++ b/hw/core/stream.c @@ -4,7 +4,7 @@ size_t stream_push(StreamSlave *sink, uint8_t *buf, size_t len) { - StreamSlaveClass *k =3D STREAM_SLAVE_GET_CLASS(sink); + const StreamSlaveClass *k =3D STREAM_SLAVE_GET_CLASS(sink); =20 return k->push(sink, buf, len); } @@ -13,7 +13,7 @@ bool stream_can_push(StreamSlave *sink, StreamCanPushNotifyFn notify, void *notify_opaque) { - StreamSlaveClass *k =3D STREAM_SLAVE_GET_CLASS(sink); + const StreamSlaveClass *k =3D STREAM_SLAVE_GET_CLASS(sink); =20 return k->can_push ? k->can_push(sink, notify, notify_opaque) : true; } diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c index c0f560b289..05a6e43b6a 100644 --- a/hw/core/sysbus.c +++ b/hw/core/sysbus.c @@ -110,7 +110,7 @@ qemu_irq sysbus_get_connected_irq(SysBusDevice *dev, in= t n) =20 void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq) { - SysBusDeviceClass *sbd =3D SYS_BUS_DEVICE_GET_CLASS(dev); + const SysBusDeviceClass *sbd =3D SYS_BUS_DEVICE_GET_CLASS(dev); =20 qdev_connect_gpio_out_named(DEVICE(dev), SYSBUS_DEVICE_GPIO_IRQ, n, ir= q); =20 @@ -203,7 +203,7 @@ void sysbus_init_ioports(SysBusDevice *dev, uint32_t io= port, uint32_t size) static int sysbus_device_init(DeviceState *dev) { SysBusDevice *sd =3D SYS_BUS_DEVICE(dev); - SysBusDeviceClass *sbc =3D SYS_BUS_DEVICE_GET_CLASS(sd); + const SysBusDeviceClass *sbc =3D SYS_BUS_DEVICE_GET_CLASS(sd); =20 if (!sbc->init) { return 0; @@ -288,7 +288,7 @@ static void sysbus_dev_print(Monitor *mon, DeviceState = *dev, int indent) static char *sysbus_get_fw_dev_path(DeviceState *dev) { SysBusDevice *s =3D SYS_BUS_DEVICE(dev); - SysBusDeviceClass *sbc =3D SYS_BUS_DEVICE_GET_CLASS(s); + const SysBusDeviceClass *sbc =3D SYS_BUS_DEVICE_GET_CLASS(s); /* for the explicit unit address fallback case: */ char *addr, *fw_dev_path; =20 diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c index afc290ab91..1897898fee 100644 --- a/hw/display/cirrus_vga.c +++ b/hw/display/cirrus_vga.c @@ -3096,7 +3096,7 @@ static void pci_cirrus_vga_realize(PCIDevice *dev, Er= ror **errp) { PCICirrusVGAState *d =3D PCI_CIRRUS_VGA(dev); CirrusVGAState *s =3D &d->cirrus_vga; - PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); + const PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); int16_t device_id =3D pc->device_id; =20 /* follow real hardware, cirrus card emulated has 4 MB video memory. diff --git a/hw/i2c/core.c b/hw/i2c/core.c index 2c1234cdff..7ec283c5ff 100644 --- a/hw/i2c/core.c +++ b/hw/i2c/core.c @@ -105,7 +105,7 @@ int i2c_bus_busy(I2CBus *bus) int i2c_start_transfer(I2CBus *bus, uint8_t address, int recv) { BusChild *kid; - I2CSlaveClass *sc; + const I2CSlaveClass *sc; I2CNode *node; bool bus_scanned =3D false; =20 @@ -168,7 +168,7 @@ int i2c_start_transfer(I2CBus *bus, uint8_t address, in= t recv) =20 void i2c_end_transfer(I2CBus *bus) { - I2CSlaveClass *sc; + const I2CSlaveClass *sc; I2CNode *node, *next; =20 QLIST_FOREACH_SAFE(node, &bus->current_devs, next, next) { @@ -184,7 +184,7 @@ void i2c_end_transfer(I2CBus *bus) =20 int i2c_send_recv(I2CBus *bus, uint8_t *data, bool send) { - I2CSlaveClass *sc; + const I2CSlaveClass *sc; I2CNode *node; int ret =3D 0; =20 @@ -232,7 +232,7 @@ int i2c_recv(I2CBus *bus) =20 void i2c_nack(I2CBus *bus) { - I2CSlaveClass *sc; + const I2CSlaveClass *sc; I2CNode *node; =20 if (QLIST_EMPTY(&bus->current_devs)) { @@ -277,7 +277,7 @@ const VMStateDescription vmstate_i2c_slave =3D { static int i2c_slave_qdev_init(DeviceState *dev) { I2CSlave *s =3D I2C_SLAVE(dev); - I2CSlaveClass *sc =3D I2C_SLAVE_GET_CLASS(s); + const I2CSlaveClass *sc =3D I2C_SLAVE_GET_CLASS(s); =20 if (sc->init) { return sc->init(s); diff --git a/hw/i2c/smbus.c b/hw/i2c/smbus.c index 2d1b79a689..42a01ca7b7 100644 --- a/hw/i2c/smbus.c +++ b/hw/i2c/smbus.c @@ -38,7 +38,7 @@ enum { =20 static void smbus_do_quick_cmd(SMBusDevice *dev, int recv) { - SMBusDeviceClass *sc =3D SMBUS_DEVICE_GET_CLASS(dev); + const SMBusDeviceClass *sc =3D SMBUS_DEVICE_GET_CLASS(dev); =20 DPRINTF("Quick Command %d\n", recv); if (sc->quick_cmd) { @@ -48,7 +48,7 @@ static void smbus_do_quick_cmd(SMBusDevice *dev, int recv) =20 static void smbus_do_write(SMBusDevice *dev) { - SMBusDeviceClass *sc =3D SMBUS_DEVICE_GET_CLASS(dev); + const SMBusDeviceClass *sc =3D SMBUS_DEVICE_GET_CLASS(dev); =20 if (dev->data_len =3D=3D 0) { smbus_do_quick_cmd(dev, 0); @@ -155,7 +155,7 @@ static int smbus_i2c_event(I2CSlave *s, enum i2c_event = event) static int smbus_i2c_recv(I2CSlave *s) { SMBusDevice *dev =3D SMBUS_DEVICE(s); - SMBusDeviceClass *sc =3D SMBUS_DEVICE_GET_CLASS(dev); + const SMBusDeviceClass *sc =3D SMBUS_DEVICE_GET_CLASS(dev); int ret; =20 switch (dev->mode) { @@ -205,7 +205,7 @@ static int smbus_i2c_send(I2CSlave *s, uint8_t data) static int smbus_device_init(I2CSlave *i2c) { SMBusDevice *dev =3D SMBUS_DEVICE(i2c); - SMBusDeviceClass *sc =3D SMBUS_DEVICE_GET_CLASS(dev); + const SMBusDeviceClass *sc =3D SMBUS_DEVICE_GET_CLASS(dev); =20 return sc->init(dev); } diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 2073108577..47dba40ebd 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -373,10 +373,10 @@ void pc_madt_cpu_entry(AcpiDeviceIf *adev, int uid, static void build_madt(GArray *table_data, BIOSLinker *linker, PCMachineState *pcms) { - MachineClass *mc =3D MACHINE_GET_CLASS(pcms); + const MachineClass *mc =3D MACHINE_GET_CLASS(pcms); const CPUArchIdList *apic_ids =3D mc->possible_cpu_arch_ids(MACHINE(pc= ms)); int madt_start =3D table_data->len; - AcpiDeviceIfClass *adevc =3D ACPI_DEVICE_IF_GET_CLASS(pcms->acpi_dev); + const AcpiDeviceIfClass *adevc =3D ACPI_DEVICE_IF_GET_CLASS(pcms->acpi= _dev); AcpiDeviceIf *adev =3D ACPI_DEVICE_IF(pcms->acpi_dev); bool x2apic_mode =3D false; =20 @@ -507,8 +507,8 @@ static void build_append_pci_bus_devices(Aml *parent_sc= ope, PCIBus *bus, } =20 for (i =3D 0; i < ARRAY_SIZE(bus->devices); i +=3D PCI_FUNC_MAX) { - DeviceClass *dc; - PCIDeviceClass *pc; + const DeviceClass *dc; + const PCIDeviceClass *pc; PCIDevice *pdev =3D bus->devices[i]; int slot =3D PCI_SLOT(i); bool hotplug_enabled_dev; @@ -1854,7 +1854,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, Aml *dsdt, *sb_scope, *scope, *dev, *method, *field, *pkg, *crs; CrsRangeSet crs_range_set; PCMachineState *pcms =3D PC_MACHINE(machine); - PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(machine); + const PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(machine); uint32_t nr_mem =3D machine->ram_slots; int root_bus_limit =3D 0xFF; PCIBus *bus =3D NULL; @@ -2293,7 +2293,7 @@ build_srat(GArray *table_data, BIOSLinker *linker, Ma= chineState *machine) int i; int srat_start, numa_start, slots; uint64_t mem_len, mem_base, next_base; - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); const CPUArchIdList *apic_ids =3D mc->possible_cpu_arch_ids(machine); PCMachineState *pcms =3D PC_MACHINE(machine); ram_addr_t hotplugabble_address_space_size =3D @@ -2600,7 +2600,7 @@ static void acpi_build(AcpiBuildTables *tables, MachineState *machine) { PCMachineState *pcms =3D PC_MACHINE(machine); - PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); + const PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); GArray *table_offsets; unsigned facs, dsdt, rsdt, fadt; AcpiPmInfo pm; @@ -2829,7 +2829,7 @@ static const VMStateDescription vmstate_acpi_build = =3D { void acpi_setup(void) { PCMachineState *pcms =3D PC_MACHINE(qdev_get_machine()); - PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); + const PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); AcpiBuildTables tables; AcpiBuildState *build_state; Object *vmgenid_dev; diff --git a/hw/i386/kvm/i8254.c b/hw/i386/kvm/i8254.c index 521a58498a..6d5f079e26 100644 --- a/hw/i386/kvm/i8254.c +++ b/hw/i386/kvm/i8254.c @@ -255,7 +255,7 @@ static void kvm_pit_vm_state_change(void *opaque, int r= unning, static void kvm_pit_realizefn(DeviceState *dev, Error **errp) { PITCommonState *pit =3D PIT_COMMON(dev); - KVMPITClass *kpc =3D KVM_PIT_GET_CLASS(dev); + const KVMPITClass *kpc =3D KVM_PIT_GET_CLASS(dev); KVMPITState *s =3D KVM_PIT(pit); struct kvm_pit_config config =3D { .flags =3D 0, diff --git a/hw/i386/kvm/i8259.c b/hw/i386/kvm/i8259.c index 11d1b726b6..ee1058ef9e 100644 --- a/hw/i386/kvm/i8259.c +++ b/hw/i386/kvm/i8259.c @@ -118,7 +118,7 @@ static void kvm_pic_set_irq(void *opaque, int irq, int = level) static void kvm_pic_realize(DeviceState *dev, Error **errp) { PICCommonState *s =3D PIC_COMMON(dev); - KVMPICClass *kpc =3D KVM_PIC_GET_CLASS(dev); + const KVMPICClass *kpc =3D KVM_PIC_GET_CLASS(dev); =20 memory_region_init_reservation(&s->base_io, NULL, "kvm-pic", 2); memory_region_init_reservation(&s->elcr_io, NULL, "kvm-elcr", 1); diff --git a/hw/i386/pc.c b/hw/i386/pc.c index d24388e05f..a376fd6f0a 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -841,7 +841,7 @@ static void load_linux(PCMachineState *pcms, FILE *f; char *vmode; MachineState *machine =3D MACHINE(pcms); - PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); + const PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); struct setup_data *setup_data; const char *kernel_filename =3D machine->kernel_filename; const char *initrd_filename =3D machine->initrd_filename; @@ -1111,7 +1111,7 @@ static void pc_new_cpu(const char *typename, int64_t = apic_id, Error **errp) =20 void pc_hot_add_cpu(const int64_t id, Error **errp) { - ObjectClass *oc; + const ObjectClass *oc; MachineState *ms =3D MACHINE(qdev_get_machine()); int64_t apic_id =3D x86_cpu_apic_id_from_index(id); Error *local_err =3D NULL; @@ -1146,7 +1146,7 @@ void pc_cpus_init(PCMachineState *pcms) gchar **model_pieces; const CPUArchIdList *possible_cpus; MachineState *machine =3D MACHINE(pcms); - MachineClass *mc =3D MACHINE_GET_CLASS(pcms); + const MachineClass *mc =3D MACHINE_GET_CLASS(pcms); =20 /* init CPUs */ if (machine->cpu_model =3D=3D NULL) { @@ -1362,7 +1362,7 @@ void pc_memory_init(PCMachineState *pcms, MemoryRegion *ram_below_4g, *ram_above_4g; FWCfgState *fw_cfg; MachineState *machine =3D MACHINE(pcms); - PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); + const PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); =20 assert(machine->ram_size =3D=3D pcms->below_4g_mem_size + pcms->above_4g_mem_size); @@ -1395,7 +1395,7 @@ void pc_memory_init(PCMachineState *pcms, if (!pcmc->has_reserved_memory && (machine->ram_slots || (machine->maxram_size > machine->ram_size))) { - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); =20 error_report("\"-memory 'slots|maxmem'\" is not supported by: %s", mc->name); @@ -1460,7 +1460,7 @@ void pc_memory_init(PCMachineState *pcms, =20 if (pcmc->has_reserved_memory && pcms->hotplug_memory.base) { uint64_t *val =3D g_malloc(sizeof(*val)); - PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); + const PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); uint64_t res_mem_end =3D pcms->hotplug_memory.base; =20 if (!pcmc->broken_reserved_end) { @@ -1688,12 +1688,12 @@ void ioapic_init_gsi(GSIState *gsi_state, const cha= r *parent_name) static void pc_dimm_plug(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { - HotplugHandlerClass *hhc; + const HotplugHandlerClass *hhc; Error *local_err =3D NULL; PCMachineState *pcms =3D PC_MACHINE(hotplug_dev); - PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); + const PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); PCDIMMDevice *dimm =3D PC_DIMM(dev); - PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); + const PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); MemoryRegion *mr =3D ddc->get_memory_region(dimm); uint64_t align =3D TARGET_PAGE_SIZE; =20 @@ -1730,7 +1730,7 @@ out: static void pc_dimm_unplug_request(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { - HotplugHandlerClass *hhc; + const HotplugHandlerClass *hhc; Error *local_err =3D NULL; PCMachineState *pcms =3D PC_MACHINE(hotplug_dev); =20 @@ -1758,9 +1758,9 @@ static void pc_dimm_unplug(HotplugHandler *hotplug_de= v, { PCMachineState *pcms =3D PC_MACHINE(hotplug_dev); PCDIMMDevice *dimm =3D PC_DIMM(dev); - PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); + const PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); MemoryRegion *mr =3D ddc->get_memory_region(dimm); - HotplugHandlerClass *hhc; + const HotplugHandlerClass *hhc; Error *local_err =3D NULL; =20 hhc =3D HOTPLUG_HANDLER_GET_CLASS(pcms->acpi_dev); @@ -1807,7 +1807,7 @@ static void pc_cpu_plug(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { CPUArchId *found_cpu; - HotplugHandlerClass *hhc; + const HotplugHandlerClass *hhc; Error *local_err =3D NULL; X86CPU *cpu =3D X86_CPU(dev); PCMachineState *pcms =3D PC_MACHINE(hotplug_dev); @@ -1838,7 +1838,7 @@ static void pc_cpu_unplug_request_cb(HotplugHandler *= hotplug_dev, DeviceState *dev, Error **errp) { int idx =3D -1; - HotplugHandlerClass *hhc; + const HotplugHandlerClass *hhc; Error *local_err =3D NULL; X86CPU *cpu =3D X86_CPU(dev); PCMachineState *pcms =3D PC_MACHINE(hotplug_dev); @@ -1866,7 +1866,7 @@ static void pc_cpu_unplug_cb(HotplugHandler *hotplug_= dev, DeviceState *dev, Error **errp) { CPUArchId *found_cpu; - HotplugHandlerClass *hhc; + const HotplugHandlerClass *hhc; Error *local_err =3D NULL; X86CPU *cpu =3D X86_CPU(dev); PCMachineState *pcms =3D PC_MACHINE(hotplug_dev); @@ -2033,7 +2033,7 @@ static void pc_machine_device_unplug_cb(HotplugHandle= r *hotplug_dev, static HotplugHandler *pc_get_hotpug_handler(MachineState *machine, DeviceState *dev) { - PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(machine); + const PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(machine); =20 if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM) || object_dynamic_cast(OBJECT(dev), TYPE_CPU)) { diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 9f102aa388..ead6e75503 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -66,7 +66,7 @@ static void pc_init1(MachineState *machine, const char *host_type, const char *pci_type) { PCMachineState *pcms =3D PC_MACHINE(machine); - PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); + const PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); MemoryRegion *system_memory =3D get_system_memory(); MemoryRegion *system_io =3D get_system_io(); int i; @@ -164,7 +164,7 @@ static void pc_init1(MachineState *machine, pc_guest_info_init(pcms); =20 if (pcmc->smbios_defaults) { - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); /* These values are guest ABI, do not change */ smbios_set_defaults("QEMU", "Standard PC (i440FX + PIIX, 1996)", mc->name, pcmc->smbios_legacy_mode, diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index dd792a8547..9d21572ab9 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -55,7 +55,7 @@ static void pc_q35_init(MachineState *machine) { PCMachineState *pcms =3D PC_MACHINE(machine); - PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); + const PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); Q35PCIHost *q35_host; PCIHostState *phb; PCIBus *host_bus; @@ -75,7 +75,7 @@ static void pc_q35_init(MachineState *machine) PCIDevice *ahci; ram_addr_t lowmem; DriveInfo *hd[MAX_SATA_PORTS]; - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); =20 /* Check whether RAM fits below 4G (leaving 1/2 GByte for IO memory * and 256 Mbytes for PCI Express Enhanced Configuration Access Mapping diff --git a/hw/i386/x86-iommu.c b/hw/i386/x86-iommu.c index 23dcd3f039..4be7ee0609 100644 --- a/hw/i386/x86-iommu.c +++ b/hw/i386/x86-iommu.c @@ -79,7 +79,7 @@ IommuType x86_iommu_get_type(void) static void x86_iommu_realize(DeviceState *dev, Error **errp) { X86IOMMUState *x86_iommu =3D X86_IOMMU_DEVICE(dev); - X86IOMMUClass *x86_class =3D X86_IOMMU_GET_CLASS(dev); + const X86IOMMUClass *x86_class =3D X86_IOMMU_GET_CLASS(dev); QLIST_INIT(&x86_iommu->iec_notifiers); if (x86_class->realize) { x86_class->realize(dev, errp); diff --git a/hw/ide/microdrive.c b/hw/ide/microdrive.c index e3fd30e457..3103d15243 100644 --- a/hw/ide/microdrive.c +++ b/hw/ide/microdrive.c @@ -129,7 +129,7 @@ static void md_reset(DeviceState *dev) static uint8_t md_attr_read(PCMCIACardState *card, uint32_t at) { MicroDriveState *s =3D MICRODRIVE(card); - PCMCIACardClass *pcc =3D PCMCIA_CARD_GET_CLASS(card); + const PCMCIACardClass *pcc =3D PCMCIA_CARD_GET_CLASS(card); =20 if (at < s->attr_base) { if (at < pcc->cis_len) { @@ -536,7 +536,7 @@ static const uint8_t dscm1xxxx_cis[0x14a] =3D { static int dscm1xxxx_attach(PCMCIACardState *card) { MicroDriveState *md =3D MICRODRIVE(card); - PCMCIACardClass *pcc =3D PCMCIA_CARD_GET_CLASS(card); + const PCMCIACardClass *pcc =3D PCMCIA_CARD_GET_CLASS(card); =20 md->attr_base =3D pcc->cis[0x74] | (pcc->cis[0x76] << 8); md->io_base =3D 0x0; diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c index 299e592fa2..28700d1a03 100644 --- a/hw/ide/qdev.c +++ b/hw/ide/qdev.c @@ -83,7 +83,7 @@ static char *idebus_get_fw_dev_path(DeviceState *dev) static int ide_qdev_init(DeviceState *qdev) { IDEDevice *dev =3D IDE_DEVICE(qdev); - IDEDeviceClass *dc =3D IDE_DEVICE_GET_CLASS(dev); + const IDEDeviceClass *dc =3D IDE_DEVICE_GET_CLASS(dev); IDEBus *bus =3D DO_UPCAST(IDEBus, qbus, qdev->parent_bus); =20 if (dev->unit =3D=3D -1) { diff --git a/hw/input/adb.c b/hw/input/adb.c index 43d3205472..51b510db73 100644 --- a/hw/input/adb.c +++ b/hw/input/adb.c @@ -87,7 +87,7 @@ int adb_request(ADBBusState *s, uint8_t *obuf, const uint= 8_t *buf, int len) for(i =3D 0; i < s->nb_devices; i++) { d =3D s->devices[i]; if (d->devaddr =3D=3D devaddr) { - ADBDeviceClass *adc =3D ADB_DEVICE_GET_CLASS(d); + const ADBDeviceClass *adc =3D ADB_DEVICE_GET_CLASS(d); return adc->devreq(d, obuf, buf, len); } } @@ -491,7 +491,7 @@ static QemuInputHandler adb_keyboard_handler =3D { =20 static void adb_kbd_realizefn(DeviceState *dev, Error **errp) { - ADBKeyboardClass *akc =3D ADB_KEYBOARD_GET_CLASS(dev); + const ADBKeyboardClass *akc =3D ADB_KEYBOARD_GET_CLASS(dev); akc->parent_realize(dev, errp); qemu_input_handler_register(dev, &adb_keyboard_handler); } @@ -707,7 +707,7 @@ static const VMStateDescription vmstate_adb_mouse =3D { static void adb_mouse_realizefn(DeviceState *dev, Error **errp) { MouseState *s =3D ADB_MOUSE(dev); - ADBMouseClass *amc =3D ADB_MOUSE_GET_CLASS(dev); + const ADBMouseClass *amc =3D ADB_MOUSE_GET_CLASS(dev); =20 amc->parent_realize(dev, errp); =20 diff --git a/hw/input/virtio-input.c b/hw/input/virtio-input.c index 0e42f0d02c..9757a4cdeb 100644 --- a/hw/input/virtio-input.c +++ b/hw/input/virtio-input.c @@ -75,7 +75,7 @@ static void virtio_input_handle_evt(VirtIODevice *vdev, V= irtQueue *vq) =20 static void virtio_input_handle_sts(VirtIODevice *vdev, VirtQueue *vq) { - VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(vdev); + const VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(vdev); VirtIOInput *vinput =3D VIRTIO_INPUT(vdev); virtio_input_event event; VirtQueueElement *elem; @@ -190,7 +190,7 @@ static uint64_t virtio_input_get_features(VirtIODevice = *vdev, uint64_t f, =20 static void virtio_input_set_status(VirtIODevice *vdev, uint8_t val) { - VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(vdev); + const VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(vdev); VirtIOInput *vinput =3D VIRTIO_INPUT(vdev); =20 if (val & VIRTIO_CONFIG_S_DRIVER_OK) { @@ -205,7 +205,7 @@ static void virtio_input_set_status(VirtIODevice *vdev,= uint8_t val) =20 static void virtio_input_reset(VirtIODevice *vdev) { - VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(vdev); + const VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(vdev); VirtIOInput *vinput =3D VIRTIO_INPUT(vdev); =20 if (vinput->active) { @@ -219,7 +219,7 @@ static void virtio_input_reset(VirtIODevice *vdev) static int virtio_input_post_load(void *opaque, int version_id) { VirtIOInput *vinput =3D opaque; - VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(vinput); + const VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(vinput); VirtIODevice *vdev =3D VIRTIO_DEVICE(vinput); =20 vinput->active =3D vdev->status & VIRTIO_CONFIG_S_DRIVER_OK; @@ -231,7 +231,7 @@ static int virtio_input_post_load(void *opaque, int ver= sion_id) =20 static void virtio_input_device_realize(DeviceState *dev, Error **errp) { - VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(dev); + const VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(dev); VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIOInput *vinput =3D VIRTIO_INPUT(dev); VirtIOInputConfig *cfg; @@ -276,7 +276,7 @@ static void virtio_input_finalize(Object *obj) } static void virtio_input_device_unrealize(DeviceState *dev, Error **errp) { - VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(dev); + const VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(dev); VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); Error *local_err =3D NULL; =20 diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c index c3829e31b5..a6748879d5 100644 --- a/hw/intc/apic_common.c +++ b/hw/intc/apic_common.c @@ -40,7 +40,7 @@ void cpu_set_apic_base(DeviceState *dev, uint64_t val) =20 if (dev) { APICCommonState *s =3D APIC_COMMON(dev); - APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); + const APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); /* switching to x2APIC, reset possibly modified xAPIC ID */ if (!(s->apicbase & MSR_IA32_APICBASE_EXTD) && (val & MSR_IA32_APICBASE_EXTD)) { @@ -65,7 +65,7 @@ uint64_t cpu_get_apic_base(DeviceState *dev) void cpu_set_apic_tpr(DeviceState *dev, uint8_t val) { APICCommonState *s; - APICCommonClass *info; + const APICCommonClass *info; =20 if (!dev) { return; @@ -80,7 +80,7 @@ void cpu_set_apic_tpr(DeviceState *dev, uint8_t val) uint8_t cpu_get_apic_tpr(DeviceState *dev) { APICCommonState *s; - APICCommonClass *info; + const APICCommonClass *info; =20 if (!dev) { return 0; @@ -95,7 +95,7 @@ uint8_t cpu_get_apic_tpr(DeviceState *dev) void apic_enable_tpr_access_reporting(DeviceState *dev, bool enable) { APICCommonState *s =3D APIC_COMMON(dev); - APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); + const APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); =20 apic_report_tpr_access =3D enable; if (info->enable_tpr_reporting) { @@ -106,7 +106,7 @@ void apic_enable_tpr_access_reporting(DeviceState *dev,= bool enable) void apic_enable_vapic(DeviceState *dev, hwaddr paddr) { APICCommonState *s =3D APIC_COMMON(dev); - APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); + const APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); =20 s->vapic_paddr =3D paddr; info->vapic_base_update(s); @@ -149,7 +149,7 @@ int apic_get_irq_delivered(void) void apic_deliver_nmi(DeviceState *dev) { APICCommonState *s =3D APIC_COMMON(dev); - APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); + const APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); =20 info->external_nmi(s); } @@ -190,7 +190,7 @@ bool apic_next_timer(APICCommonState *s, int64_t curren= t_time) void apic_init_reset(DeviceState *dev) { APICCommonState *s; - APICCommonClass *info; + const APICCommonClass *info; int i; =20 if (!dev) { @@ -244,7 +244,7 @@ void apic_designate_bsp(DeviceState *dev, bool bsp) static void apic_reset_common(DeviceState *dev) { APICCommonState *s =3D APIC_COMMON(dev); - APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); + const APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); uint32_t bsp; =20 bsp =3D s->apicbase & MSR_IA32_APICBASE_BSP; @@ -263,7 +263,7 @@ static void apic_reset_common(DeviceState *dev) static int apic_load_old(QEMUFile *f, void *opaque, int version_id) { APICCommonState *s =3D opaque; - APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); + const APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); int i; =20 if (version_id > 2) { @@ -310,7 +310,7 @@ static const VMStateDescription vmstate_apic_common; static void apic_common_realize(DeviceState *dev, Error **errp) { APICCommonState *s =3D APIC_COMMON(dev); - APICCommonClass *info; + const APICCommonClass *info; static DeviceState *vapic; int instance_id =3D s->id; =20 @@ -337,7 +337,7 @@ static void apic_common_realize(DeviceState *dev, Error= **errp) static void apic_common_unrealize(DeviceState *dev, Error **errp) { APICCommonState *s =3D APIC_COMMON(dev); - APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); + const APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); =20 vmstate_unregister(NULL, &vmstate_apic_common, s); info->unrealize(dev, errp); @@ -363,7 +363,7 @@ static int apic_pre_load(void *opaque) static void apic_dispatch_pre_save(void *opaque) { APICCommonState *s =3D APIC_COMMON(opaque); - APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); + const APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); =20 if (info->pre_save) { info->pre_save(s); @@ -373,7 +373,7 @@ static void apic_dispatch_pre_save(void *opaque) static int apic_dispatch_post_load(void *opaque, int version_id) { APICCommonState *s =3D APIC_COMMON(opaque); - APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); + const APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); =20 if (info->post_load) { info->post_load(s); diff --git a/hw/intc/arm_gic.c b/hw/intc/arm_gic.c index b305d9032a..82a6c872bf 100644 --- a/hw/intc/arm_gic.c +++ b/hw/intc/arm_gic.c @@ -1403,7 +1403,7 @@ static void arm_gic_realize(DeviceState *dev, Error *= *errp) int i; GICState *s =3D ARM_GIC(dev); SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); - ARMGICClass *agc =3D ARM_GIC_GET_CLASS(s); + const ARMGICClass *agc =3D ARM_GIC_GET_CLASS(s); Error *local_err =3D NULL; =20 agc->parent_realize(dev, &local_err); diff --git a/hw/intc/arm_gic_common.c b/hw/intc/arm_gic_common.c index 70f1134823..eab755209a 100644 --- a/hw/intc/arm_gic_common.c +++ b/hw/intc/arm_gic_common.c @@ -26,7 +26,7 @@ static void gic_pre_save(void *opaque) { GICState *s =3D (GICState *)opaque; - ARMGICCommonClass *c =3D ARM_GIC_COMMON_GET_CLASS(s); + const ARMGICCommonClass *c =3D ARM_GIC_COMMON_GET_CLASS(s); =20 if (c->pre_save) { c->pre_save(s); @@ -36,7 +36,7 @@ static void gic_pre_save(void *opaque) static int gic_post_load(void *opaque, int version_id) { GICState *s =3D (GICState *)opaque; - ARMGICCommonClass *c =3D ARM_GIC_COMMON_GET_CLASS(s); + const ARMGICCommonClass *c =3D ARM_GIC_COMMON_GET_CLASS(s); =20 if (c->post_load) { c->post_load(s); diff --git a/hw/intc/arm_gic_kvm.c b/hw/intc/arm_gic_kvm.c index ec952ece93..522573b9eb 100644 --- a/hw/intc/arm_gic_kvm.c +++ b/hw/intc/arm_gic_kvm.c @@ -481,7 +481,7 @@ static void kvm_arm_gic_get(GICState *s) static void kvm_arm_gic_reset(DeviceState *dev) { GICState *s =3D ARM_GIC_COMMON(dev); - KVMARMGICClass *kgc =3D KVM_ARM_GIC_GET_CLASS(s); + const KVMARMGICClass *kgc =3D KVM_ARM_GIC_GET_CLASS(s); =20 kgc->parent_reset(dev); =20 @@ -494,7 +494,7 @@ static void kvm_arm_gic_realize(DeviceState *dev, Error= **errp) { int i; GICState *s =3D KVM_ARM_GIC(dev); - KVMARMGICClass *kgc =3D KVM_ARM_GIC_GET_CLASS(s); + const KVMARMGICClass *kgc =3D KVM_ARM_GIC_GET_CLASS(s); Error *local_err =3D NULL; int ret; =20 diff --git a/hw/intc/arm_gicv3.c b/hw/intc/arm_gicv3.c index f0c967b304..dc7eaae45b 100644 --- a/hw/intc/arm_gicv3.c +++ b/hw/intc/arm_gicv3.c @@ -364,7 +364,7 @@ static void arm_gic_realize(DeviceState *dev, Error **e= rrp) { /* Device instance realize function for the GIC sysbus device */ GICv3State *s =3D ARM_GICV3(dev); - ARMGICv3Class *agc =3D ARM_GICV3_GET_CLASS(s); + const ARMGICv3Class *agc =3D ARM_GICV3_GET_CLASS(s); Error *local_err =3D NULL; =20 agc->parent_realize(dev, &local_err); diff --git a/hw/intc/arm_gicv3_common.c b/hw/intc/arm_gicv3_common.c index c6493d6c07..bb86b35cd7 100644 --- a/hw/intc/arm_gicv3_common.c +++ b/hw/intc/arm_gicv3_common.c @@ -31,7 +31,7 @@ static void gicv3_pre_save(void *opaque) { GICv3State *s =3D (GICv3State *)opaque; - ARMGICv3CommonClass *c =3D ARM_GICV3_COMMON_GET_CLASS(s); + const ARMGICv3CommonClass *c =3D ARM_GICV3_COMMON_GET_CLASS(s); =20 if (c->pre_save) { c->pre_save(s); @@ -41,7 +41,7 @@ static void gicv3_pre_save(void *opaque) static int gicv3_post_load(void *opaque, int version_id) { GICv3State *s =3D (GICv3State *)opaque; - ARMGICv3CommonClass *c =3D ARM_GICV3_COMMON_GET_CLASS(s); + const ARMGICv3CommonClass *c =3D ARM_GICV3_COMMON_GET_CLASS(s); =20 if (c->post_load) { c->post_load(s); diff --git a/hw/intc/arm_gicv3_its_common.c b/hw/intc/arm_gicv3_its_common.c index 9d67c5c1ee..4e8870736c 100644 --- a/hw/intc/arm_gicv3_its_common.c +++ b/hw/intc/arm_gicv3_its_common.c @@ -26,7 +26,7 @@ static void gicv3_its_pre_save(void *opaque) { GICv3ITSState *s =3D (GICv3ITSState *)opaque; - GICv3ITSCommonClass *c =3D ARM_GICV3_ITS_COMMON_GET_CLASS(s); + const GICv3ITSCommonClass *c =3D ARM_GICV3_ITS_COMMON_GET_CLASS(s); =20 if (c->pre_save) { c->pre_save(s); @@ -36,7 +36,7 @@ static void gicv3_its_pre_save(void *opaque) static int gicv3_its_post_load(void *opaque, int version_id) { GICv3ITSState *s =3D (GICv3ITSState *)opaque; - GICv3ITSCommonClass *c =3D ARM_GICV3_ITS_COMMON_GET_CLASS(s); + const GICv3ITSCommonClass *c =3D ARM_GICV3_ITS_COMMON_GET_CLASS(s); =20 if (c->post_load) { c->post_load(s); @@ -65,7 +65,7 @@ static MemTxResult gicv3_its_trans_write(void *opaque, hw= addr offset, { if (offset =3D=3D 0x0040 && ((size =3D=3D 2) || (size =3D=3D 4))) { GICv3ITSState *s =3D ARM_GICV3_ITS_COMMON(opaque); - GICv3ITSCommonClass *c =3D ARM_GICV3_ITS_COMMON_GET_CLASS(s); + const GICv3ITSCommonClass *c =3D ARM_GICV3_ITS_COMMON_GET_CLASS(s); int ret =3D c->send_msi(s, le64_to_cpu(value), attrs.requester_id); =20 if (ret <=3D 0) { diff --git a/hw/intc/arm_gicv3_kvm.c b/hw/intc/arm_gicv3_kvm.c index 81f0403117..f3fe3916b4 100644 --- a/hw/intc/arm_gicv3_kvm.c +++ b/hw/intc/arm_gicv3_kvm.c @@ -633,7 +633,7 @@ static void arm_gicv3_icc_reset(CPUARMState *env, const= ARMCPRegInfo *ri) static void kvm_arm_gicv3_reset(DeviceState *dev) { GICv3State *s =3D ARM_GICV3_COMMON(dev); - KVMARMGICv3Class *kgc =3D KVM_ARM_GICV3_GET_CLASS(s); + const KVMARMGICv3Class *kgc =3D KVM_ARM_GICV3_GET_CLASS(s); =20 DPRINTF("Reset\n"); =20 @@ -678,7 +678,7 @@ static const ARMCPRegInfo gicv3_cpuif_reginfo[] =3D { static void kvm_arm_gicv3_realize(DeviceState *dev, Error **errp) { GICv3State *s =3D KVM_ARM_GICV3(dev); - KVMARMGICv3Class *kgc =3D KVM_ARM_GICV3_GET_CLASS(s); + const KVMARMGICv3Class *kgc =3D KVM_ARM_GICV3_GET_CLASS(s); Error *local_err =3D NULL; int i; =20 diff --git a/hw/intc/i8259.c b/hw/intc/i8259.c index fe9ecd6bd4..f0ed3fc75d 100644 --- a/hw/intc/i8259.c +++ b/hw/intc/i8259.c @@ -448,7 +448,7 @@ static const MemoryRegionOps pic_elcr_ioport_ops =3D { static void pic_realize(DeviceState *dev, Error **errp) { PICCommonState *s =3D PIC_COMMON(dev); - PICClass *pc =3D PIC_GET_CLASS(dev); + const PICClass *pc =3D PIC_GET_CLASS(dev); =20 memory_region_init_io(&s->base_io, OBJECT(s), &pic_base_ioport_ops, s, "pic", 2); diff --git a/hw/intc/i8259_common.c b/hw/intc/i8259_common.c index d9a5e8b217..8b3ab19aef 100644 --- a/hw/intc/i8259_common.c +++ b/hw/intc/i8259_common.c @@ -49,7 +49,7 @@ void pic_reset_common(PICCommonState *s) static void pic_dispatch_pre_save(void *opaque) { PICCommonState *s =3D opaque; - PICCommonClass *info =3D PIC_COMMON_GET_CLASS(s); + const PICCommonClass *info =3D PIC_COMMON_GET_CLASS(s); =20 if (info->pre_save) { info->pre_save(s); @@ -59,7 +59,7 @@ static void pic_dispatch_pre_save(void *opaque) static int pic_dispatch_post_load(void *opaque, int version_id) { PICCommonState *s =3D opaque; - PICCommonClass *info =3D PIC_COMMON_GET_CLASS(s); + const PICCommonClass *info =3D PIC_COMMON_GET_CLASS(s); =20 if (info->post_load) { info->post_load(s); diff --git a/hw/intc/ioapic_common.c b/hw/intc/ioapic_common.c index 97c4f9c2df..ab2f981aa6 100644 --- a/hw/intc/ioapic_common.c +++ b/hw/intc/ioapic_common.c @@ -105,7 +105,7 @@ void ioapic_reset_common(DeviceState *dev) static void ioapic_dispatch_pre_save(void *opaque) { IOAPICCommonState *s =3D IOAPIC_COMMON(opaque); - IOAPICCommonClass *info =3D IOAPIC_COMMON_GET_CLASS(s); + const IOAPICCommonClass *info =3D IOAPIC_COMMON_GET_CLASS(s); =20 if (info->pre_save) { info->pre_save(s); @@ -115,7 +115,7 @@ static void ioapic_dispatch_pre_save(void *opaque) static int ioapic_dispatch_post_load(void *opaque, int version_id) { IOAPICCommonState *s =3D IOAPIC_COMMON(opaque); - IOAPICCommonClass *info =3D IOAPIC_COMMON_GET_CLASS(s); + const IOAPICCommonClass *info =3D IOAPIC_COMMON_GET_CLASS(s); =20 if (info->post_load) { info->post_load(s); @@ -126,7 +126,7 @@ static int ioapic_dispatch_post_load(void *opaque, int = version_id) static void ioapic_common_realize(DeviceState *dev, Error **errp) { IOAPICCommonState *s =3D IOAPIC_COMMON(dev); - IOAPICCommonClass *info; + const IOAPICCommonClass *info; =20 if (ioapic_no >=3D MAX_IOAPICS) { error_setg(errp, "Only %d ioapics allowed", MAX_IOAPICS); diff --git a/hw/intc/xics.c b/hw/intc/xics.c index e740989a11..85f3b3ebd0 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -66,7 +66,7 @@ void xics_cpu_setup(XICSFabric *xi, PowerPCCPU *cpu) CPUState *cs =3D CPU(cpu); CPUPPCState *env =3D &cpu->env; ICPState *icp =3D xics_icp_get(xi, cs->cpu_index); - ICPStateClass *icpc; + const ICPStateClass *icpc; =20 assert(icp); =20 @@ -142,7 +142,7 @@ void ics_pic_print_info(ICSState *ics, Monitor *mon) =20 static void ics_reject(ICSState *ics, uint32_t nr) { - ICSStateClass *k =3D ICS_BASE_GET_CLASS(ics); + const ICSStateClass *k =3D ICS_BASE_GET_CLASS(ics); =20 if (k->reject) { k->reject(ics, nr); @@ -151,7 +151,7 @@ static void ics_reject(ICSState *ics, uint32_t nr) =20 void ics_resend(ICSState *ics) { - ICSStateClass *k =3D ICS_BASE_GET_CLASS(ics); + const ICSStateClass *k =3D ICS_BASE_GET_CLASS(ics); =20 if (k->resend) { k->resend(ics); @@ -160,7 +160,7 @@ void ics_resend(ICSState *ics) =20 static void ics_eoi(ICSState *ics, int nr) { - ICSStateClass *k =3D ICS_BASE_GET_CLASS(ics); + const ICSStateClass *k =3D ICS_BASE_GET_CLASS(ics); =20 if (k->eoi) { k->eoi(ics, nr); @@ -188,7 +188,7 @@ static void icp_check_ipi(ICPState *icp) void icp_resend(ICPState *icp) { XICSFabric *xi =3D icp->xics; - XICSFabricClass *xic =3D XICS_FABRIC_GET_CLASS(xi); + const XICSFabricClass *xic =3D XICS_FABRIC_GET_CLASS(xi); =20 if (icp->mfrr < CPPR(icp)) { icp_check_ipi(icp); @@ -256,7 +256,7 @@ uint32_t icp_ipoll(ICPState *icp, uint32_t *mfrr) void icp_eoi(ICPState *icp, uint32_t xirr) { XICSFabric *xi =3D icp->xics; - XICSFabricClass *xic =3D XICS_FABRIC_GET_CLASS(xi); + const XICSFabricClass *xic =3D XICS_FABRIC_GET_CLASS(xi); ICSState *ics; uint32_t irq; =20 @@ -299,7 +299,7 @@ static void icp_irq(ICSState *ics, int server, int nr, = uint8_t priority) static void icp_dispatch_pre_save(void *opaque) { ICPState *icp =3D opaque; - ICPStateClass *info =3D ICP_GET_CLASS(icp); + const ICPStateClass *info =3D ICP_GET_CLASS(icp); =20 if (info->pre_save) { info->pre_save(icp); @@ -309,7 +309,7 @@ static void icp_dispatch_pre_save(void *opaque) static int icp_dispatch_post_load(void *opaque, int version_id) { ICPState *icp =3D opaque; - ICPStateClass *info =3D ICP_GET_CLASS(icp); + const ICPStateClass *info =3D ICP_GET_CLASS(icp); =20 if (info->post_load) { return info->post_load(icp, version_id); @@ -545,7 +545,7 @@ static void ics_simple_reset(void *dev) static void ics_simple_dispatch_pre_save(void *opaque) { ICSState *ics =3D opaque; - ICSStateClass *info =3D ICS_BASE_GET_CLASS(ics); + const ICSStateClass *info =3D ICS_BASE_GET_CLASS(ics); =20 if (info->pre_save) { info->pre_save(ics); @@ -555,7 +555,7 @@ static void ics_simple_dispatch_pre_save(void *opaque) static int ics_simple_dispatch_post_load(void *opaque, int version_id) { ICSState *ics =3D opaque; - ICSStateClass *info =3D ICS_BASE_GET_CLASS(ics); + const ICSStateClass *info =3D ICS_BASE_GET_CLASS(ics); =20 if (info->post_load) { return info->post_load(ics, version_id); @@ -645,7 +645,7 @@ static const TypeInfo ics_simple_info =3D { =20 static void ics_base_realize(DeviceState *dev, Error **errp) { - ICSStateClass *icsc =3D ICS_BASE_GET_CLASS(dev); + const ICSStateClass *icsc =3D ICS_BASE_GET_CLASS(dev); ICSState *ics =3D ICS_BASE(dev); Object *obj; Error *err =3D NULL; @@ -691,7 +691,7 @@ static const TypeInfo xics_fabric_info =3D { */ qemu_irq xics_get_qirq(XICSFabric *xi, int irq) { - XICSFabricClass *xic =3D XICS_FABRIC_GET_CLASS(xi); + const XICSFabricClass *xic =3D XICS_FABRIC_GET_CLASS(xi); ICSState *ics =3D xic->ics_get(xi, irq); =20 if (ics) { @@ -703,7 +703,7 @@ qemu_irq xics_get_qirq(XICSFabric *xi, int irq) =20 ICPState *xics_icp_get(XICSFabric *xi, int server) { - XICSFabricClass *xic =3D XICS_FABRIC_GET_CLASS(xi); + const XICSFabricClass *xic =3D XICS_FABRIC_GET_CLASS(xi); =20 return xic->icp_get(xi, server); } diff --git a/hw/ipack/ipack.c b/hw/ipack/ipack.c index 6021e6d135..3b944b75cf 100644 --- a/hw/ipack/ipack.c +++ b/hw/ipack/ipack.c @@ -40,7 +40,7 @@ static void ipack_device_realize(DeviceState *dev, Error = **errp) { IPackDevice *idev =3D IPACK_DEVICE(dev); IPackBus *bus =3D IPACK_BUS(qdev_get_parent_bus(dev)); - IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(dev); + const IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(dev); =20 if (idev->slot < 0) { idev->slot =3D bus->free_slot; @@ -59,7 +59,7 @@ static void ipack_device_realize(DeviceState *dev, Error = **errp) static void ipack_device_unrealize(DeviceState *dev, Error **errp) { IPackDevice *idev =3D IPACK_DEVICE(dev); - IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(dev); + const IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(dev); Error *err =3D NULL; =20 if (k->unrealize) { diff --git a/hw/ipack/tpci200.c b/hw/ipack/tpci200.c index 4dfa6b33f3..162753d512 100644 --- a/hw/ipack/tpci200.c +++ b/hw/ipack/tpci200.c @@ -321,7 +321,7 @@ static uint64_t tpci200_read_las1(void *opaque, hwaddr = addr, unsigned size) if (ip =3D=3D NULL) { DPRINTF("Read LAS1: IP module %u not installed\n", ip_n); } else { - IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); + const IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); switch (space) { =20 case IP_ID_SPACE: @@ -383,7 +383,7 @@ static void tpci200_write_las1(void *opaque, hwaddr add= r, uint64_t val, if (ip =3D=3D NULL) { DPRINTF("Write LAS1: IP module %u not installed\n", ip_n); } else { - IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); + const IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); switch (space) { =20 case IP_ID_SPACE: @@ -431,7 +431,7 @@ static uint64_t tpci200_read_las2(void *opaque, hwaddr = addr, unsigned size) if (ip =3D=3D NULL) { DPRINTF("Read LAS2: IP module %u not installed\n", ip_n); } else { - IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); + const IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); if (k->mem_read16) { ret =3D k->mem_read16(ip, offset); } @@ -462,7 +462,7 @@ static void tpci200_write_las2(void *opaque, hwaddr add= r, uint64_t val, if (ip =3D=3D NULL) { DPRINTF("Write LAS2: IP module %u not installed\n", ip_n); } else { - IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); + const IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); if (k->mem_write16) { k->mem_write16(ip, offset, val); } @@ -486,7 +486,7 @@ static uint64_t tpci200_read_las3(void *opaque, hwaddr = addr, unsigned size) if (ip =3D=3D NULL) { DPRINTF("Read LAS3: IP module %u not installed\n", ip_n); } else { - IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); + const IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); if (k->mem_read8) { ret =3D k->mem_read8(ip, offset); } @@ -512,7 +512,7 @@ static void tpci200_write_las3(void *opaque, hwaddr add= r, uint64_t val, if (ip =3D=3D NULL) { DPRINTF("Write LAS3: IP module %u not installed\n", ip_n); } else { - IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); + const IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(ip); if (k->mem_write8) { k->mem_write8(ip, offset, val); } diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c index e8e3d250b6..2ea02f0478 100644 --- a/hw/ipmi/ipmi_bmc_extern.c +++ b/hw/ipmi/ipmi_bmc_extern.c @@ -152,7 +152,7 @@ static void extern_timeout(void *opaque) =20 if (ibe->connected) { if (ibe->waiting_rsp && (ibe->outlen =3D=3D 0)) { - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); /* The message response timed out, return an error. */ ibe->waiting_rsp =3D false; ibe->inbuf[1] =3D ibe->outbuf[1] | 0x04; @@ -208,7 +208,7 @@ static void ipmi_bmc_extern_handle_command(IPMIBmc *b, err =3D IPMI_CC_BMC_INIT_IN_PROGRESS; } if (err) { - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); unsigned char rsp[3]; rsp[0] =3D cmd[0] | 0x04; rsp[1] =3D cmd[1]; @@ -238,7 +238,7 @@ static void ipmi_bmc_extern_handle_command(IPMIBmc *b, static void handle_hw_op(IPMIBmcExtern *ibe, unsigned char hw_op) { IPMIInterface *s =3D ibe->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); =20 switch (hw_op) { case VM_CMD_VERSION: @@ -285,7 +285,7 @@ static void handle_hw_op(IPMIBmcExtern *ibe, unsigned c= har hw_op) =20 static void handle_msg(IPMIBmcExtern *ibe) { - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(ibe->parent.intf); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(ibe->parent.i= ntf); =20 if (ibe->in_escape) { ipmi_debug("msg escape not ended\n"); @@ -385,7 +385,7 @@ static void chr_event(void *opaque, int event) { IPMIBmcExtern *ibe =3D opaque; IPMIInterface *s =3D ibe->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); unsigned char v; =20 switch (event) { @@ -466,7 +466,7 @@ static int ipmi_bmc_extern_post_migrate(void *opaque, i= nt version_id) */ if (ibe->waiting_rsp) { IPMIInterface *ii =3D ibe->parent.intf; - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); =20 ibe->waiting_rsp =3D false; ibe->inbuf[1] =3D ibe->outbuf[1] | 0x04; diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c index c7883d6f5e..819bfad4ee 100644 --- a/hw/ipmi/ipmi_bmc_sim.c +++ b/hw/ipmi/ipmi_bmc_sim.c @@ -448,7 +448,7 @@ static void gen_event(IPMIBmcSim *ibs, unsigned int sen= s_num, uint8_t deassert, uint8_t evd1, uint8_t evd2, uint8_t evd3) { IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); uint8_t evt[16]; IPMISensor *sens =3D ibs->sensors + sens_num; =20 @@ -617,7 +617,7 @@ static void ipmi_sim_handle_command(IPMIBmc *b, { IPMIBmcSim *ibs =3D IPMI_BMC_SIMULATOR(b); IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); const IPMICmdHandler *hdl; RspBuffer rsp =3D RSP_BUFFER_INITIALIZER; =20 @@ -670,7 +670,7 @@ static void ipmi_sim_handle_command(IPMIBmc *b, static void ipmi_sim_handle_timeout(IPMIBmcSim *ibs) { IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); =20 if (!ibs->watchdog_running) { goto out; @@ -761,7 +761,7 @@ static void chassis_control(IPMIBmcSim *ibs, RspBuffer *rsp) { IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); =20 switch (cmd[2] & 0xf) { case 0: /* power down */ @@ -818,7 +818,7 @@ static void get_device_id(IPMIBmcSim *ibs, static void set_global_enables(IPMIBmcSim *ibs, uint8_t val) { IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); bool irqs_on; =20 ibs->bmc_global_enables =3D val; @@ -834,7 +834,7 @@ static void cold_reset(IPMIBmcSim *ibs, RspBuffer *rsp) { IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); =20 /* Disable all interrupts */ set_global_enables(ibs, 1 << IPMI_BMC_EVENT_LOG_BIT); @@ -849,7 +849,7 @@ static void warm_reset(IPMIBmcSim *ibs, RspBuffer *rsp) { IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); =20 if (k->reset) { k->reset(s, false); @@ -901,7 +901,7 @@ static void clr_msg_flags(IPMIBmcSim *ibs, RspBuffer *rsp) { IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); =20 ibs->msg_flags &=3D ~cmd[2]; k->set_atn(s, attn_set(ibs), attn_irq_enabled(ibs)); @@ -919,7 +919,7 @@ static void read_evt_msg_buf(IPMIBmcSim *ibs, RspBuffer *rsp) { IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); unsigned int i; =20 if (!(ibs->msg_flags & IPMI_BMC_MSG_FLAG_EVT_BUF_FULL)) { @@ -951,7 +951,7 @@ static void get_msg(IPMIBmcSim *ibs, =20 if (QTAILQ_EMPTY(&ibs->rcvbufs)) { IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); =20 ibs->msg_flags &=3D ~IPMI_BMC_MSG_FLAG_RCV_MSG_QUEUE; k->set_atn(s, attn_set(ibs), attn_irq_enabled(ibs)); @@ -976,7 +976,7 @@ static void send_msg(IPMIBmcSim *ibs, RspBuffer *rsp) { IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); IPMIRcvBufEntry *msg; uint8_t *buf; uint8_t netfn, rqLun, rsLun, rqSeq; @@ -1092,7 +1092,7 @@ static void set_watchdog_timer(IPMIBmcSim *ibs, RspBuffer *rsp) { IPMIInterface *s =3D ibs->parent.intf; - IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + const IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); unsigned int val; =20 val =3D cmd[2] & 0x7; /* Validate use */ diff --git a/hw/ipmi/isa_ipmi_bt.c b/hw/ipmi/isa_ipmi_bt.c index 1c69cb33f8..3a60369d6b 100644 --- a/hw/ipmi/isa_ipmi_bt.c +++ b/hw/ipmi/isa_ipmi_bt.c @@ -125,7 +125,7 @@ typedef struct IPMIBT { =20 static void ipmi_bt_handle_event(IPMIInterface *ii) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIBT *ib =3D iic->get_backend_data(ii); =20 if (ib->inlen < 4) { @@ -173,7 +173,7 @@ static void ipmi_bt_handle_event(IPMIInterface *ii) ib->waiting_seq =3D ib->inmsg[2]; ib->inmsg[2] =3D ib->inmsg[1]; { - IPMIBmcClass *bk =3D IPMI_BMC_GET_CLASS(ib->bmc); + const IPMIBmcClass *bk =3D IPMI_BMC_GET_CLASS(ib->bmc); bk->handle_command(ib->bmc, ib->inmsg + 2, ib->inlen - 2, sizeof(ib->inmsg), ib->waiting_rsp); } @@ -184,7 +184,7 @@ static void ipmi_bt_handle_event(IPMIInterface *ii) static void ipmi_bt_handle_rsp(IPMIInterface *ii, uint8_t msg_id, unsigned char *rsp, unsigned int rsp_len) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIBT *ib =3D iic->get_backend_data(ii); =20 if (ib->waiting_rsp =3D=3D msg_id) { @@ -218,7 +218,7 @@ static void ipmi_bt_handle_rsp(IPMIInterface *ii, uint8= _t msg_id, static uint64_t ipmi_bt_ioport_read(void *opaque, hwaddr addr, unsigned si= ze) { IPMIInterface *ii =3D opaque; - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIBT *ib =3D iic->get_backend_data(ii); uint32_t ret =3D 0xff; =20 @@ -247,7 +247,7 @@ static uint64_t ipmi_bt_ioport_read(void *opaque, hwadd= r addr, unsigned size) =20 static void ipmi_bt_signal(IPMIBT *ib, IPMIInterface *ii) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); =20 ib->do_wake =3D 1; while (ib->do_wake) { @@ -260,7 +260,7 @@ static void ipmi_bt_ioport_write(void *opaque, hwaddr a= ddr, uint64_t val, unsigned size) { IPMIInterface *ii =3D opaque; - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIBT *ib =3D iic->get_backend_data(ii); =20 switch (addr & 3) { @@ -333,7 +333,7 @@ static const MemoryRegionOps ipmi_bt_io_ops =3D { =20 static void ipmi_bt_set_atn(IPMIInterface *ii, int val, int irq) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIBT *ib =3D iic->get_backend_data(ii); =20 if (!!val =3D=3D IPMI_BT_GET_SMS_ATN(ib->control_reg)) { @@ -359,7 +359,7 @@ static void ipmi_bt_set_atn(IPMIInterface *ii, int val,= int irq) =20 static void ipmi_bt_handle_reset(IPMIInterface *ii, bool is_cold) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIBT *ib =3D iic->get_backend_data(ii); =20 if (is_cold) { @@ -374,7 +374,7 @@ static void ipmi_bt_handle_reset(IPMIInterface *ii, boo= l is_cold) =20 static void ipmi_bt_set_irq_enable(IPMIInterface *ii, int val) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIBT *ib =3D iic->get_backend_data(ii); =20 ib->irqs_enabled =3D val; @@ -382,7 +382,7 @@ static void ipmi_bt_set_irq_enable(IPMIInterface *ii, i= nt val) =20 static void ipmi_bt_init(IPMIInterface *ii, Error **errp) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIBT *ib =3D iic->get_backend_data(ii); =20 ib->io_length =3D 3; @@ -436,7 +436,7 @@ static void isa_ipmi_bt_realize(DeviceState *dev, Error= **errp) ISADevice *isadev =3D ISA_DEVICE(dev); ISAIPMIBTDevice *iib =3D ISA_IPMI_BT(dev); IPMIInterface *ii =3D IPMI_INTERFACE(dev); - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); =20 if (!iib->bt.bmc) { error_setg(errp, "IPMI device requires a bmc attribute to be set"); diff --git a/hw/ipmi/isa_ipmi_kcs.c b/hw/ipmi/isa_ipmi_kcs.c index 80444977a0..b036acc697 100644 --- a/hw/ipmi/isa_ipmi_kcs.c +++ b/hw/ipmi/isa_ipmi_kcs.c @@ -118,7 +118,7 @@ typedef struct IPMIKCS { =20 static void ipmi_kcs_signal(IPMIKCS *ik, IPMIInterface *ii) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); =20 ik->do_wake =3D 1; while (ik->do_wake) { @@ -129,7 +129,7 @@ static void ipmi_kcs_signal(IPMIKCS *ik, IPMIInterface = *ii) =20 static void ipmi_kcs_handle_event(IPMIInterface *ii) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIKCS *ik =3D iic->get_backend_data(ii); =20 if (ik->cmd_reg =3D=3D IPMI_KCS_ABORT_STATUS_CMD) { @@ -186,7 +186,7 @@ static void ipmi_kcs_handle_event(IPMIInterface *ii) ik->inlen++; } if (ik->write_end) { - IPMIBmcClass *bk =3D IPMI_BMC_GET_CLASS(ik->bmc); + const IPMIBmcClass *bk =3D IPMI_BMC_GET_CLASS(ik->bmc); ik->outlen =3D 0; ik->write_end =3D 0; ik->outpos =3D 0; @@ -228,7 +228,7 @@ static void ipmi_kcs_handle_event(IPMIInterface *ii) static void ipmi_kcs_handle_rsp(IPMIInterface *ii, uint8_t msg_id, unsigned char *rsp, unsigned int rsp_len) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIKCS *ik =3D iic->get_backend_data(ii); =20 if (ik->waiting_rsp =3D=3D msg_id) { @@ -252,7 +252,7 @@ static void ipmi_kcs_handle_rsp(IPMIInterface *ii, uint= 8_t msg_id, static uint64_t ipmi_kcs_ioport_read(void *opaque, hwaddr addr, unsigned s= ize) { IPMIInterface *ii =3D opaque; - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIKCS *ik =3D iic->get_backend_data(ii); uint32_t ret; =20 @@ -284,7 +284,7 @@ static void ipmi_kcs_ioport_write(void *opaque, hwaddr = addr, uint64_t val, unsigned size) { IPMIInterface *ii =3D opaque; - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIKCS *ik =3D iic->get_backend_data(ii); =20 if (IPMI_KCS_GET_IBF(ik->status_reg)) { @@ -316,7 +316,7 @@ const MemoryRegionOps ipmi_kcs_io_ops =3D { =20 static void ipmi_kcs_set_atn(IPMIInterface *ii, int val, int irq) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIKCS *ik =3D iic->get_backend_data(ii); =20 IPMI_KCS_SET_SMS_ATN(ik->status_reg, val); @@ -339,7 +339,7 @@ static void ipmi_kcs_set_atn(IPMIInterface *ii, int val= , int irq) =20 static void ipmi_kcs_set_irq_enable(IPMIInterface *ii, int val) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIKCS *ik =3D iic->get_backend_data(ii); =20 ik->irqs_enabled =3D val; @@ -347,7 +347,7 @@ static void ipmi_kcs_set_irq_enable(IPMIInterface *ii, = int val) =20 static void ipmi_kcs_init(IPMIInterface *ii, Error **errp) { - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); IPMIKCS *ik =3D iic->get_backend_data(ii); =20 ik->io_length =3D 2; @@ -398,7 +398,7 @@ static void ipmi_isa_realize(DeviceState *dev, Error **= errp) ISADevice *isadev =3D ISA_DEVICE(dev); ISAIPMIKCSDevice *iik =3D ISA_IPMI_KCS(dev); IPMIInterface *ii =3D IPMI_INTERFACE(dev); - IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); + const IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); =20 if (!iik->kcs.bmc) { error_setg(errp, "IPMI device requires a bmc attribute to be set"); diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c index 9e8dab0e89..259454a3bc 100644 --- a/hw/mem/pc-dimm.c +++ b/hw/mem/pc-dimm.c @@ -40,7 +40,7 @@ void pc_dimm_memory_plug(DeviceState *dev, MemoryHotplugS= tate *hpms, int slot; MachineState *machine =3D MACHINE(qdev_get_machine()); PCDIMMDevice *dimm =3D PC_DIMM(dev); - PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); + const PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); MemoryRegion *vmstate_mr =3D ddc->get_vmstate_memory_region(dimm); Error *local_err =3D NULL; uint64_t existing_dimms_capacity =3D 0; @@ -118,7 +118,7 @@ void pc_dimm_memory_unplug(DeviceState *dev, MemoryHotp= lugState *hpms, MemoryRegion *mr) { PCDIMMDevice *dimm =3D PC_DIMM(dev); - PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); + const PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); MemoryRegion *vmstate_mr =3D ddc->get_vmstate_memory_region(dimm); =20 numa_unset_mem_node_id(dimm->addr, memory_region_size(mr), dimm->node); @@ -169,7 +169,7 @@ int qmp_pc_dimm_device_list(Object *obj, void *opaque) MemoryDeviceInfoList *elem =3D g_new0(MemoryDeviceInfoList, 1); MemoryDeviceInfo *info =3D g_new0(MemoryDeviceInfo, 1); PCDIMMDeviceInfo *di =3D g_new0(PCDIMMDeviceInfo, 1); - DeviceClass *dc =3D DEVICE_GET_CLASS(obj); + const DeviceClass *dc =3D DEVICE_GET_CLASS(obj); PCDIMMDevice *dimm =3D PC_DIMM(obj); =20 if (dev->id) { @@ -358,7 +358,7 @@ static void pc_dimm_get_size(Object *obj, Visitor *v, c= onst char *name, int64_t value; MemoryRegion *mr; PCDIMMDevice *dimm =3D PC_DIMM(obj); - PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(obj); + const PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(obj); =20 mr =3D ddc->get_memory_region(dimm); value =3D memory_region_size(mr); @@ -398,7 +398,7 @@ static void pc_dimm_init(Object *obj) static void pc_dimm_realize(DeviceState *dev, Error **errp) { PCDIMMDevice *dimm =3D PC_DIMM(dev); - PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); + const PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); =20 if (!dimm->hostmem) { error_setg(errp, "'" PC_DIMM_MEMDEV_PROP "' property is not set"); diff --git a/hw/misc/imx_ccm.c b/hw/misc/imx_ccm.c index 7f239a41d8..8343526a84 100644 --- a/hw/misc/imx_ccm.c +++ b/hw/misc/imx_ccm.c @@ -31,7 +31,7 @@ uint32_t imx_ccm_get_clock_frequency(IMXCCMState *dev, IMXClk clock) { uint32_t freq =3D 0; - IMXCCMClass *klass =3D IMX_GET_CLASS(dev); + const IMXCCMClass *klass =3D IMX_GET_CLASS(dev); =20 if (klass->get_clock_frequency) { freq =3D klass->get_clock_frequency(dev, clock); diff --git a/hw/net/e1000.c b/hw/net/e1000.c index 93249497f4..9c501706b6 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -353,7 +353,7 @@ e1000_autoneg_timer(void *opaque) static void e1000_reset(void *opaque) { E1000State *d =3D opaque; - E1000BaseClass *edc =3D E1000_DEVICE_GET_CLASS(d); + const E1000BaseClass *edc =3D E1000_DEVICE_GET_CLASS(d); uint8_t *macaddr =3D d->conf.macaddr.a; =20 timer_del(d->autoneg_timer); diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c index 22874a9777..e63b2d0108 100644 --- a/hw/net/vhost_net.c +++ b/hw/net/vhost_net.c @@ -294,7 +294,7 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *= ncs, { BusState *qbus =3D BUS(qdev_get_parent_bus(DEVICE(dev))); VirtioBusState *vbus =3D VIRTIO_BUS(qbus); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(vbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(vbus); int r, e, i; =20 if (!k->set_guest_notifiers) { @@ -360,7 +360,7 @@ void vhost_net_stop(VirtIODevice *dev, NetClientState *= ncs, { BusState *qbus =3D BUS(qdev_get_parent_bus(DEVICE(dev))); VirtioBusState *vbus =3D VIRTIO_BUS(qbus); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(vbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(vbus); int i, r; =20 for (i =3D 0; i < total_queues; i++) { diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c index 8b1fab24fd..c3050c2819 100644 --- a/hw/net/vmxnet3.c +++ b/hw/net/vmxnet3.c @@ -2604,7 +2604,7 @@ static Property vmxnet3_properties[] =3D { =20 static void vmxnet3_realize(DeviceState *qdev, Error **errp) { - VMXNET3Class *vc =3D VMXNET3_DEVICE_GET_CLASS(qdev); + const VMXNET3Class *vc =3D VMXNET3_DEVICE_GET_CLASS(qdev); PCIDevice *pci_dev =3D PCI_DEVICE(qdev); VMXNET3State *s =3D VMXNET3(qdev); =20 diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c index 316fca9bc1..c1135b748a 100644 --- a/hw/nvram/fw_cfg.c +++ b/hw/nvram/fw_cfg.c @@ -792,7 +792,7 @@ void fw_cfg_add_file_callback(FWCfgState *s, const cha= r *filename, { int i, index, count; size_t dsize; - MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); + const MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); int order =3D 0; =20 if (!s->files) { diff --git a/hw/pci-bridge/pcie_root_port.c b/hw/pci-bridge/pcie_root_port.c index cf3631806f..d558610494 100644 --- a/hw/pci-bridge/pcie_root_port.c +++ b/hw/pci-bridge/pcie_root_port.c @@ -18,7 +18,7 @@ =20 static void rp_aer_vector_update(PCIDevice *d) { - PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(d); + const PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(d); =20 if (rpc->aer_vector) { pcie_aer_root_set_vector(d, rpc->aer_vector(d)); @@ -56,8 +56,8 @@ static void rp_realize(PCIDevice *d, Error **errp) { PCIEPort *p =3D PCIE_PORT(d); PCIESlot *s =3D PCIE_SLOT(d); - PCIDeviceClass *dc =3D PCI_DEVICE_GET_CLASS(d); - PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(d); + const PCIDeviceClass *dc =3D PCI_DEVICE_GET_CLASS(d); + const PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(d); int rc; Error *local_err =3D NULL; =20 @@ -122,7 +122,7 @@ err_bridge: =20 static void rp_exit(PCIDevice *d) { - PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(d); + const PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(d); PCIESlot *s =3D PCIE_SLOT(d); =20 pcie_aer_exit(d); diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 9151057bf5..eaf4c14e28 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -353,7 +353,7 @@ const char *pci_root_bus_path(PCIDevice *dev) { PCIBus *rootbus =3D pci_device_root_bus(dev); PCIHostState *host_bridge =3D PCI_HOST_BRIDGE(rootbus->qbus.parent); - PCIHostBridgeClass *hc =3D PCI_HOST_BRIDGE_GET_CLASS(host_bridge); + const PCIHostBridgeClass *hc =3D PCI_HOST_BRIDGE_GET_CLASS(host_bridge= ); =20 assert(host_bridge->bus =3D=3D rootbus); =20 @@ -451,7 +451,7 @@ static int get_pci_config_device(QEMUFile *f, void *pv,= size_t size, VMStateField *field) { PCIDevice *s =3D container_of(pv, PCIDevice, config); - PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(s); + const PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(s); uint8_t *config; int i; =20 @@ -952,7 +952,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci= _dev, PCIBus *bus, const char *name, int devfn, Error **errp) { - PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(pci_dev); + const PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(pci_dev); PCIConfigReadFunc *config_read =3D pc->config_read; PCIConfigWriteFunc *config_write =3D pc->config_write; Error *local_err =3D NULL; @@ -1070,7 +1070,7 @@ static void pci_unregister_io_regions(PCIDevice *pci_= dev) static void pci_qdev_unrealize(DeviceState *dev, Error **errp) { PCIDevice *pci_dev =3D PCI_DEVICE(dev); - PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(pci_dev); + const PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(pci_dev); =20 pci_unregister_io_regions(pci_dev); pci_del_option_rom(pci_dev); @@ -1195,7 +1195,7 @@ static pcibus_t pci_bar_address(PCIDevice *d, int bar =3D pci_bar(d, reg); uint16_t cmd =3D pci_get_word(d->config + PCI_COMMAND); Object *machine =3D qdev_get_machine(); - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); bool allow_0_address =3D mc->pci_allow_0_address; =20 if (type & PCI_BASE_ADDRESS_SPACE_IO) { @@ -1975,7 +1975,7 @@ PCIDevice *pci_find_device(PCIBus *bus, int bus_num, = uint8_t devfn) static void pci_qdev_realize(DeviceState *qdev, Error **errp) { PCIDevice *pci_dev =3D (PCIDevice *)qdev; - PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(pci_dev); + const PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(pci_dev); Error *local_err =3D NULL; PCIBus *bus; bool is_default_rom; @@ -2018,7 +2018,7 @@ static void pci_qdev_realize(DeviceState *qdev, Error= **errp) =20 static void pci_default_realize(PCIDevice *dev, Error **errp) { - PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); + const PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); =20 if (pc->init) { if (pc->init(dev) < 0) { @@ -2549,7 +2549,7 @@ void pci_setup_iommu(PCIBus *bus, PCIIOMMUFunc fn, vo= id *opaque) static void pci_dev_get_w64(PCIBus *b, PCIDevice *dev, void *opaque) { Range *range =3D opaque; - PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); + const PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); uint16_t cmd =3D pci_get_word(dev->config + PCI_COMMAND); int i; =20 diff --git a/hw/pcmcia/pxa2xx.c b/hw/pcmcia/pxa2xx.c index 20c9c753d2..6f3f3274df 100644 --- a/hw/pcmcia/pxa2xx.c +++ b/hw/pcmcia/pxa2xx.c @@ -39,7 +39,7 @@ static uint64_t pxa2xx_pcmcia_common_read(void *opaque, hwaddr offset, unsigned size) { PXA2xxPCMCIAState *s =3D (PXA2xxPCMCIAState *) opaque; - PCMCIACardClass *pcc; + const PCMCIACardClass *pcc; =20 if (s->slot.attached) { pcc =3D PCMCIA_CARD_GET_CLASS(s->card); @@ -53,7 +53,7 @@ static void pxa2xx_pcmcia_common_write(void *opaque, hwad= dr offset, uint64_t value, unsigned size) { PXA2xxPCMCIAState *s =3D (PXA2xxPCMCIAState *) opaque; - PCMCIACardClass *pcc; + const PCMCIACardClass *pcc; =20 if (s->slot.attached) { pcc =3D PCMCIA_CARD_GET_CLASS(s->card); @@ -65,7 +65,7 @@ static uint64_t pxa2xx_pcmcia_attr_read(void *opaque, hwaddr offset, unsigned size) { PXA2xxPCMCIAState *s =3D (PXA2xxPCMCIAState *) opaque; - PCMCIACardClass *pcc; + const PCMCIACardClass *pcc; =20 if (s->slot.attached) { pcc =3D PCMCIA_CARD_GET_CLASS(s->card); @@ -79,7 +79,7 @@ static void pxa2xx_pcmcia_attr_write(void *opaque, hwaddr= offset, uint64_t value, unsigned size) { PXA2xxPCMCIAState *s =3D (PXA2xxPCMCIAState *) opaque; - PCMCIACardClass *pcc; + const PCMCIACardClass *pcc; =20 if (s->slot.attached) { pcc =3D PCMCIA_CARD_GET_CLASS(s->card); @@ -91,7 +91,7 @@ static uint64_t pxa2xx_pcmcia_io_read(void *opaque, hwaddr offset, unsigned size) { PXA2xxPCMCIAState *s =3D (PXA2xxPCMCIAState *) opaque; - PCMCIACardClass *pcc; + const PCMCIACardClass *pcc; =20 if (s->slot.attached) { pcc =3D PCMCIA_CARD_GET_CLASS(s->card); @@ -105,7 +105,7 @@ static void pxa2xx_pcmcia_io_write(void *opaque, hwaddr= offset, uint64_t value, unsigned size) { PXA2xxPCMCIAState *s =3D (PXA2xxPCMCIAState *) opaque; - PCMCIACardClass *pcc; + const PCMCIACardClass *pcc; =20 if (s->slot.attached) { pcc =3D PCMCIA_CARD_GET_CLASS(s->card); @@ -195,7 +195,7 @@ static void pxa2xx_pcmcia_initfn(Object *obj) int pxa2xx_pcmcia_attach(void *opaque, PCMCIACardState *card) { PXA2xxPCMCIAState *s =3D (PXA2xxPCMCIAState *) opaque; - PCMCIACardClass *pcc; + const PCMCIACardClass *pcc; =20 if (s->slot.attached) { return -EEXIST; @@ -219,7 +219,7 @@ int pxa2xx_pcmcia_attach(void *opaque, PCMCIACardState = *card) int pxa2xx_pcmcia_detach(void *opaque) { PXA2xxPCMCIAState *s =3D (PXA2xxPCMCIAState *) opaque; - PCMCIACardClass *pcc; + const PCMCIACardClass *pcc; =20 if (!s->slot.attached) { return -ENOENT; diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 3fa722af82..7900b8176a 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -109,11 +109,11 @@ static int get_cpus_node(void *fdt) static void powernv_create_core_node(PnvChip *chip, PnvCore *pc, void *fdt) { CPUState *cs =3D CPU(DEVICE(pc->threads)); - DeviceClass *dc =3D DEVICE_GET_CLASS(cs); + const DeviceClass *dc =3D DEVICE_GET_CLASS(cs); PowerPCCPU *cpu =3D POWERPC_CPU(cs); int smt_threads =3D CPU_CORE(pc)->nr_threads; CPUPPCState *env =3D &cpu->env; - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cs); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cs); uint32_t servers_prop[smt_threads]; int i; uint32_t segs[] =3D {cpu_to_be32(28), cpu_to_be32(40), @@ -217,7 +217,7 @@ static void powernv_create_core_node(PnvChip *chip, Pnv= Core *pc, void *fdt) =20 static void powernv_populate_chip(PnvChip *chip, void *fdt) { - PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); + const PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); char *typename =3D pnv_core_typename(pcc->cpu_model); size_t typesize =3D object_type_get_instance_size(typename); int i; @@ -330,7 +330,7 @@ static ISABus *pnv_isa_create(PnvChip *chip) PnvLpcController *lpc =3D &chip->lpc; ISABus *isa_bus; qemu_irq *irqs; - PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); + const PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); =20 /* let isa_bus_new() create its own bridge on SysBus otherwise * devices speficied on the command line won't find the bus and @@ -601,7 +601,7 @@ static const TypeInfo pnv_chip_power9_info =3D { =20 static void pnv_chip_core_sanitize(PnvChip *chip, Error **errp) { - PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); + const PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); int cores_max; =20 /* @@ -632,7 +632,7 @@ static void pnv_chip_core_sanitize(PnvChip *chip, Error= **errp) static void pnv_chip_init(Object *obj) { PnvChip *chip =3D PNV_CHIP(obj); - PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); + const PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); =20 chip->xscom_base =3D pcc->xscom_base; =20 @@ -644,7 +644,7 @@ static void pnv_chip_realize(DeviceState *dev, Error **= errp) { PnvChip *chip =3D PNV_CHIP(dev); Error *error =3D NULL; - PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); + const PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); char *typename =3D pnv_core_typename(pcc->cpu_model); size_t typesize =3D object_type_get_instance_size(typename); int i, core_hwid; diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c index d79d530b48..a13fae4329 100644 --- a/hw/ppc/pnv_core.c +++ b/hw/ppc/pnv_core.c @@ -133,7 +133,7 @@ static void pnv_core_realize(DeviceState *dev, Error **= errp) { PnvCore *pc =3D PNV_CORE(OBJECT(dev)); CPUCore *cc =3D CPU_CORE(OBJECT(dev)); - PnvCoreClass *pcc =3D PNV_CORE_GET_CLASS(OBJECT(dev)); + const PnvCoreClass *pcc =3D PNV_CORE_GET_CLASS(OBJECT(dev)); const char *typename =3D object_class_get_name(pcc->cpu_oc); size_t size =3D object_type_get_instance_size(typename); Error *local_err =3D NULL; diff --git a/hw/ppc/pnv_xscom.c b/hw/ppc/pnv_xscom.c index 38bc85f117..272e6b646e 100644 --- a/hw/ppc/pnv_xscom.c +++ b/hw/ppc/pnv_xscom.c @@ -51,7 +51,7 @@ static void xscom_complete(CPUState *cs, uint64_t hmer_bi= ts) =20 static uint32_t pnv_xscom_pcba(PnvChip *chip, uint64_t addr) { - PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); + const PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); =20 addr &=3D (PNV_XSCOM_SIZE - 1); if (pcc->chip_type =3D=3D PNV_CHIP_POWER9) { @@ -212,7 +212,7 @@ static int xscom_populate_child(Object *child, void *op= aque) if (object_dynamic_cast(child, TYPE_PNV_XSCOM_INTERFACE)) { ForeachPopulateArgs *args =3D opaque; PnvXScomInterface *xd =3D PNV_XSCOM_INTERFACE(child); - PnvXScomInterfaceClass *xc =3D PNV_XSCOM_INTERFACE_GET_CLASS(xd); + const PnvXScomInterfaceClass *xc =3D PNV_XSCOM_INTERFACE_GET_CLASS= (xd); =20 if (xc->populate) { _FDT((xc->populate(xd, args->fdt, args->xscom_offset))); @@ -231,7 +231,7 @@ int pnv_xscom_populate(PnvChip *chip, void *fdt, int ro= ot_offset) int xscom_offset; ForeachPopulateArgs args; char *name; - PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); + const PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); =20 name =3D g_strdup_printf("xscom@%" PRIx64, be64_to_cpu(reg[0])); xscom_offset =3D fdt_add_subnode(fdt, root_offset, name); diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index 961230c569..4a684ab750 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -222,14 +222,14 @@ static void PREP_io_800_writeb (void *opaque, uint32_= t addr, uint32_t val) case 0x0810: /* Password protect 1 register */ if (sysctrl->nvram !=3D NULL) { - NvramClass *k =3D NVRAM_GET_CLASS(sysctrl->nvram); + const NvramClass *k =3D NVRAM_GET_CLASS(sysctrl->nvram); (k->toggle_lock)(sysctrl->nvram, 1); } break; case 0x0812: /* Password protect 2 register */ if (sysctrl->nvram !=3D NULL) { - NvramClass *k =3D NVRAM_GET_CLASS(sysctrl->nvram); + const NvramClass *k =3D NVRAM_GET_CLASS(sysctrl->nvram); (k->toggle_lock)(sysctrl->nvram, 2); } break; @@ -350,13 +350,13 @@ static PortioList prep_port_list; /* NVRAM helpers */ static inline uint32_t nvram_read(Nvram *nvram, uint32_t addr) { - NvramClass *k =3D NVRAM_GET_CLASS(nvram); + const NvramClass *k =3D NVRAM_GET_CLASS(nvram); return (k->read)(nvram, addr); } =20 static inline void nvram_write(Nvram *nvram, uint32_t addr, uint32_t val) { - NvramClass *k =3D NVRAM_GET_CLASS(nvram); + const NvramClass *k =3D NVRAM_GET_CLASS(nvram); (k->write)(nvram, addr, val); } =20 diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 8aecea3dd1..45a0a7c6b8 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -236,7 +236,7 @@ static int spapr_fixup_cpu_dt(void *fdt, sPAPRMachineSt= ate *spapr) =20 CPU_FOREACH(cs) { PowerPCCPU *cpu =3D POWERPC_CPU(cs); - DeviceClass *dc =3D DEVICE_GET_CLASS(cs); + const DeviceClass *dc =3D DEVICE_GET_CLASS(cs); int index =3D ppc_get_vcpu_dt_id(cpu); int compat_smt =3D MIN(smp_threads, ppc_compat_max_threads(cpu)); =20 @@ -444,7 +444,7 @@ static void spapr_populate_cpu_dt(CPUState *cs, void *f= dt, int offset, { PowerPCCPU *cpu =3D POWERPC_CPU(cs); CPUPPCState *env =3D &cpu->env; - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cs); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cs); int index =3D ppc_get_vcpu_dt_id(cpu); uint32_t segs[] =3D {cpu_to_be32(28), cpu_to_be32(40), 0xffffffff, 0xffffffff}; @@ -457,7 +457,7 @@ static void spapr_populate_cpu_dt(CPUState *cs, void *f= dt, int offset, uint32_t pft_size_prop[] =3D {0, cpu_to_be32(spapr->htab_shift)}; int compat_smt =3D MIN(smp_threads, ppc_compat_max_threads(cpu)); sPAPRDRConnector *drc; - sPAPRDRConnectorClass *drck; + const sPAPRDRConnectorClass *drck; int drc_index; =20 drc =3D spapr_dr_connector_by_id(SPAPR_DR_CONNECTOR_TYPE_CPU, index); @@ -566,7 +566,7 @@ static void spapr_populate_cpus_dt_node(void *fdt, sPAP= RMachineState *spapr) CPU_FOREACH_REVERSE(cs) { PowerPCCPU *cpu =3D POWERPC_CPU(cs); int index =3D ppc_get_vcpu_dt_id(cpu); - DeviceClass *dc =3D DEVICE_GET_CLASS(cs); + const DeviceClass *dc =3D DEVICE_GET_CLASS(cs); int offset; =20 if ((index % smt) !=3D 0) { @@ -642,7 +642,7 @@ static int spapr_populate_drconf_memory(sPAPRMachineSta= te *spapr, void *fdt) =20 if (i >=3D hotplug_lmb_start) { sPAPRDRConnector *drc; - sPAPRDRConnectorClass *drck; + const sPAPRDRConnectorClass *drck; =20 drc =3D spapr_dr_connector_by_id(SPAPR_DR_CONNECTOR_TYPE_LMB, = i); g_assert(drc); @@ -705,7 +705,7 @@ out: static int spapr_dt_cas_updates(sPAPRMachineState *spapr, void *fdt, sPAPROptionVector *ov5_updates) { - sPAPRMachineClass *smc =3D SPAPR_MACHINE_GET_CLASS(spapr); + const sPAPRMachineClass *smc =3D SPAPR_MACHINE_GET_CLASS(spapr); int ret =3D 0, offset; =20 /* Generate ibm,dynamic-reconfiguration-memory node if required */ @@ -927,8 +927,8 @@ static void *spapr_build_fdt(sPAPRMachineState *spapr, hwaddr rtas_size) { MachineState *machine =3D MACHINE(qdev_get_machine()); - MachineClass *mc =3D MACHINE_GET_CLASS(machine); - sPAPRMachineClass *smc =3D SPAPR_MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const sPAPRMachineClass *smc =3D SPAPR_MACHINE_GET_CLASS(machine); int ret; void *fdt; sPAPRPHBState *phb; @@ -1910,7 +1910,7 @@ static CPUArchId *spapr_find_cpu_slot(MachineState *m= s, uint32_t id, int *idx) static void spapr_init_cpus(sPAPRMachineState *spapr) { MachineState *machine =3D MACHINE(spapr); - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); char *type =3D spapr_get_cpu_core_type(machine->cpu_model); int smt =3D kvmppc_smt_threads(); const CPUArchIdList *possible_cpus; @@ -1977,7 +1977,7 @@ static void spapr_init_cpus(sPAPRMachineState *spapr) static void ppc_spapr_init(MachineState *machine) { sPAPRMachineState *spapr =3D SPAPR_MACHINE(machine); - sPAPRMachineClass *smc =3D SPAPR_MACHINE_GET_CLASS(machine); + const sPAPRMachineClass *smc =3D SPAPR_MACHINE_GET_CLASS(machine); const char *kernel_filename =3D machine->kernel_filename; const char *initrd_filename =3D machine->initrd_filename; PCIHostState *phb; @@ -2455,7 +2455,7 @@ static void spapr_add_lmbs(DeviceState *dev, uint64_t= addr_start, uint64_t size, Error **errp) { sPAPRDRConnector *drc; - sPAPRDRConnectorClass *drck; + const sPAPRDRConnectorClass *drck; uint32_t nr_lmbs =3D size/SPAPR_MEMORY_BLOCK_SIZE; int i, fdt_offset, fdt_size; void *fdt; @@ -2503,7 +2503,7 @@ static void spapr_memory_plug(HotplugHandler *hotplug= _dev, DeviceState *dev, Error *local_err =3D NULL; sPAPRMachineState *ms =3D SPAPR_MACHINE(hotplug_dev); PCDIMMDevice *dimm =3D PC_DIMM(dev); - PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); + const PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); MemoryRegion *mr =3D ddc->get_memory_region(dimm); uint64_t align =3D memory_region_get_alignment(mr); uint64_t size =3D memory_region_size(mr); @@ -2569,7 +2569,7 @@ static void spapr_del_lmbs(DeviceState *dev, uint64_t= addr_start, uint64_t size, Error **errp) { sPAPRDRConnector *drc; - sPAPRDRConnectorClass *drck; + const sPAPRDRConnectorClass *drck; uint32_t nr_lmbs =3D size / SPAPR_MEMORY_BLOCK_SIZE; int i; sPAPRDIMMState *ds =3D g_malloc0(sizeof(sPAPRDIMMState)); @@ -2599,7 +2599,7 @@ static void spapr_memory_unplug(HotplugHandler *hotpl= ug_dev, DeviceState *dev, { sPAPRMachineState *ms =3D SPAPR_MACHINE(hotplug_dev); PCDIMMDevice *dimm =3D PC_DIMM(dev); - PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); + const PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); MemoryRegion *mr =3D ddc->get_memory_region(dimm); =20 pc_dimm_memory_unplug(dev, &ms->hotplug_memory, mr); @@ -2611,7 +2611,7 @@ static void spapr_memory_unplug_request(HotplugHandle= r *hotplug_dev, { Error *local_err =3D NULL; PCDIMMDevice *dimm =3D PC_DIMM(dev); - PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); + const PCDIMMDeviceClass *ddc =3D PC_DIMM_GET_CLASS(dimm); MemoryRegion *mr =3D ddc->get_memory_region(dimm); uint64_t size =3D memory_region_size(mr); uint64_t addr; @@ -2630,7 +2630,7 @@ void *spapr_populate_hotplug_cpu_dt(CPUState *cs, int= *fdt_offset, sPAPRMachineState *spapr) { PowerPCCPU *cpu =3D POWERPC_CPU(cs); - DeviceClass *dc =3D DEVICE_GET_CLASS(cs); + const DeviceClass *dc =3D DEVICE_GET_CLASS(cs); int id =3D ppc_get_vcpu_dt_id(cpu); void *fdt; int offset, fdt_size; @@ -2672,7 +2672,7 @@ void spapr_core_unplug_request(HotplugHandler *hotplu= g_dev, DeviceState *dev, { int index; sPAPRDRConnector *drc; - sPAPRDRConnectorClass *drck; + const sPAPRDRConnectorClass *drck; Error *local_err =3D NULL; CPUCore *cc =3D CPU_CORE(dev); int smt =3D kvmppc_smt_threads(); @@ -2704,7 +2704,7 @@ static void spapr_core_plug(HotplugHandler *hotplug_d= ev, DeviceState *dev, Error **errp) { sPAPRMachineState *spapr =3D SPAPR_MACHINE(OBJECT(hotplug_dev)); - MachineClass *mc =3D MACHINE_GET_CLASS(spapr); + const MachineClass *mc =3D MACHINE_GET_CLASS(spapr); sPAPRCPUCore *core =3D SPAPR_CPU_CORE(OBJECT(dev)); CPUCore *cc =3D CPU_CORE(dev); CPUState *cs =3D CPU(core->threads); @@ -2735,7 +2735,7 @@ static void spapr_core_plug(HotplugHandler *hotplug_d= ev, DeviceState *dev, } =20 if (drc) { - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS= (drc); drck->attach(drc, dev, fdt, fdt_offset, !dev->hotplugged, &local_e= rr); if (local_err) { g_free(fdt); @@ -2755,7 +2755,7 @@ static void spapr_core_plug(HotplugHandler *hotplug_d= ev, DeviceState *dev, * Set the right DRC states for cold plugged CPU. */ if (drc) { - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(d= rc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_C= LASS(drc); drck->set_allocation_state(drc, SPAPR_DR_ALLOCATION_STATE_USAB= LE); drck->set_isolation_state(drc, SPAPR_DR_ISOLATION_STATE_UNISOL= ATED); } @@ -2767,7 +2767,7 @@ static void spapr_core_pre_plug(HotplugHandler *hotpl= ug_dev, DeviceState *dev, Error **errp) { MachineState *machine =3D MACHINE(OBJECT(hotplug_dev)); - MachineClass *mc =3D MACHINE_GET_CLASS(hotplug_dev); + const MachineClass *mc =3D MACHINE_GET_CLASS(hotplug_dev); Error *local_err =3D NULL; CPUCore *cc =3D CPU_CORE(dev); char *base_core_type =3D spapr_get_cpu_core_type(machine->cpu_model); @@ -2809,7 +2809,7 @@ out: static void spapr_machine_device_plug(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { - sPAPRMachineClass *smc =3D SPAPR_MACHINE_GET_CLASS(qdev_get_machine()); + const sPAPRMachineClass *smc =3D SPAPR_MACHINE_GET_CLASS(qdev_get_mach= ine()); =20 if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) { int node; @@ -2859,7 +2859,7 @@ static void spapr_machine_device_unplug(HotplugHandle= r *hotplug_dev, DeviceState *dev, Error **errp) { sPAPRMachineState *sms =3D SPAPR_MACHINE(qdev_get_machine()); - MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); + const MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); =20 if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) { if (spapr_ovec_test(sms->ov5_cas, OV5_HP_EVT)) { @@ -2880,7 +2880,7 @@ static void spapr_machine_device_unplug_request(Hotpl= ugHandler *hotplug_dev, DeviceState *dev, Error **= errp) { sPAPRMachineState *sms =3D SPAPR_MACHINE(qdev_get_machine()); - MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); + const MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); =20 if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) { if (spapr_ovec_test(sms->ov5_cas, OV5_HP_EVT)) { @@ -2932,7 +2932,7 @@ static const CPUArchIdList *spapr_possible_cpu_arch_i= ds(MachineState *machine) { int i; int spapr_max_cores =3D max_cpus / smp_threads; - MachineClass *mc =3D MACHINE_GET_CLASS(machine); + const MachineClass *mc =3D MACHINE_GET_CLASS(machine); =20 if (!mc->has_hotpluggable_cpus) { spapr_max_cores =3D QEMU_ALIGN_UP(smp_cpus, smp_threads) / smp_thr= eads; diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c index 6883f0991a..364c7ae74a 100644 --- a/hw/ppc/spapr_cpu_core.c +++ b/hw/ppc/spapr_cpu_core.c @@ -116,7 +116,7 @@ char *spapr_get_cpu_core_type(const char *model) static void spapr_cpu_core_unrealizefn(DeviceState *dev, Error **errp) { sPAPRCPUCore *sc =3D SPAPR_CPU_CORE(OBJECT(dev)); - sPAPRCPUCoreClass *scc =3D SPAPR_CPU_CORE_GET_CLASS(OBJECT(dev)); + const sPAPRCPUCoreClass *scc =3D SPAPR_CPU_CORE_GET_CLASS(OBJECT(dev)); const char *typename =3D object_class_get_name(scc->cpu_class); size_t size =3D object_type_get_instance_size(typename); CPUCore *cc =3D CPU_CORE(dev); @@ -158,7 +158,7 @@ static void spapr_cpu_core_realize_child(Object *child,= Error **errp) static void spapr_cpu_core_realize(DeviceState *dev, Error **errp) { sPAPRCPUCore *sc =3D SPAPR_CPU_CORE(OBJECT(dev)); - sPAPRCPUCoreClass *scc =3D SPAPR_CPU_CORE_GET_CLASS(OBJECT(dev)); + const sPAPRCPUCoreClass *scc =3D SPAPR_CPU_CORE_GET_CLASS(OBJECT(dev)); CPUCore *cc =3D CPU_CORE(OBJECT(dev)); const char *typename =3D object_class_get_name(scc->cpu_class); size_t size =3D object_type_get_instance_size(typename); diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 150f6bf2c7..b55d8c8f1b 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -54,7 +54,7 @@ static uint32_t get_index(sPAPRDRConnector *drc) static uint32_t set_isolation_state(sPAPRDRConnector *drc, sPAPRDRIsolationState state) { - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); =20 trace_spapr_drc_set_isolation_state(get_index(drc), state); =20 @@ -122,7 +122,7 @@ static uint32_t set_indicator_state(sPAPRDRConnector *d= rc, static uint32_t set_allocation_state(sPAPRDRConnector *drc, sPAPRDRAllocationState state) { - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); =20 trace_spapr_drc_set_allocation_state(get_index(drc), state); =20 @@ -233,7 +233,7 @@ static void prop_get_index(Object *obj, Visitor *v, con= st char *name, void *opaque, Error **errp) { sPAPRDRConnector *drc =3D SPAPR_DR_CONNECTOR(obj); - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); uint32_t value =3D (uint32_t)drck->get_index(drc); visit_type_uint32(v, name, &value, errp); } @@ -242,7 +242,7 @@ static void prop_get_type(Object *obj, Visitor *v, cons= t char *name, void *opaque, Error **errp) { sPAPRDRConnector *drc =3D SPAPR_DR_CONNECTOR(obj); - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); uint32_t value =3D (uint32_t)drck->get_type(drc); visit_type_uint32(v, name, &value, errp); } @@ -250,7 +250,7 @@ static void prop_get_type(Object *obj, Visitor *v, cons= t char *name, static char *prop_get_name(Object *obj, Error **errp) { sPAPRDRConnector *drc =3D SPAPR_DR_CONNECTOR(obj); - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); return g_strdup(drck->get_name(drc)); } =20 @@ -258,7 +258,7 @@ static void prop_get_entity_sense(Object *obj, Visitor = *v, const char *name, void *opaque, Error **errp) { sPAPRDRConnector *drc =3D SPAPR_DR_CONNECTOR(obj); - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); uint32_t value; =20 drck->entity_sense(drc, &value); @@ -465,7 +465,7 @@ static bool release_pending(sPAPRDRConnector *drc) static void reset(DeviceState *d) { sPAPRDRConnector *drc =3D SPAPR_DR_CONNECTOR(d); - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); sPAPRDREntitySense state; =20 trace_spapr_drc_reset(drck->get_index(drc)); @@ -504,7 +504,7 @@ static void reset(DeviceState *d) static void realize(DeviceState *d, Error **errp) { sPAPRDRConnector *drc =3D SPAPR_DR_CONNECTOR(d); - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); Object *root_container; char link_name[256]; gchar *child_name; @@ -535,7 +535,7 @@ static void realize(DeviceState *d, Error **errp) static void unrealize(DeviceState *d, Error **errp) { sPAPRDRConnector *drc =3D SPAPR_DR_CONNECTOR(d); - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); Object *root_container; char name[256]; Error *err =3D NULL; @@ -773,7 +773,7 @@ int spapr_drc_populate_dt(void *fdt, int fdt_offset, Ob= ject *owner, while ((prop =3D object_property_iter_next(&iter))) { Object *obj; sPAPRDRConnector *drc; - sPAPRDRConnectorClass *drck; + const sPAPRDRConnectorClass *drck; uint32_t drc_index, drc_power_domain; =20 if (!strstart(prop->type, "link<", NULL)) { diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c index 24a5758e62..38bacc5fc3 100644 --- a/hw/ppc/spapr_events.c +++ b/hw/ppc/spapr_events.c @@ -489,7 +489,7 @@ static void spapr_powerdown_req(Notifier *n, void *opaq= ue) static void spapr_hotplug_set_signalled(uint32_t drc_index) { sPAPRDRConnector *drc =3D spapr_dr_connector_by_index(drc_index); - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); drck->set_signalled(drc); } =20 @@ -581,7 +581,7 @@ static void spapr_hotplug_req_event(uint8_t hp_id, uint= 8_t hp_action, =20 void spapr_hotplug_req_add_by_index(sPAPRDRConnector *drc) { - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); sPAPRDRConnectorType drc_type =3D drck->get_type(drc); union drc_identifier drc_id; =20 @@ -592,7 +592,7 @@ void spapr_hotplug_req_add_by_index(sPAPRDRConnector *d= rc) =20 void spapr_hotplug_req_remove_by_index(sPAPRDRConnector *drc) { - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); sPAPRDRConnectorType drc_type =3D drck->get_type(drc); union drc_identifier drc_id; =20 diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c index f05a90ed2c..f4d70b17be 100644 --- a/hw/ppc/spapr_hcall.c +++ b/hw/ppc/spapr_hcall.c @@ -836,7 +836,7 @@ static target_ulong h_set_mode_resource_addr_trans_mode= (PowerPCCPU *cpu, target_ulong value= 2) { CPUState *cs; - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); =20 if (!(pcc->insns_flags2 & PPC2_ISA207S)) { return H_P2; diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index 98c52e411f..394a7ede9d 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -1351,7 +1351,7 @@ static void spapr_phb_add_pci_device(sPAPRDRConnector= *drc, PCIDevice *pdev, Error **errp) { - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); DeviceState *dev =3D DEVICE(pdev); void *fdt =3D NULL; int fdt_start_offset =3D 0, fdt_size; @@ -1392,7 +1392,7 @@ static void spapr_phb_remove_pci_device(sPAPRDRConnec= tor *drc, PCIDevice *pdev, Error **errp) { - sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); + const sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc= ); =20 drck->detach(drc, DEVICE(pdev), spapr_phb_remove_pci_device_cb, phb, e= rrp); } @@ -1418,7 +1418,7 @@ static uint32_t spapr_phb_get_pci_drc_index(sPAPRPHBS= tate *phb, PCIDevice *pdev) { sPAPRDRConnector *drc =3D spapr_phb_get_pci_drc(phb, pdev); - sPAPRDRConnectorClass *drck; + const sPAPRDRConnectorClass *drck; =20 if (!drc) { return 0; @@ -1480,7 +1480,7 @@ static void spapr_phb_hot_plug_child(HotplugHandler *= plug_handler, =20 for (i =3D 0; i < 8; i++) { sPAPRDRConnector *func_drc; - sPAPRDRConnectorClass *func_drck; + const sPAPRDRConnectorClass *func_drck; sPAPRDREntitySense state; =20 func_drc =3D spapr_phb_get_pci_func_drc(phb, pci_bus_num(bus), @@ -1500,7 +1500,7 @@ static void spapr_phb_hot_unplug_child(HotplugHandler= *plug_handler, { sPAPRPHBState *phb =3D SPAPR_PCI_HOST_BRIDGE(DEVICE(plug_handler)); PCIDevice *pdev =3D PCI_DEVICE(plugged_dev); - sPAPRDRConnectorClass *drck; + const sPAPRDRConnectorClass *drck; sPAPRDRConnector *drc =3D spapr_phb_get_pci_drc(phb, pdev); Error *local_err =3D NULL; =20 @@ -1517,7 +1517,7 @@ static void spapr_phb_hot_unplug_child(HotplugHandler= *plug_handler, PCIBus *bus =3D PCI_BUS(qdev_get_parent_bus(DEVICE(pdev))); uint32_t slotnr =3D PCI_SLOT(pdev->devfn); sPAPRDRConnector *func_drc; - sPAPRDRConnectorClass *func_drck; + const sPAPRDRConnectorClass *func_drck; sPAPRDREntitySense state; int i; =20 @@ -1577,7 +1577,7 @@ static void spapr_phb_realize(DeviceState *dev, Error= **errp) sphb->ddw_enabled ? SPAPR_PCI_DMA_MAX_WINDOWS : 1; =20 if (sphb->index !=3D (uint32_t)-1) { - sPAPRMachineClass *smc =3D SPAPR_MACHINE_GET_CLASS(spapr); + const sPAPRMachineClass *smc =3D SPAPR_MACHINE_GET_CLASS(spapr); Error *local_err =3D NULL; =20 if ((sphb->buid !=3D (uint64_t)-1) || (sphb->dma_liobn[0] !=3D (ui= nt32_t)-1) diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c index 619f32c054..47a5c0e11a 100644 --- a/hw/ppc/spapr_rtas.c +++ b/hw/ppc/spapr_rtas.c @@ -173,7 +173,7 @@ static void spapr_cpu_update_tb_offset(PowerPCCPU *cpu) static void spapr_cpu_set_endianness(PowerPCCPU *cpu) { PowerPCCPU *fcpu =3D POWERPC_CPU(first_cpu); - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(fcpu); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(fcpu); =20 if (!pcc->interrupts_big_endian(fcpu)) { cpu->env.spr[SPR_LPCR] |=3D LPCR_ILE; @@ -412,7 +412,7 @@ static void rtas_set_indicator(PowerPCCPU *cpu, sPAPRMa= chineState *spapr, uint32_t sensor_state; uint32_t ret =3D RTAS_OUT_SUCCESS; sPAPRDRConnector *drc; - sPAPRDRConnectorClass *drck; + const sPAPRDRConnectorClass *drck; =20 if (nargs !=3D 3 || nret !=3D 1) { ret =3D RTAS_OUT_PARAM_ERROR; @@ -482,7 +482,7 @@ static void rtas_get_sensor_state(PowerPCCPU *cpu, sPAP= RMachineState *spapr, uint32_t sensor_index; uint32_t sensor_state =3D 0; sPAPRDRConnector *drc; - sPAPRDRConnectorClass *drck; + const sPAPRDRConnectorClass *drck; uint32_t ret =3D RTAS_OUT_SUCCESS; =20 if (nargs !=3D 2 || nret !=3D 2) { @@ -544,7 +544,7 @@ static void rtas_ibm_configure_connector(PowerPCCPU *cp= u, uint64_t wa_offset; uint32_t drc_index; sPAPRDRConnector *drc; - sPAPRDRConnectorClass *drck; + const sPAPRDRConnectorClass *drck; sPAPRConfigureConnectorState *ccs; sPAPRDRCCResponse resp =3D SPAPR_DR_CC_RESPONSE_CONTINUE; int rc; diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c index a0ee4fd265..f8d4f714a8 100644 --- a/hw/ppc/spapr_vio.c +++ b/hw/ppc/spapr_vio.c @@ -49,7 +49,7 @@ static Property spapr_vio_props[] =3D { static char *spapr_vio_get_dev_name(DeviceState *qdev) { VIOsPAPRDevice *dev =3D VIO_SPAPR_DEVICE(qdev); - VIOsPAPRDeviceClass *pc =3D VIO_SPAPR_DEVICE_GET_CLASS(dev); + const VIOsPAPRDeviceClass *pc =3D VIO_SPAPR_DEVICE_GET_CLASS(dev); =20 /* Device tree style name device@reg */ return g_strdup_printf("%s@%x", pc->dt_name, dev->reg); @@ -88,7 +88,7 @@ VIOsPAPRDevice *spapr_vio_find_by_reg(VIOsPAPRBus *bus, u= int32_t reg) static int vio_make_devnode(VIOsPAPRDevice *dev, void *fdt) { - VIOsPAPRDeviceClass *pc =3D VIO_SPAPR_DEVICE_GET_CLASS(dev); + const VIOsPAPRDeviceClass *pc =3D VIO_SPAPR_DEVICE_GET_CLASS(dev); int vdevice_off, node_off, ret; char *dt_name; =20 @@ -402,7 +402,7 @@ static VIOsPAPRDevice *reg_conflict(VIOsPAPRDevice *dev) static void spapr_vio_busdev_reset(DeviceState *qdev) { VIOsPAPRDevice *dev =3D VIO_SPAPR_DEVICE(qdev); - VIOsPAPRDeviceClass *pc =3D VIO_SPAPR_DEVICE_GET_CLASS(dev); + const VIOsPAPRDeviceClass *pc =3D VIO_SPAPR_DEVICE_GET_CLASS(dev); =20 /* Shut down the request queue and TCEs if necessary */ spapr_vio_quiesce_one(dev); @@ -419,7 +419,7 @@ static void spapr_vio_busdev_realize(DeviceState *qdev,= Error **errp) { sPAPRMachineState *spapr =3D SPAPR_MACHINE(qdev_get_machine()); VIOsPAPRDevice *dev =3D (VIOsPAPRDevice *)qdev; - VIOsPAPRDeviceClass *pc =3D VIO_SPAPR_DEVICE_GET_CLASS(dev); + const VIOsPAPRDeviceClass *pc =3D VIO_SPAPR_DEVICE_GET_CLASS(dev); char *id; Error *local_err =3D NULL; =20 @@ -489,7 +489,7 @@ static target_ulong h_vio_signal(PowerPCCPU *cpu, sPAPR= MachineState *spapr, target_ulong reg =3D args[0]; target_ulong mode =3D args[1]; VIOsPAPRDevice *dev =3D spapr_vio_find_by_reg(spapr->vio_bus, reg); - VIOsPAPRDeviceClass *pc; + const VIOsPAPRDeviceClass *pc; =20 if (!dev) { return H_PARAMETER; @@ -651,7 +651,7 @@ void spapr_dt_vdevice(VIOsPAPRBus *bus, void *fdt) * to know that will mean they are in forward order in the tree. */ for (i =3D num - 1; i >=3D 0; i--) { VIOsPAPRDevice *dev =3D (VIOsPAPRDevice *)(qdevs[i]); - VIOsPAPRDeviceClass *vdc =3D VIO_SPAPR_DEVICE_GET_CLASS(dev); + const VIOsPAPRDeviceClass *vdc =3D VIO_SPAPR_DEVICE_GET_CLASS(dev); =20 ret =3D vio_make_devnode(dev, fdt); if (ret < 0) { diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c index 9a7f7ee60c..cd1f3ec678 100644 --- a/hw/s390x/css-bridge.c +++ b/hw/s390x/css-bridge.c @@ -27,7 +27,7 @@ static void ccw_device_unplug(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { CcwDevice *ccw_dev =3D CCW_DEVICE(dev); - CCWDeviceClass *k =3D CCW_DEVICE_GET_CLASS(ccw_dev); + const CCWDeviceClass *k =3D CCW_DEVICE_GET_CLASS(ccw_dev); SubchDev *sch =3D ccw_dev->sch; Error *err =3D NULL; =20 diff --git a/hw/s390x/css.c b/hw/s390x/css.c index 37caa98195..bfdc7b7826 100644 --- a/hw/s390x/css.c +++ b/hw/s390x/css.c @@ -100,7 +100,7 @@ static int s390_io_adapter_map(AdapterInfo *adapter, ui= nt64_t map_addr, bool do_map) { S390FLICState *fs =3D s390_get_flic(); - S390FLICStateClass *fsc =3D S390_FLIC_COMMON_GET_CLASS(fs); + const S390FLICStateClass *fsc =3D S390_FLIC_COMMON_GET_CLASS(fs); =20 return fsc->io_adapter_map(fs, adapter->adapter_id, map_addr, do_map); } @@ -162,7 +162,7 @@ int css_register_io_adapter(uint8_t type, uint8_t isc, = bool swap, bool found =3D false; int ret; S390FLICState *fs =3D s390_get_flic(); - S390FLICStateClass *fsc =3D S390_FLIC_COMMON_GET_CLASS(fs); + const S390FLICStateClass *fsc =3D S390_FLIC_COMMON_GET_CLASS(fs); =20 *id =3D 0; QTAILQ_FOREACH(adapter, &channel_subsys.io_adapters, sibling) { @@ -201,7 +201,7 @@ static void css_clear_io_interrupt(uint16_t subchannel_= id, Error *err =3D NULL; static bool no_clear_irq; S390FLICState *fs =3D s390_get_flic(); - S390FLICStateClass *fsc =3D S390_FLIC_COMMON_GET_CLASS(fs); + const S390FLICStateClass *fsc =3D S390_FLIC_COMMON_GET_CLASS(fs); int r; =20 if (unlikely(no_clear_irq)) { diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c index 34b2faf013..d1312b678f 100644 --- a/hw/s390x/event-facility.c +++ b/hw/s390x/event-facility.c @@ -38,7 +38,7 @@ static bool event_pending(SCLPEventFacility *ef) { BusChild *kid; SCLPEvent *event; - SCLPEventClass *event_class; + const SCLPEventClass *event_class; =20 QTAILQ_FOREACH(kid, &ef->sbus.qbus.children, sibling) { DeviceState *qdev =3D kid->child; @@ -56,7 +56,7 @@ static unsigned int get_host_send_mask(SCLPEventFacility = *ef) { unsigned int mask; BusChild *kid; - SCLPEventClass *child; + const SCLPEventClass *child; =20 mask =3D 0; =20 @@ -72,7 +72,7 @@ static unsigned int get_host_receive_mask(SCLPEventFacili= ty *ef) { unsigned int mask; BusChild *kid; - SCLPEventClass *child; + const SCLPEventClass *child; =20 mask =3D 0; =20 @@ -111,7 +111,7 @@ static uint16_t handle_write_event_buf(SCLPEventFacilit= y *ef, uint16_t rc; BusChild *kid; SCLPEvent *event; - SCLPEventClass *ec; + const SCLPEventClass *ec; =20 rc =3D SCLP_RC_INVALID_FUNCTION; =20 @@ -187,7 +187,7 @@ static uint16_t handle_sccb_read_events(SCLPEventFacili= ty *ef, SCCB *sccb, unsigned elen; BusChild *kid; SCLPEvent *event; - SCLPEventClass *ec; + const SCLPEventClass *ec; EventBufferHeader *event_buf; ReadEventData *red =3D (ReadEventData *) sccb; =20 @@ -397,7 +397,7 @@ static const TypeInfo sclp_event_facility_info =3D { static void event_realize(DeviceState *qdev, Error **errp) { SCLPEvent *event =3D SCLP_EVENT(qdev); - SCLPEventClass *child =3D SCLP_EVENT_GET_CLASS(event); + const SCLPEventClass *child =3D SCLP_EVENT_GET_CLASS(event); =20 if (child->init) { int rc =3D child->init(event); @@ -411,7 +411,7 @@ static void event_realize(DeviceState *qdev, Error **er= rp) static void event_unrealize(DeviceState *qdev, Error **errp) { SCLPEvent *event =3D SCLP_EVENT(qdev); - SCLPEventClass *child =3D SCLP_EVENT_GET_CLASS(event); + const SCLPEventClass *child =3D SCLP_EVENT_GET_CLASS(event); if (child->exit) { int rc =3D child->exit(event); if (rc < 0) { diff --git a/hw/s390x/s390-skeys-kvm.c b/hw/s390x/s390-skeys-kvm.c index 131da56bbe..dac3440441 100644 --- a/hw/s390x/s390-skeys-kvm.c +++ b/hw/s390x/s390-skeys-kvm.c @@ -16,7 +16,7 @@ =20 static int kvm_s390_skeys_enabled(S390SKeysState *ss) { - S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); + const S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); uint8_t single_key; int r; =20 diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c index e2d4e1af79..207699212d 100644 --- a/hw/s390x/s390-skeys.c +++ b/hw/s390x/s390-skeys.c @@ -70,7 +70,7 @@ static void write_keys(FILE *f, uint8_t *keys, uint64_t s= tartgfn, void hmp_info_skeys(Monitor *mon, const QDict *qdict) { S390SKeysState *ss =3D s390_get_skeys_device(); - S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); + const S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); uint64_t addr =3D qdict_get_int(qdict, "addr"); uint8_t key; int r; @@ -104,7 +104,7 @@ void hmp_dump_skeys(Monitor *mon, const QDict *qdict) void qmp_dump_skeys(const char *filename, Error **errp) { S390SKeysState *ss =3D s390_get_skeys_device(); - S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); + const S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); const uint64_t total_count =3D ram_size / TARGET_PAGE_SIZE; uint64_t handled_count =3D 0, cur_count; Error *lerr =3D NULL; @@ -247,7 +247,7 @@ static const TypeInfo qemu_s390_skeys_info =3D { static void s390_storage_keys_save(QEMUFile *f, void *opaque) { S390SKeysState *ss =3D S390_SKEYS(opaque); - S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); + const S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); uint64_t pages_left =3D ram_size / TARGET_PAGE_SIZE; uint64_t read_count, eos =3D S390_SKEYS_SAVE_FLAG_EOS; vaddr cur_gfn =3D 0; @@ -299,7 +299,7 @@ end_stream: static int s390_storage_keys_load(QEMUFile *f, void *opaque, int version_i= d) { S390SKeysState *ss =3D S390_SKEYS(opaque); - S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); + const S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); int ret =3D 0; =20 while (!ret) { diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 40914fde6f..da82af6886 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -244,10 +244,10 @@ static inline void machine_set_dea_key_wrap(Object *o= bj, bool value, bool ri_allowed(void) { if (kvm_enabled()) { - MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); + const MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); if (object_class_dynamic_cast(OBJECT_CLASS(mc), TYPE_S390_CCW_MACHINE)) { - S390CcwMachineClass *s390mc =3D S390_MACHINE_CLASS(mc); + const S390CcwMachineClass *s390mc =3D S390_MACHINE_CLASS(mc); =20 return s390mc->ri_allowed; } @@ -262,10 +262,10 @@ bool ri_allowed(void) =20 bool cpu_model_allowed(void) { - MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); + const MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); if (object_class_dynamic_cast(OBJECT_CLASS(mc), TYPE_S390_CCW_MACHINE)) { - S390CcwMachineClass *s390mc =3D S390_MACHINE_CLASS(mc); + const S390CcwMachineClass *s390mc =3D S390_MACHINE_CLASS(mc); =20 return s390mc->cpu_model_allowed; } diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c index e741da1141..42bf7d0fbf 100644 --- a/hw/s390x/sclp.c +++ b/hw/s390x/sclp.c @@ -348,9 +348,9 @@ static void sclp_read_cpu_info(SCLPDevice *sclp, SCCB *= sccb) =20 static void sclp_execute(SCLPDevice *sclp, SCCB *sccb, uint32_t code) { - SCLPDeviceClass *sclp_c =3D SCLP_GET_CLASS(sclp); + const SCLPDeviceClass *sclp_c =3D SCLP_GET_CLASS(sclp); SCLPEventFacility *ef =3D sclp->event_facility; - SCLPEventFacilityClass *efc =3D EVENT_FACILITY_GET_CLASS(ef); + const SCLPEventFacilityClass *efc =3D EVENT_FACILITY_GET_CLASS(ef); =20 switch (code & SCLP_CMD_CODE_MASK) { case SCLP_CMDW_READ_SCP_INFO: @@ -391,7 +391,7 @@ static void sclp_execute(SCLPDevice *sclp, SCCB *sccb, = uint32_t code) int sclp_service_call(CPUS390XState *env, uint64_t sccb, uint32_t code) { SCLPDevice *sclp =3D get_sclp_device(); - SCLPDeviceClass *sclp_c =3D SCLP_GET_CLASS(sclp); + const SCLPDeviceClass *sclp_c =3D SCLP_GET_CLASS(sclp); int r =3D 0; SCCB work_sccb; =20 @@ -440,7 +440,7 @@ out: static void service_interrupt(SCLPDevice *sclp, uint32_t sccb) { SCLPEventFacility *ef =3D sclp->event_facility; - SCLPEventFacilityClass *efc =3D EVENT_FACILITY_GET_CLASS(ef); + const SCLPEventFacilityClass *efc =3D EVENT_FACILITY_GET_CLASS(ef); =20 uint32_t param =3D sccb & ~3; =20 @@ -457,7 +457,7 @@ static void service_interrupt(SCLPDevice *sclp, uint32_= t sccb) void sclp_service_interrupt(uint32_t sccb) { SCLPDevice *sclp =3D get_sclp_device(); - SCLPDeviceClass *sclp_c =3D SCLP_GET_CLASS(sclp); + const SCLPDeviceClass *sclp_c =3D SCLP_GET_CLASS(sclp); =20 sclp_c->service_interrupt(sclp, sccb); } diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c index 00b3bde4e9..f092c92c0a 100644 --- a/hw/s390x/virtio-ccw.c +++ b/hw/s390x/virtio-ccw.c @@ -314,7 +314,7 @@ static int virtio_ccw_cb(SubchDev *sch, CCW1 ccw) if (!ccw.cda) { ret =3D -EFAULT; } else { - VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); =20 features.index =3D address_space_ldub(&address_space_memory, ccw.cda @@ -678,7 +678,7 @@ static void virtio_sch_disable_cb(SubchDev *sch) =20 static void virtio_ccw_device_realize(VirtioCcwDevice *dev, Error **errp) { - VirtIOCCWDeviceClass *k =3D VIRTIO_CCW_DEVICE_GET_CLASS(dev); + const VirtIOCCWDeviceClass *k =3D VIRTIO_CCW_DEVICE_GET_CLASS(dev); CcwDevice *ccw_dev =3D CCW_DEVICE(dev); SubchDev *sch =3D css_create_virtual_sch(ccw_dev->bus_id, errp); Error *err =3D NULL; @@ -1067,7 +1067,7 @@ static int virtio_ccw_setup_irqroutes(VirtioCcwDevice= *dev, int nvqs) VirtIODevice *vdev =3D virtio_bus_get_device(&dev->bus); int ret; S390FLICState *fs =3D s390_get_flic(); - S390FLICStateClass *fsc =3D S390_FLIC_COMMON_GET_CLASS(fs); + const S390FLICStateClass *fsc =3D S390_FLIC_COMMON_GET_CLASS(fs); =20 ret =3D virtio_ccw_get_mappings(dev); if (ret) { @@ -1085,7 +1085,7 @@ static int virtio_ccw_setup_irqroutes(VirtioCcwDevice= *dev, int nvqs) static void virtio_ccw_release_irqroutes(VirtioCcwDevice *dev, int nvqs) { S390FLICState *fs =3D s390_get_flic(); - S390FLICStateClass *fsc =3D S390_FLIC_COMMON_GET_CLASS(fs); + const S390FLICStateClass *fsc =3D S390_FLIC_COMMON_GET_CLASS(fs); =20 fsc->release_adapter_routes(fs, &dev->routes); } @@ -1118,7 +1118,7 @@ static int virtio_ccw_set_guest_notifier(VirtioCcwDev= ice *dev, int n, VirtIODevice *vdev =3D virtio_bus_get_device(&dev->bus); VirtQueue *vq =3D virtio_get_queue(vdev, n); EventNotifier *notifier =3D virtio_queue_get_guest_notifier(vq); - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); =20 if (assign) { int r =3D event_notifier_init(notifier, 0); @@ -1619,7 +1619,7 @@ static void virtio_ccw_busdev_realize(DeviceState *de= v, Error **errp) static int virtio_ccw_busdev_exit(DeviceState *dev) { VirtioCcwDevice *_dev =3D (VirtioCcwDevice *)dev; - VirtIOCCWDeviceClass *_info =3D VIRTIO_CCW_DEVICE_GET_CLASS(dev); + const VirtIOCCWDeviceClass *_info =3D VIRTIO_CCW_DEVICE_GET_CLASS(dev); =20 return _info->exit(_dev); } diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c index 84b8caf901..01faf2cdec 100644 --- a/hw/scsi/megasas.c +++ b/hw/scsi/megasas.c @@ -711,8 +711,8 @@ static void megasas_finish_dcmd(MegasasCmd *cmd, uint32= _t iov_size) static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd) { PCIDevice *pci_dev =3D PCI_DEVICE(s); - PCIDeviceClass *pci_class =3D PCI_DEVICE_GET_CLASS(pci_dev); - MegasasBaseClass *base_class =3D MEGASAS_DEVICE_GET_CLASS(s); + const PCIDeviceClass *pci_class =3D PCI_DEVICE_GET_CLASS(pci_dev); + const MegasasBaseClass *base_class =3D MEGASAS_DEVICE_GET_CLASS(s); struct mfi_ctrl_info info; size_t dcmd_size =3D sizeof(info); BusChild *kid; @@ -2003,7 +2003,7 @@ static uint64_t megasas_mmio_read(void *opaque, hwadd= r addr, { MegasasState *s =3D opaque; PCIDevice *pci_dev =3D PCI_DEVICE(s); - MegasasBaseClass *base_class =3D MEGASAS_DEVICE_GET_CLASS(s); + const MegasasBaseClass *base_class =3D MEGASAS_DEVICE_GET_CLASS(s); uint32_t retval =3D 0; =20 switch (addr) { @@ -2326,7 +2326,7 @@ static const struct SCSIBusInfo megasas_scsi_info =3D= { static void megasas_scsi_realize(PCIDevice *dev, Error **errp) { MegasasState *s =3D MEGASAS(dev); - MegasasBaseClass *b =3D MEGASAS_DEVICE_GET_CLASS(s); + const MegasasBaseClass *b =3D MEGASAS_DEVICE_GET_CLASS(s); uint8_t *pci_conf; int i, bar_type; Error *err =3D NULL; diff --git a/hw/scsi/mptconfig.c b/hw/scsi/mptconfig.c index 87a416a5cb..e5cd7dd6b8 100644 --- a/hw/scsi/mptconfig.c +++ b/hw/scsi/mptconfig.c @@ -209,7 +209,7 @@ size_t mptsas_config_manufacturing_1(MPTSASState *s, ui= nt8_t **data, int address static size_t mptsas_config_manufacturing_2(MPTSASState *s, uint8_t **data, int a= ddress) { - PCIDeviceClass *pcic =3D PCI_DEVICE_GET_CLASS(s); + const PCIDeviceClass *pcic =3D PCI_DEVICE_GET_CLASS(s); return MPTSAS_CONFIG_PACK(2, MPI_CONFIG_PAGETYPE_MANUFACTURING, 0x00, "wb*b*l", pcic->device_id, pcic->revision); @@ -218,7 +218,7 @@ size_t mptsas_config_manufacturing_2(MPTSASState *s, ui= nt8_t **data, int address static size_t mptsas_config_manufacturing_3(MPTSASState *s, uint8_t **data, int a= ddress) { - PCIDeviceClass *pcic =3D PCI_DEVICE_GET_CLASS(s); + const PCIDeviceClass *pcic =3D PCI_DEVICE_GET_CLASS(s); return MPTSAS_CONFIG_PACK(3, MPI_CONFIG_PAGETYPE_MANUFACTURING, 0x00, "wb*b*l", pcic->device_id, pcic->revision); @@ -323,7 +323,7 @@ size_t mptsas_config_io_unit_4(MPTSASState *s, uint8_t = **data, int address) static size_t mptsas_config_ioc_0(MPTSASState *s, uint8_t **data, int address) { - PCIDeviceClass *pcic =3D PCI_DEVICE_GET_CLASS(s); + const PCIDeviceClass *pcic =3D PCI_DEVICE_GET_CLASS(s); =20 return MPTSAS_CONFIG_PACK(0, MPI_CONFIG_PAGETYPE_IOC, 0x01, "*l*lwwb*b*b*blww", diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index f5574469c8..3013a7caea 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -48,7 +48,7 @@ static int next_scsi_bus; =20 static void scsi_device_realize(SCSIDevice *s, Error **errp) { - SCSIDeviceClass *sc =3D SCSI_DEVICE_GET_CLASS(s); + const SCSIDeviceClass *sc =3D SCSI_DEVICE_GET_CLASS(s); if (sc->realize) { sc->realize(s, errp); } @@ -71,7 +71,7 @@ int scsi_bus_parse_cdb(SCSIDevice *dev, SCSICommand *cmd,= uint8_t *buf, static SCSIRequest *scsi_device_alloc_req(SCSIDevice *s, uint32_t tag, uin= t32_t lun, uint8_t *buf, void *hba_private) { - SCSIDeviceClass *sc =3D SCSI_DEVICE_GET_CLASS(s); + const SCSIDeviceClass *sc =3D SCSI_DEVICE_GET_CLASS(s); if (sc->alloc_req) { return sc->alloc_req(s, tag, lun, buf, hba_private); } @@ -81,7 +81,7 @@ static SCSIRequest *scsi_device_alloc_req(SCSIDevice *s, = uint32_t tag, uint32_t =20 void scsi_device_unit_attention_reported(SCSIDevice *s) { - SCSIDeviceClass *sc =3D SCSI_DEVICE_GET_CLASS(s); + const SCSIDeviceClass *sc =3D SCSI_DEVICE_GET_CLASS(s); if (sc->unit_attention_reported) { sc->unit_attention_reported(s); } @@ -635,7 +635,7 @@ SCSIRequest *scsi_req_new(SCSIDevice *d, uint32_t tag, = uint32_t lun, { SCSIBus *bus =3D DO_UPCAST(SCSIBus, qbus, d->qdev.parent_bus); const SCSIReqOps *ops; - SCSIDeviceClass *sc =3D SCSI_DEVICE_GET_CLASS(d); + const SCSIDeviceClass *sc =3D SCSI_DEVICE_GET_CLASS(d); SCSIRequest *req; SCSICommand cmd =3D { .len =3D 0 }; int ret; diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c index c491ece1f2..dc47a33667 100644 --- a/hw/scsi/vhost-scsi.c +++ b/hw/scsi/vhost-scsi.c @@ -71,7 +71,7 @@ static int vhost_scsi_start(VHostSCSI *s) int ret, abi_version, i; VirtIODevice *vdev =3D VIRTIO_DEVICE(s); BusState *qbus =3D BUS(qdev_get_parent_bus(DEVICE(vdev))); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); const VhostOps *vhost_ops =3D s->dev.vhost_ops; =20 if (!k->set_guest_notifiers) { @@ -138,7 +138,7 @@ static void vhost_scsi_stop(VHostSCSI *s) { VirtIODevice *vdev =3D VIRTIO_DEVICE(s); BusState *qbus =3D BUS(qdev_get_parent_bus(DEVICE(vdev))); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); int ret =3D 0; =20 if (k->set_guest_notifiers) { diff --git a/hw/scsi/virtio-scsi-dataplane.c b/hw/scsi/virtio-scsi-dataplan= e.c index 944ea4eb53..9644dae780 100644 --- a/hw/scsi/virtio-scsi-dataplane.c +++ b/hw/scsi/virtio-scsi-dataplane.c @@ -27,7 +27,7 @@ void virtio_scsi_dataplane_setup(VirtIOSCSI *s, Error **e= rrp) VirtIOSCSICommon *vs =3D VIRTIO_SCSI_COMMON(s); VirtIODevice *vdev =3D VIRTIO_DEVICE(s); BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); =20 if (vs->conf.iothread) { if (!k->set_guest_notifiers || !k->ioeventfd_assign) { @@ -126,7 +126,7 @@ int virtio_scsi_dataplane_start(VirtIODevice *vdev) int i; int rc; BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); VirtIOSCSICommon *vs =3D VIRTIO_SCSI_COMMON(vdev); VirtIOSCSI *s =3D VIRTIO_SCSI(vdev); =20 @@ -188,7 +188,7 @@ fail_guest_notifiers: void virtio_scsi_dataplane_stop(VirtIODevice *vdev) { BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); VirtIOSCSICommon *vs =3D VIRTIO_SCSI_COMMON(vdev); VirtIOSCSI *s =3D VIRTIO_SCSI(vdev); int i; diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c index 75575461e2..a56712086f 100644 --- a/hw/scsi/vmw_pvscsi.c +++ b/hw/scsi/vmw_pvscsi.c @@ -1264,7 +1264,7 @@ static Property pvscsi_properties[] =3D { =20 static void pvscsi_realize(DeviceState *qdev, Error **errp) { - PVSCSIClass *pvs_c =3D PVSCSI_DEVICE_GET_CLASS(qdev); + const PVSCSIClass *pvs_c =3D PVSCSI_DEVICE_GET_CLASS(qdev); PCIDevice *pci_dev =3D PCI_DEVICE(qdev); PVSCSIState *s =3D PVSCSI(qdev); =20 diff --git a/hw/sd/core.c b/hw/sd/core.c index 295dc44ab7..2078c4ce5e 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -40,7 +40,7 @@ int sdbus_do_command(SDBus *sdbus, SDRequest *req, uint8_= t *response) SDState *card =3D get_card(sdbus); =20 if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + const SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 return sc->do_command(card, req, response); } @@ -53,7 +53,7 @@ void sdbus_write_data(SDBus *sdbus, uint8_t value) SDState *card =3D get_card(sdbus); =20 if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + const SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 sc->write_data(card, value); } @@ -64,7 +64,7 @@ uint8_t sdbus_read_data(SDBus *sdbus) SDState *card =3D get_card(sdbus); =20 if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + const SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 return sc->read_data(card); } @@ -77,7 +77,7 @@ bool sdbus_data_ready(SDBus *sdbus) SDState *card =3D get_card(sdbus); =20 if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + const SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 return sc->data_ready(card); } @@ -90,7 +90,7 @@ bool sdbus_get_inserted(SDBus *sdbus) SDState *card =3D get_card(sdbus); =20 if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + const SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 return sc->get_inserted(card); } @@ -103,7 +103,7 @@ bool sdbus_get_readonly(SDBus *sdbus) SDState *card =3D get_card(sdbus); =20 if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + const SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 return sc->get_readonly(card); } @@ -113,7 +113,7 @@ bool sdbus_get_readonly(SDBus *sdbus) =20 void sdbus_set_inserted(SDBus *sdbus, bool inserted) { - SDBusClass *sbc =3D SD_BUS_GET_CLASS(sdbus); + const SDBusClass *sbc =3D SD_BUS_GET_CLASS(sdbus); BusState *qbus =3D BUS(sdbus); =20 if (sbc->set_inserted) { @@ -123,7 +123,7 @@ void sdbus_set_inserted(SDBus *sdbus, bool inserted) =20 void sdbus_set_readonly(SDBus *sdbus, bool readonly) { - SDBusClass *sbc =3D SD_BUS_GET_CLASS(sdbus); + const SDBusClass *sbc =3D SD_BUS_GET_CLASS(sdbus); BusState *qbus =3D BUS(sdbus); =20 if (sbc->set_readonly) { @@ -134,7 +134,7 @@ void sdbus_set_readonly(SDBus *sdbus, bool readonly) void sdbus_reparent_card(SDBus *from, SDBus *to) { SDState *card =3D get_card(from); - SDCardClass *sc; + const SDCardClass *sc; bool readonly; =20 /* We directly reparent the card object rather than implementing this diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c index 166e4bd947..1990afc92c 100644 --- a/hw/sh4/sh7750.c +++ b/hw/sh4/sh7750.c @@ -256,7 +256,7 @@ static uint32_t sh7750_mem_readw(void *opaque, hwaddr a= ddr) static uint32_t sh7750_mem_readl(void *opaque, hwaddr addr) { SH7750State *s =3D opaque; - SuperHCPUClass *scc; + const SuperHCPUClass *scc; =20 switch (addr) { case SH7750_BCR1_A7: diff --git a/hw/smbios/smbios_type_38.c b/hw/smbios/smbios_type_38.c index 56e8609c00..ae896ffe01 100644 --- a/hw/smbios/smbios_type_38.c +++ b/hw/smbios/smbios_type_38.c @@ -89,7 +89,7 @@ static void smbios_add_ipmi_devices(BusState *bus) =20 if (obj) { IPMIInterface *ii; - IPMIInterfaceClass *iic; + const IPMIInterfaceClass *iic; IPMIFwInfo info; =20 ii =3D IPMI_INTERFACE(obj); diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 873cd7df9a..19ec555fcd 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -120,7 +120,7 @@ static void nvram_init(Nvram *nvram, uint8_t *macaddr, unsigned int i; int sysp_end; uint8_t image[0x1ff0]; - NvramClass *k =3D NVRAM_GET_CLASS(nvram); + const NvramClass *k =3D NVRAM_GET_CLASS(nvram); =20 memset(image, '\0', sizeof(image)); =20 diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index d347b6616d..c49f5798cc 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -108,7 +108,7 @@ static int sun4u_NVRAM_set_params(Nvram *nvram, uint16_= t NVRAM_size, unsigned int i; int sysp_end; uint8_t image[0x1ff0]; - NvramClass *k =3D NVRAM_GET_CLASS(nvram); + const NvramClass *k =3D NVRAM_GET_CLASS(nvram); =20 memset(image, '\0', sizeof(image)); =20 diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c index cb515730c5..794136f99a 100644 --- a/hw/ssi/aspeed_smc.c +++ b/hw/ssi/aspeed_smc.c @@ -714,7 +714,7 @@ static void aspeed_smc_realize(DeviceState *dev, Error = **errp) { SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); AspeedSMCState *s =3D ASPEED_SMC(dev); - AspeedSMCClass *mc =3D ASPEED_SMC_GET_CLASS(s); + const AspeedSMCClass *mc =3D ASPEED_SMC_GET_CLASS(s); int i; char name[32]; hwaddr offset =3D 0; diff --git a/hw/ssi/ssi.c b/hw/ssi/ssi.c index 7eaaf565fd..77b248a4e7 100644 --- a/hw/ssi/ssi.c +++ b/hw/ssi/ssi.c @@ -34,7 +34,7 @@ static void ssi_cs_default(void *opaque, int n, int level) bool cs =3D !!level; assert(n =3D=3D 0); if (s->cs !=3D cs) { - SSISlaveClass *ssc =3D SSI_SLAVE_GET_CLASS(s); + const SSISlaveClass *ssc =3D SSI_SLAVE_GET_CLASS(s); if (ssc->set_cs) { ssc->set_cs(s, cs); } @@ -44,7 +44,7 @@ static void ssi_cs_default(void *opaque, int n, int level) =20 static uint32_t ssi_transfer_raw_default(SSISlave *dev, uint32_t val) { - SSISlaveClass *ssc =3D SSI_SLAVE_GET_CLASS(dev); + const SSISlaveClass *ssc =3D SSI_SLAVE_GET_CLASS(dev); =20 if ((dev->cs && ssc->cs_polarity =3D=3D SSI_CS_HIGH) || (!dev->cs && ssc->cs_polarity =3D=3D SSI_CS_LOW) || @@ -57,7 +57,7 @@ static uint32_t ssi_transfer_raw_default(SSISlave *dev, u= int32_t val) static void ssi_slave_realize(DeviceState *dev, Error **errp) { SSISlave *s =3D SSI_SLAVE(dev); - SSISlaveClass *ssc =3D SSI_SLAVE_GET_CLASS(s); + const SSISlaveClass *ssc =3D SSI_SLAVE_GET_CLASS(s); =20 if (ssc->transfer_raw =3D=3D ssi_transfer_raw_default && ssc->cs_polarity !=3D SSI_CS_NONE) { @@ -111,7 +111,7 @@ uint32_t ssi_transfer(SSIBus *bus, uint32_t val) { BusState *b =3D BUS(bus); BusChild *kid; - SSISlaveClass *ssc; + const SSISlaveClass *ssc; uint32_t r =3D 0; =20 QTAILQ_FOREACH(kid, &b->children, sibling) { diff --git a/hw/ssi/xilinx_spips.c b/hw/ssi/xilinx_spips.c index da8adfa443..23758fa251 100644 --- a/hw/ssi/xilinx_spips.c +++ b/hw/ssi/xilinx_spips.c @@ -606,7 +606,7 @@ static void xilinx_spips_realize(DeviceState *dev, Erro= r **errp) { XilinxSPIPS *s =3D XILINX_SPIPS(dev); SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); - XilinxSPIPSClass *xsc =3D XILINX_SPIPS_GET_CLASS(s); + const XilinxSPIPSClass *xsc =3D XILINX_SPIPS_GET_CLASS(s); qemu_irq *cs; int i; =20 diff --git a/hw/timer/i8254.c b/hw/timer/i8254.c index 5e61ad50a8..b6f8188010 100644 --- a/hw/timer/i8254.c +++ b/hw/timer/i8254.c @@ -332,7 +332,7 @@ static void pit_post_load(PITCommonState *s) static void pit_realizefn(DeviceState *dev, Error **errp) { PITCommonState *pit =3D PIT_COMMON(dev); - PITClass *pc =3D PIT_GET_CLASS(dev); + const PITClass *pc =3D PIT_GET_CLASS(dev); PITChannelState *s; =20 s =3D &pit->channels[0]; diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c index e18299a482..243f8bbb28 100644 --- a/hw/timer/i8254_common.c +++ b/hw/timer/i8254_common.c @@ -35,7 +35,7 @@ void pit_set_gate(ISADevice *dev, int channel, int val) { PITCommonState *pit =3D PIT_COMMON(dev); PITChannelState *s =3D &pit->channels[channel]; - PITCommonClass *c =3D PIT_COMMON_GET_CLASS(pit); + const PITCommonClass *c =3D PIT_COMMON_GET_CLASS(pit); =20 c->set_channel_gate(pit, s, val); } @@ -144,7 +144,7 @@ void pit_get_channel_info(ISADevice *dev, int channel, = PITChannelInfo *info) { PITCommonState *pit =3D PIT_COMMON(dev); PITChannelState *s =3D &pit->channels[channel]; - PITCommonClass *c =3D PIT_COMMON_GET_CLASS(pit); + const PITCommonClass *c =3D PIT_COMMON_GET_CLASS(pit); =20 c->get_channel_info(pit, s, info); } @@ -203,7 +203,7 @@ static const VMStateDescription vmstate_pit_channel =3D= { static int pit_load_old(QEMUFile *f, void *opaque, int version_id) { PITCommonState *pit =3D opaque; - PITCommonClass *c =3D PIT_COMMON_GET_CLASS(pit); + const PITCommonClass *c =3D PIT_COMMON_GET_CLASS(pit); PITChannelState *s; int i; =20 @@ -240,7 +240,7 @@ static int pit_load_old(QEMUFile *f, void *opaque, int = version_id) static void pit_dispatch_pre_save(void *opaque) { PITCommonState *s =3D opaque; - PITCommonClass *c =3D PIT_COMMON_GET_CLASS(s); + const PITCommonClass *c =3D PIT_COMMON_GET_CLASS(s); =20 if (c->pre_save) { c->pre_save(s); @@ -250,7 +250,7 @@ static void pit_dispatch_pre_save(void *opaque) static int pit_dispatch_post_load(void *opaque, int version_id) { PITCommonState *s =3D opaque; - PITCommonClass *c =3D PIT_COMMON_GET_CLASS(s); + const PITCommonClass *c =3D PIT_COMMON_GET_CLASS(s); =20 if (c->post_load) { c->post_load(s); diff --git a/hw/timer/m48t59-isa.c b/hw/timer/m48t59-isa.c index ea1ba703d7..baacf1311b 100644 --- a/hw/timer/m48t59-isa.c +++ b/hw/timer/m48t59-isa.c @@ -112,7 +112,7 @@ static void m48t59_reset_isa(DeviceState *d) =20 static void m48t59_isa_realize(DeviceState *dev, Error **errp) { - M48txxISADeviceClass *u =3D M48TXX_ISA_GET_CLASS(dev); + const M48txxISADeviceClass *u =3D M48TXX_ISA_GET_CLASS(dev); ISADevice *isadev =3D ISA_DEVICE(dev); M48txxISAState *d =3D M48TXX_ISA(dev); M48t59State *s =3D &d->state; diff --git a/hw/timer/m48t59.c b/hw/timer/m48t59.c index 474981a6ac..89e9060b00 100644 --- a/hw/timer/m48t59.c +++ b/hw/timer/m48t59.c @@ -646,7 +646,7 @@ void m48t59_realize_common(M48t59State *s, Error **errp) =20 static int m48t59_init1(SysBusDevice *dev) { - M48txxSysBusDeviceClass *u =3D M48TXX_SYS_BUS_GET_CLASS(dev); + const M48txxSysBusDeviceClass *u =3D M48TXX_SYS_BUS_GET_CLASS(dev); M48txxSysBusState *d =3D M48TXX_SYS_BUS(dev); Object *o =3D OBJECT(dev); M48t59State *s =3D &d->state; diff --git a/hw/usb/bus.c b/hw/usb/bus.c index 24f1608b4b..b85bc02433 100644 --- a/hw/usb/bus.c +++ b/hw/usb/bus.c @@ -119,7 +119,7 @@ USBBus *usb_bus_find(int busnr) =20 static void usb_device_realize(USBDevice *dev, Error **errp) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); =20 if (klass->realize) { klass->realize(dev, errp); @@ -128,7 +128,7 @@ static void usb_device_realize(USBDevice *dev, Error **= errp) =20 USBDevice *usb_device_find_device(USBDevice *dev, uint8_t addr) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (klass->find_device) { return klass->find_device(dev, addr); } @@ -137,7 +137,7 @@ USBDevice *usb_device_find_device(USBDevice *dev, uint8= _t addr) =20 static void usb_device_unrealize(USBDevice *dev, Error **errp) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); =20 if (klass->unrealize) { klass->unrealize(dev, errp); @@ -146,7 +146,7 @@ static void usb_device_unrealize(USBDevice *dev, Error = **errp) =20 void usb_device_cancel_packet(USBDevice *dev, USBPacket *p) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (klass->cancel_packet) { klass->cancel_packet(dev, p); } @@ -154,7 +154,7 @@ void usb_device_cancel_packet(USBDevice *dev, USBPacket= *p) =20 void usb_device_handle_attach(USBDevice *dev) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (klass->handle_attach) { klass->handle_attach(dev); } @@ -162,7 +162,7 @@ void usb_device_handle_attach(USBDevice *dev) =20 void usb_device_handle_reset(USBDevice *dev) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (klass->handle_reset) { klass->handle_reset(dev); } @@ -171,7 +171,7 @@ void usb_device_handle_reset(USBDevice *dev) void usb_device_handle_control(USBDevice *dev, USBPacket *p, int request, int value, int index, int length, uint8_t *= data) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (klass->handle_control) { klass->handle_control(dev, p, request, value, index, length, data); } @@ -179,7 +179,7 @@ void usb_device_handle_control(USBDevice *dev, USBPacke= t *p, int request, =20 void usb_device_handle_data(USBDevice *dev, USBPacket *p) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (klass->handle_data) { klass->handle_data(dev, p); } @@ -187,13 +187,13 @@ void usb_device_handle_data(USBDevice *dev, USBPacket= *p) =20 const char *usb_device_get_product_desc(USBDevice *dev) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); return klass->product_desc; } =20 const USBDesc *usb_device_get_usb_desc(USBDevice *dev) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (dev->usb_desc) { return dev->usb_desc; } @@ -203,7 +203,7 @@ const USBDesc *usb_device_get_usb_desc(USBDevice *dev) void usb_device_set_interface(USBDevice *dev, int interface, int alt_old, int alt_new) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (klass->set_interface) { klass->set_interface(dev, interface, alt_old, alt_new); } @@ -211,7 +211,7 @@ void usb_device_set_interface(USBDevice *dev, int inter= face, =20 void usb_device_flush_ep_queue(USBDevice *dev, USBEndpoint *ep) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (klass->flush_ep_queue) { klass->flush_ep_queue(dev, ep); } @@ -219,7 +219,7 @@ void usb_device_flush_ep_queue(USBDevice *dev, USBEndpo= int *ep) =20 void usb_device_ep_stopped(USBDevice *dev, USBEndpoint *ep) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (klass->ep_stopped) { klass->ep_stopped(dev, ep); } @@ -228,7 +228,7 @@ void usb_device_ep_stopped(USBDevice *dev, USBEndpoint = *ep) int usb_device_alloc_streams(USBDevice *dev, USBEndpoint **eps, int nr_eps, int streams) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (klass->alloc_streams) { return klass->alloc_streams(dev, eps, nr_eps, streams); } @@ -237,7 +237,7 @@ int usb_device_alloc_streams(USBDevice *dev, USBEndpoin= t **eps, int nr_eps, =20 void usb_device_free_streams(USBDevice *dev, USBEndpoint **eps, int nr_eps) { - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); if (klass->free_streams) { klass->free_streams(dev, eps, nr_eps); } @@ -773,7 +773,7 @@ static void usb_set_attached(Object *obj, bool value, E= rror **errp) static void usb_device_instance_init(Object *obj) { USBDevice *dev =3D USB_DEVICE(obj); - USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); + const USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); =20 if (klass->attached_settable) { object_property_add_bool(obj, "attached", diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c index 757b8b3f5a..df15e99946 100644 --- a/hw/usb/dev-smartcard-reader.c +++ b/hw/usb/dev-smartcard-reader.c @@ -489,7 +489,7 @@ static const USBDesc desc_ccid =3D { =20 static const uint8_t *ccid_card_get_atr(CCIDCardState *card, uint32_t *len) { - CCIDCardClass *cc =3D CCID_CARD_GET_CLASS(card); + const CCIDCardClass *cc =3D CCID_CARD_GET_CLASS(card); =20 if (cc->get_atr) { return cc->get_atr(card, len); @@ -501,7 +501,7 @@ static void ccid_card_apdu_from_guest(CCIDCardState *ca= rd, const uint8_t *apdu, uint32_t len) { - CCIDCardClass *cc =3D CCID_CARD_GET_CLASS(card); + const CCIDCardClass *cc =3D CCID_CARD_GET_CLASS(card); =20 if (cc->apdu_from_guest) { cc->apdu_from_guest(card, apdu, len); @@ -510,7 +510,7 @@ static void ccid_card_apdu_from_guest(CCIDCardState *ca= rd, =20 static void ccid_card_exitfn(CCIDCardState *card) { - CCIDCardClass *cc =3D CCID_CARD_GET_CLASS(card); + const CCIDCardClass *cc =3D CCID_CARD_GET_CLASS(card); =20 if (cc->exitfn) { cc->exitfn(card); @@ -520,7 +520,7 @@ static void ccid_card_exitfn(CCIDCardState *card) =20 static int ccid_card_initfn(CCIDCardState *card) { - CCIDCardClass *cc =3D CCID_CARD_GET_CLASS(card); + const CCIDCardClass *cc =3D CCID_CARD_GET_CLASS(card); =20 if (cc->initfn) { return cc->initfn(card); diff --git a/hw/usb/hcd-ehci-pci.c b/hw/usb/hcd-ehci-pci.c index 6dedcb8989..337ee330fc 100644 --- a/hw/usb/hcd-ehci-pci.c +++ b/hw/usb/hcd-ehci-pci.c @@ -71,7 +71,7 @@ static void usb_ehci_pci_realize(PCIDevice *dev, Error **= errp) =20 static void usb_ehci_pci_init(Object *obj) { - DeviceClass *dc =3D OBJECT_GET_CLASS(DeviceClass, obj, TYPE_DEVICE); + const DeviceClass *dc =3D OBJECT_GET_CLASS(DeviceClass, obj, TYPE_DEVI= CE); EHCIPCIState *i =3D PCI_EHCI(obj); EHCIState *s =3D &i->ehci; =20 diff --git a/hw/usb/hcd-ehci-sysbus.c b/hw/usb/hcd-ehci-sysbus.c index 6c20604d07..1c890eb84f 100644 --- a/hw/usb/hcd-ehci-sysbus.c +++ b/hw/usb/hcd-ehci-sysbus.c @@ -56,7 +56,7 @@ static void ehci_sysbus_init(Object *obj) { SysBusDevice *d =3D SYS_BUS_DEVICE(obj); EHCISysBusState *i =3D SYS_BUS_EHCI(obj); - SysBusEHCIClass *sec =3D SYS_BUS_EHCI_GET_CLASS(obj); + const SysBusEHCIClass *sec =3D SYS_BUS_EHCI_GET_CLASS(obj); EHCIState *s =3D &i->ehci; =20 s->capsbase =3D sec->capsbase; diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c index ca72a80f27..a7e8295e1c 100644 --- a/hw/usb/hcd-uhci.c +++ b/hw/usb/hcd-uhci.c @@ -1209,7 +1209,7 @@ static USBBusOps uhci_bus_ops =3D { static void usb_uhci_common_realize(PCIDevice *dev, Error **errp) { Error *err =3D NULL; - PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); + const PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); UHCIPCIDeviceClass *u =3D container_of(pc, UHCIPCIDeviceClass, parent_= class); UHCIState *s =3D UHCI(dev); uint8_t *pci_conf =3D s->dev.config; diff --git a/hw/vfio/amd-xgbe.c b/hw/vfio/amd-xgbe.c index 2c60310cf9..3c49fcc62e 100644 --- a/hw/vfio/amd-xgbe.c +++ b/hw/vfio/amd-xgbe.c @@ -17,7 +17,7 @@ static void amd_xgbe_realize(DeviceState *dev, Error **errp) { VFIOPlatformDevice *vdev =3D VFIO_PLATFORM_DEVICE(dev); - VFIOAmdXgbeDeviceClass *k =3D VFIO_AMD_XGBE_DEVICE_GET_CLASS(dev); + const VFIOAmdXgbeDeviceClass *k =3D VFIO_AMD_XGBE_DEVICE_GET_CLASS(dev= ); =20 vdev->compat =3D g_strdup("amd,xgbe-seattle-v1a"); =20 diff --git a/hw/vfio/calxeda-xgmac.c b/hw/vfio/calxeda-xgmac.c index bb15d588e5..f8cad99dc7 100644 --- a/hw/vfio/calxeda-xgmac.c +++ b/hw/vfio/calxeda-xgmac.c @@ -17,7 +17,7 @@ static void calxeda_xgmac_realize(DeviceState *dev, Error **errp) { VFIOPlatformDevice *vdev =3D VFIO_PLATFORM_DEVICE(dev); - VFIOCalxedaXgmacDeviceClass *k =3D VFIO_CALXEDA_XGMAC_DEVICE_GET_CLASS= (dev); + const VFIOCalxedaXgmacDeviceClass *k =3D VFIO_CALXEDA_XGMAC_DEVICE_GET= _CLASS(dev); =20 vdev->compat =3D g_strdup("calxeda,hb-xgmac"); =20 diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c index b4815629e1..51636ef571 100644 --- a/hw/virtio/vhost-vsock.c +++ b/hw/virtio/vhost-vsock.c @@ -75,7 +75,7 @@ static void vhost_vsock_start(VirtIODevice *vdev) { VHostVSock *vsock =3D VHOST_VSOCK(vdev); BusState *qbus =3D BUS(qdev_get_parent_bus(DEVICE(vdev))); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); int ret; int i; =20 @@ -131,7 +131,7 @@ static void vhost_vsock_stop(VirtIODevice *vdev) { VHostVSock *vsock =3D VHOST_VSOCK(vdev); BusState *qbus =3D BUS(qdev_get_parent_bus(DEVICE(vdev))); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); int ret; =20 if (!k->set_guest_notifiers) { diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index febe519bbd..43ac6948b6 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -946,7 +946,7 @@ static int vhost_virtqueue_start(struct vhost_dev *dev, { BusState *qbus =3D BUS(qdev_get_parent_bus(DEVICE(vdev))); VirtioBusState *vbus =3D VIRTIO_BUS(qbus); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(vbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(vbus); hwaddr s, l, a; int r; int vhost_vq_index =3D dev->vhost_ops->vhost_get_vq_index(dev, idx); diff --git a/hw/virtio/virtio-bus.c b/hw/virtio/virtio-bus.c index 3042232daf..ef1d49223b 100644 --- a/hw/virtio/virtio-bus.c +++ b/hw/virtio/virtio-bus.c @@ -46,8 +46,8 @@ void virtio_bus_device_plugged(VirtIODevice *vdev, Error = **errp) DeviceState *qdev =3D DEVICE(vdev); BusState *qbus =3D BUS(qdev_get_parent_bus(qdev)); VirtioBusState *bus =3D VIRTIO_BUS(qbus); - VirtioBusClass *klass =3D VIRTIO_BUS_GET_CLASS(bus); - VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioBusClass *klass =3D VIRTIO_BUS_GET_CLASS(bus); + const VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); bool has_iommu =3D virtio_host_has_feature(vdev, VIRTIO_F_IOMMU_PLATFO= RM); Error *local_err =3D NULL; =20 @@ -102,7 +102,7 @@ void virtio_bus_device_unplugged(VirtIODevice *vdev) { DeviceState *qdev =3D DEVICE(vdev); BusState *qbus =3D BUS(qdev_get_parent_bus(qdev)); - VirtioBusClass *klass =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *klass =3D VIRTIO_BUS_GET_CLASS(qbus); =20 DPRINTF("%s: remove device.\n", qbus->name); =20 @@ -133,7 +133,7 @@ size_t virtio_bus_get_vdev_config_len(VirtioBusState *b= us) uint32_t virtio_bus_get_vdev_bad_features(VirtioBusState *bus) { VirtIODevice *vdev =3D virtio_bus_get_device(bus); - VirtioDeviceClass *k; + const VirtioDeviceClass *k; =20 assert(vdev !=3D NULL); k =3D VIRTIO_DEVICE_GET_CLASS(vdev); @@ -148,7 +148,7 @@ uint32_t virtio_bus_get_vdev_bad_features(VirtioBusStat= e *bus) void virtio_bus_get_vdev_config(VirtioBusState *bus, uint8_t *config) { VirtIODevice *vdev =3D virtio_bus_get_device(bus); - VirtioDeviceClass *k; + const VirtioDeviceClass *k; =20 assert(vdev !=3D NULL); k =3D VIRTIO_DEVICE_GET_CLASS(vdev); @@ -161,7 +161,7 @@ void virtio_bus_get_vdev_config(VirtioBusState *bus, ui= nt8_t *config) void virtio_bus_set_vdev_config(VirtioBusState *bus, uint8_t *config) { VirtIODevice *vdev =3D virtio_bus_get_device(bus); - VirtioDeviceClass *k; + const VirtioDeviceClass *k; =20 assert(vdev !=3D NULL); k =3D VIRTIO_DEVICE_GET_CLASS(vdev); @@ -173,7 +173,7 @@ void virtio_bus_set_vdev_config(VirtioBusState *bus, ui= nt8_t *config) /* On success, ioeventfd ownership belongs to the caller. */ int virtio_bus_grab_ioeventfd(VirtioBusState *bus) { - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(bus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(bus); =20 /* vhost can be used even if ioeventfd=3Doff in the proxy device, * so do not check k->ioeventfd_enabled. @@ -205,10 +205,10 @@ void virtio_bus_release_ioeventfd(VirtioBusState *bus) =20 int virtio_bus_start_ioeventfd(VirtioBusState *bus) { - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(bus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(bus); DeviceState *proxy =3D DEVICE(BUS(bus)->parent); VirtIODevice *vdev =3D virtio_bus_get_device(bus); - VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); int r; =20 if (!k->ioeventfd_assign || !k->ioeventfd_enabled(proxy)) { @@ -233,7 +233,7 @@ int virtio_bus_start_ioeventfd(VirtioBusState *bus) void virtio_bus_stop_ioeventfd(VirtioBusState *bus) { VirtIODevice *vdev; - VirtioDeviceClass *vdc; + const VirtioDeviceClass *vdc; =20 if (!bus->ioeventfd_started) { return; @@ -250,7 +250,7 @@ void virtio_bus_stop_ioeventfd(VirtioBusState *bus) =20 bool virtio_bus_ioeventfd_enabled(VirtioBusState *bus) { - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(bus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(bus); DeviceState *proxy =3D DEVICE(BUS(bus)->parent); =20 return k->ioeventfd_assign && k->ioeventfd_enabled(proxy); @@ -263,7 +263,7 @@ bool virtio_bus_ioeventfd_enabled(VirtioBusState *bus) int virtio_bus_set_host_notifier(VirtioBusState *bus, int n, bool assign) { VirtIODevice *vdev =3D virtio_bus_get_device(bus); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(bus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(bus); DeviceState *proxy =3D DEVICE(BUS(bus)->parent); VirtQueue *vq =3D virtio_get_queue(vdev, n); EventNotifier *notifier =3D virtio_queue_get_host_notifier(vq); diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c index 5807aa87fe..e2a449f458 100644 --- a/hw/virtio/virtio-mmio.c +++ b/hw/virtio/virtio-mmio.c @@ -366,7 +366,7 @@ static int virtio_mmio_set_guest_notifier(DeviceState *= d, int n, bool assign, { VirtIOMMIOProxy *proxy =3D VIRTIO_MMIO(d); VirtIODevice *vdev =3D virtio_bus_get_device(&proxy->bus); - VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); VirtQueue *vq =3D virtio_get_queue(vdev, n); EventNotifier *notifier =3D virtio_queue_get_guest_notifier(vq); =20 diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index f9b7244808..75e2ae54b7 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -739,7 +739,7 @@ static int kvm_virtio_pci_vector_use(VirtIOPCIProxy *pr= oxy, int nvqs) { PCIDevice *dev =3D &proxy->pci_dev; VirtIODevice *vdev =3D virtio_bus_get_device(&proxy->bus); - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); unsigned int vector; int ret, queue_no; =20 @@ -788,7 +788,7 @@ static void kvm_virtio_pci_vector_release(VirtIOPCIProx= y *proxy, int nvqs) VirtIODevice *vdev =3D virtio_bus_get_device(&proxy->bus); unsigned int vector; int queue_no; - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); =20 for (queue_no =3D 0; queue_no < nvqs; queue_no++) { if (!virtio_queue_get_num(vdev, queue_no)) { @@ -814,7 +814,7 @@ static int virtio_pci_vq_vector_unmask(VirtIOPCIProxy *= proxy, MSIMessage msg) { VirtIODevice *vdev =3D virtio_bus_get_device(&proxy->bus); - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); VirtQueue *vq =3D virtio_get_queue(vdev, queue_no); EventNotifier *n =3D virtio_queue_get_guest_notifier(vq); VirtIOIRQFD *irqfd; @@ -853,7 +853,7 @@ static void virtio_pci_vq_vector_mask(VirtIOPCIProxy *p= roxy, unsigned int vector) { VirtIODevice *vdev =3D virtio_bus_get_device(&proxy->bus); - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); =20 /* If guest supports masking, keep irqfd but mask it. * Otherwise, clean it up now. @@ -928,7 +928,7 @@ static void virtio_pci_vector_poll(PCIDevice *dev, { VirtIOPCIProxy *proxy =3D container_of(dev, VirtIOPCIProxy, pci_dev); VirtIODevice *vdev =3D virtio_bus_get_device(&proxy->bus); - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); int queue_no; unsigned int vector; EventNotifier *notifier; @@ -960,7 +960,7 @@ static int virtio_pci_set_guest_notifier(DeviceState *d= , int n, bool assign, { VirtIOPCIProxy *proxy =3D to_virtio_pci_proxy(d); VirtIODevice *vdev =3D virtio_bus_get_device(&proxy->bus); - VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); VirtQueue *vq =3D virtio_get_queue(vdev, n); EventNotifier *notifier =3D virtio_queue_get_guest_notifier(vq); =20 @@ -994,7 +994,7 @@ static int virtio_pci_set_guest_notifiers(DeviceState *= d, int nvqs, bool assign) { VirtIOPCIProxy *proxy =3D to_virtio_pci_proxy(d); VirtIODevice *vdev =3D virtio_bus_get_device(&proxy->bus); - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); int r, n; bool with_irqfd =3D msix_enabled(&proxy->pci_dev) && kvm_msi_via_irqfd_enabled(); @@ -1186,7 +1186,7 @@ static uint64_t virtio_pci_common_read(void *opaque, = hwaddr addr, break; case VIRTIO_PCI_COMMON_DF: if (proxy->dfselect <=3D 1) { - VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); =20 val =3D (vdev->host_features & ~vdc->legacy_features) >> (32 * proxy->dfselect); @@ -1736,7 +1736,7 @@ static void virtio_pci_device_unplugged(DeviceState *= d) static void virtio_pci_realize(PCIDevice *pci_dev, Error **errp) { VirtIOPCIProxy *proxy =3D VIRTIO_PCI(pci_dev); - VirtioPCIClass *k =3D VIRTIO_PCI_GET_CLASS(pci_dev); + const VirtioPCIClass *k =3D VIRTIO_PCI_GET_CLASS(pci_dev); bool pcie_port =3D pci_bus_is_express(pci_dev->bus) && !pci_bus_is_root(pci_dev->bus); =20 @@ -1918,7 +1918,7 @@ static Property virtio_pci_properties[] =3D { =20 static void virtio_pci_dc_realize(DeviceState *qdev, Error **errp) { - VirtioPCIClass *vpciklass =3D VIRTIO_PCI_GET_CLASS(qdev); + const VirtioPCIClass *vpciklass =3D VIRTIO_PCI_GET_CLASS(qdev); VirtIOPCIProxy *proxy =3D VIRTIO_PCI(qdev); PCIDevice *pci_dev =3D &proxy->pci_dev; =20 diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index 03592c542a..3d0fd9cdd6 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -1095,7 +1095,7 @@ void qemu_put_virtqueue_element(QEMUFile *f, VirtQueu= eElement *elem) static void virtio_notify_vector(VirtIODevice *vdev, uint16_t vector) { BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); =20 if (unlikely(vdev->broken)) { return; @@ -1113,7 +1113,7 @@ void virtio_update_irq(VirtIODevice *vdev) =20 static int virtio_validate_features(VirtIODevice *vdev) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); =20 if (virtio_host_has_feature(vdev, VIRTIO_F_IOMMU_PLATFORM) && !virtio_vdev_has_feature(vdev, VIRTIO_F_IOMMU_PLATFORM)) { @@ -1129,7 +1129,7 @@ static int virtio_validate_features(VirtIODevice *vde= v) =20 int virtio_set_status(VirtIODevice *vdev, uint8_t val) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); trace_virtio_set_status(vdev, val); =20 if (virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { @@ -1161,7 +1161,7 @@ static enum virtio_device_endian virtio_default_endia= n(void) =20 static enum virtio_device_endian virtio_current_cpu_endian(void) { - CPUClass *cc =3D CPU_GET_CLASS(current_cpu); + const CPUClass *cc =3D CPU_GET_CLASS(current_cpu); =20 if (cc->virtio_is_big_endian(current_cpu)) { return VIRTIO_DEVICE_ENDIAN_BIG; @@ -1184,7 +1184,7 @@ static void virtio_virtqueue_reset_region_cache(struc= t VirtQueue *vq) void virtio_reset(void *opaque) { VirtIODevice *vdev =3D opaque; - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); int i; =20 virtio_set_status(vdev, 0); @@ -1227,7 +1227,7 @@ void virtio_reset(void *opaque) =20 uint32_t virtio_config_readb(VirtIODevice *vdev, uint32_t addr) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint8_t val; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1242,7 +1242,7 @@ uint32_t virtio_config_readb(VirtIODevice *vdev, uint= 32_t addr) =20 uint32_t virtio_config_readw(VirtIODevice *vdev, uint32_t addr) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint16_t val; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1257,7 +1257,7 @@ uint32_t virtio_config_readw(VirtIODevice *vdev, uint= 32_t addr) =20 uint32_t virtio_config_readl(VirtIODevice *vdev, uint32_t addr) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint32_t val; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1272,7 +1272,7 @@ uint32_t virtio_config_readl(VirtIODevice *vdev, uint= 32_t addr) =20 void virtio_config_writeb(VirtIODevice *vdev, uint32_t addr, uint32_t data) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint8_t val =3D data; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1288,7 +1288,7 @@ void virtio_config_writeb(VirtIODevice *vdev, uint32_= t addr, uint32_t data) =20 void virtio_config_writew(VirtIODevice *vdev, uint32_t addr, uint32_t data) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint16_t val =3D data; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1304,7 +1304,7 @@ void virtio_config_writew(VirtIODevice *vdev, uint32_= t addr, uint32_t data) =20 void virtio_config_writel(VirtIODevice *vdev, uint32_t addr, uint32_t data) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint32_t val =3D data; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1320,7 +1320,7 @@ void virtio_config_writel(VirtIODevice *vdev, uint32_= t addr, uint32_t data) =20 uint32_t virtio_config_modern_readb(VirtIODevice *vdev, uint32_t addr) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint8_t val; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1335,7 +1335,7 @@ uint32_t virtio_config_modern_readb(VirtIODevice *vde= v, uint32_t addr) =20 uint32_t virtio_config_modern_readw(VirtIODevice *vdev, uint32_t addr) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint16_t val; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1350,7 +1350,7 @@ uint32_t virtio_config_modern_readw(VirtIODevice *vde= v, uint32_t addr) =20 uint32_t virtio_config_modern_readl(VirtIODevice *vdev, uint32_t addr) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint32_t val; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1366,7 +1366,7 @@ uint32_t virtio_config_modern_readl(VirtIODevice *vde= v, uint32_t addr) void virtio_config_modern_writeb(VirtIODevice *vdev, uint32_t addr, uint32_t data) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint8_t val =3D data; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1383,7 +1383,7 @@ void virtio_config_modern_writeb(VirtIODevice *vdev, void virtio_config_modern_writew(VirtIODevice *vdev, uint32_t addr, uint32_t data) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint16_t val =3D data; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1400,7 +1400,7 @@ void virtio_config_modern_writew(VirtIODevice *vdev, void virtio_config_modern_writel(VirtIODevice *vdev, uint32_t addr, uint32_t data) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint32_t val =3D data; =20 if (addr + sizeof(val) > vdev->config_len) { @@ -1483,7 +1483,7 @@ int virtio_get_num_queues(VirtIODevice *vdev) void virtio_queue_set_align(VirtIODevice *vdev, int n, int align) { BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); =20 /* virtio-1 compliant devices cannot change the alignment */ if (virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { @@ -1739,7 +1739,7 @@ static bool virtio_extra_state_needed(void *opaque) { VirtIODevice *vdev =3D opaque; BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); =20 return k->has_extra_state && k->has_extra_state(qbus->parent); @@ -1802,7 +1802,7 @@ static int get_extra_state(QEMUFile *f, void *pv, siz= e_t size, { VirtIODevice *vdev =3D pv; BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); =20 if (!k->load_extra_state) { return -1; @@ -1816,7 +1816,7 @@ static int put_extra_state(QEMUFile *f, void *pv, siz= e_t size, { VirtIODevice *vdev =3D pv; BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); =20 k->save_extra_state(qbus->parent, f); return 0; @@ -1902,8 +1902,8 @@ static const VMStateDescription vmstate_virtio =3D { void virtio_save(VirtIODevice *vdev, QEMUFile *f) { BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); - VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); uint32_t guest_features_lo =3D (vdev->guest_features & 0xffffffff); int i; =20 @@ -1970,7 +1970,7 @@ static int virtio_device_get(QEMUFile *f, void *opaqu= e, size_t size, VMStateField *field) { VirtIODevice *vdev =3D VIRTIO_DEVICE(opaque); - DeviceClass *dc =3D DEVICE_CLASS(VIRTIO_DEVICE_GET_CLASS(vdev)); + const DeviceClass *dc =3D DEVICE_CLASS(VIRTIO_DEVICE_GET_CLASS(vdev)); =20 return virtio_load(vdev, f, dc->vmsd->version_id); } @@ -1983,7 +1983,7 @@ const VMStateInfo virtio_vmstate_info =3D { =20 static int virtio_set_features_nocheck(VirtIODevice *vdev, uint64_t val) { - VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioDeviceClass *k =3D VIRTIO_DEVICE_GET_CLASS(vdev); bool bad =3D (val & ~(vdev->host_features)) !=3D 0; =20 val &=3D vdev->host_features; @@ -2013,8 +2013,8 @@ int virtio_load(VirtIODevice *vdev, QEMUFile *f, int = version_id) uint32_t num; uint32_t features; BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); - VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(vdev); =20 /* * We poison the endianness to ensure it does not get used before @@ -2200,7 +2200,7 @@ static void virtio_vmstate_change(void *opaque, int r= unning, RunState state) { VirtIODevice *vdev =3D opaque; BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); bool backend_run =3D running && (vdev->status & VIRTIO_CONFIG_S_DRIVER= _OK); vdev->vm_running =3D running; =20 @@ -2232,7 +2232,7 @@ void virtio_init(VirtIODevice *vdev, const char *name, uint16_t device_id, size_t config_size) { BusState *qbus =3D qdev_get_parent_bus(DEVICE(vdev)); - VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); + const VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); int i; int nvectors =3D k->query_nvectors ? k->query_nvectors(qbus->parent) := 0; =20 @@ -2475,7 +2475,7 @@ static void virtio_memory_listener_commit(MemoryListe= ner *listener) static void virtio_device_realize(DeviceState *dev, Error **errp) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); - VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(dev); + const VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(dev); Error *err =3D NULL; =20 /* Devices should either use vmsd or the load/save methods */ @@ -2502,7 +2502,7 @@ static void virtio_device_realize(DeviceState *dev, E= rror **errp) static void virtio_device_unrealize(DeviceState *dev, Error **errp) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); - VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(dev); + const VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(dev); Error *err =3D NULL; =20 virtio_bus_device_unplugged(vdev); diff --git a/io/channel.c b/io/channel.c index cdf74540c1..1ced119375 100644 --- a/io/channel.c +++ b/io/channel.c @@ -52,7 +52,7 @@ ssize_t qio_channel_readv_full(QIOChannel *ioc, size_t *nfds, Error **errp) { - QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); + const QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); =20 if ((fds || nfds) && !qio_channel_has_feature(ioc, QIO_CHANNEL_FEATURE_FD_PASS)) { @@ -72,7 +72,7 @@ ssize_t qio_channel_writev_full(QIOChannel *ioc, size_t nfds, Error **errp) { - QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); + const QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); =20 if ((fds || nfds) && !qio_channel_has_feature(ioc, QIO_CHANNEL_FEATURE_FD_PASS)) { @@ -127,7 +127,7 @@ int qio_channel_set_blocking(QIOChannel *ioc, bool enabled, Error **errp) { - QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); + const QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); return klass->io_set_blocking(ioc, enabled, errp); } =20 @@ -135,7 +135,7 @@ int qio_channel_set_blocking(QIOChannel *ioc, int qio_channel_close(QIOChannel *ioc, Error **errp) { - QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); + const QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); return klass->io_close(ioc, errp); } =20 @@ -143,7 +143,7 @@ int qio_channel_close(QIOChannel *ioc, GSource *qio_channel_create_watch(QIOChannel *ioc, GIOCondition condition) { - QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); + const QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); GSource *ret =3D klass->io_create_watch(ioc, condition); =20 if (ioc->name) { @@ -160,7 +160,7 @@ void qio_channel_set_aio_fd_handler(QIOChannel *ioc, IOHandler *io_write, void *opaque) { - QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); + const QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); =20 klass->io_set_aio_fd_handler(ioc, ctx, io_read, io_write, opaque); } @@ -189,7 +189,7 @@ int qio_channel_shutdown(QIOChannel *ioc, QIOChannelShutdown how, Error **errp) { - QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); + const QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); =20 if (!klass->io_shutdown) { error_setg(errp, "Data path shutdown not supported"); @@ -203,7 +203,7 @@ int qio_channel_shutdown(QIOChannel *ioc, void qio_channel_set_delay(QIOChannel *ioc, bool enabled) { - QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); + const QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); =20 if (klass->io_set_delay) { klass->io_set_delay(ioc, enabled); @@ -214,7 +214,7 @@ void qio_channel_set_delay(QIOChannel *ioc, void qio_channel_set_cork(QIOChannel *ioc, bool enabled) { - QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); + const QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); =20 if (klass->io_set_cork) { klass->io_set_cork(ioc, enabled); @@ -227,7 +227,7 @@ off_t qio_channel_io_seek(QIOChannel *ioc, int whence, Error **errp) { - QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); + const QIOChannelClass *klass =3D QIO_CHANNEL_GET_CLASS(ioc); =20 if (!klass->io_seek) { error_setg(errp, "Channel does not support random access"); diff --git a/kvm-all.c b/kvm-all.c index 90b8573656..f80b0ddf26 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -1563,7 +1563,7 @@ bool kvm_vcpu_id_is_valid(int vcpu_id) =20 static int kvm_init(MachineState *ms) { - MachineClass *mc =3D MACHINE_GET_CLASS(ms); + const MachineClass *mc =3D MACHINE_GET_CLASS(ms); static const char upgrade_note[] =3D "Please upgrade to at least kernel 2.6.29 or recent kvm-kmod\n" "(see http://sourceforge.net/projects/kvm).\n"; diff --git a/migration/migration.c b/migration/migration.c index 54060f749a..84fdd5c0ac 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1157,7 +1157,7 @@ void migrate_del_blocker(Error *reason) =20 int check_migratable(Object *obj, Error **err) { - DeviceClass *dc =3D DEVICE_GET_CLASS(obj); + const DeviceClass *dc =3D DEVICE_GET_CLASS(obj); if (only_migratable && dc->vmsd) { if (dc->vmsd->unmigratable) { error_setg(err, "Device %s is not migratable, but " diff --git a/migration/savevm.c b/migration/savevm.c index 3b19a4a274..f8d00934ef 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -453,7 +453,7 @@ static void dump_vmstate_vmsd(FILE *out_file, =20 static void dump_machine_type(FILE *out_file) { - MachineClass *mc; + const MachineClass *mc; =20 mc =3D MACHINE_GET_CLASS(current_machine); =20 diff --git a/monitor.c b/monitor.c index be282ecb80..5cc633c199 100644 --- a/monitor.c +++ b/monitor.c @@ -4132,7 +4132,7 @@ GICCapabilityList *qmp_query_gic_capabilities(Error *= *errp) HotpluggableCPUList *qmp_query_hotpluggable_cpus(Error **errp) { MachineState *ms =3D MACHINE(qdev_get_machine()); - MachineClass *mc =3D MACHINE_GET_CLASS(ms); + const MachineClass *mc =3D MACHINE_GET_CLASS(ms); =20 if (!mc->has_hotpluggable_cpus) { error_setg(errp, QERR_FEATURE_DISABLED, "query-hotpluggable-cpus"); diff --git a/net/filter.c b/net/filter.c index 1dfd2caa23..121a5d7cfc 100644 --- a/net/filter.c +++ b/net/filter.c @@ -153,7 +153,7 @@ static char *netfilter_get_status(Object *obj, Error **= errp) static void netfilter_set_status(Object *obj, const char *str, Error **err= p) { NetFilterState *nf =3D NETFILTER(obj); - NetFilterClass *nfc =3D NETFILTER_GET_CLASS(obj); + const NetFilterClass *nfc =3D NETFILTER_GET_CLASS(obj); =20 if (strcmp(str, "on") && strcmp(str, "off")) { error_setg(errp, "Invalid value for netfilter status, " @@ -191,7 +191,7 @@ static void netfilter_complete(UserCreatable *uc, Error= **errp) { NetFilterState *nf =3D NETFILTER(uc); NetClientState *ncs[MAX_QUEUE_NUM]; - NetFilterClass *nfc =3D NETFILTER_GET_CLASS(uc); + const NetFilterClass *nfc =3D NETFILTER_GET_CLASS(uc); int queues; Error *local_err =3D NULL; =20 @@ -232,7 +232,7 @@ static void netfilter_complete(UserCreatable *uc, Error= **errp) static void netfilter_finalize(Object *obj) { NetFilterState *nf =3D NETFILTER(obj); - NetFilterClass *nfc =3D NETFILTER_GET_CLASS(obj); + const NetFilterClass *nfc =3D NETFILTER_GET_CLASS(obj); =20 if (nfc->cleanup) { nfc->cleanup(nf); diff --git a/qdev-monitor.c b/qdev-monitor.c index 339775e49d..f8091d6459 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -390,7 +390,7 @@ static DeviceState *qbus_find_dev(BusState *bus, char *= elem) } QTAILQ_FOREACH(kid, &bus->children, sibling) { DeviceState *dev =3D kid->child; - DeviceClass *dc =3D DEVICE_GET_CLASS(dev); + const DeviceClass *dc =3D DEVICE_GET_CLASS(dev); =20 if (qdev_class_has_alias(dc) && strcmp(qdev_class_get_alias(dc), elem) =3D=3D 0) { @@ -402,7 +402,7 @@ static DeviceState *qbus_find_dev(BusState *bus, char *= elem) =20 static inline bool qbus_is_full(BusState *bus) { - BusClass *bus_class =3D BUS_GET_CLASS(bus); + const BusClass *bus_class =3D BUS_GET_CLASS(bus); return bus_class->max_dev && bus->max_index >=3D bus_class->max_dev; } =20 @@ -664,7 +664,7 @@ static void qdev_print_props(Monitor *mon, DeviceState = *dev, Property *props, =20 static void bus_print_dev(BusState *bus, Monitor *mon, DeviceState *dev, i= nt indent) { - BusClass *bc =3D BUS_GET_CLASS(bus); + const BusClass *bc =3D BUS_GET_CLASS(bus); =20 if (bc->print_dev) { bc->print_dev(mon, dev, indent); @@ -673,7 +673,7 @@ static void bus_print_dev(BusState *bus, Monitor *mon, = DeviceState *dev, int ind =20 static void qdev_print(Monitor *mon, DeviceState *dev, int indent) { - ObjectClass *class; + const ObjectClass *class; BusState *child; NamedGPIOList *ngl; =20 diff --git a/qmp.c b/qmp.c index fa82b598c6..eb8a1ae977 100644 --- a/qmp.c +++ b/qmp.c @@ -120,7 +120,7 @@ void qmp_cpu(int64_t index, Error **errp) =20 void qmp_cpu_add(int64_t id, Error **errp) { - MachineClass *mc; + const MachineClass *mc; =20 mc =3D MACHINE_GET_CLASS(current_machine); if (mc->hot_add_cpu) { @@ -707,7 +707,7 @@ ACPIOSTInfoList *qmp_query_acpi_ospm_status(Error **err= p) Object *obj =3D object_resolve_path_type("", TYPE_ACPI_DEVICE_IF, &amb= ig); =20 if (obj) { - AcpiDeviceIfClass *adevc =3D ACPI_DEVICE_IF_GET_CLASS(obj); + const AcpiDeviceIfClass *adevc =3D ACPI_DEVICE_IF_GET_CLASS(obj); AcpiDeviceIf *adev =3D ACPI_DEVICE_IF(obj); =20 adevc->ospm_status(adev, &prev); diff --git a/qom/cpu.c b/qom/cpu.c index f02e9c0fae..991f8cea64 100644 --- a/qom/cpu.c +++ b/qom/cpu.c @@ -36,7 +36,7 @@ bool cpu_exists(int64_t id) CPUState *cpu; =20 CPU_FOREACH(cpu) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 if (cc->get_arch_id(cpu) =3D=3D id) { return true; @@ -88,7 +88,7 @@ out: =20 bool cpu_paging_enabled(const CPUState *cpu) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 return cc->get_paging_enabled(cpu); } @@ -101,7 +101,7 @@ static bool cpu_common_get_paging_enabled(const CPUStat= e *cpu) void cpu_get_memory_mapping(CPUState *cpu, MemoryMappingList *list, Error **errp) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 cc->get_memory_mapping(cpu, list, errp); } @@ -139,7 +139,7 @@ void cpu_exit(CPUState *cpu) int cpu_write_elf32_qemunote(WriteCoreDumpFunction f, CPUState *cpu, void *opaque) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 return (*cc->write_elf32_qemunote)(f, cpu, opaque); } @@ -153,7 +153,7 @@ static int cpu_common_write_elf32_qemunote(WriteCoreDum= pFunction f, int cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cpu, int cpuid, void *opaque) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 return (*cc->write_elf32_note)(f, cpu, cpuid, opaque); } @@ -168,7 +168,7 @@ static int cpu_common_write_elf32_note(WriteCoreDumpFun= ction f, int cpu_write_elf64_qemunote(WriteCoreDumpFunction f, CPUState *cpu, void *opaque) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 return (*cc->write_elf64_qemunote)(f, cpu, opaque); } @@ -182,7 +182,7 @@ static int cpu_common_write_elf64_qemunote(WriteCoreDum= pFunction f, int cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cpu, int cpuid, void *opaque) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 return (*cc->write_elf64_note)(f, cpu, cpuid, opaque); } @@ -230,7 +230,7 @@ static bool cpu_common_exec_interrupt(CPUState *cpu, in= t int_req) =20 GuestPanicInformation *cpu_get_crash_info(CPUState *cpu) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); GuestPanicInformation *res =3D NULL; =20 if (cc->get_crash_info) { @@ -242,7 +242,7 @@ GuestPanicInformation *cpu_get_crash_info(CPUState *cpu) void cpu_dump_state(CPUState *cpu, FILE *f, fprintf_function cpu_fprintf, int flags) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 if (cc->dump_state) { cpu_synchronize_state(cpu); @@ -253,7 +253,7 @@ void cpu_dump_state(CPUState *cpu, FILE *f, fprintf_fun= ction cpu_fprintf, void cpu_dump_statistics(CPUState *cpu, FILE *f, fprintf_function cpu_fpri= ntf, int flags) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); =20 if (cc->dump_statistics) { cc->dump_statistics(cpu, f, cpu_fprintf, flags); @@ -262,7 +262,7 @@ void cpu_dump_statistics(CPUState *cpu, FILE *f, fprint= f_function cpu_fprintf, =20 void cpu_reset(CPUState *cpu) { - CPUClass *klass =3D CPU_GET_CLASS(cpu); + const CPUClass *klass =3D CPU_GET_CLASS(cpu); =20 if (klass->reset !=3D NULL) { (*klass->reset)(cpu); @@ -273,7 +273,7 @@ void cpu_reset(CPUState *cpu) =20 static void cpu_common_reset(CPUState *cpu) { - CPUClass *cc =3D CPU_GET_CLASS(cpu); + const CPUClass *cc =3D CPU_GET_CLASS(cpu); int i; =20 if (qemu_loglevel_mask(CPU_LOG_RESET)) { @@ -383,7 +383,7 @@ static void cpu_common_unrealizefn(DeviceState *dev, Er= ror **errp) static void cpu_common_initfn(Object *obj) { CPUState *cpu =3D CPU(obj); - CPUClass *cc =3D CPU_GET_CLASS(obj); + const CPUClass *cc =3D CPU_GET_CLASS(obj); =20 cpu->cpu_index =3D UNASSIGNED_CPU_INDEX; cpu->gdb_num_regs =3D cpu->gdb_num_g_regs =3D cc->gdb_num_core_regs; diff --git a/qom/object.c b/qom/object.c index a25b1fffad..41dae18420 100644 --- a/qom/object.c +++ b/qom/object.c @@ -993,7 +993,7 @@ ObjectProperty *object_property_find(Object *obj, const= char *name, Error **errp) { ObjectProperty *prop; - ObjectClass *klass =3D object_get_class(obj); + const ObjectClass *klass =3D object_get_class(obj); =20 prop =3D object_class_property_find(klass, name, NULL); if (prop) { diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index d4253a88de..c20c9043fa 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -8,7 +8,7 @@ void user_creatable_complete(Object *obj, Error **errp) { =20 - UserCreatableClass *ucc; + const UserCreatableClass *ucc; UserCreatable *uc =3D (UserCreatable *)object_dynamic_cast(obj, TYPE_USER_CREATABLE); =20 @@ -25,7 +25,7 @@ void user_creatable_complete(Object *obj, Error **errp) bool user_creatable_can_be_deleted(UserCreatable *uc, Error **errp) { =20 - UserCreatableClass *ucc =3D USER_CREATABLE_GET_CLASS(uc); + const UserCreatableClass *ucc =3D USER_CREATABLE_GET_CLASS(uc); =20 if (ucc->can_be_deleted) { return ucc->can_be_deleted(uc, errp); diff --git a/target/alpha/cpu.c b/target/alpha/cpu.c index b4f97983e5..15d1ab4b80 100644 --- a/target/alpha/cpu.c +++ b/target/alpha/cpu.c @@ -58,7 +58,7 @@ static void alpha_cpu_disas_set_info(CPUState *cpu, disas= semble_info *info) static void alpha_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - AlphaCPUClass *acc =3D ALPHA_CPU_GET_CLASS(dev); + const AlphaCPUClass *acc =3D ALPHA_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 04b062cb7e..f943db7c73 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -117,7 +117,7 @@ static void cp_reg_check_reset(gpointer key, gpointer v= alue, gpointer opaque) static void arm_cpu_reset(CPUState *s) { ARMCPU *cpu =3D ARM_CPU(s); - ARMCPUClass *acc =3D ARM_CPU_GET_CLASS(cpu); + const ARMCPUClass *acc =3D ARM_CPU_GET_CLASS(cpu); CPUARMState *env =3D &cpu->env; =20 acc->parent_reset(s); @@ -251,7 +251,7 @@ static void arm_cpu_reset(CPUState *s) =20 bool arm_cpu_exec_interrupt(CPUState *cs, int interrupt_request) { - CPUClass *cc =3D CPU_GET_CLASS(cs); + const CPUClass *cc =3D CPU_GET_CLASS(cs); CPUARMState *env =3D cs->env_ptr; uint32_t cur_el =3D arm_current_el(env); bool secure =3D arm_is_secure(env); @@ -333,7 +333,7 @@ static void arm_v7m_unassigned_access(CPUState *cpu, hw= addr addr, =20 static bool arm_v7m_cpu_exec_interrupt(CPUState *cs, int interrupt_request) { - CPUClass *cc =3D CPU_GET_CLASS(cs); + const CPUClass *cc =3D CPU_GET_CLASS(cs); ARMCPU *cpu =3D ARM_CPU(cs); CPUARMState *env =3D &cpu->env; bool ret =3D false; @@ -648,7 +648,7 @@ static void arm_cpu_realizefn(DeviceState *dev, Error *= *errp) { CPUState *cs =3D CPU(dev); ARMCPU *cpu =3D ARM_CPU(dev); - ARMCPUClass *acc =3D ARM_CPU_GET_CLASS(dev); + const ARMCPUClass *acc =3D ARM_CPU_GET_CLASS(dev); CPUARMState *env =3D &cpu->env; int pagebits; Error *local_err =3D NULL; diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 45554682f2..8a2a71877e 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -146,7 +146,7 @@ static void kvm_arm_host_cpu_class_init(ObjectClass *oc= , void *data) =20 static void kvm_arm_host_cpu_initfn(Object *obj) { - ARMHostCPUClass *ahcc =3D ARM_HOST_CPU_GET_CLASS(obj); + const ARMHostCPUClass *ahcc =3D ARM_HOST_CPU_GET_CLASS(obj); ARMCPU *cpu =3D ARM_CPU(obj); CPUARMState *env =3D &cpu->env; =20 diff --git a/target/cris/cpu.c b/target/cris/cpu.c index 5f766f09d6..b4e67fec56 100644 --- a/target/cris/cpu.c +++ b/target/cris/cpu.c @@ -45,7 +45,7 @@ static bool cris_cpu_has_work(CPUState *cs) static void cris_cpu_reset(CPUState *s) { CRISCPU *cpu =3D CRIS_CPU(s); - CRISCPUClass *ccc =3D CRIS_CPU_GET_CLASS(cpu); + const CRISCPUClass *ccc =3D CRIS_CPU_GET_CLASS(cpu); CPUCRISState *env =3D &cpu->env; uint32_t vr; =20 @@ -97,8 +97,8 @@ CRISCPU *cpu_cris_init(const char *cpu_model) /* Sort alphabetically by VR. */ static gint cris_cpu_list_compare(gconstpointer a, gconstpointer b) { - CRISCPUClass *ccc_a =3D CRIS_CPU_CLASS(a); - CRISCPUClass *ccc_b =3D CRIS_CPU_CLASS(b); + const CRISCPUClass *ccc_a =3D CRIS_CPU_CLASS(a); + const CRISCPUClass *ccc_b =3D CRIS_CPU_CLASS(b); =20 /* */ if (ccc_a->vr > ccc_b->vr) { @@ -140,7 +140,7 @@ void cris_cpu_list(FILE *f, fprintf_function cpu_fprint= f) static void cris_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - CRISCPUClass *ccc =3D CRIS_CPU_GET_CLASS(dev); + const CRISCPUClass *ccc =3D CRIS_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); @@ -188,7 +188,7 @@ static void cris_cpu_initfn(Object *obj) { CPUState *cs =3D CPU(obj); CRISCPU *cpu =3D CRIS_CPU(obj); - CRISCPUClass *ccc =3D CRIS_CPU_GET_CLASS(obj); + const CRISCPUClass *ccc =3D CRIS_CPU_GET_CLASS(obj); CPUCRISState *env =3D &cpu->env; static bool tcg_initialized; =20 diff --git a/target/cris/helper.c b/target/cris/helper.c index af78cca8b9..3219063334 100644 --- a/target/cris/helper.c +++ b/target/cris/helper.c @@ -289,7 +289,7 @@ hwaddr cris_cpu_get_phys_page_debug(CPUState *cs, vaddr= addr) =20 bool cris_cpu_exec_interrupt(CPUState *cs, int interrupt_request) { - CPUClass *cc =3D CPU_GET_CLASS(cs); + const CPUClass *cc =3D CPU_GET_CLASS(cs); CRISCPU *cpu =3D CRIS_CPU(cs); CPUCRISState *env =3D &cpu->env; bool ret =3D false; diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c index 1d791d0f80..6b227095fa 100644 --- a/target/hppa/cpu.c +++ b/target/hppa/cpu.c @@ -52,7 +52,7 @@ static void hppa_cpu_disas_set_info(CPUState *cs, disasse= mble_info *info) static void hppa_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - HPPACPUClass *acc =3D HPPA_CPU_GET_CLASS(dev); + const HPPACPUClass *acc =3D HPPA_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); diff --git a/target/i386/cpu.c b/target/i386/cpu.c index b1d6252ae0..2234049de3 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -3021,7 +3021,7 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, = uint32_t count, static void x86_cpu_reset(CPUState *s) { X86CPU *cpu =3D X86_CPU(s); - X86CPUClass *xcc =3D X86_CPU_GET_CLASS(cpu); + const X86CPUClass *xcc =3D X86_CPU_GET_CLASS(cpu); CPUX86State *env =3D &cpu->env; target_ulong cr4; uint64_t xcr0; @@ -3479,7 +3479,7 @@ static void x86_cpu_realizefn(DeviceState *dev, Error= **errp) { CPUState *cs =3D CPU(dev); X86CPU *cpu =3D X86_CPU(dev); - X86CPUClass *xcc =3D X86_CPU_GET_CLASS(dev); + const X86CPUClass *xcc =3D X86_CPU_GET_CLASS(dev); CPUX86State *env =3D &cpu->env; Error *local_err =3D NULL; static bool ht_warned; @@ -3671,7 +3671,7 @@ out: static void x86_cpu_unrealizefn(DeviceState *dev, Error **errp) { X86CPU *cpu =3D X86_CPU(dev); - X86CPUClass *xcc =3D X86_CPU_GET_CLASS(dev); + const X86CPUClass *xcc =3D X86_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 #ifndef CONFIG_USER_ONLY @@ -3838,7 +3838,7 @@ static void x86_cpu_initfn(Object *obj) { CPUState *cs =3D CPU(obj); X86CPU *cpu =3D X86_CPU(obj); - X86CPUClass *xcc =3D X86_CPU_GET_CLASS(obj); + const X86CPUClass *xcc =3D X86_CPU_GET_CLASS(obj); CPUX86State *env =3D &cpu->env; FeatureWord w; =20 diff --git a/target/i386/kvm.c b/target/i386/kvm.c index 55865dbee0..7584d65dfe 100644 --- a/target/i386/kvm.c +++ b/target/i386/kvm.c @@ -3468,7 +3468,7 @@ int kvm_arch_fixup_msi_route(struct kvm_irq_routing_e= ntry *route, if (iommu) { int ret; MSIMessage src, dst; - X86IOMMUClass *class =3D X86_IOMMU_GET_CLASS(iommu); + const X86IOMMUClass *class =3D X86_IOMMU_GET_CLASS(iommu); =20 src.address =3D route->u.msi.address_hi; src.address <<=3D VTD_MSI_ADDR_HI_SHIFT; diff --git a/target/i386/machine.c b/target/i386/machine.c index 5b9eb3a2f6..5eae5949b5 100644 --- a/target/i386/machine.c +++ b/target/i386/machine.c @@ -893,7 +893,7 @@ static bool tsc_khz_needed(void *opaque) { X86CPU *cpu =3D opaque; CPUX86State *env =3D &cpu->env; - PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(qdev_get_machine()); + const PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(qdev_get_machine()= ); return env->tsc_khz && pcmc->save_tsc_khz; } =20 diff --git a/target/lm32/cpu.c b/target/lm32/cpu.c index 2b8c36b6d0..0ad15f5ac5 100644 --- a/target/lm32/cpu.c +++ b/target/lm32/cpu.c @@ -122,7 +122,7 @@ static bool lm32_cpu_has_work(CPUState *cs) static void lm32_cpu_reset(CPUState *s) { LM32CPU *cpu =3D LM32_CPU(s); - LM32CPUClass *lcc =3D LM32_CPU_GET_CLASS(cpu); + const LM32CPUClass *lcc =3D LM32_CPU_GET_CLASS(cpu); CPULM32State *env =3D &cpu->env; =20 lcc->parent_reset(s); @@ -142,7 +142,7 @@ static void lm32_cpu_disas_set_info(CPUState *cpu, disa= ssemble_info *info) static void lm32_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - LM32CPUClass *lcc =3D LM32_CPU_GET_CLASS(dev); + const LM32CPUClass *lcc =3D LM32_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); diff --git a/target/lm32/gdbstub.c b/target/lm32/gdbstub.c index cf929dd392..066c96fb04 100644 --- a/target/lm32/gdbstub.c +++ b/target/lm32/gdbstub.c @@ -55,7 +55,7 @@ int lm32_cpu_gdb_read_register(CPUState *cs, uint8_t *mem= _buf, int n) int lm32_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) { LM32CPU *cpu =3D LM32_CPU(cs); - CPUClass *cc =3D CPU_GET_CLASS(cs); + const CPUClass *cc =3D CPU_GET_CLASS(cs); CPULM32State *env =3D &cpu->env; uint32_t tmp; =20 diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c index fa10b6e4cd..94c57a6d4c 100644 --- a/target/m68k/cpu.c +++ b/target/m68k/cpu.c @@ -47,7 +47,7 @@ static void m68k_set_feature(CPUM68KState *env, int featu= re) static void m68k_cpu_reset(CPUState *s) { M68kCPU *cpu =3D M68K_CPU(s); - M68kCPUClass *mcc =3D M68K_CPU_GET_CLASS(cpu); + const M68kCPUClass *mcc =3D M68K_CPU_GET_CLASS(cpu); CPUM68KState *env =3D &cpu->env; =20 mcc->parent_reset(s); @@ -218,7 +218,7 @@ static void m68k_cpu_realizefn(DeviceState *dev, Error = **errp) { CPUState *cs =3D CPU(dev); M68kCPU *cpu =3D M68K_CPU(dev); - M68kCPUClass *mcc =3D M68K_CPU_GET_CLASS(dev); + const M68kCPUClass *mcc =3D M68K_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); diff --git a/target/microblaze/cpu.c b/target/microblaze/cpu.c index 3d58869716..1782713c91 100644 --- a/target/microblaze/cpu.c +++ b/target/microblaze/cpu.c @@ -98,7 +98,7 @@ static void microblaze_cpu_set_irq(void *opaque, int irq,= int level) static void mb_cpu_reset(CPUState *s) { MicroBlazeCPU *cpu =3D MICROBLAZE_CPU(s); - MicroBlazeCPUClass *mcc =3D MICROBLAZE_CPU_GET_CLASS(cpu); + const MicroBlazeCPUClass *mcc =3D MICROBLAZE_CPU_GET_CLASS(cpu); CPUMBState *env =3D &cpu->env; =20 mcc->parent_reset(s); @@ -132,7 +132,7 @@ static void mb_disas_set_info(CPUState *cpu, disassembl= e_info *info) static void mb_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - MicroBlazeCPUClass *mcc =3D MICROBLAZE_CPU_GET_CLASS(dev); + const MicroBlazeCPUClass *mcc =3D MICROBLAZE_CPU_GET_CLASS(dev); MicroBlazeCPU *cpu =3D MICROBLAZE_CPU(cs); CPUMBState *env =3D &cpu->env; uint8_t version_code =3D 0; diff --git a/target/microblaze/gdbstub.c b/target/microblaze/gdbstub.c index 7fb076c2e9..e59bd6aaa7 100644 --- a/target/microblaze/gdbstub.c +++ b/target/microblaze/gdbstub.c @@ -38,7 +38,7 @@ int mb_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_b= uf, int n) int mb_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) { MicroBlazeCPU *cpu =3D MICROBLAZE_CPU(cs); - CPUClass *cc =3D CPU_GET_CLASS(cs); + const CPUClass *cc =3D CPU_GET_CLASS(cs); CPUMBState *env =3D &cpu->env; uint32_t tmp; =20 diff --git a/target/mips/cpu.c b/target/mips/cpu.c index 1bb66b7a5a..5554632a45 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -95,7 +95,7 @@ static bool mips_cpu_has_work(CPUState *cs) static void mips_cpu_reset(CPUState *s) { MIPSCPU *cpu =3D MIPS_CPU(s); - MIPSCPUClass *mcc =3D MIPS_CPU_GET_CLASS(cpu); + const MIPSCPUClass *mcc =3D MIPS_CPU_GET_CLASS(cpu); CPUMIPSState *env =3D &cpu->env; =20 mcc->parent_reset(s); @@ -122,7 +122,7 @@ static void mips_cpu_disas_set_info(CPUState *s, disass= emble_info *info) { static void mips_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - MIPSCPUClass *mcc =3D MIPS_CPU_GET_CLASS(dev); + const MIPSCPUClass *mcc =3D MIPS_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); diff --git a/target/moxie/cpu.c b/target/moxie/cpu.c index 927b1a1e44..281714e8bc 100644 --- a/target/moxie/cpu.c +++ b/target/moxie/cpu.c @@ -40,7 +40,7 @@ static bool moxie_cpu_has_work(CPUState *cs) static void moxie_cpu_reset(CPUState *s) { MoxieCPU *cpu =3D MOXIE_CPU(s); - MoxieCPUClass *mcc =3D MOXIE_CPU_GET_CLASS(cpu); + const MoxieCPUClass *mcc =3D MOXIE_CPU_GET_CLASS(cpu); CPUMoxieState *env =3D &cpu->env; =20 mcc->parent_reset(s); @@ -58,7 +58,7 @@ static void moxie_cpu_disas_set_info(CPUState *cpu, disas= semble_info *info) static void moxie_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - MoxieCPUClass *mcc =3D MOXIE_CPU_GET_CLASS(dev); + const MoxieCPUClass *mcc =3D MOXIE_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); diff --git a/target/nios2/cpu.c b/target/nios2/cpu.c index d56bb7245a..331758eada 100644 --- a/target/nios2/cpu.c +++ b/target/nios2/cpu.c @@ -43,7 +43,7 @@ static bool nios2_cpu_has_work(CPUState *cs) static void nios2_cpu_reset(CPUState *cs) { Nios2CPU *cpu =3D NIOS2_CPU(cs); - Nios2CPUClass *ncc =3D NIOS2_CPU_GET_CLASS(cpu); + const Nios2CPUClass *ncc =3D NIOS2_CPU_GET_CLASS(cpu); CPUNios2State *env =3D &cpu->env; =20 if (qemu_loglevel_mask(CPU_LOG_RESET)) { @@ -95,7 +95,7 @@ Nios2CPU *cpu_nios2_init(const char *cpu_model) static void nios2_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - Nios2CPUClass *ncc =3D NIOS2_CPU_GET_CLASS(dev); + const Nios2CPUClass *ncc =3D NIOS2_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); @@ -139,7 +139,7 @@ static void nios2_cpu_disas_set_info(CPUState *cpu, dis= assemble_info *info) static int nios2_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_buf, int= n) { Nios2CPU *cpu =3D NIOS2_CPU(cs); - CPUClass *cc =3D CPU_GET_CLASS(cs); + const CPUClass *cc =3D CPU_GET_CLASS(cs); CPUNios2State *env =3D &cpu->env; =20 if (n > cc->gdb_num_core_regs) { @@ -161,7 +161,7 @@ static int nios2_cpu_gdb_read_register(CPUState *cs, ui= nt8_t *mem_buf, int n) static int nios2_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, in= t n) { Nios2CPU *cpu =3D NIOS2_CPU(cs); - CPUClass *cc =3D CPU_GET_CLASS(cs); + const CPUClass *cc =3D CPU_GET_CLASS(cs); CPUNios2State *env =3D &cpu->env; =20 if (n > cc->gdb_num_core_regs) { diff --git a/target/openrisc/cpu.c b/target/openrisc/cpu.c index 7fd2b9a216..b0e545d572 100644 --- a/target/openrisc/cpu.c +++ b/target/openrisc/cpu.c @@ -40,7 +40,7 @@ static bool openrisc_cpu_has_work(CPUState *cs) static void openrisc_cpu_reset(CPUState *s) { OpenRISCCPU *cpu =3D OPENRISC_CPU(s); - OpenRISCCPUClass *occ =3D OPENRISC_CPU_GET_CLASS(cpu); + const OpenRISCCPUClass *occ =3D OPENRISC_CPU_GET_CLASS(cpu); =20 occ->parent_reset(s); =20 @@ -74,7 +74,7 @@ static inline void set_feature(OpenRISCCPU *cpu, int feat= ure) static void openrisc_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - OpenRISCCPUClass *occ =3D OPENRISC_CPU_GET_CLASS(dev); + const OpenRISCCPUClass *occ =3D OPENRISC_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); diff --git a/target/openrisc/gdbstub.c b/target/openrisc/gdbstub.c index b18c7e9f05..a78a8e61e4 100644 --- a/target/openrisc/gdbstub.c +++ b/target/openrisc/gdbstub.c @@ -50,7 +50,7 @@ int openrisc_cpu_gdb_read_register(CPUState *cs, uint8_t = *mem_buf, int n) int openrisc_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) { OpenRISCCPU *cpu =3D OPENRISC_CPU(cs); - CPUClass *cc =3D CPU_GET_CLASS(cs); + const CPUClass *cc =3D CPU_GET_CLASS(cs); CPUOpenRISCState *env =3D &cpu->env; uint32_t tmp; =20 diff --git a/target/ppc/arch_dump.c b/target/ppc/arch_dump.c index 28d9cc7d79..9d2d226dd9 100644 --- a/target/ppc/arch_dump.c +++ b/target/ppc/arch_dump.c @@ -225,7 +225,7 @@ int cpu_get_dump_info(ArchDumpInfo *info, const struct GuestPhysBlockList *guest_phys_blocks) { PowerPCCPU *cpu =3D POWERPC_CPU(first_cpu); - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); =20 info->d_machine =3D PPC_ELF_MACHINE; info->d_class =3D ELFCLASS; diff --git a/target/ppc/compat.c b/target/ppc/compat.c index e8ec1e19e7..e43d58f325 100644 --- a/target/ppc/compat.c +++ b/target/ppc/compat.c @@ -85,7 +85,7 @@ static const CompatInfo *compat_by_pvr(uint32_t pvr) bool ppc_check_compat(PowerPCCPU *cpu, uint32_t compat_pvr, uint32_t min_compat_pvr, uint32_t max_compat_pvr) { - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); const CompatInfo *compat =3D compat_by_pvr(compat_pvr); const CompatInfo *min =3D compat_by_pvr(min_compat_pvr); const CompatInfo *max =3D compat_by_pvr(max_compat_pvr); @@ -115,7 +115,7 @@ void ppc_set_compat(PowerPCCPU *cpu, uint32_t compat_pv= r, Error **errp) { const CompatInfo *compat =3D compat_by_pvr(compat_pvr); CPUPPCState *env =3D &cpu->env; - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); uint64_t pcr; =20 if (!compat_pvr) { diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index f4ee7aacd2..b51dc2da45 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -314,7 +314,7 @@ static inline void powerpc_excp(PowerPCCPU *cpu, int ex= cp_model, int excp) =20 /* "PAPR mode" built-in hypercall emulation */ if ((lev =3D=3D 1) && cpu->vhyp) { - PPCVirtualHypervisorClass *vhc =3D + const PPCVirtualHypervisorClass *vhc =3D PPC_VIRTUAL_HYPERVISOR_GET_CLASS(cpu->vhyp); vhc->hypercall(cpu->vhyp, cpu); return; diff --git a/target/ppc/mmu-hash64.c b/target/ppc/mmu-hash64.c index 14d34e512f..c895543fbd 100644 --- a/target/ppc/mmu-hash64.c +++ b/target/ppc/mmu-hash64.c @@ -422,7 +422,7 @@ const ppc_hash_pte64_t *ppc_hash64_map_hptes(PowerPCCPU= *cpu, const ppc_hash_pte64_t *hptes; =20 if (cpu->vhyp) { - PPCVirtualHypervisorClass *vhc =3D + const PPCVirtualHypervisorClass *vhc =3D PPC_VIRTUAL_HYPERVISOR_GET_CLASS(cpu->vhyp); return vhc->map_hptes(cpu->vhyp, ptex, n); } @@ -442,7 +442,7 @@ void ppc_hash64_unmap_hptes(PowerPCCPU *cpu, const ppc_= hash_pte64_t *hptes, hwaddr ptex, int n) { if (cpu->vhyp) { - PPCVirtualHypervisorClass *vhc =3D + const PPCVirtualHypervisorClass *vhc =3D PPC_VIRTUAL_HYPERVISOR_GET_CLASS(cpu->vhyp); vhc->unmap_hptes(cpu->vhyp, hptes, ptex, n); return; @@ -922,7 +922,7 @@ void ppc_hash64_store_hpte(PowerPCCPU *cpu, hwaddr ptex, hwaddr offset =3D ptex * HASH_PTE_SIZE_64; =20 if (cpu->vhyp) { - PPCVirtualHypervisorClass *vhc =3D + const PPCVirtualHypervisorClass *vhc =3D PPC_VIRTUAL_HYPERVISOR_GET_CLASS(cpu->vhyp); vhc->store_hpte(cpu->vhyp, ptex, pte0, pte1); return; diff --git a/target/ppc/mmu_helper.c b/target/ppc/mmu_helper.c index 65d1c8692d..64f12db168 100644 --- a/target/ppc/mmu_helper.c +++ b/target/ppc/mmu_helper.c @@ -2902,7 +2902,7 @@ void tlb_fill(CPUState *cs, target_ulong addr, MMUAcc= essType access_type, int mmu_idx, uintptr_t retaddr) { PowerPCCPU *cpu =3D POWERPC_CPU(cs); - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cs); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cs); CPUPPCState *env =3D &cpu->env; int ret; =20 diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c index ee8ff04fd2..de6f7e0be8 100644 --- a/target/ppc/translate_init.c +++ b/target/ppc/translate_init.c @@ -9049,7 +9049,7 @@ void cpu_ppc_set_papr(PowerPCCPU *cpu, PPCVirtualHype= rvisor *vhyp) /* Generic CPU instantiation routine = */ static void init_ppc_proc(PowerPCCPU *cpu) { - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); CPUPPCState *env =3D &cpu->env; #if !defined(CONFIG_USER_ONLY) int i; @@ -9471,7 +9471,7 @@ static void fix_opcode_tables (opc_handler_t **ppc_op= codes) /*************************************************************************= ****/ static void create_ppc_opcodes(PowerPCCPU *cpu, Error **errp) { - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); CPUPPCState *env =3D &cpu->env; opcode_t *opc; =20 @@ -9788,7 +9788,7 @@ static void ppc_cpu_realizefn(DeviceState *dev, Error= **errp) { CPUState *cs =3D CPU(dev); PowerPCCPU *cpu =3D POWERPC_CPU(dev); - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); Error *local_err =3D NULL; #if !defined(CONFIG_USER_ONLY) int max_smt =3D kvmppc_smt_threads(); @@ -10036,7 +10036,7 @@ static void ppc_cpu_realizefn(DeviceState *dev, Err= or **errp) static void ppc_cpu_unrealizefn(DeviceState *dev, Error **errp) { PowerPCCPU *cpu =3D POWERPC_CPU(dev); - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); CPUPPCState *env =3D &cpu->env; Error *local_err =3D NULL; opc_handler_t **table, **table_2; @@ -10412,7 +10412,7 @@ static void ppc_cpu_exec_enter(CPUState *cs) static void ppc_cpu_reset(CPUState *s) { PowerPCCPU *cpu =3D POWERPC_CPU(s); - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); CPUPPCState *env =3D &cpu->env; target_ulong msr; int i; @@ -10503,7 +10503,7 @@ static void ppc_cpu_initfn(Object *obj) { CPUState *cs =3D CPU(obj); PowerPCCPU *cpu =3D POWERPC_CPU(obj); - PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); + const PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); CPUPPCState *env =3D &cpu->env; =20 cs->env_ptr =3D env; diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c index 07eb8b745f..b862c914af 100644 --- a/target/s390x/cpu.c +++ b/target/s390x/cpu.c @@ -75,7 +75,7 @@ static void s390_cpu_load_normal(CPUState *s) static void s390_cpu_reset(CPUState *s) { S390CPU *cpu =3D S390_CPU(s); - S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); + const S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); CPUS390XState *env =3D &cpu->env; =20 env->pfault_token =3D -1UL; @@ -123,7 +123,7 @@ static void s390_cpu_initial_reset(CPUState *s) static void s390_cpu_full_reset(CPUState *s) { S390CPU *cpu =3D S390_CPU(s); - S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); + const S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); CPUS390XState *env =3D &cpu->env; int i; =20 diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c index 1434d15315..b904083871 100644 --- a/target/s390x/cpu_models.c +++ b/target/s390x/cpu_models.c @@ -716,7 +716,7 @@ static inline void apply_cpu_model(const S390CPUModel *= model, Error **errp) =20 void s390_realize_cpu_model(CPUState *cs, Error **errp) { - S390CPUClass *xcc =3D S390_CPU_GET_CLASS(cs); + const S390CPUClass *xcc =3D S390_CPU_GET_CLASS(cs); S390CPU *cpu =3D S390_CPU(cs); const S390CPUModel *max_model; =20 @@ -886,7 +886,7 @@ void s390_cpu_model_register_props(Object *obj) static void s390_cpu_model_initfn(Object *obj) { S390CPU *cpu =3D S390_CPU(obj); - S390CPUClass *xcc =3D S390_CPU_GET_CLASS(cpu); + const S390CPUClass *xcc =3D S390_CPU_GET_CLASS(cpu); =20 cpu->model =3D g_malloc0(sizeof(*cpu->model)); /* copy the model, so we can modify it */ diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c index ac47154b83..cb9f368099 100644 --- a/target/s390x/kvm.c +++ b/target/s390x/kvm.c @@ -1620,7 +1620,7 @@ int kvm_s390_cpu_restart(S390CPU *cpu) static void sigp_initial_cpu_reset(CPUState *cs, run_on_cpu_data arg) { S390CPU *cpu =3D S390_CPU(cs); - S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); + const S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); SigpInfo *si =3D arg.host_ptr; =20 cpu_synchronize_state(cs); @@ -1632,7 +1632,7 @@ static void sigp_initial_cpu_reset(CPUState *cs, run_= on_cpu_data arg) static void sigp_cpu_reset(CPUState *cs, run_on_cpu_data arg) { S390CPU *cpu =3D S390_CPU(cs); - S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); + const S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); SigpInfo *si =3D arg.host_ptr; =20 cpu_synchronize_state(cs); diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 675aba2e44..16782c9ae1 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -944,7 +944,7 @@ uint32_t HELPER(tprot)(uint64_t a1, uint64_t a2) uint64_t HELPER(iske)(CPUS390XState *env, uint64_t r2) { static S390SKeysState *ss; - static S390SKeysClass *skeyclass; + static const S390SKeysClass *skeyclass; uint64_t addr =3D get_address(env, 0, 0, r2); uint8_t key; =20 @@ -967,7 +967,7 @@ uint64_t HELPER(iske)(CPUS390XState *env, uint64_t r2) void HELPER(sske)(CPUS390XState *env, uint64_t r1, uint64_t r2) { static S390SKeysState *ss; - static S390SKeysClass *skeyclass; + static const S390SKeysClass *skeyclass; uint64_t addr =3D get_address(env, 0, 0, r2); uint8_t key; =20 @@ -988,7 +988,7 @@ void HELPER(sske)(CPUS390XState *env, uint64_t r1, uint= 64_t r2) uint32_t HELPER(rrbe)(CPUS390XState *env, uint64_t r2) { static S390SKeysState *ss; - static S390SKeysClass *skeyclass; + static const S390SKeysClass *skeyclass; uint8_t re, key; =20 if (r2 > ram_size) { diff --git a/target/s390x/misc_helper.c b/target/s390x/misc_helper.c index 93b0e61366..cbbd16eac5 100644 --- a/target/s390x/misc_helper.c +++ b/target/s390x/misc_helper.c @@ -124,7 +124,7 @@ uint32_t HELPER(servc)(CPUS390XState *env, uint64_t r1,= uint64_t r2) #ifndef CONFIG_USER_ONLY static int modified_clear_reset(S390CPU *cpu) { - S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); + const S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); CPUState *t; =20 pause_all_vcpus(); @@ -143,7 +143,7 @@ static int modified_clear_reset(S390CPU *cpu) =20 static int load_normal_reset(S390CPU *cpu) { - S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); + const S390CPUClass *scc =3D S390_CPU_GET_CLASS(cpu); CPUState *t; =20 pause_all_vcpus(); @@ -167,7 +167,7 @@ int handle_diag_288(CPUS390XState *env, uint64_t r1, ui= nt64_t r3) uint64_t action =3D env->regs[r3]; Object *obj; DIAG288State *diag288; - DIAG288Class *diag288_class; + const DIAG288Class *diag288_class; =20 if (r1 % 2 || action !=3D 0) { return -1; diff --git a/target/s390x/mmu_helper.c b/target/s390x/mmu_helper.c index b11a02706c..56570a6879 100644 --- a/target/s390x/mmu_helper.c +++ b/target/s390x/mmu_helper.c @@ -313,7 +313,7 @@ int mmu_translate(CPUS390XState *env, target_ulong vadd= r, int rw, uint64_t asc, target_ulong *raddr, int *flags, bool exc) { static S390SKeysState *ss; - static S390SKeysClass *skeyclass; + static const S390SKeysClass *skeyclass; int r =3D -1; uint8_t key; =20 diff --git a/target/sh4/cpu.c b/target/sh4/cpu.c index 9a481c35dc..11da19d62f 100644 --- a/target/sh4/cpu.c +++ b/target/sh4/cpu.c @@ -51,7 +51,7 @@ static bool superh_cpu_has_work(CPUState *cs) static void superh_cpu_reset(CPUState *s) { SuperHCPU *cpu =3D SUPERH_CPU(s); - SuperHCPUClass *scc =3D SUPERH_CPU_GET_CLASS(cpu); + const SuperHCPUClass *scc =3D SUPERH_CPU_GET_CLASS(cpu); CPUSH4State *env =3D &cpu->env; =20 scc->parent_reset(s); @@ -242,7 +242,7 @@ static const TypeInfo sh7785_type_info =3D { static void superh_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - SuperHCPUClass *scc =3D SUPERH_CPU_GET_CLASS(dev); + const SuperHCPUClass *scc =3D SUPERH_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); diff --git a/target/sparc/cpu.c b/target/sparc/cpu.c index d606eb53f4..188f544290 100644 --- a/target/sparc/cpu.c +++ b/target/sparc/cpu.c @@ -31,7 +31,7 @@ static int cpu_sparc_find_by_name(sparc_def_t *cpu_def, c= onst char *cpu_model); static void sparc_cpu_reset(CPUState *s) { SPARCCPU *cpu =3D SPARC_CPU(s); - SPARCCPUClass *scc =3D SPARC_CPU_GET_CLASS(cpu); + const SPARCCPUClass *scc =3D SPARC_CPU_GET_CLASS(cpu); CPUSPARCState *env =3D &cpu->env; =20 scc->parent_reset(s); @@ -799,7 +799,7 @@ static bool sparc_cpu_has_work(CPUState *cs) static void sparc_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - SPARCCPUClass *scc =3D SPARC_CPU_GET_CLASS(dev); + const SPARCCPUClass *scc =3D SPARC_CPU_GET_CLASS(dev); Error *local_err =3D NULL; #if defined(CONFIG_USER_ONLY) SPARCCPU *cpu =3D SPARC_CPU(dev); diff --git a/target/tilegx/cpu.c b/target/tilegx/cpu.c index d90e38e88c..71d9c23e03 100644 --- a/target/tilegx/cpu.c +++ b/target/tilegx/cpu.c @@ -79,7 +79,7 @@ static bool tilegx_cpu_has_work(CPUState *cs) static void tilegx_cpu_reset(CPUState *s) { TileGXCPU *cpu =3D TILEGX_CPU(s); - TileGXCPUClass *tcc =3D TILEGX_CPU_GET_CLASS(cpu); + const TileGXCPUClass *tcc =3D TILEGX_CPU_GET_CLASS(cpu); CPUTLGState *env =3D &cpu->env; =20 tcc->parent_reset(s); @@ -90,7 +90,7 @@ static void tilegx_cpu_reset(CPUState *s) static void tilegx_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - TileGXCPUClass *tcc =3D TILEGX_CPU_GET_CLASS(dev); + const TileGXCPUClass *tcc =3D TILEGX_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); diff --git a/target/tricore/cpu.c b/target/tricore/cpu.c index 08f50e2ba7..73a3dd436d 100644 --- a/target/tricore/cpu.c +++ b/target/tricore/cpu.c @@ -48,7 +48,7 @@ static void tricore_cpu_synchronize_from_tb(CPUState *cs, static void tricore_cpu_reset(CPUState *s) { TriCoreCPU *cpu =3D TRICORE_CPU(s); - TriCoreCPUClass *tcc =3D TRICORE_CPU_GET_CLASS(cpu); + const TriCoreCPUClass *tcc =3D TRICORE_CPU_GET_CLASS(cpu); CPUTriCoreState *env =3D &cpu->env; =20 tcc->parent_reset(s); @@ -65,7 +65,7 @@ static void tricore_cpu_realizefn(DeviceState *dev, Error= **errp) { CPUState *cs =3D CPU(dev); TriCoreCPU *cpu =3D TRICORE_CPU(dev); - TriCoreCPUClass *tcc =3D TRICORE_CPU_GET_CLASS(dev); + const TriCoreCPUClass *tcc =3D TRICORE_CPU_GET_CLASS(dev); CPUTriCoreState *env =3D &cpu->env; Error *local_err =3D NULL; =20 diff --git a/target/unicore32/cpu.c b/target/unicore32/cpu.c index c9b78ce68e..a10881be88 100644 --- a/target/unicore32/cpu.c +++ b/target/unicore32/cpu.c @@ -102,7 +102,7 @@ static const UniCore32CPUInfo uc32_cpus[] =3D { static void uc32_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - UniCore32CPUClass *ucc =3D UNICORE32_CPU_GET_CLASS(dev); + const UniCore32CPUClass *ucc =3D UNICORE32_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); diff --git a/target/xtensa/cpu.c b/target/xtensa/cpu.c index cd7f95823f..4500f7f556 100644 --- a/target/xtensa/cpu.c +++ b/target/xtensa/cpu.c @@ -54,7 +54,7 @@ static bool xtensa_cpu_has_work(CPUState *cs) static void xtensa_cpu_reset(CPUState *s) { XtensaCPU *cpu =3D XTENSA_CPU(s); - XtensaCPUClass *xcc =3D XTENSA_CPU_GET_CLASS(cpu); + const XtensaCPUClass *xcc =3D XTENSA_CPU_GET_CLASS(cpu); CPUXtensaState *env =3D &cpu->env; =20 xcc->parent_reset(s); @@ -100,7 +100,7 @@ static ObjectClass *xtensa_cpu_class_by_name(const char= *cpu_model) static void xtensa_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); - XtensaCPUClass *xcc =3D XTENSA_CPU_GET_CLASS(dev); + const XtensaCPUClass *xcc =3D XTENSA_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); @@ -120,7 +120,7 @@ static void xtensa_cpu_initfn(Object *obj) { CPUState *cs =3D CPU(obj); XtensaCPU *cpu =3D XTENSA_CPU(obj); - XtensaCPUClass *xcc =3D XTENSA_CPU_GET_CLASS(obj); + const XtensaCPUClass *xcc =3D XTENSA_CPU_GET_CLASS(obj); CPUXtensaState *env =3D &cpu->env; static bool tcg_inited; =20 diff --git a/tests/check-qom-interface.c b/tests/check-qom-interface.c index f87c9aaa8a..42ff3aa5a7 100644 --- a/tests/check-qom-interface.c +++ b/tests/check-qom-interface.c @@ -72,7 +72,7 @@ static void test_interface_impl(const char *type) { Object *obj =3D object_new(type); TestIf *iobj =3D TEST_IF(obj); - TestIfClass *ioc =3D TEST_IF_GET_CLASS(iobj); + const TestIfClass *ioc =3D TEST_IF_GET_CLASS(iobj); =20 g_assert(iobj); g_assert(ioc->test =3D=3D PATTERN); diff --git a/user-exec.c b/user-exec.c index a8f95fa1e1..177c764385 100644 --- a/user-exec.c +++ b/user-exec.c @@ -58,7 +58,7 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigne= d long address, int is_write, sigset_t *old_set) { CPUState *cpu =3D current_cpu; - CPUClass *cc; + const CPUClass *cc; int ret; =20 /* For synchronous signals we expect to be coming from the vCPU diff --git a/vl.c b/vl.c index 0b4ed5241c..fba5a16aad 100644 --- a/vl.c +++ b/vl.c @@ -1687,7 +1687,7 @@ static int qemu_debug_requested(void) =20 void qemu_system_reset(bool report) { - MachineClass *mc; + const MachineClass *mc; =20 mc =3D current_machine ? MACHINE_GET_CLASS(current_machine) : NULL; =20 --=20 2.11.0.259.g40922b1 From nobody Fri May 3 20:53:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 149081671711612.242709166238114; Wed, 29 Mar 2017 12:45:17 -0700 (PDT) Received: from localhost ([::1]:60624 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJWt-0003GV-Oo for importer@patchew.org; Wed, 29 Mar 2017 15:45:15 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44904) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJVH-000298-Gm for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ctJVG-0000CM-KX for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:35 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42444) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ctJVG-0000C9-Aw for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:34 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 545CC7E9E5 for ; Wed, 29 Mar 2017 19:43:33 +0000 (UTC) Received: from localhost (ovpn-116-7.gru2.redhat.com [10.97.116.7]) by smtp.corp.redhat.com (Postfix) with ESMTP id 99ACA18227; Wed, 29 Mar 2017 19:43:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 545CC7E9E5 Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=ehabkost@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 545CC7E9E5 From: Eduardo Habkost To: qemu-devel@nongnu.org Date: Wed, 29 Mar 2017 16:41:47 -0300 Message-Id: <20170329194148.19015-9-ehabkost@redhat.com> In-Reply-To: <20170329194148.19015-1-ehabkost@redhat.com> References: <20170329194148.19015-1-ehabkost@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Wed, 29 Mar 2017 19:43:33 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [RFC v2 8/9] qom: Make class cast macros/functions const-aware X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Use the QUALIFIED_CAST macro to make OBJECT_CLASS, OBJECT_CLASS_CHECK, object_class_dynamic_cast(), and object_class_dynamic_cast_assert() return a const pointer if the class argument is already a const pointer. Signed-off-by: Eduardo Habkost --- include/qom/object.h | 31 +++++++++++++++++++++---------- qom/object.c | 15 ++++++++------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 4af3c8e232..2b1513d2f2 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -527,7 +527,7 @@ struct TypeInfo * this function will always succeed. */ #define OBJECT_CLASS(class) \ - ((ObjectClass *)(class)) + (QUALIFIED_CAST(typeof(class), ObjectClass *)(class)) =20 /** * OBJECT_CHECK: @@ -556,9 +556,10 @@ struct TypeInfo * typically wrapped by each type to perform type safe casts of a class to= a * specific class type. */ -#define OBJECT_CLASS_CHECK(class_type, class, name) \ - ((class_type *)object_class_dynamic_cast_assert(OBJECT_CLASS(class), (= name), \ - __FILE__, __LINE__, __func_= _)) +#define OBJECT_CLASS_CHECK(class_type, class, name) \ + (QUALIFIED_CAST(typeof(class), class_type *) \ + object_class_dynamic_cast_assert(OBJECT_CLASS(class), (name), \ + __FILE__, __LINE__, __func__)) =20 /** * OBJECT_GET_CLASS: @@ -845,10 +846,16 @@ Type type_register(const TypeInfo *info); * enabled. This function is not meant to be called directly, but only th= rough * the wrapper macros OBJECT_CLASS_CHECK and INTERFACE_CHECK. */ -ObjectClass *object_class_dynamic_cast_assert(ObjectClass *klass, - const char *typename, - const char *file, int line, - const char *func); +#define object_class_dynamic_cast_assert(klass, typename, file, line, func= ) \ + (QUALIFIED_CAST(typeof(klass), ObjectClass *) = \ + object_class_dynamic_cast_assert_const((ObjectClass *)klass, typename= , \ + file, line, func)) + +const ObjectClass *object_class_dynamic_cast_assert_const(ObjectClass *kla= ss, + const char *type= name, + const char *file, + int line, + const char *func= ); =20 /** * object_class_dynamic_cast: @@ -864,8 +871,12 @@ ObjectClass *object_class_dynamic_cast_assert(ObjectCl= ass *klass, * classes or interfaces on the hierarchy leading to @klass implement * it. (FIXME: perhaps this can be detected at type definition time?) */ -ObjectClass *object_class_dynamic_cast(ObjectClass *klass, - const char *typename); +#define object_class_dynamic_cast(klass, typename) \ + (QUALIFIED_CAST(typeof(klass), ObjectClass *) \ + object_class_dynamic_cast_const(klass, typename)) + +const ObjectClass *object_class_dynamic_cast_const(const ObjectClass *klas= s, + const char *typename); =20 /** * object_class_get_parent: diff --git a/qom/object.c b/qom/object.c index 41dae18420..9b6c990ac5 100644 --- a/qom/object.c +++ b/qom/object.c @@ -648,10 +648,10 @@ out: return obj; } =20 -ObjectClass *object_class_dynamic_cast(ObjectClass *class, - const char *typename) +const ObjectClass *object_class_dynamic_cast_const(const ObjectClass *clas= s, + const char *typename) { - ObjectClass *ret =3D NULL; + const ObjectClass *ret =3D NULL; TypeImpl *target_type; TypeImpl *type; =20 @@ -696,10 +696,11 @@ ObjectClass *object_class_dynamic_cast(ObjectClass *c= lass, return ret; } =20 -ObjectClass *object_class_dynamic_cast_assert(ObjectClass *class, - const char *typename, - const char *file, int line, - const char *func) +const ObjectClass *object_class_dynamic_cast_assert_const(ObjectClass *cla= ss, + const char *type= name, + const char *file, + int line, + const char *func) { ObjectClass *ret; =20 --=20 2.11.0.259.g40922b1 From nobody Fri May 3 20:53:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1490816945868981.3413025708727; Wed, 29 Mar 2017 12:49:05 -0700 (PDT) Received: from localhost ([::1]:60644 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJaa-0006Du-Im for importer@patchew.org; Wed, 29 Mar 2017 15:49:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44921) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ctJVJ-0002Ac-3Z for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ctJVI-0000Cl-DO for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:37 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41152) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ctJVI-0000Cc-74 for qemu-devel@nongnu.org; Wed, 29 Mar 2017 15:43:36 -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 39C3FC04B945 for ; Wed, 29 Mar 2017 19:43:35 +0000 (UTC) Received: from localhost (ovpn-116-7.gru2.redhat.com [10.97.116.7]) by smtp.corp.redhat.com (Postfix) with ESMTP id BF09517AEB; Wed, 29 Mar 2017 19:43:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 39C3FC04B945 Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=ehabkost@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 39C3FC04B945 From: Eduardo Habkost To: qemu-devel@nongnu.org Date: Wed, 29 Mar 2017 16:41:48 -0300 Message-Id: <20170329194148.19015-10-ehabkost@redhat.com> In-Reply-To: <20170329194148.19015-1-ehabkost@redhat.com> References: <20170329194148.19015-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.31]); Wed, 29 Mar 2017 19:43:35 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [RFC v2 9/9] qom: Make object_get_class() return const pointer X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" To avoid having code accidentaly changing class structs outside class_init, make object_get_class() return a const pointer. This will automatically affect OBJECT_GET_CLASS, OBJECT_CLASS_CHECK, and the macros defined using them, because OBJECT_CLASS_CHECK is already const-aware. Signed-off-by: Eduardo Habkost --- include/qom/object.h | 2 +- qom/object.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 2b1513d2f2..de8ab70d13 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -803,7 +803,7 @@ Object *object_dynamic_cast_assert(Object *obj, const c= har *typename, * * Returns: The #ObjectClass of the type associated with @obj. */ -ObjectClass *object_get_class(Object *obj); +const ObjectClass *object_get_class(Object *obj); =20 /** * object_get_typename: diff --git a/qom/object.c b/qom/object.c index 9b6c990ac5..297cce8fc2 100644 --- a/qom/object.c +++ b/qom/object.c @@ -747,7 +747,7 @@ const char *object_get_typename(Object *obj) return obj->class->type->name; } =20 -ObjectClass *object_get_class(Object *obj) +const ObjectClass *object_get_class(Object *obj) { return obj->class; } --=20 2.11.0.259.g40922b1