[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC
From: |
Roman Kagan |
Subject: |
Re: [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC |
Date: |
Wed, 7 Feb 2018 21:37:51 +0300 |
User-agent: |
Mutt/1.9.2 (2017-12-15) |
On Wed, Feb 07, 2018 at 11:45:28AM +0100, Paolo Bonzini wrote:
> 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?
It is, but it's only used on slow paths. I was reluctant to clutter
X86CPU with this stuff.
> > +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?
I don't mind, can do.
Thanks,
Roman.
- [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 01/34] hyperv: ensure VP index equal to QEMU cpu_index, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 02/34] hyperv_testdev: refactor for readability, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 03/34] hyperv: cosmetic: g_malloc -> g_new, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 04/34] hyperv: synic: only setup ack notifier if there's a callback, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 05/34] hyperv: allow passing arbitrary data to sint ack callback, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 06/34] hyperv: address HvSintRoute by X86CPU pointer, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 07/34] hyperv: make HvSintRoute reference-counted, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 10/34] hyperv: make overlay pages for SynIC, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 09/34] hyperv: block SynIC use in QEMU in incompatible configurations, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 11/34] hyperv: add synic message delivery, Roman Kagan, 2018/02/06
[Qemu-devel] [RFC PATCH 12/34] hyperv: add synic event flag signaling, Roman Kagan, 2018/02/06