diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-03-29 10:59:55 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-03-29 10:59:55 +0100 |
| commit | b7709d9dc8fc74ab1c60336b487a2c2f90ceeb99 (patch) | |
| tree | 752d60a92c2902e4669fae0639888a065cb7beba /dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc | |
| parent | 2c272e3ca3272cf8f1449c76cc83b1b927f419c9 (diff) | |
hal/amd64: unify GDT/IDT setup and rename I/O ops
Normalize descriptor loading logic under Register64.
Prefix low-level port and MSR functions with hal_ for consistency.
Improve APIC init flow to reflect MADT-based IRQ routing.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc')
| -rw-r--r-- | dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc b/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc index a83ed2e5..2b161d11 100644 --- a/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc +++ b/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc @@ -77,7 +77,7 @@ namespace Kernel::HAL /// @brief Loads the provided Global Descriptor Table. /// @param gdt /// @return - Void GDTLoader::Load(RegisterGDT& gdt) + Void GDTLoader::Load(Register64& gdt) { hal_load_gdt(gdt); } @@ -114,13 +114,23 @@ namespace Kernel::HAL rt_sti(); } - void GDTLoader::Load(Ref<RegisterGDT>& gdt) + /// @brief Loads the Global Descriptor Table into the CPU. + /// @param gdt GDT register wrapped in a ref. + void GDTLoader::Load(Ref<Register64>& gdt) { + if (!gdt) + return; + GDTLoader::Load(gdt.Leak()); } + /// @brief Loads the IDT, for interupts. + /// @param idt IDT register wrapped in a ref. void IDTLoader::Load(Ref<Register64>& idt) { + if (!idt) + return; + IDTLoader::Load(idt.Leak()); } } // namespace Kernel::HAL |
