#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;
}

