|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [PATCH v2 27/47] arm64: implement the run_idle_thread
The patch implements the run_idle_thread() for the idle thread.
Signed-off-by: Huang Shijie <shijie.huang@xxxxxxx>
---
arch/arm/sched.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/sched.c b/arch/arm/sched.c
index a209513..d79871e 100644
--- a/arch/arm/sched.c
+++ b/arch/arm/sched.c
@@ -37,6 +37,7 @@ struct thread* arch_create_thread(char *name, void
(*function)(void *),
return thread;
}
+#if defined(__arm__)
void run_idle_thread(void)
{
__asm__ __volatile__ ("mov sp, %0; bx %1"::
@@ -44,3 +45,14 @@ void run_idle_thread(void)
"r"(idle_thread->ip));
/* Never arrive here! */
}
+
+#elif defined(__aarch64__)
+void run_idle_thread(void)
+{
+ __asm__ __volatile__ ("mov sp, %0; br %1"::
+ "r"(idle_thread->sp + sizeof(unsigned long) *
CALLEE_SAVED_REGISTERS),
+ "r"(idle_thread->ip));
+ /* Never arrive here! */
+}
+
+#endif
--
2.7.4
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |