diff options
| author | Matteo Gmür <matteo.gmuer1@ost.ch> | 2025-06-06 17:15:32 +0200 |
|---|---|---|
| committer | Matteo Gmür <matteo.gmuer1@ost.ch> | 2025-06-06 17:15:32 +0200 |
| commit | c4ced070ab057e4be6552b2f10ec1bf35509e245 (patch) | |
| tree | 91602a7732d216bff3fbaf2d6158e965460019e5 /arch/x86_64/CMakeLists.txt | |
| parent | 3fb836101a2032e93f7b82c924ce208d7377a5ea (diff) | |
| parent | 1031a69ca5e23f2087148ad57e57506735872617 (diff) | |
| download | teachos-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.txt | 58 |
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 #]============================================================================] |
