[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v14 2/5] intc/gic: Extract some reusable vGIC co
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v14 2/5] intc/gic: Extract some reusable vGIC code |
Date: |
Fri, 11 Sep 2015 17:53:00 +0100 |
On 9 September 2015 at 08:49, Pavel Fedin <address@hidden> wrote:
> Some functions previously used only by vGICv2 are useful also for vGICv3
> implementation. Untie them from GICState and make accessible from within
> other modules:
> - kvm_arm_gic_set_irq()
> - kvm_gic_supports_attr() - moved to common code and renamed to
> kvm_device_check_attr()
> - kvm_gic_access() - turned into GIC-independent kvm_device_access().
> Data pointer changed to void * because some GICv3 registers are
> 64-bit wide
>
> Some of these changes are not used right now, but they will be helpful for
> implementing live migration.
>
> Actually kvm_dist_get() and kvm_dist_put() could also be made reusable, but
> they would require two extra parameters (s->dev_fd and s->num_cpu) as well as
> lots of typecasts of 's' to DeviceState * and back to GICState *. This makes
> the code very ugly so i decided to stop at this point. I tried also an
> approach with making a base class for all possible GICs, but it would contain
> only three variables (dev_fd, cpu_num and irq_num), and accessing them through
> the rest of the code would be again tedious (either ugly casts or qemu-style
> separate object pointer). So i disliked it too.
>
> Signed-off-by: Pavel Fedin <address@hidden>
> Tested-by: Ashok kumar <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
thanks
-- PMM
- [Qemu-devel] [PATCH v14 0/5] vGICv3 support, Pavel Fedin, 2015/09/09
- [Qemu-devel] [PATCH v14 3/5] arm_kvm: Do not assume particular GIC type in kvm_arch_irqchip_create(), Pavel Fedin, 2015/09/09
- [Qemu-devel] [PATCH v14 1/5] hw/intc: Implement GIC-500 base class, Pavel Fedin, 2015/09/09
- [Qemu-devel] [PATCH v14 4/5] hw/intc: Initial implementation of vGICv3, Pavel Fedin, 2015/09/09
- [Qemu-devel] [PATCH v14 2/5] intc/gic: Extract some reusable vGIC code, Pavel Fedin, 2015/09/09
- Re: [Qemu-devel] [PATCH v14 2/5] intc/gic: Extract some reusable vGIC code,
Peter Maydell <=
- [Qemu-devel] [PATCH v14 5/5] hw/arm/virt: Add gic-version option to virt machine, Pavel Fedin, 2015/09/09
- Re: [Qemu-devel] [PATCH v14 0/5] vGICv3 support, Pavel Fedin, 2015/09/09
- Re: [Qemu-devel] [PATCH v14 0/5] vGICv3 support, Peter Maydell, 2015/09/17