aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/devices/local_apic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64/src/devices/local_apic.cpp')
-rw-r--r--arch/x86_64/src/devices/local_apic.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/x86_64/src/devices/local_apic.cpp b/arch/x86_64/src/devices/local_apic.cpp
new file mode 100644
index 0000000..beb75ef
--- /dev/null
+++ b/arch/x86_64/src/devices/local_apic.cpp
@@ -0,0 +1,28 @@
+#include "arch/devices/local_apic.hpp"
+
+#include "kapi/devices.hpp"
+#include "kapi/memory.hpp"
+
+#include <kstd/print>
+
+#include <cstddef>
+#include <cstdint>
+
+namespace arch::devices
+{
+
+ local_apic::local_apic(std::size_t major, std::size_t minor, std::uint64_t hardware_id,
+ kapi::memory::physical_address base)
+ : kapi::devices::device{major, minor, "lapic"}
+ , m_hardware_id{hardware_id}
+ , m_base{base}
+ {}
+
+ auto local_apic::init() -> bool
+ {
+ kstd::println("[x86_64:DEV] Initializing local APIC on core {}", m_hardware_id);
+
+ return true;
+ }
+
+} // namespace arch::devices \ No newline at end of file