...
This commit is contained in:
@@ -19,7 +19,6 @@ extern memory_map_t memory_map;
|
||||
void arch_panic(const char* msg);
|
||||
void arch_putchar(char c);
|
||||
|
||||
uintptr_t arch_kernel_base();
|
||||
uintptr_t arch_page_size();
|
||||
|
||||
void arch_interrupts_enable();
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
#include "console/console.h"
|
||||
#include "interrupts/idt.h"
|
||||
#include "interrupts/irq.h"
|
||||
#include "interrupts/isr.h"
|
||||
#include "kernel.h"
|
||||
#include "memory/mmap.h"
|
||||
#include "multiboot.h"
|
||||
#include "x86_64/util.h"
|
||||
|
||||
void x86_64_main(uint32_t magic, multiboot_info_t* info)
|
||||
{
|
||||
@@ -27,19 +29,38 @@ void x86_64_main(uint32_t magic, multiboot_info_t* info)
|
||||
kernel_main();
|
||||
}
|
||||
|
||||
void arch_panic(const char* msg);
|
||||
void arch_panic(const char* msg)
|
||||
{
|
||||
printf(msg);
|
||||
arch_halt();
|
||||
}
|
||||
|
||||
void arch_putchar(char c)
|
||||
{
|
||||
console_put_char(c, VGA_DEFAULT_COLOR);
|
||||
}
|
||||
|
||||
uintptr_t arch_kernel_base();
|
||||
uintptr_t arch_page_size();
|
||||
uintptr_t arch_page_size()
|
||||
{
|
||||
return 4096;
|
||||
}
|
||||
|
||||
void arch_interrupts_enable();
|
||||
void arch_interrupts_disable();
|
||||
void arch_interrupts_enable()
|
||||
{
|
||||
enable_interrupts();
|
||||
}
|
||||
|
||||
void arch_register_interrupt_handler(int vector, void (*handler)(void));
|
||||
void arch_interrupts_disable()
|
||||
{
|
||||
disable_interrupts();
|
||||
}
|
||||
|
||||
void arch_halt();
|
||||
void arch_register_interrupt_handler(int vector, void (*handler)(void))
|
||||
{
|
||||
register_irq_handler(vector, (irq_handler_t)handler);
|
||||
}
|
||||
|
||||
void arch_halt()
|
||||
{
|
||||
halt();
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "../multiboot.h"
|
||||
#include "arch.h"
|
||||
#include "x86_64/multiboot.h"
|
||||
|
||||
void map_memory(multiboot_info_t* mbd);
|
||||
|
||||
Reference in New Issue
Block a user