aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-04-02 15:07:54 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-04-02 15:07:54 +0200
commitab4c59912c526d515e6e72188c08a7f92e5573e8 (patch)
tree0b6b561efb6fd8ac7a174edc6d4514a98f890861 /kernel
parent66ffd2ad8c793c4eea1527848fe4772e42595718 (diff)
downloadteachos-ab4c59912c526d515e6e72188c08a7f92e5573e8.tar.xz
teachos-ab4c59912c526d515e6e72188c08a7f92e5573e8.zip
x86_64: implement legacy PIT driver
Diffstat (limited to 'kernel')
-rw-r--r--kernel/kapi/devices.cpp6
-rw-r--r--kernel/src/main.cpp4
2 files changed, 7 insertions, 3 deletions
diff --git a/kernel/kapi/devices.cpp b/kernel/kapi/devices.cpp
index dbf5e68..c0b738e 100644
--- a/kernel/kapi/devices.cpp
+++ b/kernel/kapi/devices.cpp
@@ -31,8 +31,9 @@ namespace kapi::devices
return;
}
- root_bus.emplace();
- root_bus->init();
+ auto & bus = root_bus.emplace();
+ register_device(bus);
+ bus.init();
}
auto get_root_bus() -> bus &
@@ -51,6 +52,7 @@ namespace kapi::devices
auto register_device(device & device) -> bool
{
+ kstd::println("[OS:DEV] Registering device {}@{}:{}", device.name(), device.major(), device.minor());
return device_tree.emplace(std::pair{device.major(), device.minor()}, &device).second;
}
diff --git a/kernel/src/main.cpp b/kernel/src/main.cpp
index eaaf87f..2eaa2d8 100644
--- a/kernel/src/main.cpp
+++ b/kernel/src/main.cpp
@@ -173,7 +173,6 @@ auto main() -> int
kstd::println("[OS] IO subsystem initialized.");
kapi::cpu::init();
- kapi::interrupts::enable();
kapi::memory::init();
kernel::memory::init_heap(kapi::memory::heap_base);
@@ -186,6 +185,9 @@ auto main() -> int
kapi::devices::init_platform_devices();
kstd::println("[OS] Platform devices initialized.");
+ kapi::interrupts::enable();
+ kstd::println("[OS] Interrupts enabled.");
+
kapi::boot_modules::init();
kstd::println("[OS] Boot module registry initialized.");