diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-04-02 15:07:54 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-04-02 15:07:54 +0200 |
| commit | ab4c59912c526d515e6e72188c08a7f92e5573e8 (patch) | |
| tree | 0b6b561efb6fd8ac7a174edc6d4514a98f890861 /kernel | |
| parent | 66ffd2ad8c793c4eea1527848fe4772e42595718 (diff) | |
| download | teachos-ab4c59912c526d515e6e72188c08a7f92e5573e8.tar.xz teachos-ab4c59912c526d515e6e72188c08a7f92e5573e8.zip | |
x86_64: implement legacy PIT driver
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/kapi/devices.cpp | 6 | ||||
| -rw-r--r-- | kernel/src/main.cpp | 4 |
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."); |
