Move eax next to ebx/ecx/edx in struct lguest_regs on i386, so they
will be located together and allow it to map directly to a struct
hcall_ring entry (which will be renamed struct hcall_args as in a
subsequent patch).
This is in preparation for making the code hcall code architecture
independent.
Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
        // The Guest's register page has been mapped
        // Writable onto our %esp (stack) --
        // We can simply pop off all Guest regs.
+       popl    %eax
        popl    %ebx
        popl    %ecx
        popl    %edx
        popl    %edi
        popl    %ebp
        popl    %gs
-       popl    %eax
        popl    %fs
        popl    %ds
        popl    %es
        pushl   %es;                                                    \
        pushl   %ds;                                                    \
        pushl   %fs;                                                    \
-       pushl   %eax;                                                   \
        pushl   %gs;                                                    \
        pushl   %ebp;                                                   \
        pushl   %edi;                                                   \
        pushl   %edx;                                                   \
        pushl   %ecx;                                                   \
        pushl   %ebx;                                                   \
+       pushl   %eax;                                                   \
        /* Our stack and our code are using segments                    \
         * Set in the TSS and IDT                                       \
         * Yet if we were to touch data we'd use                        \
 
 struct lguest_regs
 {
        /* Manually saved part. */
-       unsigned long ebx, ecx, edx;
+       unsigned long eax, ebx, ecx, edx;
        unsigned long esi, edi, ebp;
        unsigned long gs;
-       unsigned long eax;
        unsigned long fs, ds, es;
        unsigned long trapnum, errcode;
        /* Trap pushed part */