Fix order of edi, esi, ebp, ebx in switch_threads_frame. Doesn't
authorBen Pfaff <blp@cs.stanford.edu>
Mon, 10 Jan 2005 07:18:03 +0000 (07:18 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Mon, 10 Jan 2005 07:18:03 +0000 (07:18 +0000)
matter because they're never used in the C code, but it's good to have
them correct.  Thanks to Howie Xu <xuhao@stanford.edu> for reporting
this bug.

src/threads/switch.h

index d79af5d7169614d2b7ba536d47208a5270b312b0..cc156b6d5eddd8e52378be5e17952d6e650ea5c8 100644 (file)
@@ -5,10 +5,10 @@
 /* switch_thread()'s stack frame. */
 struct switch_threads_frame 
   {
-    uint32_t ebx;               /*  0: Saved %ebx. */
-    uint32_t ebp;               /*  4: Saved %ebp. */
-    uint32_t esi;               /*  8: Saved %esi. */
-    uint32_t edi;               /* 12: Saved %edi. */
+    uint32_t edi;               /*  0: Saved %edi. */
+    uint32_t esi;               /*  4: Saved %esi. */
+    uint32_t ebp;               /*  8: Saved %ebp. */
+    uint32_t ebx;               /* 12: Saved %ebx. */
     void (*eip) (void);         /* 16: Return address. */
     struct thread *cur;         /* 20: switch_threads()'s CUR argument. */
     struct thread *next;        /* 24: switch_threads()'s NEXT argument. */