summaryrefslogtreecommitdiff
path: root/kernel/kmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kmain.c')
-rw-r--r--kernel/kmain.c22
1 files changed, 17 insertions, 5 deletions
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 <asm/io.h>
#include <kernel/con.h>
+#include <stdint.h>
-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");
+ }
}