aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt23
1 files changed, 19 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8657cab..35cfd65 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -116,11 +116,24 @@ add_library("_exception" OBJECT)
add_library("teachos::exception" ALIAS "_exception")
#[============================================================================[
-# The Shared Library
+# The Context switching Library
#]============================================================================]
-add_library("_shared" OBJECT)
-add_library("teachos::shared" ALIAS "_shared")
+add_library("_context" OBJECT)
+add_library("teachos::context_switching" ALIAS "_context")
+
+add_library("_interrupt_handling" OBJECT)
+add_library("teachos::interrupt_handling" ALIAS "_interrupt_handling")
+# https://forum.osdev.org/viewtopic.php?f=1&t=36712
+# https://gcc.gnu.org/onlinedocs/gcc/x86-Function-Attributes.html#index-interrupt-function-attribute_002c-x86
+target_compile_options("_interrupt_handling" PRIVATE "-mgeneral-regs-only")
+
+#[============================================================================[
+# The Stub Standard Library
+#]============================================================================]
+
+add_library("_stl" OBJECT)
+add_library("teachos::stl" ALIAS "_stl")
#[============================================================================[
# The Kernel
@@ -136,7 +149,9 @@ target_link_libraries("_kernel" PRIVATE
"teachos::video"
"teachos::memory"
"teachos::exception"
- "teachos::shared"
+ "teachos::stl"
+ "teachos::context_switching"
+ "teachos::interrupt_handling"
)
#[============================================================================[