aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64/CMakeLists.txt')
-rw-r--r--arch/x86_64/CMakeLists.txt58
1 files changed, 52 insertions, 6 deletions
diff --git a/arch/x86_64/CMakeLists.txt b/arch/x86_64/CMakeLists.txt
index e9f8d5f..57b3a60 100644
--- a/arch/x86_64/CMakeLists.txt
+++ b/arch/x86_64/CMakeLists.txt
@@ -7,6 +7,15 @@ mark_as_advanced(TEACHOS_KERNEL_LINKER_SCRIPT)
target_sources("_kernel" PRIVATE
"src/kernel/main.cpp"
+ "src/kernel/cpu/control_register.cpp"
+ "src/kernel/cpu/gdtr.cpp"
+ "src/kernel/cpu/idtr.cpp"
+ "src/kernel/cpu/if.cpp"
+ "src/kernel/cpu/call.cpp"
+ "src/kernel/cpu/msr.cpp"
+ "src/kernel/cpu/segment_register.cpp"
+ "src/kernel/cpu/tlb.cpp"
+ "src/kernel/cpu/tr.cpp"
)
target_link_options("_kernel" PRIVATE
@@ -53,21 +62,19 @@ target_sources("_memory" PRIVATE
"src/memory/paging/virtual_page.cpp"
"src/memory/paging/active_page_table.cpp"
"src/memory/paging/inactive_page_table.cpp"
- "src/memory/cpu/tlb.cpp"
- "src/memory/cpu/control_register.cpp"
- "src/memory/cpu/msr.cpp"
"src/memory/heap/bump_allocator.cpp"
+ "src/memory/heap/user_heap_allocator.cpp"
"src/memory/heap/memory_block.cpp"
"src/memory/heap/linked_list_allocator.cpp"
"src/memory/heap/global_heap_allocator.cpp"
)
#[============================================================================[
-# The Shared Library
+# The STL Library
#]============================================================================]
-target_sources("_shared" PRIVATE
- "src/shared/mutex.cpp"
+target_sources("_stl" PRIVATE
+ "src/stl/mutex.cpp"
)
#[============================================================================[
@@ -82,6 +89,45 @@ target_sources("_exception" PRIVATE
)
#[============================================================================[
+# The Context switching Library
+#]============================================================================]
+
+target_sources("_context" PRIVATE
+ "src/context_switching/segment_descriptor_table/access_byte.cpp"
+ "src/context_switching/segment_descriptor_table/gdt_flags.cpp"
+ "src/context_switching/segment_descriptor_table/global_descriptor_table_pointer.cpp"
+ "src/context_switching/segment_descriptor_table/global_descriptor_table.cpp"
+ "src/context_switching/segment_descriptor_table/segment_descriptor_base.cpp"
+ "src/context_switching/segment_descriptor_table/segment_descriptor_extension.cpp"
+ "src/context_switching/main.cpp"
+ "src/context_switching/syscall/main.cpp"
+ "src/context_switching/syscall/syscall_enable.cpp"
+ "src/context_switching/syscall/syscall_handler.cpp"
+ "src/context_switching/interrupt_descriptor_table/gate_descriptor.cpp"
+ "src/context_switching/interrupt_descriptor_table/idt_flags.cpp"
+ "src/context_switching/interrupt_descriptor_table/interrupt_descriptor_table_pointer.cpp"
+ "src/context_switching/interrupt_descriptor_table/interrupt_descriptor_table.cpp"
+ "src/context_switching/interrupt_descriptor_table/ist_offset.cpp"
+ "src/context_switching/interrupt_descriptor_table/segment_selector.cpp"
+)
+
+#[============================================================================[
+# The Interrupt Handlers
+#]============================================================================]
+
+target_sources("_interrupt_handling" PRIVATE
+ "src/interrupt_handling/generic_interrupt_handler.cpp"
+)
+
+#[============================================================================[
+# The User code
+#]============================================================================]
+
+target_sources("_context" PRIVATE
+ "src/user/main.cpp"
+)
+
+#[============================================================================[
# The Bootable ISO Image
#]============================================================================]