]> xenbits.xensource.com Git - people/liuw/mini-os.git/commitdiff
mini-os: arm: events
authorKarim Raslan <karim.allah.ahmed@gmail.com>
Fri, 8 Aug 2014 15:47:37 +0000 (16:47 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Mon, 8 Sep 2014 11:17:02 +0000 (12:17 +0100)
Signed-off-by: Karim Allah Ahmed <karim.allah.ahmed@gmail.com>
Signed-off-by: Thomas Leonard <talex5@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
arch/arm/events.c [new file with mode: 0644]

diff --git a/arch/arm/events.c b/arch/arm/events.c
new file mode 100644 (file)
index 0000000..441010d
--- /dev/null
@@ -0,0 +1,31 @@
+#include <mini-os/os.h>
+#include <mini-os/events.h>
+#include <mini-os/hypervisor.h>
+#include <mini-os/console.h>
+
+static void virq_debug(evtchn_port_t port, struct pt_regs *regs, void *params)
+{
+    printk("Received a virq_debug event\n");
+}
+
+evtchn_port_t debug_port = -1;
+void arch_init_events(void)
+{
+    debug_port = bind_virq(VIRQ_DEBUG, (evtchn_handler_t)virq_debug, 0);
+    if(debug_port == -1)
+        BUG();
+    unmask_evtchn(debug_port);
+}
+
+void arch_unbind_ports(void)
+{
+    if(debug_port != -1)
+    {
+        mask_evtchn(debug_port);
+        unbind_evtchn(debug_port);
+    }
+}
+
+void arch_fini_events(void)
+{
+}