URI: 
       tmove linux ureg code to portable file - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 1369edef9f26a5a127b60b1163564c2570d9a7d9
   DIR parent e2f52703c2387a34f7edc86845a0b15f04830bb8
  HTML Author: rsc <devnull@localhost>
       Date:   Tue, 28 Dec 2004 17:35:10 +0000
       
       move linux ureg code to portable file
       
       Diffstat:
         M src/libmach/mkfile                  |       1 +
         A src/libmach/ureg386.c               |      36 +++++++++++++++++++++++++++++++
       
       2 files changed, 37 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/src/libmach/mkfile b/src/libmach/mkfile
       t@@ -41,6 +41,7 @@ OFILES=\
                symelf.$O\
                symmacho.$O\
                symstabs.$O\
       +        ureg386.$O\
        
        HFILES=mach.h
        
   DIR diff --git a/src/libmach/ureg386.c b/src/libmach/ureg386.c
       t@@ -0,0 +1,36 @@
       +#include <u.h>
       +#include <libc.h>
       +#include <mach.h>
       +#include <elf.h>
       +#include "ureg386.h"
       +
       +
       +Ureg*
       +_linux2ureg386(UregLinux386 *l)
       +{
       +        Ureg *u;
       +
       +        u = malloc(sizeof(Ureg));
       +        if(u == nil)
       +                return nil;
       +        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;
       +        return u;
       +}