diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cpu/irq.c | 3 | ||||
-rw-r--r-- | src/tests/test.c | 23 |
2 files changed, 14 insertions, 12 deletions
diff --git a/src/cpu/irq.c b/src/cpu/irq.c index 9685b0a..6d9a02a 100644 --- a/src/cpu/irq.c +++ b/src/cpu/irq.c @@ -1,6 +1,5 @@ #include <cpu.h> #include <cpu/irq.h> -#include <drivers/uart.h> #include <globals.h> #include <graphics/drawer.h> #include <symbols.h> @@ -101,5 +100,7 @@ void handle_data(unsigned char data) release_mutex(&exe_cnt_m, SYS_PID); } else if (data == 0x61) { add_thread(uart_scheduler, 0, 2); + } else if (data == 0x62) { + add_thread(test_entry, 0, 2); } } diff --git a/src/tests/test.c b/src/tests/test.c index 247465e..f2f3e6b 100644 --- a/src/tests/test.c +++ b/src/tests/test.c @@ -1,17 +1,18 @@ #include <cpu.h> #include <drivers/uart.h> - -void utime(void); +#include <graphics/lfb.h> +#include <lib/kmem.h> +#include <sys/core.h> void test_entry(void) { -} - -void utime(void) -{ - unsigned long long ti, tf, dt; - sys0_64(SYS_TIME, &ti); - sys0_64(SYS_TIME, &tf); - dt = tf - ti; - PRINT64(dt); + draw_string(0, 18, "Starting tests"); + unsigned long long ti, tf, dt=0; + for(int i = 0; i < 64; i++) { + sys0_64(SYS_TIME, &ti); + sys0_64(SYS_TIME, &tf); + dt += tf - ti; + } + DRAW64(0, 19, dt/64); + DRAW64(17, 19, dt%64); } |