summaryrefslogtreecommitdiffhomepage
path: root/Kernel/HALKit/ARM64
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/HALKit/ARM64')
-rw-r--r--Kernel/HALKit/ARM64/Hart.hxx28
-rw-r--r--Kernel/HALKit/ARM64/MBCI/.keepme0
2 files changed, 28 insertions, 0 deletions
diff --git a/Kernel/HALKit/ARM64/Hart.hxx b/Kernel/HALKit/ARM64/Hart.hxx
new file mode 100644
index 00000000..1b16a072
--- /dev/null
+++ b/Kernel/HALKit/ARM64/Hart.hxx
@@ -0,0 +1,28 @@
+/* -------------------------------------------
+
+ Copyright Zeta Electronics Corporation
+
+------------------------------------------- */
+
+#pragma once
+
+#include <NewKit/Defines.hpp>
+
+/// @file HALKit\ARM64\Hart.hxx
+/// @brief ARM64 hardware thread concept.
+
+typedef NewOS::Int32 Arm64HartType;
+
+/// @brief Set PC to specific hart.
+/// @param hart the hart
+/// @param epc the pc.
+/// @return
+EXTERN_C NewOS::Void hal_switch_to_hart(Arm64HartType hart, NewOS::VoidPtr epc);
+
+/// @brief Hart IPI enum
+enum {
+ cHartIpiTurnOn,
+ cHartIpiTurnOff,
+ cHartIpiStop,
+ cHartIpiResume,
+};
diff --git a/Kernel/HALKit/ARM64/MBCI/.keepme b/Kernel/HALKit/ARM64/MBCI/.keepme
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/Kernel/HALKit/ARM64/MBCI/.keepme