better api

This commit is contained in:
nub31
2025-09-03 19:22:53 +02:00
parent b7bbccca73
commit bb923621f9
12 changed files with 112 additions and 109 deletions

48
src/arch/x86_64/main.c Normal file
View File

@@ -0,0 +1,48 @@
#include "console/console.h"
#include "interrupts/idt.h"
#include "interrupts/irq.h"
#include "kernel.h"
#include "memory/mmap.h"
#include "panic.h"
#include "util.h"
void x86_64_main(uint32_t magic, multiboot_info_t* info)
{
console_clear();
if (magic != 0x2BADB002)
{
panic("Multiboot magic does not match\n");
}
if (info == NULL)
{
panic("Multiboot info is NULL\n");
}
idt_init();
remap_pic();
map_memory(info);
enable_interrupts();
kernel_main();
}
void arch_console_putchar(char c)
{
console_put_char(c, VGA_DEFAULT_COLOR);
}
uint64_t arch_page_size()
{
return 4096;
}
arch_api_t arch_api = {
.panic = panic,
.putchar = arch_console_putchar,
.page_size = arch_page_size,
.enable_interrupts = enable_interrupts,
.disable_interrupts = disable_interrupts,
.get_memory_map = get_memory_map,
.halt = halt,
};