plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

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 }