On Fri, 4 Jan 2019 at 17:30, Marc-André Lureau <marcandre.lur...@redhat.com> wrote: > > The following changes since commit 6395fe0c2c7d9f336d87960a7c9924b630c57c91: > > Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' > into staging (2019-01-04 13:22:51 +0000) > > are available in the Git repository at: > > https://github.com/elmarco/qemu.git tags/machine-props-pull-request > > for you to fetch changes up to e91feab787f901b831fe11ecffe0e2f5669da714: > > hostmem: use object id for memory region name with >= 4.0 (2019-01-04 > 20:24:55 +0400) > > ---------------------------------------------------------------- > Generalize machine compatibility properties > > 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). > > "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. > > 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 < 4.0. > > (this series was initially titled "[PATCH v2 00/10] hostmem: use > object "id" for memory region name with >= 3.1", but its focus is more > in refactoring the global and compatilibity properties handling now) >
Hi -- I get some compile failures here on Arm host builds: In file included from /home/peter.maydell/qemu/target/arm/idau.h:31:0, from /home/peter.maydell/qemu/target/arm/cpu.c:22: /home/peter.maydell/qemu/target/arm/cpu.c: In function 'arm_host_initfn': /home/peter.maydell/qemu/include/qom/object.h:518:5: error: passing argument 1 of 'arm_cpu_post_init' from incompatible pointer type [-Werror=incompatible-pointer-types] ((type *)object_dynamic_cast_assert(OBJECT(obj), (name), \ ^ /home/peter.maydell/qemu/target/arm/cpu-qom.h:32:5: note: in expansion of macro 'OBJECT_CHECK' OBJECT_CHECK(ARMCPU, (obj), TYPE_ARM_CPU) ^ /home/peter.maydell/qemu/target/arm/cpu.c:2118:23: note: in expansion of macro 'ARM_CPU' arm_cpu_post_init(ARM_CPU(obj)); ^ /home/peter.maydell/qemu/target/arm/cpu.c:743:6: note: expected 'Object * {aka struct Object *}' but argument is of type 'ARMCPU * {aka struct ARMCPU *}' void arm_cpu_post_init(Object *obj) ^ This is a build failure only on Arm hosts because the relevant code is inside #ifdef CONFIG_KVM. The following change is sufficient to fix this: diff --git a/target/arm/cpu.c b/target/arm/cpu.c index baf430c..4c4e9e1 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2115,7 +2115,7 @@ static void arm_host_initfn(Object *obj) ARMCPU *cpu = ARM_CPU(obj); kvm_arm_set_cpu_features_from_host(cpu); - arm_cpu_post_init(ARM_CPU(obj)); + arm_cpu_post_init(obj); } static const TypeInfo host_arm_cpu_type_info = { I'll leave it up to you to work out which commit it needs to be squashed into. thanks -- PMM