aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2024-10-02 13:02:35 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2024-10-02 13:02:35 +0000
commit32add45849744dc976c7af6ec24f985bbace47d3 (patch)
tree0f4e31827bf81e7489f541e0e7ff8eb87df34d95 /arch/x86_64/src
parent4c60bad3150b07e973eb385613a90ebb8c94ecac (diff)
downloadteachos-32add45849744dc976c7af6ec24f985bbace47d3.tar.xz
teachos-32add45849744dc976c7af6ec24f985bbace47d3.zip
Creating base frame allocation code
Diffstat (limited to 'arch/x86_64/src')
-rw-r--r--arch/x86_64/src/kernel/main.cpp6
-rw-r--r--arch/x86_64/src/memory/frame_allocator.cpp9
2 files changed, 15 insertions, 0 deletions
diff --git a/arch/x86_64/src/kernel/main.cpp b/arch/x86_64/src/kernel/main.cpp
index 4deac6d..da496a6 100644
--- a/arch/x86_64/src/kernel/main.cpp
+++ b/arch/x86_64/src/kernel/main.cpp
@@ -125,6 +125,12 @@ namespace teachos::arch::kernel
multiboot_info * multiboot_information_pointer = (multiboot_info *)arch::boot::multiboot_information_pointer;
auto multiboot_tag = &(multiboot_information_pointer->tags);
+ text::write("Multiboot Start: ", text::common_attributes::green_on_black);
+ text::write_number(arch::boot::multiboot_information_pointer, text::common_attributes::green_on_black);
+ text::write("Multiboot End: ", text::common_attributes::green_on_black);
+ text::write_number(arch::boot::multiboot_information_pointer + multiboot_information_pointer->total_size,
+ text::common_attributes::green_on_black);
+
/*
* Loop over the multiboot2 tags to access the information needed.
* Tags are defined in the header file and are padded so that each
diff --git a/arch/x86_64/src/memory/frame_allocator.cpp b/arch/x86_64/src/memory/frame_allocator.cpp
new file mode 100644
index 0000000..425528a
--- /dev/null
+++ b/arch/x86_64/src/memory/frame_allocator.cpp
@@ -0,0 +1,9 @@
+#include "arch/memory/frame_allocator.hpp"
+
+namespace teachos::arch::memory
+{
+ auto AreaFrameAllocator::allocate_frame() -> std::optional<Frame> {}
+
+ auto AreaFrameAllocator::deallocate_frame(Frame frame) -> void {}
+
+} // namespace teachos::arch::memory