Blob


1 #include <u.h>
2 #include <libc.h>
3 #include <mach.h>
4 #include <elf.h>
5 #include "ureg386.h"
8 Ureg*
9 _linux2ureg386(UregLinux386 *l)
10 {
11 Ureg *u;
13 u = malloc(sizeof(Ureg));
14 if(u == nil)
15 return nil;
16 u->di = l->edi;
17 u->si = l->esi;
18 u->bp = l->ebp;
19 u->nsp = l->esp;
20 u->bx = l->ebx;
21 u->dx = l->edx;
22 u->cx = l->ecx;
23 u->ax = l->eax;
24 u->gs = l->xgs;
25 u->fs = l->xfs;
26 u->es = l->xes;
27 u->ds = l->xds;
28 u->trap = ~0; // l->trapno;
29 u->ecode = ~0; // l->err;
30 u->pc = l->eip;
31 u->cs = l->xcs;
32 u->flags = l->eflags;
33 u->sp = l->esp;
34 u->ss = l->xss;
35 return u;
36 }