|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.5 v11 4/7] xen/arm: Add virtual GICv3 support
On Fri, 12 Sep 2014, vijay.kilari@xxxxxxxxx wrote:
> From: Vijaya Kumar K <Vijaya.Kumar@xxxxxxxxxxxxxxxxxx>
>
> Add virtual GICv3 driver support.
> Also, with this patch vgic_irq_rank structure is modified to
> hold GICv2 GICD_TARGET and GICv3 GICD_ROUTER registers under
> union.
>
> This patch adds only basic GICv3 support.
> Does not support Interrupt Translation support (ITS)
>
> Signed-off-by: Vijaya Kumar K <Vijaya.Kumar@xxxxxxxxxxxxxxxxxx>
> ---
> v11:- remove wrong comment and fix wrong coding style
> - use vgic_rank_irq
> v10:- Implement callbacks get_target_vcpu and get_irq_priority
> for vgic-v3
> - REG_RANK_NR is updated for 64 bit
> v9: - Use 128K mask to compute GICR register offset if stride
> is not set
> - Fix alignment errors in vgic-v.c
> - Updated vgic_{lock,unlock}_rank
> v8: - Fixed printk coding styles
> - Moved GICD_PIDRn and GICR_PIDRn macros to vgic-v3.c
> from header file
> - Check is made on return value of vgic_v3_init()
> v7: Fixed coding style.
> v6: Removed byte read access for IROUTERN register.
> ---
> xen/arch/arm/Makefile | 1 +
> xen/arch/arm/vgic-v2.c | 23 +-
> xen/arch/arm/vgic-v3.c | 953
> ++++++++++++++++++++++++++++++++++++++++++++
> xen/arch/arm/vgic.c | 6 +
> xen/include/asm-arm/vgic.h | 18 +-
> 5 files changed, 988 insertions(+), 13 deletions(-)
>
> +static int vgic_v3_get_irq_priority(struct vcpu *v, unsigned int irq)
> +{
> + int priority;
> + struct vgic_irq_rank *rank = vgic_rank_irq(v, irq);
> +
> + ASSERT(spin_is_locked(&rank->lock));
> + priority = vgic_byte_read(rank->ipriority[(irq%32)/4], 0, irq % 4);
It's best to do
priority = vgic_byte_read(rank->ipriority[REG_RANK_INDEX(8,
irq, DABT_WORD)], 0, irq & 0x3);
like you did previously.
In any case
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |