summaryrefslogtreecommitdiff
path: root/kernel/kmain.c
blob: 5b10ee15488b61f00bd1308f40c6b6014f4e52a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <asm/io.h>
#include <kernel/con.h>
#include <stdint.h>

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();

  printf("Kernel booting...\n");
  printf("Kernel booted!\n");

  printf("PIC1 Mask: 0x%02x\n", inb(0x21));

  while(1) {
    sleep(500);
    printf("Reliable 500ms tick!\n");
  }
}