/[gxemul]/trunk/src/include/cpu_alpha.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/src/include/cpu_alpha.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 31 by dpavlin, Mon Oct 8 16:20:26 2007 UTC revision 32 by dpavlin, Mon Oct 8 16:20:58 2007 UTC
# Line 28  Line 28 
28   *  SUCH DAMAGE.   *  SUCH DAMAGE.
29   *   *
30   *   *
31   *  $Id: cpu_alpha.h,v 1.39 2006/07/16 13:32:27 debug Exp $   *  $Id: cpu_alpha.h,v 1.44 2006/09/01 11:39:50 debug Exp $
32   */   */
33    
34  #include "misc.h"  #include "misc.h"
35    
36    #include "alpha_cpu.h"
37    
38    
39  /*  ALPHA CPU types:  */  /*  ALPHA CPU types:  */
40  struct alpha_cpu_type_def {  struct alpha_cpu_type_def {
41          char            *name;          char            *name;
42            uint64_t        pcs_type;       /*  See alpha_rpb.h  */
43          int             features;          int             features;
44            int             implver;
45          int             icache_shift;          int             icache_shift;
46          int             ilinesize;          int             ilinesize;
47          int             iway;          int             iway;
# Line 53  struct alpha_cpu_type_def { Line 57  struct alpha_cpu_type_def {
57  #define ALPHA_FEATURE_BWX               1  #define ALPHA_FEATURE_BWX               1
58    
59  #define ALPHA_CPU_TYPE_DEFS     {                                       \  #define ALPHA_CPU_TYPE_DEFS     {                                       \
60          { "21064",      0,       16,5,2, 16,5,2,  0,0,0 },              \          { "21064",      0x000000002ULL, 0, 0, 16,5,2, 16,5,2,  0,0,0 }, \
61          { "21066",      0,       16,5,2, 16,5,2,  0,0,0 },              \          { "21066",      0x200000004ULL, 0, 0, 16,5,2, 16,5,2,  0,0,0 }, \
62          { "21164",      0,       16,5,2, 16,5,2,  0,0,0 },              \          { "21164",      0x000000005ULL, 0, 1, 16,5,2, 16,5,2,  0,0,0 }, \
63          { "21164A-2",   0,       16,5,2, 16,5,2,  0,0,0 },              \          { "21164A-2",   0x000000007ULL, 0, 1, 16,5,2, 16,5,2,  0,0,0 }, \
64          { "21164PC",    0,       16,5,2, 16,5,2,  0,0,0 },              \          { "21164PC",    0x000000009ULL, 0, 1, 16,5,2, 16,5,2,  0,0,0 }, \
65          { "21264",      0,       16,5,2, 16,5,2,  0,0,0 },              \          { "21264",      0x00000000dULL, 0, 2, 16,5,2, 16,5,2,  0,0,0 }, \
66          { "21364",      0,       16,5,2, 16,5,2,  0,0,0 },              \          { "21364",      0x000000000ULL, 0, 3, 16,5,2, 16,5,2,  0,0,0 }, \
67          { NULL,         0,        0,0,0,  0,0,0,   0,0,0 }              }          { NULL,         0x000000000ULL, 0, 0,  0,0,0,  0,0,0,  0,0,0 }  }
68    
69    
70  struct cpu_family;  struct cpu_family;
71    
72    /*  ALPHA_KENTRY_INT .. ALPHA_KENTRY_SYS  */
73    #define N_ALPHA_KENTRY          6
74    
75  #define ALPHA_V0                0  #define ALPHA_V0                0
76  #define ALPHA_A0                16  #define ALPHA_A0                16
77  #define ALPHA_A1                17  #define ALPHA_A1                17
# Line 85  struct cpu_family; Line 92  struct cpu_family;
92          "t10", "t11", "ra", "t12", "at", "gp", "sp", "zero"     }          "t10", "t11", "ra", "t12", "at", "gp", "sp", "zero"     }
93    
94    
95    /*  Dyntrans definitions:  */
96    
97  #define ALPHA_N_IC_ARGS                 3  #define ALPHA_N_IC_ARGS                 3
98  #define ALPHA_INSTR_ALIGNMENT_SHIFT     2  #define ALPHA_INSTR_ALIGNMENT_SHIFT     2
99  #define ALPHA_IC_ENTRIES_SHIFT          11  #define ALPHA_IC_ENTRIES_SHIFT          11
# Line 103  DYNTRANS_MISC_DECLARATIONS(alpha,ALPHA,u Line 112  DYNTRANS_MISC_DECLARATIONS(alpha,ALPHA,u
112  DYNTRANS_MISC64_DECLARATIONS(alpha,ALPHA,uint8_t)  DYNTRANS_MISC64_DECLARATIONS(alpha,ALPHA,uint8_t)
113    
114    
115    #define ALPHA_PAGESHIFT         13
116    
117    
118  struct alpha_cpu {  struct alpha_cpu {
119            struct alpha_cpu_type_def       cpu_type;
120    
121    
122          /*          /*
123           *  General Purpose Registers:           *  General Purpose Registers:
124           */           */
# Line 119  struct alpha_cpu { Line 134  struct alpha_cpu {
134          uint64_t                load_linked_addr;          uint64_t                load_linked_addr;
135          int                     ll_flag;          int                     ll_flag;
136    
137          /*  PALcode specific:  */          /*  OSF1 PALcode specific:  */
138          uint64_t                wrvptptr;          uint64_t                vptptr;         /*  Virtual Page Table Ptr  */
139          uint64_t                sysvalue;          uint64_t                sysvalue;
140            uint64_t                kgp;            /*  Kernel GP  */
141            uint64_t                kentry[N_ALPHA_KENTRY];
142            uint64_t                ctx;            /*  Ptr to current PCB (?)  */
143            struct alpha_pcb        pcb;            /*  Process Control Block  */
144    
145    
146          /*          /*

Legend:
Removed from v.31  
changed lines
  Added in v.32

  ViewVC Help
Powered by ViewVC 1.1.26