peredOS/kernel/kmain.c
msh356 d64856e1b1 MULTIPLE: 3 изменения
PIC: добавил ремаппер
IRQ: добавил таймер
KERNEL: работа со строками и памятью
2026-07-01 19:55:26 +03:00

29 lines
871 B
C

#include "../drivers/vga.h"
#include "../drivers/serial.h"
#include "../drivers/timer.h"
#include "gdt.h"
#include "idt.h"
#include "pic.h"
#include "logger.h"
void kernel_main(void) {
log_info(LOG_NORMAL, "Initializing serial...");
serial_init();
log_info(LOG_NORMAL, "Initializing VGA...");
vga_init();
log_info(LOG_NORMAL, "Setting color white on black");
vga_set_color(VGA_COLOR_WHITE, VGA_COLOR_BLACK);
log_info(LOG_NORMAL, "Initializing GDT...");
gdt_init();
log_info(LOG_NORMAL, "Initializing IDT...");
idt_init();
log_info(LOG_NORMAL, "Remapping PIC...");
pic_remap(32, 40);
log_info(LOG_NORMAL, "Unmasking IRQ 0... (timer)");
pic_clear_mask(0);
log_info(LOG_NORMAL, "Registering timer at 100Hz");
timer_init(100);
log_info(LOG_NORMAL, "Enabling IRQ...");
__asm__ __volatile__("sti");
while (1);
}