diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt index deab4d0e..2fb59ab1 100644 --- a/kernel/CMakeLists.txt +++ b/kernel/CMakeLists.txt @@ -124,6 +124,8 @@ elseif("${BANAN_ARCH}" STREQUAL "i386") set(KERNEL_SOURCES ${KERNEL_SOURCES} arch/i386/boot.S + arch/i386/GDT.cpp + arch/i386/IDT.cpp arch/i386/PageTable.cpp arch/i386/Signal.S arch/i386/Syscall.S diff --git a/kernel/arch/i386/GDT.cpp b/kernel/arch/i386/GDT.cpp new file mode 100644 index 00000000..f76d47f0 --- /dev/null +++ b/kernel/arch/i386/GDT.cpp @@ -0,0 +1,21 @@ +#include + +namespace Kernel +{ + + GDT* GDT::create() + { + ASSERT_NOT_REACHED(); + } + + void GDT::write_entry(uint8_t, uint32_t, uint32_t, uint8_t, uint8_t) + { + ASSERT_NOT_REACHED(); + } + + void GDT::write_tss() + { + ASSERT_NOT_REACHED(); + } + +} diff --git a/kernel/arch/i386/IDT.cpp b/kernel/arch/i386/IDT.cpp new file mode 100644 index 00000000..b11241fd --- /dev/null +++ b/kernel/arch/i386/IDT.cpp @@ -0,0 +1,31 @@ +#include + +namespace Kernel +{ + + IDT* IDT::create() + { + ASSERT_NOT_REACHED(); + } + + [[noreturn]] void IDT::force_triple_fault() + { + ASSERT_NOT_REACHED(); + } + + void IDT::register_irq_handler(uint8_t, Interruptable*) + { + ASSERT_NOT_REACHED(); + } + + void IDT::register_interrupt_handler(uint8_t, void (*)()) + { + ASSERT_NOT_REACHED(); + } + + void IDT::register_syscall_handler(uint8_t, void (*)()) + { + ASSERT_NOT_REACHED(); + } + +}