[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC v2 2/5] hw/arm: Allow setting KVM vGIC maintenance IRQ
From: |
Eric Auger |
Subject: |
Re: [RFC v2 2/5] hw/arm: Allow setting KVM vGIC maintenance IRQ |
Date: |
Mon, 25 Mar 2024 18:50:14 +0100 |
User-agent: |
Mozilla Thunderbird |
Hi Peter,
On 3/5/24 17:46, Peter Maydell wrote:
> On Fri, 9 Feb 2024 at 16:00, Eric Auger <eric.auger@redhat.com> wrote:
>> From: Haibo Xu <haibo.xu@linaro.org>
>>
>> Allow virt arm machine to set the intid for the KVM GIC maintenance
>> interrupt.
>>
>> Signed-off-by: Haibo Xu <haibo.xu@linaro.org>
>> Signed-off-by: Miguel Luis <miguel.luis@oracle.com>
>> Signed-off-by: Eric Auger <eric.auger@redhat.com>
>>
>> ---
>> v1 -> v2:
>> - [Miguel] replaced the has_virt_extensions by the maintenance irq
>> intid property. [Eric] restored kvm_device_check_attr and
>> kvm_device_access standard usage and conditionally call those
>> if the prop is set
Please forgive me for the delay
> This seems reasonable, but it's not the same way we opted to
> handle telling the kernel the IRQ number for the PMU interrupt
> (where we use kvm_arm_pmu_set_irq()). I guess we have to do
> it this way because it's a device attr so we need to set it
> in gic realize, though?
This cannot follow the same pattern as the
kvm_arm_pmu_set_irq() because the maintenance irq must be set between before
the GICv3 KVM device creation and the
KVM_DEV_ARM_VGIC_CTRL_INIT. The GICv3 realize function calls both so I cannot
set the maintenance after the realize. It would fail
with -EBUSY. Hope this helps.
Thanks
Eric
>
> By the way, does the kernel automatically complain and fail
> if we try to enable nested-virt with a GICv2 or with a
> userspace GIC, or do we need to catch and produce error
> messages for those (invalid) combinations ourselves?
>
> thanks
> -- PMM
>