diff options
Diffstat (limited to 'arch/x86_64/kapi/cpu.cpp')
| -rw-r--r-- | arch/x86_64/kapi/cpu.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/arch/x86_64/kapi/cpu.cpp b/arch/x86_64/kapi/cpu.cpp index 787a230e..bd86f0fa 100644 --- a/arch/x86_64/kapi/cpu.cpp +++ b/arch/x86_64/kapi/cpu.cpp @@ -48,10 +48,6 @@ namespace kapi::cpu auto discover_topology() -> bool { - auto static const cpu_major = kapi::devices::allocate_major_number(); - auto static const core_major = kapi::devices::allocate_major_number(); - auto static const interrupt_controller_major = kapi::devices::allocate_major_number(); - auto madt = kapi::acpi::get_table<::acpi::table_signature_v<::acpi::madt>>(); if (!madt) { @@ -68,16 +64,14 @@ namespace kapi::cpu auto bsp_found = false; auto core_index = 0uz; auto local_apic_address = memory::physical_address{madt->local_interrupt_controller_address()}; - auto cpu_bus = kstd::make_unique<devices::cpu>(cpu_major, 0); + auto cpu_bus = kstd::make_unique<devices::cpu>(); for (auto const & apic : lapic_entries) { auto is_bsp = !bsp_found; bsp_found = true; - auto core = - kstd::make_unique<devices::cpu::core>(core_major, core_index, core_index, apic.processor_id(), is_bsp); - core->add_child(kstd::make_unique<arch::devices::local_apic>(interrupt_controller_major, core_index, core_index, - apic.id(), local_apic_address, is_bsp)); + auto core = kstd::make_unique<devices::cpu::core>(core_index, apic.processor_id(), is_bsp); + core->add_child(kstd::make_unique<arch::devices::local_apic>(core_index, apic.id(), local_apic_address, is_bsp)); cpu_bus->add_child(std::move(core)); ++core_index; } |
