diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-04-06 19:04:40 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-04-06 19:04:40 +0200 |
| commit | fe26083101537df306153e7bea7c291a041897f7 (patch) | |
| tree | 0f26687fb172fc1852e9c4d58c351a76e9ceb50c /kernel/kapi/platform.cpp | |
| parent | 2a3575a267dede6a364386c0bd6edcff92421f0d (diff) | |
| parent | d5c2e101d62f6b4b69c45c127e7a729d246da566 (diff) | |
| download | teachos-fe26083101537df306153e7bea7c291a041897f7.tar.xz teachos-fe26083101537df306153e7bea7c291a041897f7.zip | |
Merge branch 'fmorgner/develop-BA-FS26/apci' into develop-BA-FS26
This patchset introduces basic support for ACPI. Currently, the only
user of that support is the CPU discovery subsystem. It uses the
processed ACPI information to initialize CPU core devices and their
associated local APICs.
Diffstat (limited to 'kernel/kapi/platform.cpp')
| -rw-r--r-- | kernel/kapi/platform.cpp | 27 |
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 |
