aboutsummaryrefslogtreecommitdiff
path: root/kernel/src
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-04-02 13:59:27 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-04-02 14:02:13 +0200
commitb84c4c9d8c90f3d3fd5a60de282278912fad2f04 (patch)
treeac283ed18407a8e97bcd14b2cfca3da74f60547b /kernel/src
parentd0c532af74d8d486d734904fd330d5dae7f49754 (diff)
downloadteachos-b84c4c9d8c90f3d3fd5a60de282278912fad2f04.tar.xz
teachos-b84c4c9d8c90f3d3fd5a60de282278912fad2f04.zip
x86_64/devices: implement ISA bus stub
Diffstat (limited to 'kernel/src')
-rw-r--r--kernel/src/devices/root_bus.cpp4
-rw-r--r--kernel/src/main.cpp3
2 files changed, 5 insertions, 2 deletions
diff --git a/kernel/src/devices/root_bus.cpp b/kernel/src/devices/root_bus.cpp
index a7f3c1a..75b5b80 100644
--- a/kernel/src/devices/root_bus.cpp
+++ b/kernel/src/devices/root_bus.cpp
@@ -24,7 +24,7 @@ namespace kernel::devices
auto observer = m_observers.emplace_back(child.get());
m_children.push_back(std::move(child));
- if (m_initialized)
+ if (m_initialized.test())
{
kstd::println("Initializing child device '{}'", observer->name());
if (!observer->init())
@@ -41,7 +41,7 @@ namespace kernel::devices
auto root_bus::init() -> bool
{
- if (m_initialized)
+ if (m_initialized.test_and_set())
{
kapi::system::panic("[kernel:devices] Root bus already initialized!");
}
diff --git a/kernel/src/main.cpp b/kernel/src/main.cpp
index 9d6028d..eaaf87f 100644
--- a/kernel/src/main.cpp
+++ b/kernel/src/main.cpp
@@ -183,6 +183,9 @@ auto main() -> int
kapi::devices::init();
kstd::println("[OS] System root bus initialized.");
+ kapi::devices::init_platform_devices();
+ kstd::println("[OS] Platform devices initialized.");
+
kapi::boot_modules::init();
kstd::println("[OS] Boot module registry initialized.");