Blame


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