dyn_regs.h

Go to the documentation of this file.
00001 /*
00002  * See the dyninst/COPYRIGHT file for copyright information.
00003  * 
00004  * We provide the Paradyn Tools (below described as "Paradyn")
00005  * on an AS IS basis, and do not warrant its validity or performance.
00006  * We reserve the right to update, modify, or discontinue this
00007  * software at any time.  We shall have no obligation to supply such
00008  * updates or modifications or any other form of support to you.
00009  * 
00010  * By your use of Paradyn, you understand and agree that we (or any
00011  * other person or entity with proprietary rights in Paradyn) are
00012  * under no obligation to provide either maintenance services,
00013  * update services, notices of latent defects, or correction of
00014  * defects for Paradyn.
00015  * 
00016  * This library is free software; you can redistribute it and/or
00017  * modify it under the terms of the GNU Lesser General Public
00018  * License as published by the Free Software Foundation; either
00019  * version 2.1 of the License, or (at your option) any later version.
00020  * 
00021  * This library is distributed in the hope that it will be useful,
00022  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00023  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00024  * Lesser General Public License for more details.
00025  * 
00026  * You should have received a copy of the GNU Lesser General Public
00027  * License along with this library; if not, write to the Free Software
00028  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
00029  */
00030 
00031 
00032 #if !defined(DYN_REGS_H_)
00033 #define DYN_REGS_H_
00034 
00035 #include "util.h"
00036 #include "boost/shared_ptr.hpp"
00037 
00038 #include <assert.h>
00039 #include <map>
00040 #include <string>
00041 
00042 namespace Dyninst
00043 {
00044    struct x86OperandParser;
00045    struct ppcOperandParser;
00046    typedef unsigned long MachRegisterVal;
00047 
00048    typedef enum
00049    {
00050       Arch_none   = 0x00000000,
00051       Arch_x86    = 0x14000000,
00052       Arch_x86_64 = 0x18000000,
00053       Arch_ppc32  = 0x24000000,
00054       Arch_ppc64  = 0x28000000
00055    } Architecture;
00056 
00057 
00058    COMMON_EXPORT bool isSegmentRegister(int regClass);
00059    COMMON_EXPORT unsigned getArchAddressWidth(Dyninst::Architecture arch);
00060    class COMMON_EXPORT MachRegister {
00061       friend struct ::Dyninst::x86OperandParser;
00062       friend struct ::Dyninst::ppcOperandParser;
00063      private:
00064       signed int reg;
00065 
00066       typedef std::map<signed int, std::string> NameMap;
00067       static boost::shared_ptr<MachRegister::NameMap> names();
00068       void init_names();
00069    public:
00070 
00071       MachRegister();
00072      explicit MachRegister(signed int r);
00073      explicit MachRegister(signed int r, const char *n);
00074      explicit MachRegister(signed int r, std::string n);
00075 
00076       MachRegister getBaseRegister() const;
00077       Architecture getArchitecture() const;
00078       bool isValid() const;
00079       MachRegisterVal getSubRegValue(const MachRegister& subreg, MachRegisterVal &orig) const;
00080 
00081       std::string name() const;
00082       unsigned int size() const;
00083       bool operator<(const MachRegister &a) const;
00084       bool operator==(const MachRegister &a) const;
00085       operator signed int() const;
00086       signed int val() const;
00087       unsigned int regClass() const;
00088 
00089       static MachRegister getPC(Dyninst::Architecture arch);
00090       static MachRegister getFramePointer(Dyninst::Architecture arch);
00091       static MachRegister getStackPointer(Dyninst::Architecture arch);
00092       bool isPC() const;
00093       bool isFramePointer() const;
00094       bool isStackPointer() const;
00095 
00096       void getROSERegister(int &c, int &n, int &p);
00097 
00098       static MachRegister DwarfEncToReg(int encoding, Dyninst::Architecture arch);
00099       int getDwarfEnc() const;
00100    };
00101 
00102    /**
00103     * DEF_REGISTER will define its first parameter as the name of the object
00104     * it's declaring, and 'i<name>' as the integer value representing that object.
00105     * As an example, the name of a register may be 
00106     *  x86::EAX
00107     * with that register having a value of
00108     *  x86::iEAX
00109     * 
00110     * The value is mostly useful in the 'case' part switch statements.
00111     **/
00112 #if defined(DYN_DEFINE_REGS)
00113    //DYN_DEFINE_REGS Should only be defined in libcommon.
00114    //We want one definition, which will be in libcommon, and declarations
00115    //for everyone else.
00116    //
00117    //I wanted these to be const MachRegister objects, but that changes the
00118    //linker scope.  Instead they're non-const.  Every accessor function is
00119    //const anyways, so we'll just close our eyes and pretend they're declared
00120    //const.
00121 #define DEF_REGISTER(name, value, Arch) \
00122   const signed int i##name = (value); \
00123   COMMON_EXPORT MachRegister name(i##name, Arch "::" #name)
00124 #else
00125 #define DEF_REGISTER(name, value, Arch) \
00126   const signed int i##name = (value); \
00127   COMMON_EXPORT extern MachRegister name
00128 
00129 #endif
00130 
00131    /**
00132     * For interpreting constants:
00133     *  Lowest 16 bits (0x000000ff) is base register ID
00134     *  Next 16 bits (0x0000ff00) is the aliasing and subrange ID-
00135     *    used on x86/x86_64 to distinguish between things like EAX and AH
00136     *  Next 16 bits (0x00ff0000) are the register category, GPR/FPR/MMX/...
00137     *  Top 16 bits (0xff000000) are the architecture.
00138     *
00139     *  These values/layout are not guaranteed to remain the same as part of the 
00140     *  public interface, and may change.
00141     **/
00142 
00143    //Abstract registers used for stackwalking
00144    DEF_REGISTER(InvalidReg, 0 | Arch_none, "abstract");
00145    DEF_REGISTER(FrameBase,  1 | Arch_none, "abstract");
00146    DEF_REGISTER(ReturnAddr, 2 | Arch_none, "abstract");
00147    DEF_REGISTER(StackTop,   3 | Arch_none, "abstract");
00148    // DWARF-ism; the CFA is the value of the stack pointer in the previous frame
00149    DEF_REGISTER(CFA,        4 | Arch_none, "abstract");
00150 
00151    namespace x86
00152    {
00153       const signed int L_REG = 0x00000100; //8-bit, first byte
00154       const signed int H_REG = 0x00000200; //8-bit, second byte
00155       const signed int W_REG = 0x00000300; //16-bit, first word
00156       const signed int FULL  = 0x00000000; //32 bits
00157       const signed int QUAD  = 0x00004000; //64 bits
00158       const signed int OCT   = 0x00002000; //128 bits
00159       const signed int FPDBL = 0x00001000; // 80 bits
00160       const signed int BIT   = 0x00008000; // 1 bit
00161       const signed int GPR   = 0x00010000;
00162       const signed int SEG   = 0x00020000;
00163       const signed int FLAG  = 0x00030000;
00164       const signed int MISC  = 0x00040000;
00165       const signed int XMM   = 0x00050000;
00166       const signed int MMX   = 0x00060000;
00167       const signed int CTL   = 0x00070000;
00168       const signed int DBG   = 0x00080000;
00169       const signed int TST   = 0x00090000;
00170       const signed int BASEA  = 0x0;
00171       const signed int BASEC  = 0x1;
00172       const signed int BASED  = 0x2;
00173       const signed int BASEB  = 0x3;
00174       const signed int BASESP = 0x4;
00175       const signed int BASEBP = 0x5;
00176       const signed int BASESI = 0x6;
00177       const signed int BASEDI = 0x7;
00178       const signed int FLAGS = 0x0;
00179       
00180       const signed int CF = 0x0;
00181       const signed int FLAG1 = 0x1;
00182       const signed int PF = 0x2;
00183       const signed int FLAG3 = 0x3;
00184       const signed int AF = 0x4;
00185       const signed int FLAG5 = 0x5;
00186       const signed int ZF = 0x6;
00187       const signed int SF = 0x7;
00188       const signed int TF = 0x8;
00189       const signed int IF = 0x9;
00190       const signed int DF = 0xa;
00191       const signed int OF = 0xb;
00192       const signed int FLAGC = 0xc;
00193       const signed int FLAGD = 0xd;
00194       const signed int NT = 0xe;
00195       const signed int FLAGF = 0xf;
00196       const signed int RF = 0x10;
00197 
00198       DEF_REGISTER(eax,   BASEA   | FULL  | GPR  | Arch_x86, "x86");
00199       DEF_REGISTER(ecx,   BASEC   | FULL  | GPR  | Arch_x86, "x86");
00200       DEF_REGISTER(edx,   BASED   | FULL  | GPR  | Arch_x86, "x86");
00201       DEF_REGISTER(ebx,   BASEB   | FULL  | GPR  | Arch_x86, "x86");
00202       DEF_REGISTER(esp,   BASESP  | FULL  | GPR  | Arch_x86, "x86");
00203       DEF_REGISTER(ebp,   BASEBP  | FULL  | GPR  | Arch_x86, "x86");
00204       DEF_REGISTER(esi,   BASESI  | FULL  | GPR  | Arch_x86, "x86");
00205       DEF_REGISTER(edi,   BASEDI  | FULL  | GPR  | Arch_x86, "x86");
00206       DEF_REGISTER(ah,    BASEA   | H_REG | GPR  | Arch_x86, "x86");
00207       DEF_REGISTER(al,    BASEA   | L_REG | GPR  | Arch_x86, "x86");
00208       DEF_REGISTER(ax,    BASEA   | W_REG | GPR  | Arch_x86, "x86");
00209       DEF_REGISTER(ch,    BASEC   | H_REG | GPR  | Arch_x86, "x86");
00210       DEF_REGISTER(cl,    BASEC   | L_REG | GPR  | Arch_x86, "x86");
00211       DEF_REGISTER(cx,    BASEC   | W_REG | GPR  | Arch_x86, "x86");
00212       DEF_REGISTER(dh,    BASED   | H_REG | GPR  | Arch_x86, "x86");
00213       DEF_REGISTER(dl,    BASED   | L_REG | GPR  | Arch_x86, "x86");
00214       DEF_REGISTER(dx,    BASED   | W_REG | GPR  | Arch_x86, "x86");
00215       DEF_REGISTER(bh,    BASEB   | H_REG | GPR  | Arch_x86, "x86");
00216       DEF_REGISTER(bl,    BASEB   | L_REG | GPR  | Arch_x86, "x86");
00217       DEF_REGISTER(bx,    BASEB   | W_REG | GPR  | Arch_x86, "x86");
00218       DEF_REGISTER(sp,    BASESP  | W_REG | GPR  | Arch_x86, "x86");
00219       DEF_REGISTER(bp,    BASEBP  | W_REG | GPR  | Arch_x86, "x86");
00220       DEF_REGISTER(si,    BASESI  | W_REG | GPR  | Arch_x86, "x86");
00221       DEF_REGISTER(di,    BASEDI  | W_REG | GPR  | Arch_x86, "x86");
00222       DEF_REGISTER(eip,   0x10    | FULL         | Arch_x86, "x86");
00223       DEF_REGISTER(flags, FLAGS   | FULL  | FLAG | Arch_x86, "x86");
00224       DEF_REGISTER(cf,    CF      | BIT   | FLAG | Arch_x86, "x86");
00225       DEF_REGISTER(flag1, FLAG1   | BIT   | FLAG | Arch_x86, "x86");
00226       DEF_REGISTER(pf,    PF      | BIT   | FLAG | Arch_x86, "x86");
00227       DEF_REGISTER(flag3, FLAG3   | BIT   | FLAG | Arch_x86, "x86");
00228       DEF_REGISTER(af,    AF      | BIT   | FLAG | Arch_x86, "x86");
00229       DEF_REGISTER(flag5, FLAG5   | BIT   | FLAG | Arch_x86, "x86");
00230       DEF_REGISTER(zf,    ZF      | BIT   | FLAG | Arch_x86, "x86");
00231       DEF_REGISTER(sf,    SF      | BIT   | FLAG | Arch_x86, "x86");
00232       DEF_REGISTER(tf,    TF      | BIT   | FLAG | Arch_x86, "x86");
00233       DEF_REGISTER(if_,   IF      | BIT   | FLAG | Arch_x86, "x86");
00234       DEF_REGISTER(df,    DF      | BIT   | FLAG | Arch_x86, "x86");
00235       DEF_REGISTER(of,    OF      | BIT   | FLAG | Arch_x86, "x86");
00236       DEF_REGISTER(flagc, FLAGC   | BIT   | FLAG | Arch_x86, "x86");
00237       DEF_REGISTER(flagd, FLAGD   | BIT   | FLAG | Arch_x86, "x86");
00238       DEF_REGISTER(nt_,   NT      | BIT   | FLAG | Arch_x86, "x86");
00239       DEF_REGISTER(flagf, FLAGF   | BIT   | FLAG | Arch_x86, "x86");
00240       DEF_REGISTER(rf,    RF      | BIT   | FLAG | Arch_x86, "x86");
00241       DEF_REGISTER(ds,    0x0     | W_REG | SEG  | Arch_x86, "x86");
00242       DEF_REGISTER(es,    0x1     | W_REG | SEG  | Arch_x86, "x86");
00243       DEF_REGISTER(fs,    0x2     | W_REG | SEG  | Arch_x86, "x86");
00244       DEF_REGISTER(gs,    0x3     | W_REG | SEG  | Arch_x86, "x86");
00245       DEF_REGISTER(cs,    0x4     | W_REG | SEG  | Arch_x86, "x86");
00246       DEF_REGISTER(ss,    0x5     | W_REG | SEG  | Arch_x86, "x86");
00247       DEF_REGISTER(oeax,  0x0     | FULL  | MISC | Arch_x86, "x86");
00248       DEF_REGISTER(fsbase, 0x1    | FULL  | MISC | Arch_x86, "x86");
00249       DEF_REGISTER(gsbase, 0x2    | FULL  | MISC | Arch_x86, "x86");
00250       DEF_REGISTER(xmm0,  0x0     | OCT   | XMM  | Arch_x86, "x86");
00251       DEF_REGISTER(xmm1,  0x1     | OCT   | XMM  | Arch_x86, "x86");
00252       DEF_REGISTER(xmm2,  0x2     | OCT   | XMM  | Arch_x86, "x86");
00253       DEF_REGISTER(xmm3,  0x3     | OCT   | XMM  | Arch_x86, "x86");
00254       DEF_REGISTER(xmm4,  0x4     | OCT   | XMM  | Arch_x86, "x86");
00255       DEF_REGISTER(xmm5,  0x5     | OCT   | XMM  | Arch_x86, "x86");
00256       DEF_REGISTER(xmm6,  0x6     | OCT   | XMM  | Arch_x86, "x86");
00257       DEF_REGISTER(xmm7,  0x7     | OCT   | XMM  | Arch_x86, "x86");
00258       DEF_REGISTER(mm0,   0x0     | FPDBL | MMX  | Arch_x86, "x86");
00259       DEF_REGISTER(mm1,   0x1     | FPDBL | MMX  | Arch_x86, "x86");
00260       DEF_REGISTER(mm2,   0x2     | FPDBL | MMX  | Arch_x86, "x86");
00261       DEF_REGISTER(mm3,   0x3     | FPDBL | MMX  | Arch_x86, "x86");
00262       DEF_REGISTER(mm4,   0x4     | FPDBL | MMX  | Arch_x86, "x86");
00263       DEF_REGISTER(mm5,   0x5     | FPDBL | MMX  | Arch_x86, "x86");
00264       DEF_REGISTER(mm6,   0x6     | FPDBL | MMX  | Arch_x86, "x86");
00265       DEF_REGISTER(mm7,   0x7     | FPDBL | MMX  | Arch_x86, "x86");
00266       DEF_REGISTER(cr0,   0x0     | FULL  | CTL  | Arch_x86, "x86");
00267       DEF_REGISTER(cr1,   0x1     | FULL  | CTL  | Arch_x86, "x86");
00268       DEF_REGISTER(cr2,   0x2     | FULL  | CTL  | Arch_x86, "x86");
00269       DEF_REGISTER(cr3,   0x3     | FULL  | CTL  | Arch_x86, "x86");
00270       DEF_REGISTER(cr4,   0x4     | FULL  | CTL  | Arch_x86, "x86");
00271       DEF_REGISTER(cr5,   0x5     | FULL  | CTL  | Arch_x86, "x86");
00272       DEF_REGISTER(cr6,   0x6     | FULL  | CTL  | Arch_x86, "x86");
00273       DEF_REGISTER(cr7,   0x7     | FULL  | CTL  | Arch_x86, "x86");
00274       DEF_REGISTER(dr0,   0x0     | FULL  | DBG  | Arch_x86, "x86");
00275       DEF_REGISTER(dr1,   0x1     | FULL  | DBG  | Arch_x86, "x86");
00276       DEF_REGISTER(dr2,   0x2     | FULL  | DBG  | Arch_x86, "x86");
00277       DEF_REGISTER(dr3,   0x3     | FULL  | DBG  | Arch_x86, "x86");
00278       DEF_REGISTER(dr4,   0x4     | FULL  | DBG  | Arch_x86, "x86");
00279       DEF_REGISTER(dr5,   0x5     | FULL  | DBG  | Arch_x86, "x86");
00280       DEF_REGISTER(dr6,   0x6     | FULL  | DBG  | Arch_x86, "x86");
00281       DEF_REGISTER(dr7,   0x7     | FULL  | DBG  | Arch_x86, "x86");
00282       DEF_REGISTER(tr0,   0x0     | FULL  | TST  | Arch_x86, "x86");
00283       DEF_REGISTER(tr1,   0x1     | FULL  | TST  | Arch_x86, "x86");
00284       DEF_REGISTER(tr2,   0x2     | FULL  | TST  | Arch_x86, "x86");
00285       DEF_REGISTER(tr3,   0x3     | FULL  | TST  | Arch_x86, "x86");
00286       DEF_REGISTER(tr4,   0x4     | FULL  | TST  | Arch_x86, "x86");
00287       DEF_REGISTER(tr5,   0x5     | FULL  | TST  | Arch_x86, "x86");
00288       DEF_REGISTER(tr6,   0x6     | FULL  | TST  | Arch_x86, "x86");
00289       DEF_REGISTER(tr7,   0x7     | FULL  | TST  | Arch_x86, "x86");
00290       DEF_REGISTER(st0,   0x0     | FPDBL | MMX  | Arch_x86, "x86");
00291       DEF_REGISTER(st1,   0x1     | FPDBL | MMX  | Arch_x86, "x86");
00292       DEF_REGISTER(st2,   0x2     | FPDBL | MMX  | Arch_x86, "x86");
00293       DEF_REGISTER(st3,   0x3     | FPDBL | MMX  | Arch_x86, "x86");
00294       DEF_REGISTER(st4,   0x4     | FPDBL | MMX  | Arch_x86, "x86");
00295       DEF_REGISTER(st5,   0x5     | FPDBL | MMX  | Arch_x86, "x86");
00296       DEF_REGISTER(st6,   0x6     | FPDBL | MMX  | Arch_x86, "x86");
00297       DEF_REGISTER(st7,   0x7     | FPDBL | MMX  | Arch_x86, "x86");
00298    }
00299    namespace x86_64
00300    {
00301       const signed int L_REG = 0x00000100;  //8-bit, first byte
00302       const signed int H_REG = 0x00000200;  //8-bit, second byte
00303       const signed int W_REG = 0x00000300; //16 bit, first work
00304       const signed int D_REG = 0x00000f00; //32 bit, first double word
00305       const signed int FULL  = 0x00000000; //64 bit
00306       const signed int FPDBL = 0x00001000; // 80 bits
00307       const signed int OCT   = 0x00002000; //128 bits
00308       const signed int BIT   = 0x00008000; // 1 bit
00309       const signed int GPR   = 0x00010000;
00310       const signed int SEG   = 0x00020000;
00311       const signed int FLAG  = 0x00030000;
00312       const signed int MISC  = 0x00040000;
00313       const signed int XMM   = 0x00050000;
00314       const signed int MMX   = 0x00060000;
00315       const signed int CTL   = 0x00070000;
00316       const signed int DBG   = 0x00080000;
00317       const signed int TST   = 0x00090000;
00318       const signed int FLAGS = 0x00000000;
00319       const signed int BASEA  = 0x0;
00320       const signed int BASEC  = 0x1;
00321       const signed int BASED  = 0x2;
00322       const signed int BASEB  = 0x3;
00323       const signed int BASESP = 0x4;
00324       const signed int BASEBP = 0x5;
00325       const signed int BASESI = 0x6;
00326       const signed int BASEDI = 0x7;
00327       const signed int BASE8  = 0x8;
00328       const signed int BASE9  = 0x9;
00329       const signed int BASE10 = 0xa;
00330       const signed int BASE11 = 0xb;
00331       const signed int BASE12 = 0xc;
00332       const signed int BASE13 = 0xd;
00333       const signed int BASE14 = 0xe;
00334       const signed int BASE15 = 0xf;
00335 
00336       const signed int CF = x86::CF;
00337       const signed int PF = x86::PF;
00338       const signed int AF = x86::AF;
00339       const signed int ZF = x86::ZF;
00340       const signed int SF = x86::SF;
00341       const signed int TF = x86::TF;
00342       const signed int IF = x86::IF;
00343       const signed int DF = x86::DF;
00344       const signed int OF = x86::OF;
00345       const signed int NT = x86::NT;
00346       const signed int RF = x86::RF;
00347 
00348       DEF_REGISTER(rax,    BASEA  | FULL  | GPR  | Arch_x86_64, "x86_64");
00349       DEF_REGISTER(rcx,    BASEC  | FULL  | GPR  | Arch_x86_64, "x86_64");
00350       DEF_REGISTER(rdx,    BASED  | FULL  | GPR  | Arch_x86_64, "x86_64");
00351       DEF_REGISTER(rbx,    BASEB  | FULL  | GPR  | Arch_x86_64, "x86_64");
00352       DEF_REGISTER(rsp,    BASESP | FULL  | GPR  | Arch_x86_64, "x86_64");
00353       DEF_REGISTER(rbp,    BASEBP | FULL  | GPR  | Arch_x86_64, "x86_64");
00354       DEF_REGISTER(rsi,    BASESI | FULL  | GPR  | Arch_x86_64, "x86_64");
00355       DEF_REGISTER(rdi,    BASEDI | FULL  | GPR  | Arch_x86_64, "x86_64");
00356       DEF_REGISTER(r8,     BASE8  | FULL  | GPR  | Arch_x86_64, "x86_64");
00357       DEF_REGISTER(r9,     BASE9  | FULL  | GPR  | Arch_x86_64, "x86_64");
00358       DEF_REGISTER(r10,    BASE10 | FULL  | GPR  | Arch_x86_64, "x86_64");
00359       DEF_REGISTER(r11,    BASE11 | FULL  | GPR  | Arch_x86_64, "x86_64");
00360       DEF_REGISTER(r12,    BASE12 | FULL  | GPR  | Arch_x86_64, "x86_64");
00361       DEF_REGISTER(r13,    BASE13 | FULL  | GPR  | Arch_x86_64, "x86_64");
00362       DEF_REGISTER(r14,    BASE14 | FULL  | GPR  | Arch_x86_64, "x86_64");
00363       DEF_REGISTER(r15,    BASE15 | FULL  | GPR  | Arch_x86_64, "x86_64");
00364       DEF_REGISTER(ah,     BASEA  | H_REG | GPR  | Arch_x86_64, "x86_64");
00365       DEF_REGISTER(al,     BASEA  | L_REG | GPR  | Arch_x86_64, "x86_64");
00366       DEF_REGISTER(ax,     BASEA  | W_REG | GPR  | Arch_x86_64, "x86_64");
00367       DEF_REGISTER(eax,    BASEA  | D_REG | GPR  | Arch_x86_64, "x86_64");
00368       DEF_REGISTER(ch,     BASEC  | H_REG | GPR  | Arch_x86_64, "x86_64");
00369       DEF_REGISTER(cl,     BASEC  | L_REG | GPR  | Arch_x86_64, "x86_64");
00370       DEF_REGISTER(cx,     BASEC  | W_REG | GPR  | Arch_x86_64, "x86_64");
00371       DEF_REGISTER(ecx,    BASEC  | D_REG | GPR  | Arch_x86_64, "x86_64");
00372       DEF_REGISTER(dh,     BASED  | H_REG | GPR  | Arch_x86_64, "x86_64");
00373       DEF_REGISTER(dl,     BASED  | L_REG | GPR  | Arch_x86_64, "x86_64");
00374       DEF_REGISTER(dx,     BASED  | W_REG | GPR  | Arch_x86_64, "x86_64");
00375       DEF_REGISTER(edx,    BASED  | D_REG | GPR  | Arch_x86_64, "x86_64");
00376       DEF_REGISTER(bh,     BASEB  | H_REG | GPR  | Arch_x86_64, "x86_64");
00377       DEF_REGISTER(bl,     BASEB  | L_REG | GPR  | Arch_x86_64, "x86_64");
00378       DEF_REGISTER(bx,     BASEB  | W_REG | GPR  | Arch_x86_64, "x86_64");
00379       DEF_REGISTER(ebx,    BASEB  | D_REG | GPR  | Arch_x86_64, "x86_64");
00380       DEF_REGISTER(spl,    BASESP | L_REG | GPR  | Arch_x86_64, "x86_64");
00381       DEF_REGISTER(sp,     BASESP | W_REG | GPR  | Arch_x86_64, "x86_64");
00382       DEF_REGISTER(esp,    BASESP | D_REG | GPR  | Arch_x86_64, "x86_64");
00383       DEF_REGISTER(bpl,    BASEBP | L_REG | GPR  | Arch_x86_64, "x86_64");
00384       DEF_REGISTER(bp,     BASEBP | W_REG | GPR  | Arch_x86_64, "x86_64");
00385       DEF_REGISTER(ebp,    BASEBP | D_REG | GPR  | Arch_x86_64, "x86_64");
00386       DEF_REGISTER(dil,    BASEDI | L_REG | GPR  | Arch_x86_64, "x86_64");
00387       DEF_REGISTER(di,     BASEDI | W_REG | GPR  | Arch_x86_64, "x86_64");
00388       DEF_REGISTER(edi,    BASEDI | D_REG | GPR  | Arch_x86_64, "x86_64");
00389       DEF_REGISTER(sil,    BASESI | L_REG | GPR  | Arch_x86_64, "x86_64");
00390       DEF_REGISTER(si,     BASESI | W_REG | GPR  | Arch_x86_64, "x86_64");
00391       DEF_REGISTER(esi,    BASESI | D_REG | GPR  | Arch_x86_64, "x86_64");
00392       DEF_REGISTER(r8b,    BASE8  | L_REG | GPR  | Arch_x86_64, "x86_64");
00393       DEF_REGISTER(r8w,    BASE8  | W_REG | GPR  | Arch_x86_64, "x86_64");
00394       DEF_REGISTER(r8d,    BASE8  | D_REG | GPR  | Arch_x86_64, "x86_64");
00395       DEF_REGISTER(r9b,    BASE9  | L_REG | GPR  | Arch_x86_64, "x86_64");
00396       DEF_REGISTER(r9w,    BASE9  | W_REG | GPR  | Arch_x86_64, "x86_64");
00397       DEF_REGISTER(r9d,    BASE9  | D_REG | GPR  | Arch_x86_64, "x86_64");
00398       DEF_REGISTER(r10b,   BASE10 | L_REG | GPR  | Arch_x86_64, "x86_64");
00399       DEF_REGISTER(r10w,   BASE10 | W_REG | GPR  | Arch_x86_64, "x86_64");
00400       DEF_REGISTER(r10d,   BASE10 | D_REG | GPR  | Arch_x86_64, "x86_64");
00401       DEF_REGISTER(r11b,   BASE11 | L_REG | GPR  | Arch_x86_64, "x86_64");
00402       DEF_REGISTER(r11w,   BASE11 | W_REG | GPR  | Arch_x86_64, "x86_64");
00403       DEF_REGISTER(r11d,   BASE11 | D_REG | GPR  | Arch_x86_64, "x86_64");
00404       DEF_REGISTER(r12b,   BASE12 | L_REG | GPR  | Arch_x86_64, "x86_64");
00405       DEF_REGISTER(r12w,   BASE12 | W_REG | GPR  | Arch_x86_64, "x86_64");
00406       DEF_REGISTER(r12d,   BASE12 | D_REG | GPR  | Arch_x86_64, "x86_64");
00407       DEF_REGISTER(r13b,   BASE13 | L_REG | GPR  | Arch_x86_64, "x86_64");
00408       DEF_REGISTER(r13w,   BASE13 | W_REG | GPR  | Arch_x86_64, "x86_64");
00409       DEF_REGISTER(r13d,   BASE13 | D_REG | GPR  | Arch_x86_64, "x86_64");
00410       DEF_REGISTER(r14b,   BASE14 | L_REG | GPR  | Arch_x86_64, "x86_64");
00411       DEF_REGISTER(r14w,   BASE14 | W_REG | GPR  | Arch_x86_64, "x86_64");
00412       DEF_REGISTER(r14d,   BASE14 | D_REG | GPR  | Arch_x86_64, "x86_64");
00413       DEF_REGISTER(r15b,   BASE15 | L_REG | GPR  | Arch_x86_64, "x86_64");
00414       DEF_REGISTER(r15w,   BASE15 | W_REG | GPR  | Arch_x86_64, "x86_64");
00415       DEF_REGISTER(r15d,   BASE15 | D_REG | GPR  | Arch_x86_64, "x86_64");
00416       DEF_REGISTER(rip,    0x10   | FULL         | Arch_x86_64, "x86_64");
00417       DEF_REGISTER(eip,    0x10   | D_REG        | Arch_x86_64, "x86_64");
00418       DEF_REGISTER(flags,  FLAGS  | FULL  | FLAG | Arch_x86_64, "x86_64");
00419       DEF_REGISTER(cf,     CF     | BIT   | FLAG | Arch_x86_64, "x86_64");
00420       DEF_REGISTER(pf,     PF     | BIT   | FLAG | Arch_x86_64, "x86_64");
00421       DEF_REGISTER(af,     AF     | BIT   | FLAG | Arch_x86_64, "x86_64");
00422       DEF_REGISTER(zf,     ZF     | BIT   | FLAG | Arch_x86_64, "x86_64");
00423       DEF_REGISTER(sf,     SF     | BIT   | FLAG | Arch_x86_64, "x86_64");
00424       DEF_REGISTER(tf,     TF     | BIT   | FLAG | Arch_x86_64, "x86_64");
00425       DEF_REGISTER(if_,    IF     | BIT   | FLAG | Arch_x86_64, "x86_64");
00426       DEF_REGISTER(df,     DF     | BIT   | FLAG | Arch_x86_64, "x86_64");
00427       DEF_REGISTER(of,     OF     | BIT   | FLAG | Arch_x86_64, "x86_64");
00428       DEF_REGISTER(nt_,    NT     | BIT   | FLAG | Arch_x86_64, "x86_64");
00429       DEF_REGISTER(rf,     RF     | BIT   | FLAG | Arch_x86_64, "x86_64");
00430       DEF_REGISTER(ds,     0x0    | FULL  | SEG  | Arch_x86_64, "x86_64");
00431       DEF_REGISTER(es,     0x1    | FULL  | SEG  | Arch_x86_64, "x86_64");
00432       DEF_REGISTER(fs,     0x2    | FULL  | SEG  | Arch_x86_64, "x86_64");
00433       DEF_REGISTER(gs,     0x3    | FULL  | SEG  | Arch_x86_64, "x86_64");
00434       DEF_REGISTER(cs,     0x4    | FULL  | SEG  | Arch_x86_64, "x86_64");
00435       DEF_REGISTER(ss,     0x5    | FULL  | SEG  | Arch_x86_64, "x86_64");
00436       DEF_REGISTER(orax,   0x0    | FULL  | MISC | Arch_x86_64, "x86_64");
00437       DEF_REGISTER(fsbase, 0x1    | FULL  | MISC | Arch_x86_64, "x86_64");
00438       DEF_REGISTER(gsbase, 0x2    | FULL  | MISC | Arch_x86_64, "x86_64");
00439       DEF_REGISTER(xmm0,  0x0     | OCT   | XMM  | Arch_x86_64, "x86_64");
00440       DEF_REGISTER(xmm1,  0x1     | OCT   | XMM  | Arch_x86_64, "x86_64");
00441       DEF_REGISTER(xmm2,  0x2     | OCT   | XMM  | Arch_x86_64, "x86_64");
00442       DEF_REGISTER(xmm3,  0x3     | OCT   | XMM  | Arch_x86_64, "x86_64");
00443       DEF_REGISTER(xmm4,  0x4     | OCT   | XMM  | Arch_x86_64, "x86_64");
00444       DEF_REGISTER(xmm5,  0x5     | OCT   | XMM  | Arch_x86_64, "x86_64");
00445       DEF_REGISTER(xmm6,  0x6     | OCT   | XMM  | Arch_x86_64, "x86_64");
00446       DEF_REGISTER(xmm7,  0x7     | OCT   | XMM  | Arch_x86_64, "x86_64");
00447       DEF_REGISTER(xmm8,  0x8     | OCT   | XMM  | Arch_x86_64, "x86_64");
00448       DEF_REGISTER(xmm9,  0x9     | OCT   | XMM  | Arch_x86_64, "x86_64");
00449       DEF_REGISTER(xmm10, 0xA     | OCT   | XMM  | Arch_x86_64, "x86_64");
00450       DEF_REGISTER(xmm11, 0xB     | OCT   | XMM  | Arch_x86_64, "x86_64");
00451       DEF_REGISTER(xmm12, 0xC     | OCT   | XMM  | Arch_x86_64, "x86_64");
00452       DEF_REGISTER(xmm13, 0xD     | OCT   | XMM  | Arch_x86_64, "x86_64");
00453       DEF_REGISTER(xmm14, 0xE     | OCT   | XMM  | Arch_x86_64, "x86_64");
00454       DEF_REGISTER(xmm15, 0xF     | OCT   | XMM  | Arch_x86_64, "x86_64");
00455       DEF_REGISTER(mm0,   0x0     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00456       DEF_REGISTER(mm1,   0x1     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00457       DEF_REGISTER(mm2,   0x2     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00458       DEF_REGISTER(mm3,   0x3     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00459       DEF_REGISTER(mm4,   0x4     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00460       DEF_REGISTER(mm5,   0x5     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00461       DEF_REGISTER(mm6,   0x6     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00462       DEF_REGISTER(mm7,   0x7     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00463       DEF_REGISTER(cr0,   0x0     | FULL  | CTL  | Arch_x86_64, "x86_64");
00464       DEF_REGISTER(cr1,   0x1     | FULL  | CTL  | Arch_x86_64, "x86_64");
00465       DEF_REGISTER(cr2,   0x2     | FULL  | CTL  | Arch_x86_64, "x86_64");
00466       DEF_REGISTER(cr3,   0x3     | FULL  | CTL  | Arch_x86_64, "x86_64");
00467       DEF_REGISTER(cr4,   0x4     | FULL  | CTL  | Arch_x86_64, "x86_64");
00468       DEF_REGISTER(cr5,   0x5     | FULL  | CTL  | Arch_x86_64, "x86_64");
00469       DEF_REGISTER(cr6,   0x6     | FULL  | CTL  | Arch_x86_64, "x86_64");
00470       DEF_REGISTER(cr7,   0x7     | FULL  | CTL  | Arch_x86_64, "x86_64");
00471       DEF_REGISTER(dr0,   0x0     | FULL  | DBG  | Arch_x86_64, "x86_64");
00472       DEF_REGISTER(dr1,   0x1     | FULL  | DBG  | Arch_x86_64, "x86_64");
00473       DEF_REGISTER(dr2,   0x2     | FULL  | DBG  | Arch_x86_64, "x86_64");
00474       DEF_REGISTER(dr3,   0x3     | FULL  | DBG  | Arch_x86_64, "x86_64");
00475       DEF_REGISTER(dr4,   0x4     | FULL  | DBG  | Arch_x86_64, "x86_64");
00476       DEF_REGISTER(dr5,   0x5     | FULL  | DBG  | Arch_x86_64, "x86_64");
00477       DEF_REGISTER(dr6,   0x6     | FULL  | DBG  | Arch_x86_64, "x86_64");
00478       DEF_REGISTER(dr7,   0x7     | FULL  | DBG  | Arch_x86_64, "x86_64");
00479       DEF_REGISTER(tr0,   0x0     | FULL  | TST  | Arch_x86_64, "x86_64");
00480       DEF_REGISTER(tr1,   0x1     | FULL  | TST  | Arch_x86_64, "x86_64");
00481       DEF_REGISTER(tr2,   0x2     | FULL  | TST  | Arch_x86_64, "x86_64");
00482       DEF_REGISTER(tr3,   0x3     | FULL  | TST  | Arch_x86_64, "x86_64");
00483       DEF_REGISTER(tr4,   0x4     | FULL  | TST  | Arch_x86_64, "x86_64");
00484       DEF_REGISTER(tr5,   0x5     | FULL  | TST  | Arch_x86_64, "x86_64");
00485       DEF_REGISTER(tr6,   0x6     | FULL  | TST  | Arch_x86_64, "x86_64");
00486       DEF_REGISTER(tr7,   0x7     | FULL  | TST  | Arch_x86_64, "x86_64");
00487       DEF_REGISTER(st0,   0x0     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00488       DEF_REGISTER(st1,   0x1     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00489       DEF_REGISTER(st2,   0x2     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00490       DEF_REGISTER(st3,   0x3     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00491       DEF_REGISTER(st4,   0x4     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00492       DEF_REGISTER(st5,   0x5     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00493       DEF_REGISTER(st6,   0x6     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00494       DEF_REGISTER(st7,   0x7     | FPDBL | MMX  | Arch_x86_64, "x86_64");
00495    }
00496    namespace ppc32 {
00497       const signed int GPR   = 0x00010000;
00498       const signed int FPR   = 0x00020000;
00499       const signed int FSR   = 0x00040000;
00500       const signed int SPR   = 0x00080000;
00501       
00502       DEF_REGISTER(r0,       0 | GPR | Arch_ppc32, "ppc32");
00503       DEF_REGISTER(r1,       1 | GPR | Arch_ppc32, "ppc32");
00504       DEF_REGISTER(r2,       2 | GPR | Arch_ppc32, "ppc32");
00505       DEF_REGISTER(r3,       3 | GPR | Arch_ppc32, "ppc32");
00506       DEF_REGISTER(r4,       4 | GPR | Arch_ppc32, "ppc32");
00507       DEF_REGISTER(r5,       5 | GPR | Arch_ppc32, "ppc32");
00508       DEF_REGISTER(r6,       6 | GPR | Arch_ppc32, "ppc32");
00509       DEF_REGISTER(r7,       7 | GPR | Arch_ppc32, "ppc32");
00510       DEF_REGISTER(r8,       8 | GPR | Arch_ppc32, "ppc32");
00511       DEF_REGISTER(r9,       9 | GPR | Arch_ppc32, "ppc32");
00512       DEF_REGISTER(r10,     10 | GPR | Arch_ppc32, "ppc32");
00513       DEF_REGISTER(r11,     11 | GPR | Arch_ppc32, "ppc32");
00514       DEF_REGISTER(r12,     12 | GPR | Arch_ppc32, "ppc32");
00515       DEF_REGISTER(r13,     13 | GPR | Arch_ppc32, "ppc32");
00516       DEF_REGISTER(r14,     14 | GPR | Arch_ppc32, "ppc32");
00517       DEF_REGISTER(r15,     15 | GPR | Arch_ppc32, "ppc32");
00518       DEF_REGISTER(r16,     16 | GPR | Arch_ppc32, "ppc32");
00519       DEF_REGISTER(r17,     17 | GPR | Arch_ppc32, "ppc32");
00520       DEF_REGISTER(r18,     18 | GPR | Arch_ppc32, "ppc32");
00521       DEF_REGISTER(r19,     19 | GPR | Arch_ppc32, "ppc32");
00522       DEF_REGISTER(r20,     20 | GPR | Arch_ppc32, "ppc32");
00523       DEF_REGISTER(r21,     21 | GPR | Arch_ppc32, "ppc32");
00524       DEF_REGISTER(r22,     22 | GPR | Arch_ppc32, "ppc32");
00525       DEF_REGISTER(r23,     23 | GPR | Arch_ppc32, "ppc32");
00526       DEF_REGISTER(r24,     24 | GPR | Arch_ppc32, "ppc32");
00527       DEF_REGISTER(r25,     25 | GPR | Arch_ppc32, "ppc32");
00528       DEF_REGISTER(r26,     26 | GPR | Arch_ppc32, "ppc32");
00529       DEF_REGISTER(r27,     27 | GPR | Arch_ppc32, "ppc32");
00530       DEF_REGISTER(r28,     28 | GPR | Arch_ppc32, "ppc32");
00531       DEF_REGISTER(r29,     29 | GPR | Arch_ppc32, "ppc32");
00532       DEF_REGISTER(r30,     30 | GPR | Arch_ppc32, "ppc32");
00533       DEF_REGISTER(r31,     31 | GPR | Arch_ppc32, "ppc32");
00534       DEF_REGISTER(fpr0,     0 | FPR | Arch_ppc32, "ppc32");
00535       DEF_REGISTER(fpr1,     1 | FPR | Arch_ppc32, "ppc32");
00536       DEF_REGISTER(fpr2,     2 | FPR | Arch_ppc32, "ppc32");
00537       DEF_REGISTER(fpr3,     3 | FPR | Arch_ppc32, "ppc32");
00538       DEF_REGISTER(fpr4,     4 | FPR | Arch_ppc32, "ppc32");
00539       DEF_REGISTER(fpr5,     5 | FPR | Arch_ppc32, "ppc32");
00540       DEF_REGISTER(fpr6,     6 | FPR | Arch_ppc32, "ppc32");
00541       DEF_REGISTER(fpr7,     7 | FPR | Arch_ppc32, "ppc32");
00542       DEF_REGISTER(fpr8,     8 | FPR | Arch_ppc32, "ppc32");
00543       DEF_REGISTER(fpr9,     9 | FPR | Arch_ppc32, "ppc32");
00544       DEF_REGISTER(fpr10,   10 | FPR | Arch_ppc32, "ppc32");
00545       DEF_REGISTER(fpr11,   11 | FPR | Arch_ppc32, "ppc32");
00546       DEF_REGISTER(fpr12,   12 | FPR | Arch_ppc32, "ppc32");
00547       DEF_REGISTER(fpr13,   13 | FPR | Arch_ppc32, "ppc32");
00548       DEF_REGISTER(fpr14,   14 | FPR | Arch_ppc32, "ppc32");
00549       DEF_REGISTER(fpr15,   15 | FPR | Arch_ppc32, "ppc32");
00550       DEF_REGISTER(fpr16,   16 | FPR | Arch_ppc32, "ppc32");
00551       DEF_REGISTER(fpr17,   17 | FPR | Arch_ppc32, "ppc32");
00552       DEF_REGISTER(fpr18,   18 | FPR | Arch_ppc32, "ppc32");
00553       DEF_REGISTER(fpr19,   19 | FPR | Arch_ppc32, "ppc32");
00554       DEF_REGISTER(fpr20,   20 | FPR | Arch_ppc32, "ppc32");
00555       DEF_REGISTER(fpr21,   21 | FPR | Arch_ppc32, "ppc32");
00556       DEF_REGISTER(fpr22,   22 | FPR | Arch_ppc32, "ppc32");
00557       DEF_REGISTER(fpr23,   23 | FPR | Arch_ppc32, "ppc32");
00558       DEF_REGISTER(fpr24,   24 | FPR | Arch_ppc32, "ppc32");
00559       DEF_REGISTER(fpr25,   25 | FPR | Arch_ppc32, "ppc32");
00560       DEF_REGISTER(fpr26,   26 | FPR | Arch_ppc32, "ppc32");
00561       DEF_REGISTER(fpr27,   27 | FPR | Arch_ppc32, "ppc32");
00562       DEF_REGISTER(fpr28,   28 | FPR | Arch_ppc32, "ppc32");
00563       DEF_REGISTER(fpr29,   29 | FPR | Arch_ppc32, "ppc32");
00564       DEF_REGISTER(fpr30,   30 | FPR | Arch_ppc32, "ppc32");
00565       DEF_REGISTER(fpr31,   31 | FPR | Arch_ppc32, "ppc32");
00566       DEF_REGISTER(fsr0,     0 | FSR | Arch_ppc32, "ppc32");
00567       DEF_REGISTER(fsr1,     1 | FSR | Arch_ppc32, "ppc32");
00568       DEF_REGISTER(fsr2,     2 | FSR | Arch_ppc32, "ppc32");
00569       DEF_REGISTER(fsr3,     3 | FSR | Arch_ppc32, "ppc32");
00570       DEF_REGISTER(fsr4,     4 | FSR | Arch_ppc32, "ppc32");
00571       DEF_REGISTER(fsr5,     5 | FSR | Arch_ppc32, "ppc32");
00572       DEF_REGISTER(fsr6,     6 | FSR | Arch_ppc32, "ppc32");
00573       DEF_REGISTER(fsr7,     7 | FSR | Arch_ppc32, "ppc32");
00574       DEF_REGISTER(fsr8,     8 | FSR | Arch_ppc32, "ppc32");
00575       DEF_REGISTER(fsr9,     9 | FSR | Arch_ppc32, "ppc32");
00576       DEF_REGISTER(fsr10,   10 | FSR | Arch_ppc32, "ppc32");
00577       DEF_REGISTER(fsr11,   11 | FSR | Arch_ppc32, "ppc32");
00578       DEF_REGISTER(fsr12,   12 | FSR | Arch_ppc32, "ppc32");
00579       DEF_REGISTER(fsr13,   13 | FSR | Arch_ppc32, "ppc32");
00580       DEF_REGISTER(fsr14,   14 | FSR | Arch_ppc32, "ppc32");
00581       DEF_REGISTER(fsr15,   15 | FSR | Arch_ppc32, "ppc32");
00582       DEF_REGISTER(fsr16,   16 | FSR | Arch_ppc32, "ppc32");
00583       DEF_REGISTER(fsr17,   17 | FSR | Arch_ppc32, "ppc32");
00584       DEF_REGISTER(fsr18,   18 | FSR | Arch_ppc32, "ppc32");
00585       DEF_REGISTER(fsr19,   19 | FSR | Arch_ppc32, "ppc32");
00586       DEF_REGISTER(fsr20,   20 | FSR | Arch_ppc32, "ppc32");
00587       DEF_REGISTER(fsr21,   21 | FSR | Arch_ppc32, "ppc32");
00588       DEF_REGISTER(fsr22,   22 | FSR | Arch_ppc32, "ppc32");
00589       DEF_REGISTER(fsr23,   23 | FSR | Arch_ppc32, "ppc32");
00590       DEF_REGISTER(fsr24,   24 | FSR | Arch_ppc32, "ppc32");
00591       DEF_REGISTER(fsr25,   25 | FSR | Arch_ppc32, "ppc32");
00592       DEF_REGISTER(fsr26,   26 | FSR | Arch_ppc32, "ppc32");
00593       DEF_REGISTER(fsr27,   27 | FSR | Arch_ppc32, "ppc32");
00594       DEF_REGISTER(fsr28,   28 | FSR | Arch_ppc32, "ppc32");
00595       DEF_REGISTER(fsr29,   29 | FSR | Arch_ppc32, "ppc32");
00596       DEF_REGISTER(fsr30,   30 | FSR | Arch_ppc32, "ppc32");
00597       DEF_REGISTER(fsr31,   31 | FSR | Arch_ppc32, "ppc32");
00598       DEF_REGISTER(mq,       0 | SPR | Arch_ppc32, "ppc32");
00599       DEF_REGISTER(xer,      1 | SPR | Arch_ppc32, "ppc32");
00600       DEF_REGISTER(lr,       8 | SPR | Arch_ppc32, "ppc32");
00601       DEF_REGISTER(ctr,      9 | SPR | Arch_ppc32, "ppc32");
00602       DEF_REGISTER(dsisr,   18 | SPR | Arch_ppc32, "ppc32");
00603       DEF_REGISTER(dar,     19 | SPR | Arch_ppc32, "ppc32");
00604       DEF_REGISTER(dec,     22 | SPR | Arch_ppc32, "ppc32");
00605       DEF_REGISTER(sdr1,    25 | SPR | Arch_ppc32, "ppc32");
00606       DEF_REGISTER(srr0,    26 | SPR | Arch_ppc32, "ppc32");
00607       DEF_REGISTER(srr1,    27 | SPR | Arch_ppc32, "ppc32");
00608       DEF_REGISTER(sprg0,  272 | SPR | Arch_ppc32, "ppc32");
00609       DEF_REGISTER(sprg1,  273 | SPR | Arch_ppc32, "ppc32");
00610       DEF_REGISTER(sprg2,  274 | SPR | Arch_ppc32, "ppc32");
00611       DEF_REGISTER(sprg3,  275 | SPR | Arch_ppc32, "ppc32");
00612       DEF_REGISTER(sprg4,  276 | SPR | Arch_ppc32, "ppc32");
00613       DEF_REGISTER(sprg5,  277 | SPR | Arch_ppc32, "ppc32");
00614       DEF_REGISTER(sprg6,  278 | SPR | Arch_ppc32, "ppc32");
00615       DEF_REGISTER(sprg7,  279 | SPR | Arch_ppc32, "ppc32");
00616 
00617       DEF_REGISTER(sprg3_ro,  259 | SPR | Arch_ppc32, "ppc32");
00618       DEF_REGISTER(sprg4_ro,  260 | SPR | Arch_ppc32, "ppc32");
00619       DEF_REGISTER(sprg5_ro,  261 | SPR | Arch_ppc32, "ppc32");
00620       DEF_REGISTER(sprg6_ro,  262 | SPR | Arch_ppc32, "ppc32");
00621       DEF_REGISTER(sprg7_ro,  263 | SPR | Arch_ppc32, "ppc32");
00622 
00623 
00624       DEF_REGISTER(ear,    282 | SPR | Arch_ppc32, "ppc32");
00625       DEF_REGISTER(tbl_wo,    284 | SPR | Arch_ppc32, "ppc32");
00626       DEF_REGISTER(tbl_ro,    268 | SPR | Arch_ppc32, "ppc32");
00627       DEF_REGISTER(tbu_wo,    285 | SPR | Arch_ppc32, "ppc32");
00628       DEF_REGISTER(tbu_ro,    269 | SPR | Arch_ppc32, "ppc32");
00629       DEF_REGISTER(pvr,    287 | SPR | Arch_ppc32, "ppc32");
00630       DEF_REGISTER(ibat0u, 528 | SPR | Arch_ppc32, "ppc32");
00631       DEF_REGISTER(ibat0l, 529 | SPR | Arch_ppc32, "ppc32");
00632       DEF_REGISTER(ibat1u, 530 | SPR | Arch_ppc32, "ppc32");
00633       DEF_REGISTER(ibat1l, 531 | SPR | Arch_ppc32, "ppc32");
00634       DEF_REGISTER(ibat2u, 532 | SPR | Arch_ppc32, "ppc32");
00635       DEF_REGISTER(ibat2l, 533 | SPR | Arch_ppc32, "ppc32");
00636       DEF_REGISTER(ibat3u, 534 | SPR | Arch_ppc32, "ppc32");
00637       DEF_REGISTER(ibat3l, 535 | SPR | Arch_ppc32, "ppc32");
00638       DEF_REGISTER(dbat0u, 536 | SPR | Arch_ppc32, "ppc32");
00639       DEF_REGISTER(dbat0l, 537 | SPR | Arch_ppc32, "ppc32");
00640       DEF_REGISTER(dbat1u, 538 | SPR | Arch_ppc32, "ppc32");
00641       DEF_REGISTER(dbat1l, 539 | SPR | Arch_ppc32, "ppc32");
00642       DEF_REGISTER(dbat2u, 540 | SPR | Arch_ppc32, "ppc32");
00643       DEF_REGISTER(dbat2l, 541 | SPR | Arch_ppc32, "ppc32");
00644       DEF_REGISTER(dbat3u, 542 | SPR | Arch_ppc32, "ppc32");
00645       DEF_REGISTER(dbat3l, 543 | SPR | Arch_ppc32, "ppc32");
00646       DEF_REGISTER(pc,     600 | SPR | Arch_ppc32, "ppc32");
00647       DEF_REGISTER(fpscw,  601 | SPR | Arch_ppc32, "ppc32");
00648       DEF_REGISTER(fpscw0, 602 | SPR | Arch_ppc32, "ppc32");
00649       DEF_REGISTER(fpscw1, 603 | SPR | Arch_ppc32, "ppc32");
00650       DEF_REGISTER(fpscw2, 604 | SPR | Arch_ppc32, "ppc32");
00651       DEF_REGISTER(fpscw3, 605 | SPR | Arch_ppc32, "ppc32");
00652       DEF_REGISTER(fpscw4, 606 | SPR | Arch_ppc32, "ppc32");
00653       DEF_REGISTER(fpscw5, 607 | SPR | Arch_ppc32, "ppc32");
00654       DEF_REGISTER(fpscw6, 608 | SPR | Arch_ppc32, "ppc32");
00655       DEF_REGISTER(fpscw7, 609 | SPR | Arch_ppc32, "ppc32");
00656       DEF_REGISTER(msr,    610 | SPR | Arch_ppc32, "ppc32");
00657       DEF_REGISTER(ivpr,   611 | SPR | Arch_ppc32, "ppc32");
00658       DEF_REGISTER(ivor8,  612 | SPR | Arch_ppc32, "ppc32");
00659       DEF_REGISTER(seg0,   613 | SPR | Arch_ppc32, "ppc32");
00660       DEF_REGISTER(seg1,   614 | SPR | Arch_ppc32, "ppc32");
00661       DEF_REGISTER(seg2,   615 | SPR | Arch_ppc32, "ppc32");
00662       DEF_REGISTER(seg3,   616 | SPR | Arch_ppc32, "ppc32");
00663       DEF_REGISTER(seg4,   617 | SPR | Arch_ppc32, "ppc32");
00664       DEF_REGISTER(seg5,   618 | SPR | Arch_ppc32, "ppc32");
00665       DEF_REGISTER(seg6,   619 | SPR | Arch_ppc32, "ppc32");
00666       DEF_REGISTER(seg7,   620 | SPR | Arch_ppc32, "ppc32");
00667       DEF_REGISTER(cr0,    621 | SPR | Arch_ppc32, "ppc32");
00668       DEF_REGISTER(cr1,    622 | SPR | Arch_ppc32, "ppc32");
00669       DEF_REGISTER(cr2,    623 | SPR | Arch_ppc32, "ppc32");
00670       DEF_REGISTER(cr3,    624 | SPR | Arch_ppc32, "ppc32");
00671       DEF_REGISTER(cr4,    625 | SPR | Arch_ppc32, "ppc32");
00672       DEF_REGISTER(cr5,    626 | SPR | Arch_ppc32, "ppc32");
00673       DEF_REGISTER(cr6,    627 | SPR | Arch_ppc32, "ppc32");
00674       DEF_REGISTER(cr7,    628 | SPR | Arch_ppc32, "ppc32");
00675       DEF_REGISTER(cr,     629 | SPR | Arch_ppc32, "ppc32");
00676       DEF_REGISTER(or3,    630 | SPR | Arch_ppc32, "ppc32");
00677       DEF_REGISTER(trap,   631 | SPR | Arch_ppc32, "ppc32");      
00678    }
00679    namespace ppc64 {
00680       const signed int GPR   = 0x00010000;
00681       const signed int FPR   = 0x00020000;
00682       const signed int FSR   = 0x00040000;
00683       const signed int SPR   = 0x00080000;
00684       
00685       DEF_REGISTER(r0,       0 | GPR | Arch_ppc64, "ppc64");
00686       DEF_REGISTER(r1,       1 | GPR | Arch_ppc64, "ppc64");
00687       DEF_REGISTER(r2,       2 | GPR | Arch_ppc64, "ppc64");
00688       DEF_REGISTER(r3,       3 | GPR | Arch_ppc64, "ppc64");
00689       DEF_REGISTER(r4,       4 | GPR | Arch_ppc64, "ppc64");
00690       DEF_REGISTER(r5,       5 | GPR | Arch_ppc64, "ppc64");
00691       DEF_REGISTER(r6,       6 | GPR | Arch_ppc64, "ppc64");
00692       DEF_REGISTER(r7,       7 | GPR | Arch_ppc64, "ppc64");
00693       DEF_REGISTER(r8,       8 | GPR | Arch_ppc64, "ppc64");
00694       DEF_REGISTER(r9,       9 | GPR | Arch_ppc64, "ppc64");
00695       DEF_REGISTER(r10,     10 | GPR | Arch_ppc64, "ppc64");
00696       DEF_REGISTER(r11,     11 | GPR | Arch_ppc64, "ppc64");
00697       DEF_REGISTER(r12,     12 | GPR | Arch_ppc64, "ppc64");
00698       DEF_REGISTER(r13,     13 | GPR | Arch_ppc64, "ppc64");
00699       DEF_REGISTER(r14,     14 | GPR | Arch_ppc64, "ppc64");
00700       DEF_REGISTER(r15,     15 | GPR | Arch_ppc64, "ppc64");
00701       DEF_REGISTER(r16,     16 | GPR | Arch_ppc64, "ppc64");
00702       DEF_REGISTER(r17,     17 | GPR | Arch_ppc64, "ppc64");
00703       DEF_REGISTER(r18,     18 | GPR | Arch_ppc64, "ppc64");
00704       DEF_REGISTER(r19,     19 | GPR | Arch_ppc64, "ppc64");
00705       DEF_REGISTER(r20,     20 | GPR | Arch_ppc64, "ppc64");
00706       DEF_REGISTER(r21,     21 | GPR | Arch_ppc64, "ppc64");
00707       DEF_REGISTER(r22,     22 | GPR | Arch_ppc64, "ppc64");
00708       DEF_REGISTER(r23,     23 | GPR | Arch_ppc64, "ppc64");
00709       DEF_REGISTER(r24,     24 | GPR | Arch_ppc64, "ppc64");
00710       DEF_REGISTER(r25,     25 | GPR | Arch_ppc64, "ppc64");
00711       DEF_REGISTER(r26,     26 | GPR | Arch_ppc64, "ppc64");
00712       DEF_REGISTER(r27,     27 | GPR | Arch_ppc64, "ppc64");
00713       DEF_REGISTER(r28,     28 | GPR | Arch_ppc64, "ppc64");
00714       DEF_REGISTER(r29,     29 | GPR | Arch_ppc64, "ppc64");
00715       DEF_REGISTER(r30,     30 | GPR | Arch_ppc64, "ppc64");
00716       DEF_REGISTER(r31,     31 | GPR | Arch_ppc64, "ppc64");
00717       DEF_REGISTER(fpr0,     0 | FPR | Arch_ppc64, "ppc64");
00718       DEF_REGISTER(fpr1,     1 | FPR | Arch_ppc64, "ppc64");
00719       DEF_REGISTER(fpr2,     2 | FPR | Arch_ppc64, "ppc64");
00720       DEF_REGISTER(fpr3,     3 | FPR | Arch_ppc64, "ppc64");
00721       DEF_REGISTER(fpr4,     4 | FPR | Arch_ppc64, "ppc64");
00722       DEF_REGISTER(fpr5,     5 | FPR | Arch_ppc64, "ppc64");
00723       DEF_REGISTER(fpr6,     6 | FPR | Arch_ppc64, "ppc64");
00724       DEF_REGISTER(fpr7,     7 | FPR | Arch_ppc64, "ppc64");
00725       DEF_REGISTER(fpr8,     8 | FPR | Arch_ppc64, "ppc64");
00726       DEF_REGISTER(fpr9,     9 | FPR | Arch_ppc64, "ppc64");
00727       DEF_REGISTER(fpr10,   10 | FPR | Arch_ppc64, "ppc64");
00728       DEF_REGISTER(fpr11,   11 | FPR | Arch_ppc64, "ppc64");
00729       DEF_REGISTER(fpr12,   12 | FPR | Arch_ppc64, "ppc64");
00730       DEF_REGISTER(fpr13,   13 | FPR | Arch_ppc64, "ppc64");
00731       DEF_REGISTER(fpr14,   14 | FPR | Arch_ppc64, "ppc64");
00732       DEF_REGISTER(fpr15,   15 | FPR | Arch_ppc64, "ppc64");
00733       DEF_REGISTER(fpr16,   16 | FPR | Arch_ppc64, "ppc64");
00734       DEF_REGISTER(fpr17,   17 | FPR | Arch_ppc64, "ppc64");
00735       DEF_REGISTER(fpr18,   18 | FPR | Arch_ppc64, "ppc64");
00736       DEF_REGISTER(fpr19,   19 | FPR | Arch_ppc64, "ppc64");
00737       DEF_REGISTER(fpr20,   20 | FPR | Arch_ppc64, "ppc64");
00738       DEF_REGISTER(fpr21,   21 | FPR | Arch_ppc64, "ppc64");
00739       DEF_REGISTER(fpr22,   22 | FPR | Arch_ppc64, "ppc64");
00740       DEF_REGISTER(fpr23,   23 | FPR | Arch_ppc64, "ppc64");
00741       DEF_REGISTER(fpr24,   24 | FPR | Arch_ppc64, "ppc64");
00742       DEF_REGISTER(fpr25,   25 | FPR | Arch_ppc64, "ppc64");
00743       DEF_REGISTER(fpr26,   26 | FPR | Arch_ppc64, "ppc64");
00744       DEF_REGISTER(fpr27,   27 | FPR | Arch_ppc64, "ppc64");
00745       DEF_REGISTER(fpr28,   28 | FPR | Arch_ppc64, "ppc64");
00746       DEF_REGISTER(fpr29,   29 | FPR | Arch_ppc64, "ppc64");
00747       DEF_REGISTER(fpr30,   30 | FPR | Arch_ppc64, "ppc64");
00748       DEF_REGISTER(fpr31,   31 | FPR | Arch_ppc64, "ppc64");
00749       DEF_REGISTER(fsr0,     0 | FSR | Arch_ppc64, "ppc64");
00750       DEF_REGISTER(fsr1,     1 | FSR | Arch_ppc64, "ppc64");
00751       DEF_REGISTER(fsr2,     2 | FSR | Arch_ppc64, "ppc64");
00752       DEF_REGISTER(fsr3,     3 | FSR | Arch_ppc64, "ppc64");
00753       DEF_REGISTER(fsr4,     4 | FSR | Arch_ppc64, "ppc64");
00754       DEF_REGISTER(fsr5,     5 | FSR | Arch_ppc64, "ppc64");
00755       DEF_REGISTER(fsr6,     6 | FSR | Arch_ppc64, "ppc64");
00756       DEF_REGISTER(fsr7,     7 | FSR | Arch_ppc64, "ppc64");
00757       DEF_REGISTER(fsr8,     8 | FSR | Arch_ppc64, "ppc64");
00758       DEF_REGISTER(fsr9,     9 | FSR | Arch_ppc64, "ppc64");
00759       DEF_REGISTER(fsr10,   10 | FSR | Arch_ppc64, "ppc64");
00760       DEF_REGISTER(fsr11,   11 | FSR | Arch_ppc64, "ppc64");
00761       DEF_REGISTER(fsr12,   12 | FSR | Arch_ppc64, "ppc64");
00762       DEF_REGISTER(fsr13,   13 | FSR | Arch_ppc64, "ppc64");
00763       DEF_REGISTER(fsr14,   14 | FSR | Arch_ppc64, "ppc64");
00764       DEF_REGISTER(fsr15,   15 | FSR | Arch_ppc64, "ppc64");
00765       DEF_REGISTER(fsr16,   16 | FSR | Arch_ppc64, "ppc64");
00766       DEF_REGISTER(fsr17,   17 | FSR | Arch_ppc64, "ppc64");
00767       DEF_REGISTER(fsr18,   18 | FSR | Arch_ppc64, "ppc64");
00768       DEF_REGISTER(fsr19,   19 | FSR | Arch_ppc64, "ppc64");
00769       DEF_REGISTER(fsr20,   20 | FSR | Arch_ppc64, "ppc64");
00770       DEF_REGISTER(fsr21,   21 | FSR | Arch_ppc64, "ppc64");
00771       DEF_REGISTER(fsr22,   22 | FSR | Arch_ppc64, "ppc64");
00772       DEF_REGISTER(fsr23,   23 | FSR | Arch_ppc64, "ppc64");
00773       DEF_REGISTER(fsr24,   24 | FSR | Arch_ppc64, "ppc64");
00774       DEF_REGISTER(fsr25,   25 | FSR | Arch_ppc64, "ppc64");
00775       DEF_REGISTER(fsr26,   26 | FSR | Arch_ppc64, "ppc64");
00776       DEF_REGISTER(fsr27,   27 | FSR | Arch_ppc64, "ppc64");
00777       DEF_REGISTER(fsr28,   28 | FSR | Arch_ppc64, "ppc64");
00778       DEF_REGISTER(fsr29,   29 | FSR | Arch_ppc64, "ppc64");
00779       DEF_REGISTER(fsr30,   30 | FSR | Arch_ppc64, "ppc64");
00780       DEF_REGISTER(fsr31,   31 | FSR | Arch_ppc64, "ppc64");
00781       DEF_REGISTER(mq,       0 | SPR | Arch_ppc64, "ppc64");
00782       DEF_REGISTER(xer,      1 | SPR | Arch_ppc64, "ppc64");
00783       DEF_REGISTER(lr,       8 | SPR | Arch_ppc64, "ppc64");
00784       DEF_REGISTER(ctr,      9 | SPR | Arch_ppc64, "ppc64");
00785       DEF_REGISTER(dsisr,   18 | SPR | Arch_ppc64, "ppc64");
00786       DEF_REGISTER(dar,     19 | SPR | Arch_ppc64, "ppc64");
00787       DEF_REGISTER(dec,     22 | SPR | Arch_ppc64, "ppc64");
00788       DEF_REGISTER(sdr1,    25 | SPR | Arch_ppc64, "ppc64");
00789       DEF_REGISTER(srr0,    26 | SPR | Arch_ppc64, "ppc64");
00790       DEF_REGISTER(srr1,    27 | SPR | Arch_ppc64, "ppc64");
00791       DEF_REGISTER(sprg0,  272 | SPR | Arch_ppc64, "ppc64");
00792       DEF_REGISTER(sprg1,  273 | SPR | Arch_ppc64, "ppc64");
00793       DEF_REGISTER(sprg2,  274 | SPR | Arch_ppc64, "ppc64");
00794       DEF_REGISTER(sprg3,  275 | SPR | Arch_ppc64, "ppc64");
00795       DEF_REGISTER(sprg4,  276 | SPR | Arch_ppc64, "ppc64");
00796       DEF_REGISTER(sprg5,  277 | SPR | Arch_ppc64, "ppc64");
00797       DEF_REGISTER(sprg6,  278 | SPR | Arch_ppc64, "ppc64");
00798       DEF_REGISTER(sprg7,  279 | SPR | Arch_ppc64, "ppc64");
00799 
00800       DEF_REGISTER(sprg3_ro,  259 | SPR | Arch_ppc64, "ppc64");
00801       DEF_REGISTER(sprg4_ro,  260 | SPR | Arch_ppc64, "ppc64");
00802       DEF_REGISTER(sprg5_ro,  261 | SPR | Arch_ppc64, "ppc64");
00803       DEF_REGISTER(sprg6_ro,  262 | SPR | Arch_ppc64, "ppc64");
00804       DEF_REGISTER(sprg7_ro,  263 | SPR | Arch_ppc64, "ppc64");
00805       DEF_REGISTER(ear,    282 | SPR | Arch_ppc64, "ppc64");
00806       DEF_REGISTER(tbl_wo,    284 | SPR | Arch_ppc64, "ppc64");
00807       DEF_REGISTER(tbl_ro,    268 | SPR | Arch_ppc64, "ppc64");
00808       DEF_REGISTER(tbu_wo,    285 | SPR | Arch_ppc64, "ppc64");
00809       DEF_REGISTER(tbu_ro,    269 | SPR | Arch_ppc64, "ppc64");
00810       DEF_REGISTER(pvr,    287 | SPR | Arch_ppc64, "ppc64");
00811       DEF_REGISTER(ibat0u, 528 | SPR | Arch_ppc64, "ppc64");
00812       DEF_REGISTER(ibat0l, 529 | SPR | Arch_ppc64, "ppc64");
00813       DEF_REGISTER(ibat1u, 530 | SPR | Arch_ppc64, "ppc64");
00814       DEF_REGISTER(ibat1l, 531 | SPR | Arch_ppc64, "ppc64");
00815       DEF_REGISTER(ibat2u, 532 | SPR | Arch_ppc64, "ppc64");
00816       DEF_REGISTER(ibat2l, 533 | SPR | Arch_ppc64, "ppc64");
00817       DEF_REGISTER(ibat3u, 534 | SPR | Arch_ppc64, "ppc64");
00818       DEF_REGISTER(ibat3l, 535 | SPR | Arch_ppc64, "ppc64");
00819       DEF_REGISTER(dbat0u, 536 | SPR | Arch_ppc64, "ppc64");
00820       DEF_REGISTER(dbat0l, 537 | SPR | Arch_ppc64, "ppc64");
00821       DEF_REGISTER(dbat1u, 538 | SPR | Arch_ppc64, "ppc64");
00822       DEF_REGISTER(dbat1l, 539 | SPR | Arch_ppc64, "ppc64");
00823       DEF_REGISTER(dbat2u, 540 | SPR | Arch_ppc64, "ppc64");
00824       DEF_REGISTER(dbat2l, 541 | SPR | Arch_ppc64, "ppc64");
00825       DEF_REGISTER(dbat3u, 542 | SPR | Arch_ppc64, "ppc64");
00826       DEF_REGISTER(dbat3l, 543 | SPR | Arch_ppc64, "ppc64");
00827       DEF_REGISTER(pc,     600 | SPR | Arch_ppc64, "ppc64");
00828       DEF_REGISTER(fpscw,  601 | SPR | Arch_ppc64, "ppc64");
00829       DEF_REGISTER(fpscw0, 602 | SPR | Arch_ppc64, "ppc64");
00830       DEF_REGISTER(fpscw1, 603 | SPR | Arch_ppc64, "ppc64");
00831       DEF_REGISTER(fpscw2, 604 | SPR | Arch_ppc64, "ppc64");
00832       DEF_REGISTER(fpscw3, 605 | SPR | Arch_ppc64, "ppc64");
00833       DEF_REGISTER(fpscw4, 606 | SPR | Arch_ppc64, "ppc64");
00834       DEF_REGISTER(fpscw5, 607 | SPR | Arch_ppc64, "ppc64");
00835       DEF_REGISTER(fpscw6, 608 | SPR | Arch_ppc64, "ppc64");
00836       DEF_REGISTER(fpscw7, 609 | SPR | Arch_ppc64, "ppc64");
00837       DEF_REGISTER(msr,    610 | SPR | Arch_ppc64, "ppc64");
00838       DEF_REGISTER(ivpr,   611 | SPR | Arch_ppc64, "ppc64");
00839       DEF_REGISTER(ivor8,  612 | SPR | Arch_ppc64, "ppc64");
00840       DEF_REGISTER(seg0,   613 | SPR | Arch_ppc64, "ppc64");
00841       DEF_REGISTER(seg1,   614 | SPR | Arch_ppc64, "ppc64");
00842       DEF_REGISTER(seg2,   615 | SPR | Arch_ppc64, "ppc64");
00843       DEF_REGISTER(seg3,   616 | SPR | Arch_ppc64, "ppc64");
00844       DEF_REGISTER(seg4,   617 | SPR | Arch_ppc64, "ppc64");
00845       DEF_REGISTER(seg5,   618 | SPR | Arch_ppc64, "ppc64");
00846       DEF_REGISTER(seg6,   619 | SPR | Arch_ppc64, "ppc64");
00847       DEF_REGISTER(seg7,   620 | SPR | Arch_ppc64, "ppc64");
00848       DEF_REGISTER(cr0,    621 | SPR | Arch_ppc64, "ppc64");
00849       DEF_REGISTER(cr1,    622 | SPR | Arch_ppc64, "ppc64");
00850       DEF_REGISTER(cr2,    623 | SPR | Arch_ppc64, "ppc64");
00851       DEF_REGISTER(cr3,    624 | SPR | Arch_ppc64, "ppc64");
00852       DEF_REGISTER(cr4,    625 | SPR | Arch_ppc64, "ppc64");
00853       DEF_REGISTER(cr5,    626 | SPR | Arch_ppc64, "ppc64");
00854       DEF_REGISTER(cr6,    627 | SPR | Arch_ppc64, "ppc64");
00855       DEF_REGISTER(cr7,    628 | SPR | Arch_ppc64, "ppc64");
00856       DEF_REGISTER(cr,     629 | SPR | Arch_ppc64, "ppc64");
00857       DEF_REGISTER(or3,    630 | SPR | Arch_ppc64, "ppc64");
00858       DEF_REGISTER(trap,   631 | SPR | Arch_ppc64, "ppc64");      
00859    }
00860 }
00861 
00862 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1