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 }