Hello, It's easier adapting the infrastructure to our needs than working around it: X86CPU already has QOM properties today. What's lacking is model subclasses, and with the one X86CPU type its global properties are overwritten by models. But we already know the designated naming scheme for the models!
So let's simply prepare compat_props for CPU models and make sure they are already picked up today. This works just fine for changing the 486 CPUID model value and avoids to redo the PC part once we have X86CPU subclasses. Tested using: ./QMP/qom-get /machine/icc-bridge/icc/child[0].model For changing n270 CPUID flags we'll still need to resort to Eduardo's proposed helper functions for now. Regards, Andreas Cc: Eduardo Habkost <ehabk...@redhat.com> Cc: Igor Mammedov <imamm...@redhat.com> Cc: H. Peter Anvin <h...@zytor.com> Cc: Borislav Petkov <b...@suse.de> Cc: Anthony Liguori <anth...@codemonkey.ws> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Michael S. Tsirkin <m...@redhat.com> Andreas Färber (4): qdev: Let qdev_prop_parse() pass through Error qdev: Introduce qdev_prop_set_custom_globals() target-i386: Emulate X86CPU subclasses for global properties target-i386: Change CPUID model of 486 to 8 hw/core/qdev-properties.c | 50 ++++++++++++++++++++++++++------------------ hw/core/qdev.c | 7 ++++++- include/hw/i386/pc.h | 4 ++++ include/hw/qdev-properties.h | 7 +++++-- qdev-monitor.c | 6 +++++- target-i386/cpu.c | 11 +++++++++- 6 files changed, 60 insertions(+), 25 deletions(-) -- 1.8.1.4