changeset 19:bf2f70fa8852

fix proc.c not generate memcpy4
author tobaru
date Thu, 05 Apr 2018 12:10:21 +0900
parents d058830337d9
children 33c9000056b5
files Todo src/entry.S src/proc.c
diffstat 3 files changed, 9 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/Todo	Mon Mar 05 19:31:28 2018 +0900
+++ b/Todo	Thu Apr 05 12:10:21 2018 +0900
@@ -1,11 +1,11 @@
 Fri Feb 16 16:38:49 JST 2018
 
-    xv6arm をつくる
+    * xv6arm をつくる
     * cbclangの-arm
-    CbC_gcc のarmくろすこんぱいら
-    cbclang らいぶらりとインクルード
-    gccbc ライブラリとインクルード
-    できたxv6をKVMでうごかす
+    * CbC_gcc のarmくろすこんぱいら
+    * cbclang らいぶらりとインクルード
+    * gccbc ライブラリとインクルード
+    * できたxv6をKVMでうごかす
     実際にxv6の一部をCbCで書き直す
     efi boot を書く
 
--- a/src/entry.S	Mon Mar 05 19:31:28 2018 +0900
+++ b/src/entry.S	Thu Apr 05 12:10:21 2018 +0900
@@ -14,8 +14,8 @@
 
 1:
     CMP     r1, r2
-    STMLTIA r1!, {r3}
-#    STMIALT r1!, {r3}
+#    STMLTIA r1!, {r3}
+    STMIALT r1!, {r3}
     BLT     1b
 
     # initialize stack pointers for svc modes
--- a/src/proc.c	Mon Mar 05 19:31:28 2018 +0900
+++ b/src/proc.c	Thu Apr 05 12:10:21 2018 +0900
@@ -196,7 +196,8 @@
 
     np->sz = proc->sz;
     np->parent = proc;
-    *np->tf = *proc->tf;
+    // *np->tf = *proc->tf; // This generate memcpy4 which is not in libgcc.a 
+    memmove(np->tf, proc->tf, sizeof(*np->tf));
 
     // Clear r0 so that fork returns 0 in the child.
     np->tf->r0 = 0;