From f6858b7333139441215e83e070e098bf09056762 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Tue, 19 Jun 2018 05:22:54 +1000 Subject: Added foundation code to initialize the PIT and create a 10ms jiffies counter. --- kernel/kmain.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'kernel/kmain.c') diff --git a/kernel/kmain.c b/kernel/kmain.c index e31782c..5b10ee1 100644 --- a/kernel/kmain.c +++ b/kernel/kmain.c @@ -1,6 +1,16 @@ +#include #include +#include -extern int printf(char *fmt, ...); +uint32_t ticks = 0; + +#define millis() \ + (ticks * 10) + +void sleep(int ms) { + uint64_t t = millis() + ms; + while(millis() < t); +} void kmain(void) { con_init(); @@ -8,8 +18,10 @@ void kmain(void) { printf("Kernel booting...\n"); printf("Kernel booted!\n"); - printf("Number: %s %04x\n", "test", 0x18C); - printf("Number: %s %04X\n", "test", 0x18C); - printf("Number: %s %#04x\n", "test", 0x18C); - printf("Number: %s %#04X\n", "test", 0x18C); + printf("PIC1 Mask: 0x%02x\n", inb(0x21)); + + while(1) { + sleep(500); + printf("Reliable 500ms tick!\n"); + } } -- cgit v1.3