[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH] kernel2: Fixes damit Timer laufen
! kernel2: Wenn man Timer auch initialisiert, wird da sogar schon was
gefeuert.
! kernel2: Wenn man den Timercode dann noch an das aktuelle
syscall_fastrpc anpasst, das bei Erfolg 0 zurueckgibt und
nicht TRUE, kommt so ein Timer auch nur noch jeweils einmal.
Signed-off-by: Antoine Kaufmann <toni@xxxxxxxxxx>
---
src/kernel2/src/init.c | 4 ++++
src/kernel2/src/timer.c | 2 +-
2 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/src/kernel2/src/init.c b/src/kernel2/src/init.c
index e72adfe..45ddceb 100644
--- a/src/kernel2/src/init.c
+++ b/src/kernel2/src/init.c
@@ -42,6 +42,7 @@
#include "im.h"
#include "tasks.h"
#include "syscall.h"
+#include "timer.h"
#include "console.h"
#include "kprintf.h"
@@ -202,6 +203,9 @@ void init(int multiboot_magic, struct multiboot_info *boot_info, bool bsp)
// Shared Memory initialisieren
shm_init();
+ // Timer initialisieren
+ timer_init();
+
void lio_test(void);
lio_test();
diff --git a/src/kernel2/src/timer.c b/src/kernel2/src/timer.c
index c9c58eb..64c13e9 100644
--- a/src/kernel2/src/timer.c
+++ b/src/kernel2/src/timer.c
@@ -121,7 +121,7 @@ void timer_notify(uint64_t microtime)
// Task per RPC informieren, dass der Timer abgelaufen ist.
// Im Fehlerfall ueberspringen und es beim naechsten Mal nochmal
// versuchen.
- if (!syscall_fastrpc(item->task->pid,
+ if (syscall_fastrpc(item->task->pid,
4, (char*) &rpc_timer_function,
4, (char*) &item->timer_id))
{
--
1.6.3.3