diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/qdev-properties.h | 6 | ||||
-rw-r--r-- | include/sysemu/accel.h | 11 |
2 files changed, 17 insertions, 0 deletions
diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index 50ade839b7..0604c337e0 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -231,6 +231,12 @@ void error_set_from_qdev_prop_error(Error **errp, int ret, DeviceState *dev, */ void register_compat_prop(const char *driver, const char *property, const char *value); +/* + * register_compat_props_array(): using register_compat_prop(), which + * only registers internal global properties (which has lower priority + * than user-provided global properties) + */ +void register_compat_props_array(GlobalProperty *prop); /** * qdev_property_add_static: diff --git a/include/sysemu/accel.h b/include/sysemu/accel.h index 15944c152c..ecc5c84621 100644 --- a/include/sysemu/accel.h +++ b/include/sysemu/accel.h @@ -24,6 +24,7 @@ #define HW_ACCEL_H #include "qom/object.h" +#include "hw/qdev-properties.h" typedef struct AccelState { /*< private >*/ @@ -40,6 +41,14 @@ typedef struct AccelClass { int (*available)(void); int (*init_machine)(MachineState *ms); bool *allowed; + /* + * Array of global properties that would be applied when specific + * accelerator is chosen. It works like MachineClass.compat_props + * but it's for accelerators not machines. Accelerator-provided + * global properties may be overridden by machine-type + * compat_props or user-provided global properties. + */ + GlobalProperty *global_props; } AccelClass; #define TYPE_ACCEL "accel" @@ -57,5 +66,7 @@ typedef struct AccelClass { extern int tcg_tb_size; void configure_accelerator(MachineState *ms); +/* Register accelerator specific global properties */ +void accel_register_compat_props(AccelState *accel); #endif |