#include "kapi/platform.hpp" #include "kapi/devices.hpp" #include "kernel/devices/cpu.hpp" #include #include #include namespace kapi::platform { auto cpu_detected(kapi::devices::bus & bus, std::uint64_t hardware_id, bool is_bsp) -> bool { auto static const core_major = kapi::devices::allocate_major_number(); auto static const interrupt_controller_major = kapi::devices::allocate_major_number(); auto static core_index = 0uz; auto core = kstd::make_unique(core_major, core_index, hardware_id, is_bsp); auto lapic = kapi::platform::create_core_interrupt_controller(interrupt_controller_major, core_index, hardware_id); core->add_child(std::move(lapic)); bus.add_child(std::move(core)); ++core_index; return true; } } // namespace kapi::platform