summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Kernel/Arch/aarch64/InterruptManagement.cpp5
-rw-r--r--Kernel/Arch/aarch64/InterruptManagement.h2
-rw-r--r--Kernel/Arch/aarch64/Processor.h22
-rw-r--r--Kernel/Arch/aarch64/RegisterState.h1
-rw-r--r--Kernel/Storage/StorageManagement.cpp7
5 files changed, 36 insertions, 1 deletions
diff --git a/Kernel/Arch/aarch64/InterruptManagement.cpp b/Kernel/Arch/aarch64/InterruptManagement.cpp
index 2a177e194b..7f93c63422 100644
--- a/Kernel/Arch/aarch64/InterruptManagement.cpp
+++ b/Kernel/Arch/aarch64/InterruptManagement.cpp
@@ -54,4 +54,9 @@ NonnullLockRefPtr<IRQController> InterruptManagement::get_responsible_irq_contro
return m_interrupt_controllers[0];
}
+void InterruptManagement::enumerate_interrupt_handlers(Function<void(GenericInterruptHandler&)>)
+{
+ TODO_AARCH64();
+}
+
}
diff --git a/Kernel/Arch/aarch64/InterruptManagement.h b/Kernel/Arch/aarch64/InterruptManagement.h
index b0a82983c2..697ce70bde 100644
--- a/Kernel/Arch/aarch64/InterruptManagement.h
+++ b/Kernel/Arch/aarch64/InterruptManagement.h
@@ -23,6 +23,8 @@ public:
Vector<NonnullLockRefPtr<IRQController>> const& controllers();
NonnullLockRefPtr<IRQController> get_responsible_irq_controller(u8 interrupt_vector);
+ void enumerate_interrupt_handlers(Function<void(GenericInterruptHandler&)>);
+
private:
InterruptManagement() = default;
void find_controllers();
diff --git a/Kernel/Arch/aarch64/Processor.h b/Kernel/Arch/aarch64/Processor.h
index 38ae725aeb..5a3d974a6e 100644
--- a/Kernel/Arch/aarch64/Processor.h
+++ b/Kernel/Arch/aarch64/Processor.h
@@ -215,6 +215,28 @@ public:
return *g_current_processor;
}
+ template<IteratorFunction<Processor&> Callback>
+ static inline IterationDecision for_each(Callback)
+ {
+ TODO_AARCH64();
+ }
+
+ template<VoidFunction<Processor&> Callback>
+ static inline IterationDecision for_each(Callback)
+ {
+ TODO_AARCH64();
+ }
+
+ u64 time_spent_idle() const
+ {
+ TODO_AARCH64();
+ }
+
+ static u32 count()
+ {
+ TODO_AARCH64();
+ }
+
// FIXME: Move this into generic Processor class, when there is such a class.
ALWAYS_INLINE static bool is_bootstrap_processor()
{
diff --git a/Kernel/Arch/aarch64/RegisterState.h b/Kernel/Arch/aarch64/RegisterState.h
index 24e851c699..2ebd81f69e 100644
--- a/Kernel/Arch/aarch64/RegisterState.h
+++ b/Kernel/Arch/aarch64/RegisterState.h
@@ -32,6 +32,7 @@ struct RegisterState {
(void)value;
TODO_AARCH64();
}
+ FlatPtr bp() const { TODO_AARCH64(); }
};
inline void copy_kernel_registers_into_ptrace_registers(PtraceRegisters& ptrace_regs, RegisterState const& kernel_regs)
diff --git a/Kernel/Storage/StorageManagement.cpp b/Kernel/Storage/StorageManagement.cpp
index 1c3fc8d4fd..49f2d0b323 100644
--- a/Kernel/Storage/StorageManagement.cpp
+++ b/Kernel/Storage/StorageManagement.cpp
@@ -102,11 +102,16 @@ UNMAP_AFTER_INIT void StorageManagement::enumerate_pci_controllers(bool force_pi
}
}
-#if ARCH(I386) || ARCH(X86_64)
auto subclass_code = static_cast<SubclassID>(device_identifier.subclass_code().value());
+#if ARCH(I386) || ARCH(X86_64)
if (subclass_code == SubclassID::IDEController && kernel_command_line().is_ide_enabled()) {
m_controllers.append(PCIIDELegacyModeController::initialize(device_identifier, force_pio));
}
+#elif ARCH(AARCH64)
+ (void)force_pio;
+ TODO_AARCH64();
+#else
+# error Unknown architecture
#endif
if (subclass_code == SubclassID::SATAController