Annotation of mstools/samples/sdktools/image/drwatson/alpha/disasm.h, revision 1.1.1.1

1.1       root        1: #ifndef _NTDIS_
                      2: #define _NTDIS_
                      3: 
                      4: // #include <excpt.h>
                      5: // #include <ntdef.h>
                      6: 
                      7: #
                      8: // this stuff is all "#if 0"'ed in alphaops.h
                      9: //
                     10: // Bit manipulations for Alpha instructions
                     11: //
                     12: 
                     13: #define SHFT_OPCODE     26
                     14: #define SHFT_RA         21
                     15: #define SHFT_RB         16
                     16: #define SHFT_JMP_FNC    14
                     17: #define SHFT_OP_FNC     5
                     18: #define SHFT_RBV_TYPE   12
                     19: #define SHFT_LIT        13
                     20: #define SHFT_FP_FNC     5
                     21: 
                     22: #define WIDTH_OPCODE    6
                     23: #define WIDTH_REG       5
                     24: #define WIDTH_MEM_DISP  16
                     25: #define WIDTH_HINT      14
                     26: #define WIDTH_JMP_FNC   2
                     27: #define WIDTH_BR_DISP   21
                     28: #define WIDTH_OP_FNC    7
                     29: #define WIDTH_LIT       8
                     30: #define WIDTH_FP_FNC    11
                     31: #define WIDTH_PAL_FNC   26
                     32: 
                     33: #define BITS_OPCODE     ~(-1 << WIDTH_OPCODE)
                     34: #define BITS_REG        ~(-1 << WIDTH_REG)
                     35: #define BITS_MEM_DISP   ~(-1 << WIDTH_MEM_DISP)
                     36: #define BITS_HINT       ~(-1 << WIDTH_HINT)
                     37: #define BITS_JMP_FNC    ~(-1 << WIDTH_JMP_FNC)
                     38: #define BITS_BR_DISP    ~(-1 << WIDTH_BR_DISP)
                     39: #define BITS_OP_FNC     ~(-1 << WIDTH_OP_FNC)
                     40: #define BITS_LIT        ~(-1 << WIDTH_LIT)
                     41: #define BITS_FP_FNC     ~(-1 << WIDTH_FP_FNC)
                     42: #define BITS_PAL_FNC    ~(-1 << WIDTH_PAL_FNC)
                     43: 
                     44: #define OPCODE(a)       ((BITS_OPCODE & (a)) << SHFT_OPCODE)
                     45: #define REG_A(a)           ((BITS_REG & (a)) << SHFT_RA)
                     46: #define REG_B(a)           ((BITS_REG & (a)) << SHFT_RB)
                     47: #define REG_C(a)           (BITS_REG & (a))
                     48: #define MEM_DISP(a)     (BITS_MEM_DISP & (a))
                     49: #define MEM_FUNC(a)    MEM_DISP(a)
                     50: #define HINT(a)         (BITS_HINT & (a))
                     51: #define JMP_FNC(a)      ((BITS_JMP_FNC & (a)) << SHFT_JMP_FNC)
                     52: #define BR_DISP(a)      (BITS_BR_DISP & (a))
                     53: #define OP_FNC(a)       ((BITS_OP_FNC & (a)) << SHFT_OP_FNC)
                     54: #define RBV_TYPE(a)     ((1 & (a)) << SHFT_RBV_TYPE)
                     55: #define LIT(a)          ((BITS_LIT & (a)) << SHFT_LIT)
                     56: #define FP_FNC(a)       ((BITS_FP_FNC & (a)) << SHFT_FP_FNC)
                     57: #define PAL_FNC(a)      (BITS_PAL_FNC & (a))
                     58: 
                     59: #define MSK_OPCODE      OPCODE(BITS_OPCODE)
                     60: #define MSK_RA          GET_RA(BITS_REG)
                     61: #define MSK_RB          REG_B(BITS_REG)
                     62: #define MSK_RC          REG_C(BITS_REG)
                     63: #define MSK_MEM_DISP    DISP(BITS_MEM_DISP)
                     64: #define MSK_HINT        HINT(BITS_HINT)
                     65: #define MSK_JMP_FNC     JMP_FNC(BITS_JMP_FNC)
                     66: #define MSK_BR_DISP     BR_DISP(BITS_BR_DISP)
                     67: #define MSK_RBV_TYPE    RBV_TYPE(1)
                     68: #define MSK_LIT         LIT(BITS_LIT)
                     69: #define MSK_FP_FNC      FP_FNC(BITS_FP_FNC)
                     70: #define MSK_PAL_FNC     PAL_FNC(BITS_PAL_FNC)
                     71: 
                     72: #define EXTR_OPCODE(a)   (((a) & MSK_OPCODE) >> SHFT_OPCODE)
                     73: #define EXTR_RA(a)       (((a) & MSK_RA) >> SHFT_RA)
                     74: #define EXTR_RB(a)       (((a) & MSK_RB) >> SHFT_RA)
                     75: #define EXTR_RC(a)        ((a) & MSK_RC)
                     76: #define EXTR_MEM_DISP(a)  ((a) & MSK_MEM_DISP)
                     77: #define EXTR_HINT(a)      ((a) & MSK_HINT)
                     78: #define EXTR_JMP_FNC(a)  (((a) & MSK_JMP_FNC) >> SHFT_JMP_FNC)
                     79: #define EXTR_BR_DISP(a)   ((a) & MSK_BR_DISP)
                     80: #define EXTR_RBV_TYPE(a) (((a) & MSK_RBV_TYPE) >> SHFT_RBV_TYPE)
                     81: #define EXTR_LIT(a)      (((a) & MSK_LIT) >> SHFT_LIT)
                     82: #define EXTR_FP_FNC(a)   (((a) & MSK_FP_FNC) >> SHFT_FP_FNC)
                     83: #define EXTR_PAL_FNC(a)  ((a) & MSK_PAL_FNC)
                     84: 
                     85: 
                     86: 
                     87: //
                     88: // Bit manipulations for EV4 PAL mode instructions
                     89: //
                     90: 
                     91: #define SHFT_EV4_IBOX      5
                     92: #define SHFT_EV4_ABOX      6
                     93: #define SHFT_EV4_PALTEMP   7
                     94: #define SHFT_EV4_QWORD     12
                     95: #define SHFT_EV4_RWCHECK   13
                     96: #define SHFT_EV4_ALT       14
                     97: #define SHFT_EV4_PHYSICAL  15
                     98: 
                     99: #define WIDTH_EV4_INDEX    5
                    100: #define WIDTH_EV4_IBOX     1
                    101: #define WIDTH_EV4_ABOX     1
                    102: #define WIDTH_EV4_PALTEMP  1
                    103: #define WIDTH_EV4_DISP     12
                    104: #define WIDTH_EV4_QWORD    1
                    105: #define WIDTH_EV4_RWCHECK  1
                    106: #define WIDTH_EV4_ALT      1
                    107: #define WIDTH_EV4_PHYSICAL 1
                    108: 
                    109: #define BITS_EV4_INDEX     ~(-1 << WIDTH_EV4_INDEX)
                    110: #define BITS_EV4_IBOX      ~(-1 << WIDTH_EV4_IBOX)
                    111: #define BITS_EV4_ABOX      ~(-1 << WIDTH_EV4_ABOX)
                    112: #define BITS_EV4_PALTEMP   ~(-1 << WIDTH_EV4_PALTEMP)
                    113: #define BITS_EV4_DISP      ~(-1 << WIDTH_EV4_DISP)
                    114: #define BITS_EV4_QWORD     ~(-1 << WIDTH_EV4_QWORD)
                    115: #define BITS_EV4_RWCHECK   ~(-1 << WIDTH_EV4_RWCHECK)
                    116: #define BITS_EV4_ALT       ~(-1 << WIDTH_EV4_ALT)
                    117: #define BITS_EV4_PHYSICAL  ~(-1 << WIDTH_EV4_PHYSICAL)
                    118: 
                    119: #define EV4_INDEX(a)     (BITS_EV4_INDEX & (a))
                    120: #define EV4_IBOX(a)     ((BITS_EV4_IBOX & (a)) << SHFT_EV4_IBOX)
                    121: #define EV4_ABOX(a)     ((BITS_EV4_ABOX & (a)) << SHFT_EV4_ABOX)
                    122: #define EV4_PALTEMP(a)  ((BITS_EV4_PALTEMP & (a)) << SHFT_EV4_PALTEMP)
                    123: #define EV4_DISP(a)      (BITS_EV4_DISP & (a))
                    124: #define EV4_QWORD(a)    ((BITS_EV4_QWORD & (a)) << SHFT_EV4_QWORD)
                    125: #define EV4_RWCHECK(a)  ((BITS_EV4_RWCHECK & (a)) << SHFT_EV4_RWCHECK)
                    126: #define EV4_ALT(a)      ((BITS_EV4_ALT & (a)) << SHFT_EV4_ALT)
                    127: #define EV4_PHYSICAL(a) ((BITS_EV4_PHYSICAL & (a)) << SHFT_EV4_PHYSICAL)
                    128: 
                    129: #define MSK_EV4_INDEX       EV4_INDEX(BITS_EV4_INDEX)
                    130: #define MSK_EV4_IBOX        EV4_IBOX(BITS_EV4_IBOX)
                    131: #define MSK_EV4_ABOX        EV4_ABOX(BITS_EV4_ABOX)
                    132: #define MSK_EV4_PALTEMP     EV4_PALTEMP(BITS_EV4_PALTEMP)
                    133: #define MSK_EV4_PR          (MSK_EV4_INDEX | MSK_EV4_IBOX | MSK_EV4_ABOX | MSK_EV4_PALTEMP)
                    134: #define MSK_EV4_DISP        EV4_DISP(BITS_EV4_DISP)
                    135: #define MSK_EV4_QWORD       EV4_QWORD(BITS_EV4_QWORD)
                    136: #define MSK_EV4_RWCHECK     EV4_RWCHECK(BITS_EV4_RWCHECK)
                    137: #define MSK_EV4_ALT         EV4_ALT(BITS_EV4_ALT)
                    138: #define MSK_EV4_PHYSICAL    EV4_PHYSICAL(BITS_EV4_PHYSICAL)
                    139: 
                    140: #define EXTR_EV4_INDEX(a)        (MSK_EV4_INDEX & (a))
                    141: #define EXTR_EV4_IBOX(a)        ((MSK_EV4_IBOX & (a)) >> SHFT_EV4_IBOX)
                    142: #define EXTR_EV4_ABOX(a)        ((MSK_EV4_ABOX & (a)) >> SHFT_EV4_ABOX)
                    143: #define EXTR_EV4_PALTEMP(a)     ((MSK_EV4_PALTEMP & (a)) >> SHFT_EV4_PALTEMP)
                    144: #define EXTR_EV4_DISP(a)         (MSK_EV4_DISP & (a))
                    145: #define EXTR_EV4_QWORD(a)       ((MSK_EV4_QWORD & (a)) >> SHFT_EV4_QWORD)
                    146: #define EXTR_EV4_RWCHECK(a)     ((MSK_EV4_RWCHECK & (a)) >> SHFT_EV4_RWCHECK)
                    147: #define EXTR_EV4_ALT(a)         ((MSK_EV4_ALT & (a)) >> SHFT_EV4_ALT)
                    148: #define EXTR_EV4_PHYSICAL(a)    ((MSK_EV4_PHYSICAL & (a)) >> SHFT_EV4_PHYSICAL)
                    149: 
                    150: #define EV4_TB_TAG        (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(0))
                    151: #define EV4_ITB_PTE       (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(1))
                    152: #define EV4_ICCSR         (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(2))
                    153: #define EV4_ITM_PTE_TEMP  (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(3))
                    154: #define EV4_EXC_ADDR      (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(4))
                    155: #define EV4_SL_RCV        (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(5))
                    156: #define EV4_ITBZAP        (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(6))
                    157: #define EV4_ITBASM        (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(7))
                    158: #define EV4_ITBIS         (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(8))
                    159: #define EV4_PS            (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(9))
                    160: #define EV4_EXC_SUM       (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(10))
                    161: #define EV4_PAL_BASE      (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(11))
                    162: #define EV4_HIRR          (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(12))
                    163: #define EV4_SIRR          (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(13))
                    164: #define EV4_ASTRR         (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(14))
                    165: #define EV4_HIER          (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(16))
                    166: #define EV4_SIER          (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(17))
                    167: #define EV4_ASTER         (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(18))
                    168: #define EV4_SL_CLR        (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(19))
                    169: #define EV4_SL_XMIT       (EV4_PALTEMP(0) | EV4_ABOX(0) | EV4_IBOX(1) | EV4_INDEX(22))
                    170: #define EV4_DTB_CTL       (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(0))
                    171: #define EV4_DTB_PTE       (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(2))
                    172: #define EV4_DTB_PTE_TEMP  (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(3))
                    173: #define EV4_MMCSR         (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(4))
                    174: #define EV4_VA            (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(5))
                    175: #define EV4_DTBZAP        (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(6))
                    176: #define EV4_DTASM         (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(7))
                    177: #define EV4_DTBIS         (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(8))
                    178: #define EV4_BIU_ADDR      (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(9))
                    179: #define EV4_BIU_STAT      (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(10))
                    180: #define EV4_DC_ADDR       (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(11))
                    181: #define EV4_DC_STAT       (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(12))
                    182: #define EV4_FILL_ADDR     (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(13))
                    183: #define EV4_ABOX_CTL      (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(14))
                    184: #define EV4_ALT_MODE      (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(15))
                    185: #define EV4_CC            (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(16))
                    186: #define EV4_CC_CTL        (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(17))
                    187: #define EV4_BIU_CTL       (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(18))
                    188: #define EV4_FILL_SYNDROME (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(19))
                    189: #define EV4_BC_TAG        (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(20))
                    190: #define EV4_FLUSH_IC      (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(21))
                    191: #define EV4_FLUSH_IC_ASM  (EV4_PALTEMP(0) | EV4_ABOX(1) | EV4_IBOX(0) | EV4_INDEX(23))
                    192: #define EV4_PAL_TEMP(x)   (EV4_PALTEMP(1) | EV4_ABOX(0) | EV4_IBOX(0) | EV4_INDEX(x))
                    193: 
                    194: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.