On 06/02/2018 21:30, Roman Kagan wrote:
> +static SynICState *get_synic(X86CPU *cpu)
> +{
> +    SynICState *synic =
> +        SYNIC(object_resolve_path_component(OBJECT(cpu), "synic"));
> +    assert(synic);
> +    return synic;
> +}
> +

This is somewhat slow, maybe add the pointer to X86CPU?

> +void hyperv_synic_add(X86CPU *cpu)
> +{
> +    Object *obj;
> +
> +    obj = object_new(TYPE_SYNIC);
> +    object_property_add_child(OBJECT(cpu), "synic", obj, &error_abort);
> +    object_unref(obj);
> +    object_property_set_bool(obj, true, "realized", &error_abort);
> +}
> +
> +void hyperv_synic_reset(X86CPU *cpu)
> +{
> +    device_reset(DEVICE(get_synic(cpu)));
> +}
> +
> +void hyperv_synic_update(X86CPU *cpu)
> +{
> +    synic_update(get_synic(cpu));
> +}
> +

Maybe rename to x86_cpu_hyperv_{add,get,reset,update}_synic?

Thanks,

Paolo

Reply via email to