Install keymaps from new location
[qemu] / hw / sh_intc.h
index d22a4a2..c117d6f 100644 (file)
@@ -1,6 +1,9 @@
 #ifndef __SH_INTC_H__
 #define __SH_INTC_H__
 
+#include "qemu-common.h"
+#include "irq.h"
+
 typedef unsigned char intc_enum;
 
 struct intc_vect {
@@ -15,7 +18,7 @@ struct intc_group {
     intc_enum enum_ids[32];
 };
 
-#define INTC_GROUP(enum_id, ids...) { enum_id, { ids } }
+#define INTC_GROUP(enum_id, ...) { enum_id, {  __VA_ARGS__ } }
 
 struct intc_mask_reg {
     unsigned long set_reg, clr_reg, reg_width;
@@ -29,7 +32,7 @@ struct intc_prio_reg {
     unsigned long value;
 };
 
-#define _INTC_ARRAY(a) a, sizeof(a)/sizeof(*a)
+#define _INTC_ARRAY(a) a, ARRAY_SIZE(a)
 
 struct intc_source {
     unsigned short vect;
@@ -43,13 +46,13 @@ struct intc_source {
 };
 
 struct intc_desc {
+    qemu_irq *irqs;
     struct intc_source *sources;
     int nr_sources;
     struct intc_mask_reg *mask_regs;
     int nr_mask_regs;
     struct intc_prio_reg *prio_regs;
     int nr_prio_regs;
-
     int iomemtype;
     int pending; /* number of interrupt sources that has pending set */
 };
@@ -72,4 +75,6 @@ int sh_intc_init(struct intc_desc *desc,
                 struct intc_prio_reg *prio_regs,
                 int nr_prio_regs);
 
+void sh_intc_set_irl(void *opaque, int n, int level);
+
 #endif /* __SH_INTC_H__ */