[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC |
Date: |
Thu, 8 Feb 2018 15:54:19 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 |
On 07/02/2018 19:37, Roman Kagan wrote:
> 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.
Sounds good then. Maybe add a comment.
Paolo
>>> +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 01/34] hyperv: ensure VP index equal to QEMU cpu_index, (continued)
- [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