ureg386.c (826B)
1 #include <u.h> 2 #include <libc.h> 3 #include <mach.h> 4 #include "ureg386.h" 5 6 void 7 linux2ureg386(UregLinux386 *l, Ureg *u) 8 { 9 u->di = l->edi; 10 u->si = l->esi; 11 u->bp = l->ebp; 12 u->nsp = l->esp; 13 u->bx = l->ebx; 14 u->dx = l->edx; 15 u->cx = l->ecx; 16 u->ax = l->eax; 17 u->gs = l->xgs; 18 u->fs = l->xfs; 19 u->es = l->xes; 20 u->ds = l->xds; 21 u->trap = ~0; /* l->trapno; */ 22 u->ecode = ~0; /* l->err; */ 23 u->pc = l->eip; 24 u->cs = l->xcs; 25 u->flags = l->eflags; 26 u->sp = l->esp; 27 u->ss = l->xss; 28 } 29 30 void 31 ureg2linux386(Ureg *u, UregLinux386 *l) 32 { 33 l->edi = u->di; 34 l->esi = u->si; 35 l->ebp = u->bp; 36 l->esp = u->nsp; 37 l->ebx = u->bx; 38 l->edx = u->dx; 39 l->ecx = u->cx; 40 l->eax = u->ax; 41 l->xgs = u->gs; 42 l->xfs = u->fs; 43 l->xes = u->es; 44 l->xds = u->ds; 45 l->eip = u->pc; 46 l->xcs = u->cs; 47 l->eflags = u->flags; 48 l->esp = u->sp; 49 l->xss = u->ss; 50 }