diff options
-rw-r--r-- | src/sys/core.c | 2 | ||||
-rw-r--r-- | src/sys/timer.c | 5 | ||||
-rw-r--r-- | src/util/mutex.h | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/src/sys/core.c b/src/sys/core.c index ebf50a0..079fc78 100644 --- a/src/sys/core.c +++ b/src/sys/core.c @@ -105,7 +105,7 @@ void postinit(void) write_cstring(&g_Drawer, os_info_v, 0x00FFFF); write_string(&g_Drawer, " #"); if (lock_mutex(&exe_cnt_m, SYS_PID) == 0) { - write_10(&g_Drawer, *(exe_cnt_m.addr)); + write_10(&g_Drawer, *((unsigned long*)exe_cnt_m.addr)); release_mutex(&exe_cnt_m, SYS_PID); } diff --git a/src/sys/timer.c b/src/sys/timer.c index 207ea09..c3ae53b 100644 --- a/src/sys/timer.c +++ b/src/sys/timer.c @@ -26,12 +26,13 @@ void c_timer(void) // Lock the execution counter if (lock_mutex(&exe_cnt_m, SCHED_PID) == 0) { - *(exe_cnt_m.addr) += 1; + unsigned long* counter = (unsigned long*)exe_cnt_m.addr; + *counter += 1; write_cstring(&g_Drawer, "DendritOS", 0xFF0000); write_cstring(&g_Drawer, " v", 0x00FFFF); write_cstring(&g_Drawer, os_info_v, 0x00FFFF); write_string(&g_Drawer, " #"); - write_10(&g_Drawer, *(exe_cnt_m.addr)); + write_10(&g_Drawer, *((unsigned long*)exe_cnt_m.addr)); release_mutex(&exe_cnt_m, SCHED_PID); } diff --git a/src/util/mutex.h b/src/util/mutex.h index f8178a2..283be53 100644 --- a/src/util/mutex.h +++ b/src/util/mutex.h @@ -6,7 +6,7 @@ #define SCHED_PID 2 struct Mutex { - unsigned long* addr; + void* addr; unsigned long pid; } __attribute__((packed, aligned(4)));; |