From d7be0159c94c93caf29a8fbbcec5880a9dc9e1c3 Mon Sep 17 00:00:00 2001 From: josh Date: Fri, 24 Jul 2009 14:19:31 +0000 Subject: [PATCH] created /kernel/isr subdir, moved isr.asm from boot to isr module, added interrupts.cc for isr() main function and isr_bootstrap() routine git-svn-id: svn://anubis/hos/trunk@66 5b3e749e-e535-0410-8002-a9bb6afbdfca --- kernel/Makefile | 2 +- kernel/isr/Makefile | 2 ++ kernel/isr/interrupts.cc | 19 +++++++++++++++++++ kernel/isr/interrupts.h | 17 +++++++++++++++++ kernel/{boot => isr}/isr.asm | 0 5 files changed, 39 insertions(+), 1 deletion(-) create mode 100755 kernel/isr/Makefile create mode 100755 kernel/isr/interrupts.cc create mode 100644 kernel/isr/interrupts.h rename kernel/{boot => isr}/isr.asm (100%) diff --git a/kernel/Makefile b/kernel/Makefile index 54aba9c..6ed77b6 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -15,7 +15,7 @@ export CXXFLAGS := -Wall -O2 -fno-rtti -fno-exceptions export LDFLAGS := -T $(LDSCRIPT) -Map $(KERNEL).map export LDLIBS := `$(CC) -print-libgcc-file-name` -SUBDIRS := boot mm lang +SUBDIRS := boot mm lang isr SUBDIRS_clean := $(SUBDIRS:%=%.clean) .PHONY: all diff --git a/kernel/isr/Makefile b/kernel/isr/Makefile new file mode 100755 index 0000000..cae81d7 --- /dev/null +++ b/kernel/isr/Makefile @@ -0,0 +1,2 @@ + +include $(HOS_TOPLEVEL)/subdir.mak diff --git a/kernel/isr/interrupts.cc b/kernel/isr/interrupts.cc new file mode 100755 index 0000000..43e71d4 --- /dev/null +++ b/kernel/isr/interrupts.cc @@ -0,0 +1,19 @@ + +#include "hos_types.h" +#include "interrupts.h" + +extern "C" { + +void isr(u8_t int_num, int_stack_t * int_stack) +{ + switch (int_num) + { + } +} + +} /* extern "C" */ + +void interrupts_bootstrap() +{ + /* TODO: set up IDTR, IDT */ +} diff --git a/kernel/isr/interrupts.h b/kernel/isr/interrupts.h new file mode 100644 index 0000000..608de31 --- /dev/null +++ b/kernel/isr/interrupts.h @@ -0,0 +1,17 @@ + +#ifndef INTERRUPTS_H +#define INTERRUPTS_H + +#ifdef __cplusplus +extern "C" { +#endif + +void isr(u8_t int_num, int_stack_t * int_stack); + +#ifdef __cplusplus +} +#endif + +void interrupts_bootstrap(); + +#endif diff --git a/kernel/boot/isr.asm b/kernel/isr/isr.asm similarity index 100% rename from kernel/boot/isr.asm rename to kernel/isr/isr.asm