plan9port

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

uregamd64.h (2053B)


      1 // Inferno utils/libmach/ureg6.h
      2 // http://code.google.com/p/inferno-os/source/browse/utils/libmach/ureg6.h
      3 //
      4 //	Copyright © 1994-1999 Lucent Technologies Inc.
      5 //	Power PC support Copyright © 1995-2004 C H Forsyth (forsyth@terzarima.net).
      6 //	Portions Copyright © 1997-1999 Vita Nuova Limited.
      7 //	Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com).
      8 //	Revisions Copyright © 2000-2004 Lucent Technologies Inc. and others.
      9 //	Portions Copyright © 2009 The Go Authors.  All rights reserved.
     10 //
     11 // Permission is hereby granted, free of charge, to any person obtaining a copy
     12 // of this software and associated documentation files (the "Software"), to deal
     13 // in the Software without restriction, including without limitation the rights
     14 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     15 // copies of the Software, and to permit persons to whom the Software is
     16 // furnished to do so, subject to the following conditions:
     17 //
     18 // The above copyright notice and this permission notice shall be included in
     19 // all copies or substantial portions of the Software.
     20 //
     21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     22 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     23 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
     24 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     25 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     26 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     27 // THE SOFTWARE.
     28 
     29 struct Ureg {
     30 	u64int	ax;
     31 	u64int	bx;
     32 	u64int	cx;
     33 	u64int	dx;
     34 	u64int	si;
     35 	u64int	di;
     36 	u64int	bp;
     37 	u64int	r8;
     38 	u64int	r9;
     39 	u64int	r10;
     40 	u64int	r11;
     41 	u64int	r12;
     42 	u64int	r13;
     43 	u64int	r14;
     44 	u64int	r15;
     45 
     46 	u16int	ds;
     47 	u16int	es;
     48 	u16int	fs;
     49 	u16int	gs;
     50 
     51 	u64int	type;
     52 	u64int	error;		/* error code (or zero) */
     53 	u64int	ip;		/* pc */
     54 	u64int	cs;		/* old context */
     55 	u64int	flags;		/* old flags */
     56 	u64int	sp;		/* sp */
     57 	u64int	ss;		/* old stack segment */
     58 };