Decoupling Architectural-specific Code (#35)
[lunaix-os.git] / lunaix-os / arch / i386 / arch.c
index afdc88c545244422965b662816a14150e081cb34..5ad6cd70a70da38da475ca174722737874ef9dba 100644 (file)
@@ -1,14 +1,12 @@
-#include <hal/apic_timer.h>
-#include <hal/rtc/mc146818a.h>
-
-#include <hal/hwrtc.h>
 #include <hal/hwtimer.h>
 
-#include <lunaix/isrm.h>
+#include <lunaix/generic/isrm.h>
 #include <lunaix/spike.h>
 
-#include <sys/i386_intr.h>
-#include <sys/interrupts.h>
+#include "sys/i386_intr.h"
+#include "sys/hart.h"
+
+#include "hal/apic_timer.h"
 
 void
 exception_init()
@@ -19,7 +17,7 @@ exception_init()
 }
 
 extern void
-syscall_hndlr(const isr_param* param);
+syscall_hndlr(const struct hart_state* hstate);
 
 void
 arch_preinit()
@@ -29,10 +27,10 @@ arch_preinit()
     isrm_bindiv(LUNAIX_SYS_CALL, syscall_hndlr);
 }
 
-struct hwtimer_context*
-hwtimer_choose()
+struct hwtimer*
+select_platform_timer()
 {
-    struct hwtimer_context* timer;
+    struct hwtimer* timer;
 
     timer = apic_hwtimer_context();
     if (timer->supported(timer)) {
@@ -42,12 +40,4 @@ hwtimer_choose()
     // TODO select alternatives...
 
     panick("no timer to use.");
-}
-
-struct hwrtc*
-hwrtc_choose()
-{
-    struct hwrtc* rtc = mc146818a_rtc_context();
-
-    return rtc;
 }
\ No newline at end of file