tcg: fix size of local variables in tcg_gen_bswap64_i64
[qemu] / hw / arm_pic.c
1 /*
2  * Generic ARM Programmable Interrupt Controller support.
3  *
4  * Copyright (c) 2006 CodeSourcery.
5  * Written by Paul Brook
6  *
7  * This code is licenced under the LGPL
8  */
9
10 #include "hw.h"
11 #include "pc.h"
12 #include "arm-misc.h"
13
14 /* Stub functions for hardware that doesn't exist.  */
15 void pic_info(Monitor *mon)
16 {
17 }
18
19 void irq_info(Monitor *mon)
20 {
21 }
22
23
24 /* Input 0 is IRQ and input 1 is FIQ.  */
25 static void arm_pic_cpu_handler(void *opaque, int irq, int level)
26 {
27     CPUState *env = (CPUState *)opaque;
28     switch (irq) {
29     case ARM_PIC_CPU_IRQ:
30         if (level)
31             cpu_interrupt(env, CPU_INTERRUPT_HARD);
32         else
33             cpu_reset_interrupt(env, CPU_INTERRUPT_HARD);
34         break;
35     case ARM_PIC_CPU_FIQ:
36         if (level)
37             cpu_interrupt(env, CPU_INTERRUPT_FIQ);
38         else
39             cpu_reset_interrupt(env, CPU_INTERRUPT_FIQ);
40         break;
41     default:
42         hw_error("arm_pic_cpu_handler: Bad interrput line %d\n", irq);
43     }
44 }
45
46 qemu_irq *arm_pic_init_cpu(CPUState *env)
47 {
48     return qemu_allocate_irqs(arm_pic_cpu_handler, env, 2);
49 }