Revision 84e4fccb hw/arm_gic.c

b/hw/arm_gic.c
36 36
#define DPRINTF(fmt, ...) do {} while(0)
37 37
#endif
38 38

  
39
#ifdef NVIC
40 39
/* The NVIC has 16 internal vectors.  However these are not exposed
41 40
   through the normal GIC interface.  */
42
#define GIC_BASE_IRQ    32
43
#else
44
#define GIC_BASE_IRQ    0
45
#endif
41
#define GIC_BASE_IRQ ((s->revision == REV_NVIC) ? 32 : 0)
46 42

  
47 43
static const uint8_t gic_id[] = {
48 44
    0x90, 0x13, 0x04, 0x00, 0x0d, 0xf0, 0x05, 0xb1
......
839 835
    }
840 836

  
841 837
    i = s->num_irq - GIC_INTERNAL;
842
#ifndef NVIC
843 838
    /* For the GIC, also expose incoming GPIO lines for PPIs for each CPU.
844 839
     * GPIO array layout is thus:
845 840
     *  [0..N-1] SPIs
......
847 842
     *  [N+32..N+63] PPIs for CPU 1
848 843
     *   ...
849 844
     */
850
    i += (GIC_INTERNAL * s->num_cpu);
851
#endif
845
    if (s->revision != REV_NVIC) {
846
        i += (GIC_INTERNAL * s->num_cpu);
847
    }
852 848
    qdev_init_gpio_in(&s->busdev.qdev, gic_set_irq, i);
853 849
    for (i = 0; i < NUM_CPU(s); i++) {
854 850
        sysbus_init_irq(&s->busdev, &s->parent_irq[i]);

Also available in: Unified diff