aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi/platform.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kapi/platform.cpp')
-rw-r--r--kernel/kapi/platform.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/kernel/kapi/platform.cpp b/kernel/kapi/platform.cpp
new file mode 100644
index 0000000..7638cf9
--- /dev/null
+++ b/kernel/kapi/platform.cpp
@@ -0,0 +1,27 @@
+#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