aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/CMakeLists.txt
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2025-06-06 17:15:32 +0200
committerMatteo Gmür <matteo.gmuer1@ost.ch>2025-06-06 17:15:32 +0200
commitc4ced070ab057e4be6552b2f10ec1bf35509e245 (patch)
tree91602a7732d216bff3fbaf2d6158e965460019e5 /arch/x86_64/CMakeLists.txt
parent3fb836101a2032e93f7b82c924ce208d7377a5ea (diff)
parent1031a69ca5e23f2087148ad57e57506735872617 (diff)
downloadteachos-c4ced070ab057e4be6552b2f10ec1bf35509e245.tar.xz
teachos-c4ced070ab057e4be6552b2f10ec1bf35509e245.zip
Merge branch 'feat_inital_context_switching' into 'develop_ba'
Implement Context Switching See merge request teachos/kernel!6
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
#]============================================================================]