Files
RockOS/kernel/kmain.c

48 lines
783 B
C
Raw Normal View History

#include <lib/print.h>
#include <lib/stream.h>
2026-06-09 23:16:25 -05:00
2026-06-11 23:23:39 -05:00
#include <idt.h>
#include <stdint.h>
extern void init_idt();
2026-06-12 23:03:00 -04:00
extern void init_gdt();
2026-06-13 13:27:39 -05:00
extern void init_pic();
extern void init_pit();
extern int init_ps2();
2026-06-13 13:27:39 -05:00
extern void enable_interrupts();
2026-06-11 23:23:39 -05:00
2026-06-13 13:27:39 -05:00
void kmain(void)
{
extern print_stream_t vga_print_stream;
extern print_stream_t* kout;
kout = &vga_print_stream;
kout->trunc();
2026-06-09 23:16:25 -05:00
2026-06-12 23:03:00 -04:00
kprint("RockOS booting...\n");
init_gdt();
kprint("GDT set\n");
2026-06-11 23:23:39 -05:00
init_idt();
2026-06-12 23:03:00 -04:00
kprint("IDT set\n");
2026-06-13 13:27:39 -05:00
init_pic();
kprint("PIC initialized\n");
init_pit();
kprint("PIT initialized\n");
int result = init_ps2();
if (result == -1) {
kprint("PS2 init failed\n");
return;
}
kprint("PS2 initialized\n");
2026-06-13 13:27:39 -05:00
enable_interrupts();
kprint("Interrupts enabled\n");
while(1);
2026-06-09 23:16:25 -05:00
}