[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [PATCH v3 25/43] arm64: fix the wrong size of the register



The callee-saved registers are 64bit in arm64, not 32 bit.
So this patch uses "sizeof(unsigned long)" to replace the hardcode.

This patch also fixes the wrong commit for arch_create_thread.

Reviewed-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
Signed-off-by: Huang Shijie <shijie.huang@xxxxxxx>
---
 arch/arm/sched.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/sched.c b/arch/arm/sched.c
index 394b000..a209513 100644
--- a/arch/arm/sched.c
+++ b/arch/arm/sched.c
@@ -27,10 +27,10 @@ struct thread* arch_create_thread(char *name, void 
(*function)(void *),
     *(--sp) = (unsigned long) function;
     *(--sp) = (unsigned long) data;
 
-    /* We leave room for the 8 callee-saved registers which we will
+    /* We leave room for the callee-saved registers which we will
      * try to restore on thread switch, even though they're not needed
      * for the initial switch. */
-    thread->sp = (unsigned long) sp - 4 * CALLEE_SAVED_REGISTERS;
+    thread->sp = (unsigned long) sp - sizeof(unsigned long) * 
CALLEE_SAVED_REGISTERS;
 
     thread->ip = (unsigned long) arm_start_thread;
 
-- 
2.7.4


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.