| #include <u.h> |
| #include <libc.h> |
| #include <mach.h> |
| #include "ureg386.h" |
| |
| void |
| linux2ureg386(UregLinux386 *l, Ureg *u) |
| { |
| u->di = l->edi; |
| u->si = l->esi; |
| u->bp = l->ebp; |
| u->nsp = l->esp; |
| u->bx = l->ebx; |
| u->dx = l->edx; |
| u->cx = l->ecx; |
| u->ax = l->eax; |
| u->gs = l->xgs; |
| u->fs = l->xfs; |
| u->es = l->xes; |
| u->ds = l->xds; |
| u->trap = ~0; /* l->trapno; */ |
| u->ecode = ~0; /* l->err; */ |
| u->pc = l->eip; |
| u->cs = l->xcs; |
| u->flags = l->eflags; |
| u->sp = l->esp; |
| u->ss = l->xss; |
| } |
| |
| void |
| ureg2linux386(Ureg *u, UregLinux386 *l) |
| { |
| l->edi = u->di; |
| l->esi = u->si; |
| l->ebp = u->bp; |
| l->esp = u->nsp; |
| l->ebx = u->bx; |
| l->edx = u->dx; |
| l->ecx = u->cx; |
| l->eax = u->ax; |
| l->xgs = u->gs; |
| l->xfs = u->fs; |
| l->xes = u->es; |
| l->xds = u->ds; |
| l->eip = u->pc; |
| l->xcs = u->cs; |
| l->eflags = u->flags; |
| l->esp = u->sp; |
| l->xss = u->ss; |
| } |
| |