refactor: one more step towards arch-agnostic design
[lunaix-os.git] / lunaix-os / arch / i386 / hal / x86_intc.c
diff --git a/lunaix-os/arch/i386/hal/x86_intc.c b/lunaix-os/arch/i386/hal/x86_intc.c
new file mode 100644 (file)
index 0000000..948eeca
--- /dev/null
@@ -0,0 +1,16 @@
+#include <hal/intc.h>
+#include <sys/apic.h>
+#include <sys/ioapic.h>
+
+extern struct intc_context arch_intc_ctx;
+
+void
+intc_init()
+{
+    apic_init();
+    ioapic_init();
+
+    arch_intc_ctx.name = "i386_apic";
+    arch_intc_ctx.irq_attach = ioapic_irq_remap;
+    arch_intc_ctx.notify_eoi = apic_on_eoi;
+}