From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:a5d:6089:0:0:0:0:0 with SMTP id w9csp5594213wrt; Mon, 26 Nov 2018 05:55:32 -0800 (PST) X-Google-Smtp-Source: AJdET5feH0yC3HNtOrclyq/pomkxhulUKO41AoAlKXMYKzJKQIZSEsDwdLEomFlVk97pUvfM3cm/ X-Received: by 2002:a0d:e744:: with SMTP id q65-v6mr29592005ywe.109.1543240532126; Mon, 26 Nov 2018 05:55:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543240532; cv=none; d=google.com; s=arc-20160816; b=dOo13xUL8ql4e9Qd3KBzJYJSWy/cC5DS/UmFMzyIU/vVVf1JQpDjzLcIYOxVhLxLDa vDq6uXE0PzSjSFnpI5eU1rdhfQxTUUpX7CjG4SlFceXe6I8QvcqDWa40CtQFuufyppfX zx/qnoTuERY4H+xgyoTl/nPCyYh52NnQoiRoViYJQsRIiwMl7Pw4+Q4hW4QFDYouB9C9 sFYCn2CQFcM+s6qbJO1ixuT4JuoRL3MjcKAPahMbUmEGT2bk1KnfB43npW1u5DCwele0 iRcUP4HGkvBD26ATsJiCK2SyxFrQf/9fRqT7+WiB2SZI4k4hXExayCG9HazVtkjiJt3r MNsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:to:from:date; bh=uX96AgZcB/kDv5sx7nZD1q+U/d1YwnRzbPEckQrEuhg=; b=R9LAUzNcfJ/uGyOh+5nNa1ZTH57kQ2kWplavmEukP2LAtq4IgsRtLU+hYhRsGjJdhk 5AEr0rAw0cf55G+ctEWqT1vd9+4uky6Tcohq5F1BPzqTas+wEwD5/EMHnxNjoWOapfxl VryZF4ODmsmbF1oSGu5NafIgkunm/reKuL/QbXdjH4wV15zngG+PyiXVaGPlbQMMzzXF IQ69QhRPUCOI3NkTTZ0hHV3MUUXVqpWz3D7eYGhrkuLkA9WWdl/uTLIq5nUBlwD3LYCv f6Eeq4zXT5qy47Iz2WZek0lFLhcd81cIEYEV1qQs3Gd1CvsEaWCB/S10o92uH4WZ93Wy xE0Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id w200-v6si263433ybg.176.2018.11.26.05.55.31 for (version=TLS1 cipher=AES128-SHA bits=128/128); Mon, 26 Nov 2018 05:55:32 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from localhost ([::1]:36117 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRHMJ-0002N1-7Z for alex.bennee@linaro.org; Mon, 26 Nov 2018 08:55:31 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41982) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRHM8-0002KZ-Gx for qemu-arm@nongnu.org; Mon, 26 Nov 2018 08:55:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRHM6-0001Jy-JP for qemu-arm@nongnu.org; Mon, 26 Nov 2018 08:55:20 -0500 Received: from mx1.redhat.com ([209.132.183.28]:57154) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gRHM4-0001Ig-HD; Mon, 26 Nov 2018 08:55:18 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 222B77F6B0; Mon, 26 Nov 2018 13:55:15 +0000 (UTC) Received: from localhost (unknown [10.43.2.182]) by smtp.corp.redhat.com (Postfix) with ESMTP id 283312D0A2; Mon, 26 Nov 2018 13:55:06 +0000 (UTC) Date: Mon, 26 Nov 2018 14:55:05 +0100 From: Igor Mammedov To: =?UTF-8?B?TWFyYy1BbmRyw6k=?= Lureau Message-ID: <20181126145505.56fb6031@redhat.com> In-Reply-To: <20181107123652.23417-1-marcandre.lureau@redhat.com> References: <20181107123652.23417-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 26 Nov 2018 13:55:15 +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: Re: [Qemu-arm] [Qemu-devel] [PATCH for-3.2 v3 00/14] Generalize machine compatibility properties X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , Corey Minyard , Amit Shah , qemu-ppc@nongnu.org, "Michael S. Tsirkin" , Mark Cave-Ayland , qemu-devel@nongnu.org, dgilbert@redhat.com, qemu-arm@nongnu.org, =?UTF-8?B?SGVy?= =?UTF-8?B?dsOp?= Poussineau , Paolo Bonzini , Anthony Perard , xen-devel@lists.xenproject.org, Richard Henderson , Andreas =?UTF-8?B?RsOkcmJlcg==?= , Artyom Tarasenko , Stefan Berger Errors-To: qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org Sender: "Qemu-arm" X-TUID: d7u61XSpwRq5 On Wed, 7 Nov 2018 16:36:38 +0400 Marc-Andr=C3=A9 Lureau wrote: > Hi, >=20 > During "[PATCH v2 05/10] qom/globals: generalize > object_property_set_globals()" review, Eduardo suggested to rework the > GlobalProperty handling, so that -global is limited to QDev only and > we avoid mixing the machine compats and the user-provided -global > properties (instead of generalizing -global to various object kinds, > like I proposed in v2). >=20 > "qdev: do not mix compat props with global props" patch decouples a > bit user-provided -global from machine compat properties. This allows > to get rid of "user_provided" and "errp" fields in following patches. >=20 > Instead of explcitely calling object_apply_global_props() in the > various object post_init, I opted for creating a new TYPE_COMPAT_PROPS > interface. The interface approach gives a lot more flexibility on > which objects can have compat props. This requires some interface > improvments in "qom: teach interfaces to implement post-init". >=20 > A new compat property "x-use-canonical-path-for-ramblock-id" is added > to hostmem for legacy canonical path names, set to true for -file and > -memfd with qemu < 3.2. >=20 > (this series was initially titled "[PATCH v2 00/10] hostmem: use > object "id" for memory region name with >=3D 3.1", but its focus is more > in refactoring the global and compatilibity properties handling now) That probably all feedback I'm able to give on this round of review, so I'll wait till it will addressed. >=20 > v3: > - GlobalProperties improvements/cleanups > - drop generalizing the -global idea > - "replace" the set_globals flag with a TYPE_COMPAT_PROPS interface > - update hw/i386 machine version to 3.2 > - add "qom: make interface types abstract" interface cleanup >=20 > v2: > - replace "qom/user-creatable: add a few helper macros" patch for a > more optimized "qom: make user_creatable_complete() specific to > UserCreatable" > - rename register_global_list() to register_global_properties() > - call object_property_set_globals() after post-init > - add and use a ObjectClass.set_globals flag, instead of dynamically > check object class in object_property_set_globals() > - use object "id" in >=3D 3.1 instead of canonical path, add compat > property "x-use-canonical-path-for-ramblock-id" in base hostmem > class. >=20 > Marc-Andr=C3=A9 Lureau (14): > tests: qdev_prop_check_globals() doesn't return "all_used" > qom: make interface types abstract > qom: make user_creatable_complete() specific to UserCreatable > accel: register global_props like machine globals > qdev: move qdev_prop_register_global_list() to tests > qdev: do not mix compat props with global props > qdev: all globals are now user-provided > qdev-props: convert global_props to GArray > qdev-props: remove errp from GlobalProperty > qdev-props: call object_apply_global_props() > qom: teach interfaces to implement post-init > machine: add compat-props interface > hw/i386: add pc-i440fx-3.2 & pc-q35-3.2 > hostmem: use object id for memory region name with >=3D 3.1 >=20 > include/hw/acpi/acpi_dev_interface.h | 6 +-- > include/hw/arm/linux-boot-if.h | 5 +- > include/hw/boards.h | 3 +- > include/hw/compat.h | 11 ++++ > include/hw/fw-path-provider.h | 4 +- > include/hw/hotplug.h | 6 +-- > include/hw/i386/pc.h | 3 ++ > include/hw/intc/intc.h | 4 +- > include/hw/ipmi/ipmi.h | 4 +- > include/hw/isa/isa.h | 4 -- > include/hw/mem/memory-device.h | 4 +- > include/hw/nmi.h | 4 +- > include/hw/qdev-core.h | 9 ---- > include/hw/qdev-properties.h | 30 ----------- > include/hw/stream.h | 4 +- > include/hw/timer/m48t59.h | 4 +- > include/qom/object.h | 2 + > include/qom/object_interfaces.h | 10 ++-- > include/sysemu/accel.h | 4 +- > include/sysemu/hostmem.h | 3 +- > include/sysemu/tpm.h | 4 +- > target/arm/idau.h | 4 +- > accel/accel.c | 7 +-- > backends/hostmem-file.c | 8 +-- > backends/hostmem-memfd.c | 2 +- > backends/hostmem-ram.c | 9 ++-- > backends/hostmem.c | 31 +++++++++++ > hw/core/compat-props.c | 43 +++++++++++++++ > hw/core/machine.c | 18 ------- > hw/core/qdev-properties.c | 73 ++++++------------------- > hw/core/qdev.c | 4 ++ > hw/i386/pc_piix.c | 21 ++++++-- > hw/i386/pc_q35.c | 19 ++++++- > hw/misc/ivshmem.c | 2 +- > hw/virtio/virtio-rng.c | 2 +- > hw/xen/xen-common.c | 9 +++- > qom/cpu.c | 1 - > qom/object.c | 49 +++++++++++++++-- > qom/object_interfaces.c | 14 ++--- > stubs/machine.c | 4 ++ > target/i386/cpu.c | 1 - > target/sparc/cpu.c | 1 - > tests/check-qom-interface.c | 27 ++++++++-- > tests/test-qdev-global-props.c | 80 ++++++++-------------------- > vl.c | 4 -- > MAINTAINERS | 1 + > hw/core/Makefile.objs | 1 + > stubs/Makefile.objs | 1 + > tests/Makefile.include | 1 + > 49 files changed, 283 insertions(+), 282 deletions(-) > create mode 100644 hw/core/compat-props.c > create mode 100644 stubs/machine.c >=20 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Mammedov Subject: Re: [Qemu-devel] [PATCH for-3.2 v3 00/14] Generalize machine compatibility properties Date: Mon, 26 Nov 2018 14:55:05 +0100 Message-ID: <20181126145505.56fb6031@redhat.com> References: <20181107123652.23417-1-marcandre.lureau@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gRHM5-0001Vh-5t for xen-devel@lists.xenproject.org; Mon, 26 Nov 2018 13:55:17 +0000 In-Reply-To: <20181107123652.23417-1-marcandre.lureau@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: =?UTF-8?B?TWFyYy1BbmRyw6k=?= Lureau Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , Corey Minyard , Amit Shah , qemu-ppc@nongnu.org, "Michael S. Tsirkin" , Mark Cave-Ayland , qemu-devel@nongnu.org, dgilbert@redhat.com, qemu-arm@nongnu.org, =?UTF-8?B?SGVy?= =?UTF-8?B?dsOp?= Poussineau , Paolo Bonzini , Anthony Perard , xen-devel@lists.xenproject.org, Richard Henderson , Andreas =?UTF-8?B?RsOkcmJlcg==?= , Artyom Tarasenko , Stefan Berger List-Id: xen-devel@lists.xenproject.org T24gV2VkLCAgNyBOb3YgMjAxOCAxNjozNjozOCArMDQwMApNYXJjLUFuZHLDqSBMdXJlYXUgPG1h cmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNvbT4gd3JvdGU6Cgo+IEhpLAo+IAo+IER1cmluZyAiW1BB VENIIHYyIDA1LzEwXSBxb20vZ2xvYmFsczogZ2VuZXJhbGl6ZQo+IG9iamVjdF9wcm9wZXJ0eV9z ZXRfZ2xvYmFscygpIiByZXZpZXcsIEVkdWFyZG8gc3VnZ2VzdGVkIHRvIHJld29yayB0aGUKPiBH bG9iYWxQcm9wZXJ0eSBoYW5kbGluZywgc28gdGhhdCAtZ2xvYmFsIGlzIGxpbWl0ZWQgdG8gUURl diBvbmx5IGFuZAo+IHdlIGF2b2lkIG1peGluZyB0aGUgbWFjaGluZSBjb21wYXRzIGFuZCB0aGUg dXNlci1wcm92aWRlZCAtZ2xvYmFsCj4gcHJvcGVydGllcyAoaW5zdGVhZCBvZiBnZW5lcmFsaXpp bmcgLWdsb2JhbCB0byB2YXJpb3VzIG9iamVjdCBraW5kcywKPiBsaWtlIEkgcHJvcG9zZWQgaW4g djIpLgo+IAo+ICJxZGV2OiBkbyBub3QgbWl4IGNvbXBhdCBwcm9wcyB3aXRoIGdsb2JhbCBwcm9w cyIgcGF0Y2ggZGVjb3VwbGVzIGEKPiBiaXQgdXNlci1wcm92aWRlZCAtZ2xvYmFsIGZyb20gbWFj aGluZSBjb21wYXQgcHJvcGVydGllcy4gVGhpcyBhbGxvd3MKPiB0byBnZXQgcmlkIG9mICJ1c2Vy X3Byb3ZpZGVkIiBhbmQgImVycnAiIGZpZWxkcyBpbiBmb2xsb3dpbmcgcGF0Y2hlcy4KPiAKPiBJ bnN0ZWFkIG9mIGV4cGxjaXRlbHkgY2FsbGluZyBvYmplY3RfYXBwbHlfZ2xvYmFsX3Byb3BzKCkg aW4gdGhlCj4gdmFyaW91cyBvYmplY3QgcG9zdF9pbml0LCBJIG9wdGVkIGZvciBjcmVhdGluZyBh IG5ldyBUWVBFX0NPTVBBVF9QUk9QUwo+IGludGVyZmFjZS4gVGhlIGludGVyZmFjZSBhcHByb2Fj aCBnaXZlcyBhIGxvdCBtb3JlIGZsZXhpYmlsaXR5IG9uCj4gd2hpY2ggb2JqZWN0cyBjYW4gaGF2 ZSBjb21wYXQgcHJvcHMuIFRoaXMgcmVxdWlyZXMgc29tZSBpbnRlcmZhY2UKPiBpbXByb3ZtZW50 cyBpbiAicW9tOiB0ZWFjaCBpbnRlcmZhY2VzIHRvIGltcGxlbWVudCBwb3N0LWluaXQiLgo+IAo+ IEEgbmV3IGNvbXBhdCBwcm9wZXJ0eSAieC11c2UtY2Fub25pY2FsLXBhdGgtZm9yLXJhbWJsb2Nr LWlkIiBpcyBhZGRlZAo+IHRvIGhvc3RtZW0gZm9yIGxlZ2FjeSBjYW5vbmljYWwgcGF0aCBuYW1l cywgc2V0IHRvIHRydWUgZm9yIC1maWxlIGFuZAo+IC1tZW1mZCB3aXRoIHFlbXUgPCAzLjIuCj4g Cj4gKHRoaXMgc2VyaWVzIHdhcyBpbml0aWFsbHkgdGl0bGVkICJbUEFUQ0ggdjIgMDAvMTBdIGhv c3RtZW06IHVzZQo+IG9iamVjdCAiaWQiIGZvciBtZW1vcnkgcmVnaW9uIG5hbWUgd2l0aCA+PSAz LjEiLCBidXQgaXRzIGZvY3VzIGlzIG1vcmUKPiBpbiByZWZhY3RvcmluZyB0aGUgZ2xvYmFsIGFu ZCBjb21wYXRpbGliaXR5IHByb3BlcnRpZXMgaGFuZGxpbmcgbm93KQpUaGF0IHByb2JhYmx5IGFs bCBmZWVkYmFjayBJJ20gYWJsZSB0byBnaXZlIG9uIHRoaXMgcm91bmQgb2YgcmV2aWV3LApzbyBJ J2xsIHdhaXQgdGlsbCBpdCB3aWxsIGFkZHJlc3NlZC4KCj4gCj4gdjM6Cj4gLSBHbG9iYWxQcm9w ZXJ0aWVzIGltcHJvdmVtZW50cy9jbGVhbnVwcwo+IC0gZHJvcCBnZW5lcmFsaXppbmcgdGhlIC1n bG9iYWwgaWRlYQo+IC0gInJlcGxhY2UiIHRoZSBzZXRfZ2xvYmFscyBmbGFnIHdpdGggYSBUWVBF X0NPTVBBVF9QUk9QUyBpbnRlcmZhY2UKPiAtIHVwZGF0ZSBody9pMzg2IG1hY2hpbmUgdmVyc2lv biB0byAzLjIKPiAtIGFkZCAicW9tOiBtYWtlIGludGVyZmFjZSB0eXBlcyBhYnN0cmFjdCIgaW50 ZXJmYWNlIGNsZWFudXAKPiAKPiB2MjoKPiAtIHJlcGxhY2UgInFvbS91c2VyLWNyZWF0YWJsZTog YWRkIGEgZmV3IGhlbHBlciBtYWNyb3MiIHBhdGNoIGZvciBhCj4gICBtb3JlIG9wdGltaXplZCAi cW9tOiBtYWtlIHVzZXJfY3JlYXRhYmxlX2NvbXBsZXRlKCkgc3BlY2lmaWMgdG8KPiAgIFVzZXJD cmVhdGFibGUiCj4gLSByZW5hbWUgcmVnaXN0ZXJfZ2xvYmFsX2xpc3QoKSB0byByZWdpc3Rlcl9n bG9iYWxfcHJvcGVydGllcygpCj4gLSBjYWxsIG9iamVjdF9wcm9wZXJ0eV9zZXRfZ2xvYmFscygp IGFmdGVyIHBvc3QtaW5pdAo+IC0gYWRkIGFuZCB1c2UgYSBPYmplY3RDbGFzcy5zZXRfZ2xvYmFs cyBmbGFnLCBpbnN0ZWFkIG9mIGR5bmFtaWNhbGx5Cj4gICBjaGVjayBvYmplY3QgY2xhc3MgaW4g b2JqZWN0X3Byb3BlcnR5X3NldF9nbG9iYWxzKCkKPiAtIHVzZSBvYmplY3QgImlkIiBpbiA+PSAz LjEgaW5zdGVhZCBvZiBjYW5vbmljYWwgcGF0aCwgYWRkIGNvbXBhdAo+ICAgcHJvcGVydHkgIngt dXNlLWNhbm9uaWNhbC1wYXRoLWZvci1yYW1ibG9jay1pZCIgaW4gYmFzZSBob3N0bWVtCj4gICBj bGFzcy4KPiAKPiBNYXJjLUFuZHLDqSBMdXJlYXUgKDE0KToKPiAgIHRlc3RzOiBxZGV2X3Byb3Bf Y2hlY2tfZ2xvYmFscygpIGRvZXNuJ3QgcmV0dXJuICJhbGxfdXNlZCIKPiAgIHFvbTogbWFrZSBp bnRlcmZhY2UgdHlwZXMgYWJzdHJhY3QKPiAgIHFvbTogbWFrZSB1c2VyX2NyZWF0YWJsZV9jb21w bGV0ZSgpIHNwZWNpZmljIHRvIFVzZXJDcmVhdGFibGUKPiAgIGFjY2VsOiByZWdpc3RlciBnbG9i YWxfcHJvcHMgbGlrZSBtYWNoaW5lIGdsb2JhbHMKPiAgIHFkZXY6IG1vdmUgcWRldl9wcm9wX3Jl Z2lzdGVyX2dsb2JhbF9saXN0KCkgdG8gdGVzdHMKPiAgIHFkZXY6IGRvIG5vdCBtaXggY29tcGF0 IHByb3BzIHdpdGggZ2xvYmFsIHByb3BzCj4gICBxZGV2OiBhbGwgZ2xvYmFscyBhcmUgbm93IHVz ZXItcHJvdmlkZWQKPiAgIHFkZXYtcHJvcHM6IGNvbnZlcnQgZ2xvYmFsX3Byb3BzIHRvIEdBcnJh eQo+ICAgcWRldi1wcm9wczogcmVtb3ZlIGVycnAgZnJvbSBHbG9iYWxQcm9wZXJ0eQo+ICAgcWRl di1wcm9wczogY2FsbCBvYmplY3RfYXBwbHlfZ2xvYmFsX3Byb3BzKCkKPiAgIHFvbTogdGVhY2gg aW50ZXJmYWNlcyB0byBpbXBsZW1lbnQgcG9zdC1pbml0Cj4gICBtYWNoaW5lOiBhZGQgY29tcGF0 LXByb3BzIGludGVyZmFjZQo+ICAgaHcvaTM4NjogYWRkIHBjLWk0NDBmeC0zLjIgJiBwYy1xMzUt My4yCj4gICBob3N0bWVtOiB1c2Ugb2JqZWN0IGlkIGZvciBtZW1vcnkgcmVnaW9uIG5hbWUgd2l0 aCA+PSAzLjEKPiAKPiAgaW5jbHVkZS9ody9hY3BpL2FjcGlfZGV2X2ludGVyZmFjZS5oIHwgIDYg Ky0tCj4gIGluY2x1ZGUvaHcvYXJtL2xpbnV4LWJvb3QtaWYuaCAgICAgICB8ICA1ICstCj4gIGlu Y2x1ZGUvaHcvYm9hcmRzLmggICAgICAgICAgICAgICAgICB8ICAzICstCj4gIGluY2x1ZGUvaHcv Y29tcGF0LmggICAgICAgICAgICAgICAgICB8IDExICsrKysKPiAgaW5jbHVkZS9ody9mdy1wYXRo LXByb3ZpZGVyLmggICAgICAgIHwgIDQgKy0KPiAgaW5jbHVkZS9ody9ob3RwbHVnLmggICAgICAg ICAgICAgICAgIHwgIDYgKy0tCj4gIGluY2x1ZGUvaHcvaTM4Ni9wYy5oICAgICAgICAgICAgICAg ICB8ICAzICsrCj4gIGluY2x1ZGUvaHcvaW50Yy9pbnRjLmggICAgICAgICAgICAgICB8ICA0ICst Cj4gIGluY2x1ZGUvaHcvaXBtaS9pcG1pLmggICAgICAgICAgICAgICB8ICA0ICstCj4gIGluY2x1 ZGUvaHcvaXNhL2lzYS5oICAgICAgICAgICAgICAgICB8ICA0IC0tCj4gIGluY2x1ZGUvaHcvbWVt L21lbW9yeS1kZXZpY2UuaCAgICAgICB8ICA0ICstCj4gIGluY2x1ZGUvaHcvbm1pLmggICAgICAg ICAgICAgICAgICAgICB8ICA0ICstCj4gIGluY2x1ZGUvaHcvcWRldi1jb3JlLmggICAgICAgICAg ICAgICB8ICA5IC0tLS0KPiAgaW5jbHVkZS9ody9xZGV2LXByb3BlcnRpZXMuaCAgICAgICAgIHwg MzAgLS0tLS0tLS0tLS0KPiAgaW5jbHVkZS9ody9zdHJlYW0uaCAgICAgICAgICAgICAgICAgIHwg IDQgKy0KPiAgaW5jbHVkZS9ody90aW1lci9tNDh0NTkuaCAgICAgICAgICAgIHwgIDQgKy0KPiAg aW5jbHVkZS9xb20vb2JqZWN0LmggICAgICAgICAgICAgICAgIHwgIDIgKwo+ICBpbmNsdWRlL3Fv bS9vYmplY3RfaW50ZXJmYWNlcy5oICAgICAgfCAxMCArKy0tCj4gIGluY2x1ZGUvc3lzZW11L2Fj Y2VsLmggICAgICAgICAgICAgICB8ICA0ICstCj4gIGluY2x1ZGUvc3lzZW11L2hvc3RtZW0uaCAg ICAgICAgICAgICB8ICAzICstCj4gIGluY2x1ZGUvc3lzZW11L3RwbS5oICAgICAgICAgICAgICAg ICB8ICA0ICstCj4gIHRhcmdldC9hcm0vaWRhdS5oICAgICAgICAgICAgICAgICAgICB8ICA0ICst Cj4gIGFjY2VsL2FjY2VsLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA3ICstLQo+ICBiYWNr ZW5kcy9ob3N0bWVtLWZpbGUuYyAgICAgICAgICAgICAgfCAgOCArLS0KPiAgYmFja2VuZHMvaG9z dG1lbS1tZW1mZC5jICAgICAgICAgICAgIHwgIDIgKy0KPiAgYmFja2VuZHMvaG9zdG1lbS1yYW0u YyAgICAgICAgICAgICAgIHwgIDkgKystLQo+ICBiYWNrZW5kcy9ob3N0bWVtLmMgICAgICAgICAg ICAgICAgICAgfCAzMSArKysrKysrKysrKwo+ICBody9jb3JlL2NvbXBhdC1wcm9wcy5jICAgICAg ICAgICAgICAgfCA0MyArKysrKysrKysrKysrKysKPiAgaHcvY29yZS9tYWNoaW5lLmMgICAgICAg ICAgICAgICAgICAgIHwgMTggLS0tLS0tLQo+ICBody9jb3JlL3FkZXYtcHJvcGVydGllcy5jICAg ICAgICAgICAgfCA3MyArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGh3L2NvcmUvcWRldi5j ICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrCj4gIGh3L2kzODYvcGNfcGlpeC5jICAgICAg ICAgICAgICAgICAgICB8IDIxICsrKysrKy0tCj4gIGh3L2kzODYvcGNfcTM1LmMgICAgICAgICAg ICAgICAgICAgICB8IDE5ICsrKysrKy0KPiAgaHcvbWlzYy9pdnNobWVtLmMgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KPiAgaHcvdmlydGlvL3ZpcnRpby1ybmcuYyAgICAgICAgICAgICAgIHwg IDIgKy0KPiAgaHcveGVuL3hlbi1jb21tb24uYyAgICAgICAgICAgICAgICAgIHwgIDkgKysrLQo+ ICBxb20vY3B1LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSAtCj4gIHFvbS9vYmpl Y3QuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDQ5ICsrKysrKysrKysrKysrKy0tCj4gIHFv bS9vYmplY3RfaW50ZXJmYWNlcy5jICAgICAgICAgICAgICB8IDE0ICsrLS0tCj4gIHN0dWJzL21h Y2hpbmUuYyAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrCj4gIHRhcmdldC9pMzg2L2NwdS5j ICAgICAgICAgICAgICAgICAgICB8ICAxIC0KPiAgdGFyZ2V0L3NwYXJjL2NwdS5jICAgICAgICAg ICAgICAgICAgIHwgIDEgLQo+ICB0ZXN0cy9jaGVjay1xb20taW50ZXJmYWNlLmMgICAgICAgICAg fCAyNyArKysrKysrKy0tCj4gIHRlc3RzL3Rlc3QtcWRldi1nbG9iYWwtcHJvcHMuYyAgICAgICB8 IDgwICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgdmwuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDQgLS0KPiAgTUFJTlRBSU5FUlMgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDEgKwo+ICBody9jb3JlL01ha2VmaWxlLm9ianMgICAgICAgICAgICAgICAgfCAg MSArCj4gIHN0dWJzL01ha2VmaWxlLm9ianMgICAgICAgICAgICAgICAgICB8ICAxICsKPiAgdGVz dHMvTWFrZWZpbGUuaW5jbHVkZSAgICAgICAgICAgICAgIHwgIDEgKwo+ICA0OSBmaWxlcyBjaGFu Z2VkLCAyODMgaW5zZXJ0aW9ucygrKSwgMjgyIGRlbGV0aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgaHcvY29yZS9jb21wYXQtcHJvcHMuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgc3R1YnMv bWFjaGluZS5jCj4gCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZl bA== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42047) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRHME-0002PC-Fc for qemu-devel@nongnu.org; Mon, 26 Nov 2018 08:55:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRHMA-0001LY-Et for qemu-devel@nongnu.org; Mon, 26 Nov 2018 08:55:26 -0500 Date: Mon, 26 Nov 2018 14:55:05 +0100 From: Igor Mammedov Message-ID: <20181126145505.56fb6031@redhat.com> In-Reply-To: <20181107123652.23417-1-marcandre.lureau@redhat.com> References: <20181107123652.23417-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH for-3.2 v3 00/14] Generalize machine compatibility properties List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?TWFyYy1BbmRyw6k=?= Lureau Cc: qemu-devel@nongnu.org, Peter Maydell , Stefano Stabellini , xen-devel@lists.xenproject.org, Corey Minyard , Amit Shah , =?UTF-8?B?SGVy?= =?UTF-8?B?dsOp?= Poussineau , "Michael S. Tsirkin" , Mark Cave-Ayland , dgilbert@redhat.com, Eduardo Habkost , qemu-arm@nongnu.org, qemu-ppc@nongnu.org, Anthony Perard , Paolo Bonzini , Stefan Berger , Andreas =?UTF-8?B?RsOkcmJlcg==?= , Artyom Tarasenko , Richard Henderson On Wed, 7 Nov 2018 16:36:38 +0400 Marc-Andr=C3=A9 Lureau wrote: > Hi, >=20 > During "[PATCH v2 05/10] qom/globals: generalize > object_property_set_globals()" review, Eduardo suggested to rework the > GlobalProperty handling, so that -global is limited to QDev only and > we avoid mixing the machine compats and the user-provided -global > properties (instead of generalizing -global to various object kinds, > like I proposed in v2). >=20 > "qdev: do not mix compat props with global props" patch decouples a > bit user-provided -global from machine compat properties. This allows > to get rid of "user_provided" and "errp" fields in following patches. >=20 > Instead of explcitely calling object_apply_global_props() in the > various object post_init, I opted for creating a new TYPE_COMPAT_PROPS > interface. The interface approach gives a lot more flexibility on > which objects can have compat props. This requires some interface > improvments in "qom: teach interfaces to implement post-init". >=20 > A new compat property "x-use-canonical-path-for-ramblock-id" is added > to hostmem for legacy canonical path names, set to true for -file and > -memfd with qemu < 3.2. >=20 > (this series was initially titled "[PATCH v2 00/10] hostmem: use > object "id" for memory region name with >=3D 3.1", but its focus is more > in refactoring the global and compatilibity properties handling now) That probably all feedback I'm able to give on this round of review, so I'll wait till it will addressed. >=20 > v3: > - GlobalProperties improvements/cleanups > - drop generalizing the -global idea > - "replace" the set_globals flag with a TYPE_COMPAT_PROPS interface > - update hw/i386 machine version to 3.2 > - add "qom: make interface types abstract" interface cleanup >=20 > v2: > - replace "qom/user-creatable: add a few helper macros" patch for a > more optimized "qom: make user_creatable_complete() specific to > UserCreatable" > - rename register_global_list() to register_global_properties() > - call object_property_set_globals() after post-init > - add and use a ObjectClass.set_globals flag, instead of dynamically > check object class in object_property_set_globals() > - use object "id" in >=3D 3.1 instead of canonical path, add compat > property "x-use-canonical-path-for-ramblock-id" in base hostmem > class. >=20 > Marc-Andr=C3=A9 Lureau (14): > tests: qdev_prop_check_globals() doesn't return "all_used" > qom: make interface types abstract > qom: make user_creatable_complete() specific to UserCreatable > accel: register global_props like machine globals > qdev: move qdev_prop_register_global_list() to tests > qdev: do not mix compat props with global props > qdev: all globals are now user-provided > qdev-props: convert global_props to GArray > qdev-props: remove errp from GlobalProperty > qdev-props: call object_apply_global_props() > qom: teach interfaces to implement post-init > machine: add compat-props interface > hw/i386: add pc-i440fx-3.2 & pc-q35-3.2 > hostmem: use object id for memory region name with >=3D 3.1 >=20 > include/hw/acpi/acpi_dev_interface.h | 6 +-- > include/hw/arm/linux-boot-if.h | 5 +- > include/hw/boards.h | 3 +- > include/hw/compat.h | 11 ++++ > include/hw/fw-path-provider.h | 4 +- > include/hw/hotplug.h | 6 +-- > include/hw/i386/pc.h | 3 ++ > include/hw/intc/intc.h | 4 +- > include/hw/ipmi/ipmi.h | 4 +- > include/hw/isa/isa.h | 4 -- > include/hw/mem/memory-device.h | 4 +- > include/hw/nmi.h | 4 +- > include/hw/qdev-core.h | 9 ---- > include/hw/qdev-properties.h | 30 ----------- > include/hw/stream.h | 4 +- > include/hw/timer/m48t59.h | 4 +- > include/qom/object.h | 2 + > include/qom/object_interfaces.h | 10 ++-- > include/sysemu/accel.h | 4 +- > include/sysemu/hostmem.h | 3 +- > include/sysemu/tpm.h | 4 +- > target/arm/idau.h | 4 +- > accel/accel.c | 7 +-- > backends/hostmem-file.c | 8 +-- > backends/hostmem-memfd.c | 2 +- > backends/hostmem-ram.c | 9 ++-- > backends/hostmem.c | 31 +++++++++++ > hw/core/compat-props.c | 43 +++++++++++++++ > hw/core/machine.c | 18 ------- > hw/core/qdev-properties.c | 73 ++++++------------------- > hw/core/qdev.c | 4 ++ > hw/i386/pc_piix.c | 21 ++++++-- > hw/i386/pc_q35.c | 19 ++++++- > hw/misc/ivshmem.c | 2 +- > hw/virtio/virtio-rng.c | 2 +- > hw/xen/xen-common.c | 9 +++- > qom/cpu.c | 1 - > qom/object.c | 49 +++++++++++++++-- > qom/object_interfaces.c | 14 ++--- > stubs/machine.c | 4 ++ > target/i386/cpu.c | 1 - > target/sparc/cpu.c | 1 - > tests/check-qom-interface.c | 27 ++++++++-- > tests/test-qdev-global-props.c | 80 ++++++++-------------------- > vl.c | 4 -- > MAINTAINERS | 1 + > hw/core/Makefile.objs | 1 + > stubs/Makefile.objs | 1 + > tests/Makefile.include | 1 + > 49 files changed, 283 insertions(+), 282 deletions(-) > create mode 100644 hw/core/compat-props.c > create mode 100644 stubs/machine.c >=20