Переглянути джерело

Kernel/aarch64: Implement stub for asm_signal_trampoline

This get us further into the boot process, since Process::initialize
does not crash anymore.
Timon Kruiper 2 роки тому
батько
коміт
21deb603de
2 змінених файлів з 11 додано та 4 видалено
  1. 0 4
      Kernel/Arch/aarch64/Dummy.cpp
  2. 11 0
      Kernel/Process.cpp

+ 0 - 4
Kernel/Arch/aarch64/Dummy.cpp

@@ -12,10 +12,6 @@
 #include <Kernel/Sections.h>
 #include <Kernel/kstdio.h>
 
-// Process
-char const* asm_signal_trampoline = nullptr;
-char const* asm_signal_trampoline_end = nullptr;
-
 namespace Kernel {
 
 ProcessID g_init_pid { 0 };

+ 11 - 0
Kernel/Process.cpp

@@ -430,6 +430,17 @@ void signal_trampoline_dummy()
         :
         : "i"(Syscall::SC_sigreturn),
         "i"(offset_to_first_register_slot));
+#elif ARCH(AARCH64)
+    asm(
+        ".global asm_signal_trampoline\n"
+        "asm_signal_trampoline:\n"
+        // TODO: Implement this when we support userspace for aarch64
+        "wfi\n"
+        "\n"
+        ".global asm_signal_trampoline_end\n"
+        "asm_signal_trampoline_end: \n");
+#else
+#    error Unknown architecture
 #endif
 }