/* 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. */