From 1adea9ccce9e07037506d069a73f048b50c40561 Mon Sep 17 00:00:00 2001
From: Sergey Bugaev <bugaevc@gmail.com>
Date: Sat, 23 Mar 2024 14:53:22 +0300
Subject: boot: Add support for AArch64

Message-ID: <20240323115322.69075-10-bugaevc@gmail.com>
---
 boot/userland-boot.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

(limited to 'boot')

diff --git a/boot/userland-boot.c b/boot/userland-boot.c
index f407f0a6..496628eb 100644
--- a/boot/userland-boot.c
+++ b/boot/userland-boot.c
@@ -334,6 +334,17 @@ boot_script_exec_cmd (void *hook,
     thread_set_state (thread, ALPHA_THREAD_STATE,
 		      (thread_state_t) &regs, reg_size);
   }
+#elif defined (AARCH64_THREAD_STATE_COUNT)
+  {
+    struct aarch64_thread_state regs;
+    reg_size = AARCH64_THREAD_STATE_COUNT;
+    thread_get_state (thread, AARCH64_THREAD_STATE,
+		      (thread_state_t) &regs, &reg_size);
+    regs.sp = (long) arg_pos;
+    regs.pc = (long) startpc;
+    thread_set_state (thread, AARCH64_THREAD_STATE,
+		      (thread_state_t) &regs, reg_size);
+  }
 #else
 # error needs to be ported
 #endif
-- 
cgit v1.2.3