aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/include
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2025-05-27 12:41:50 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2025-05-27 12:41:50 +0000
commit3e597ede8079883b3b9d48faf94b8a7bec2a2118 (patch)
tree6f9c9a432405a5f14a84c5457b478eabf83723fa /arch/x86_64/include
parent8a6a9a3a159ce1b960721eb921b8e8d81b15b718 (diff)
downloadteachos-3e597ede8079883b3b9d48faf94b8a7bec2a2118.tar.xz
teachos-3e597ede8079883b3b9d48faf94b8a7bec2a2118.zip
Readd text kernels ection with explanation
Diffstat (limited to 'arch/x86_64/include')
-rw-r--r--arch/x86_64/include/arch/context_switching/syscall/main.hpp2
-rw-r--r--arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp3
2 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86_64/include/arch/context_switching/syscall/main.hpp b/arch/x86_64/include/arch/context_switching/syscall/main.hpp
index e391c1f..59adc13 100644
--- a/arch/x86_64/include/arch/context_switching/syscall/main.hpp
+++ b/arch/x86_64/include/arch/context_switching/syscall/main.hpp
@@ -28,7 +28,7 @@ namespace teachos::arch::context_switching::syscall
* @brief Possible error codes that can be returned by the different syscall methods called depending on the type
* enum.
*/
- enum class error
+ enum class error : uint8_t
{
OK = 0U, ///< No error occured in syscall.
OUT_OF_MEMORY = 1U, ///< Expanding heap failed because we have run out of mappable virtual address space.
diff --git a/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp b/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp
index b211b8b..81ac0cb 100644
--- a/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp
+++ b/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp
@@ -129,6 +129,9 @@ namespace teachos::arch::memory::paging
0x209000, // .stl_text (Contains code for custom std implementations and standard library code)
0x218000, // .user_text (Contains the actual user code executed)
0x21F000, // .user_data (Contains static user variables)
+
+ 0x20A000 // .text (Necessary, because symbols for all template standard library features are placed here if
+ // they were first used in the Kernel Code Section)
};
for (auto const & section : mem_info.sections)