unicorn/qemu/target-i386
Daniel P. Berrange b97ab59f08
qom: Allow properties to be registered against classes
When there are many instances of a given class, registering
properties against the instance is wasteful of resources. The
majority of objects have a statically defined list of possible
properties, so most of the properties are easily registerable
against the class. Only those properties which are conditionally
registered at runtime need be recorded against the klass.

Registering properties against classes also makes it possible
to provide static introspection of QOM - currently introspection
is only possible after creating an instance of a class, which
severely limits its usefulness.

This impl only supports simple scalar properties. It does not
attempt to allow child object / link object properties against
the class. There are ways to support those too, but it would
make this patch more complicated, so it is left as an exercise
for the future.

There is no equivalent to object_property_del() provided, since
classes must be immutable once they are defined.

Backports commit 16bf7f522a2ff68993f80631ed86254c71eaf5d4 from qemu
2018-02-21 21:00:56 -05:00
..
arch_memory_mapping.c x86: Clean up includes 2018-02-19 01:00:09 -05:00
bpt_helper.c x86: Clean up includes 2018-02-19 01:00:09 -05:00
cc_helper_template.h
cc_helper.c target-i386: Perform set/reset_inhibit_irq inline 2018-02-20 13:34:47 -05:00
cpu-qom.h
cpu.c qom: Allow properties to be registered against classes 2018-02-21 21:00:56 -05:00
cpu.h target-i386: fix confusion in xcr0 bit position vs. mask 2018-02-20 21:00:41 -05:00
excp_helper.c x86: Clean up includes 2018-02-19 01:00:09 -05:00
fpu_helper.c target-i386: fix confusion in xcr0 bit position vs. mask 2018-02-20 21:00:41 -05:00
helper.c target-i386: Enable control registers for MPX 2018-02-20 13:27:46 -05:00
helper.h target-i386: Implement FSGSBASE 2018-02-20 14:45:58 -05:00
int_helper.c target-i386: Implement FSGSBASE 2018-02-20 14:45:58 -05:00
Makefile.objs target-i386: Enable control registers for MPX 2018-02-20 13:27:46 -05:00
mem_helper.c target-i386: Update BNDSTATUS for exceptions raised by BOUND 2018-02-20 14:24:07 -05:00
misc_helper.c target-i386: Enable control registers for MPX 2018-02-20 13:27:46 -05:00
mpx_helper.c target-i386: fix confusion in xcr0 bit position vs. mask 2018-02-20 21:00:41 -05:00
ops_sse_header.h target-i386: Rename struct XMMReg to ZMMReg 2018-02-18 23:46:30 -05:00
ops_sse.h target-i386: Rename XMM_[BWLSDQ] helpers to ZMM_* 2018-02-18 23:53:16 -05:00
seg_helper.c target-i386: Rewrite gen_enter inline 2018-02-20 10:13:43 -05:00
shift_helper_template.h
smm_helper.c target-i386: Enable control registers for MPX 2018-02-20 13:27:46 -05:00
svm_helper.c x86: Clean up includes 2018-02-19 01:00:09 -05:00
svm.h
TODO
topology.h
translate.c tcg: Make cpu_tmp1 and cpu_tmp4 a TCGv 2018-02-21 00:07:23 -05:00
unicorn.c tcg: Make cpu_tmp1 and cpu_tmp4 a TCGv 2018-02-21 00:07:23 -05:00
unicorn.h