Fixes build on arm64:
gic.c: In function ‘gic_irq_eoi’:
gic.c:726:16: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
gic.c: In function ‘maintenance_interrupt’:
gic.c:776:29: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
gic.c:778:64: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
cc1: all warnings being treated as errors
make[3]: *** [gic.o] Error 1
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
static void gic_irq_eoi(void *info)
{
- int virq = (int) info;
+ int virq = (uintptr_t) info;
GICC[GICC_DIR] = virq;
}
/* this is not racy because we can't receive another irq of the
* same type until we EOI it. */
if ( cpu == smp_processor_id() )
- gic_irq_eoi((void*)virq);
+ gic_irq_eoi((void*)(uintptr_t)virq);
else
- on_selected_cpus(cpumask_of(cpu), gic_irq_eoi, (void*)virq, 0);
+ on_selected_cpus(cpumask_of(cpu),
+ gic_irq_eoi, (void*)(uintptr_t)virq, 0);
}
i++;