aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-04-10 09:01:59 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-04-10 09:01:59 +0200
commit3ad230fab8dc17758559aac3c20ba67a8c619878 (patch)
tree8bdac1645e79677acb1e359ddae944dfb9d5a2b2 /kernel
parent65fe71d4c2cc4fa7b09a83671dccb5d4483f0524 (diff)
downloadteachos-3ad230fab8dc17758559aac3c20ba67a8c619878.tar.xz
teachos-3ad230fab8dc17758559aac3c20ba67a8c619878.zip
kapi: move platform functions to CPU
Diffstat (limited to 'kernel')
-rw-r--r--kernel/CMakeLists.txt1
-rw-r--r--kernel/kapi/cpu.cpp19
-rw-r--r--kernel/kapi/platform.cpp27
-rw-r--r--kernel/src/devices/cpu.cpp4
4 files changed, 21 insertions, 30 deletions
diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt
index 8af6fe7..61bc6f1 100644
--- a/kernel/CMakeLists.txt
+++ b/kernel/CMakeLists.txt
@@ -12,7 +12,6 @@ add_library("kernel_objs" OBJECT
"kapi/devices/device.cpp"
"kapi/interrupts.cpp"
"kapi/memory.cpp"
- "kapi/platform.cpp"
"kapi/system.cpp"
# KSTD OS Implementation
diff --git a/kernel/kapi/cpu.cpp b/kernel/kapi/cpu.cpp
index 13de584..d632628 100644
--- a/kernel/kapi/cpu.cpp
+++ b/kernel/kapi/cpu.cpp
@@ -1,9 +1,17 @@
#include "kapi/cpu.hpp"
+#include "kapi/devices.hpp"
#include "kapi/system.hpp"
+#include "kernel/devices/cpu.hpp"
+
+#include <kstd/memory>
#include <kstd/print>
+#include <cstddef>
+#include <cstdint>
+#include <utility>
+
namespace kapi::cpu
{
@@ -32,4 +40,15 @@ namespace kapi::cpu
}
}
+ auto core_detected(kapi::devices::bus & bus, std::size_t major, std::size_t minor, std::uint64_t hardware_id,
+ bool is_bsp, kstd::unique_ptr<devices::device> core_interrupt_controller) -> bool
+ {
+ auto core = kstd::make_unique<kernel::devices::cpu::core>(major, minor, hardware_id, is_bsp);
+
+ core->add_child(std::move(core_interrupt_controller));
+ bus.add_child(std::move(core));
+
+ return true;
+ }
+
} // namespace kapi::cpu \ No newline at end of file
diff --git a/kernel/kapi/platform.cpp b/kernel/kapi/platform.cpp
deleted file mode 100644
index 7638cf9..0000000
--- a/kernel/kapi/platform.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-#include "kapi/platform.hpp"
-
-#include "kapi/devices.hpp"
-
-#include "kernel/devices/cpu.hpp"
-
-#include <kstd/memory>
-
-#include <cstddef>
-#include <cstdint>
-#include <utility>
-
-namespace kapi::platform
-{
-
- auto cpu_detected(kapi::devices::bus & bus, std::size_t major, std::size_t minor, std::uint64_t hardware_id,
- bool is_bsp, kstd::unique_ptr<devices::device> core_interrupt_controller) -> bool
- {
- auto core = kstd::make_unique<kernel::devices::cpu::core>(major, minor, hardware_id, is_bsp);
-
- core->add_child(std::move(core_interrupt_controller));
- bus.add_child(std::move(core));
-
- return true;
- }
-
-} // namespace kapi::platform \ No newline at end of file
diff --git a/kernel/src/devices/cpu.cpp b/kernel/src/devices/cpu.cpp
index eb10d74..85f4d47 100644
--- a/kernel/src/devices/cpu.cpp
+++ b/kernel/src/devices/cpu.cpp
@@ -1,7 +1,7 @@
#include "kernel/devices/cpu.hpp"
+#include "kapi/cpu.hpp"
#include "kapi/devices.hpp"
-#include "kapi/platform.hpp"
#include <kstd/print>
@@ -33,7 +33,7 @@ namespace kernel::devices
auto cpu::probe() -> bool
{
- if (!kapi::platform::discover_cpu_topology(*this))
+ if (!kapi::cpu::discover_topology(*this))
{
kstd::println("[OS:DEV] Failed to discover CPU topology");
return false;