Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / u-boot / arch / microblaze / include / asm / microblaze_intc.h
diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/microblaze_intc.h b/qemu/roms/u-boot/arch/microblaze/include/asm/microblaze_intc.h
new file mode 100644 (file)
index 0000000..0fb9207
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * (C) Copyright 2007 Michal Simek
+ *
+ * Michal  SIMEK <monstr@monstr.cz>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+typedef volatile struct microblaze_intc_t {
+       int isr; /* interrupt status register */
+       int ipr; /* interrupt pending register */
+       int ier; /* interrupt enable register */
+       int iar; /* interrupt acknowledge register */
+       int sie; /* set interrupt enable bits */
+       int cie; /* clear interrupt enable bits */
+       int ivr; /* interrupt vector register */
+       int mer; /* master enable register */
+} microblaze_intc_t;
+
+struct irq_action {
+       interrupt_handler_t *handler; /* pointer to interrupt rutine */
+       void *arg;
+       int count; /* number of interrupt */
+};
+
+/**
+ * Register and unregister interrupt handler rutines
+ *
+ * @param irq  IRQ number
+ * @param hdlr Interrupt handler rutine
+ * @param arg  Pointer to argument which is passed to int. handler rutine
+ * @return     0 if registration pass, 1 if unregistration pass,
+ *             or an error code < 0 otherwise
+ */
+int install_interrupt_handler(int irq, interrupt_handler_t *hdlr,
+                                      void *arg);
+
+int interrupts_init(void);