00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
#ifndef _AXP21164_
00019 
#define _AXP21164_
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 #define PROCESSOR_BUS_21164 21164
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 #define EV5_USER_IO_ADDRESS_SPACE (ULONGLONG)(0x800000000)
00037 
00038 #define EV5_IO_BASE_PHYSICAL 0x8000000000
00039 
00040 
00041 
00042 
00043 
00044 #define ITB_ENTRIES_21164 32
00045 #define DTB_ENTRIES_21164 64
00046 #define PAL_TEMPS_21164   24
00047 
00048 
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 typedef union _ITB_PTE_21164{
00057     
struct {
00058         ULONG 
Ignore1: 4;
00059         ULONG 
Asm: 1;
00060         ULONG 
Gh: 2;
00061         ULONG 
Ignore2: 1;
00062         ULONG 
Kre: 1;
00063         ULONG 
Ere: 1;
00064         ULONG 
Sre: 1;
00065         ULONG 
Ure: 1;
00066         ULONG 
Ignore3: 20;
00067         ULONG 
Pfn: 27;
00068         ULONG 
Ignore4: 5;
00069     } ;
00070     ULONGLONG 
all;
00071 } 
ITB_PTE_21164, *
PITB_PTE_21164;
00072 
00073 
00074 
00075 
00076 
00077 typedef union _ITB_PTE_TEMP_21164{
00078     
struct {
00079         ULONG 
Raz1: 13;
00080         ULONG 
Asm: 1;
00081         ULONG 
Raz2: 4;
00082         ULONG 
Kre: 1;
00083         ULONG 
Ere: 1;
00084         ULONG 
Sre: 1;
00085         ULONG 
Ure: 1;
00086         ULONG 
Raz3: 7;
00087         ULONG 
Ghd: 3;
00088         ULONG 
Pfn: 27;
00089         ULONG 
Raz4: 5;
00090     } ;
00091     ULONGLONG 
all;
00092 } 
ITB_PTE_TEMP_21164, *
PITB_PTE_TEMP_21164;
00093 
00094 
00095 
00096 
00097 
00098 typedef union _ITB_ASN_21164{
00099     
struct {
00100         ULONG 
Raz1: 4;
00101         ULONG 
Asn: 7;
00102         ULONG 
Raz2: 21;
00103         ULONG 
Raz3: 32;
00104     } ;
00105     ULONGLONG 
all;
00106 } 
ITB_ASN_21164, *
PITB_ASN_21164;
00107 
00108 
00109 
00110 
00111 
00112 typedef union _ICPERR_STAT_21164{
00113     
struct {
00114         ULONG 
Raz1: 11;
00115         ULONG 
Dpe: 1;
00116         ULONG 
Tpe: 1;
00117         ULONG 
Tmr: 1;
00118         ULONG 
Raz2: 18;
00119         ULONG 
Raz3: 32;
00120     } ;
00121     ULONGLONG 
all;
00122 } 
ICPERR_STAT_21164, *
PICPERR_STAT_21164;
00123 
00124 
00125 
00126 
00127 
00128 typedef union _EXC_SUM_21164{
00129     
struct {
00130         ULONG 
Raz1: 10;
00131         ULONG 
Swc: 1;
00132         ULONG 
Inv: 1;
00133         ULONG 
Dze: 1;
00134         ULONG 
Fov: 1;
00135         ULONG 
Unf: 1;
00136         ULONG 
Ine: 1;
00137         ULONG 
Iov: 1;
00138         ULONG 
Raz2: 15;
00139         ULONG 
Raz3: 32;
00140     } ;
00141     ULONGLONG 
all;
00142 } 
EXC_SUM_21164, *
PEXC_SUM_21164;
00143 
00144 
00145 
00146 
00147 
00148 typedef union _PS_21164{
00149     
struct {
00150         ULONG 
Raz1: 3;
00151         ULONG 
Cm0: 1;
00152         ULONG 
Cm1: 1;
00153         ULONG 
Raz2: 27;
00154         ULONG 
Raz3: 32;
00155     } ;
00156     ULONGLONG 
all;
00157 } 
PS_21164, *
PPS_21164;
00158 
00159 
00160 
00161 
00162 
00163 typedef union _ICSR_21164{
00164     
struct {
00165         ULONG 
Raz1: 8;
00166         ULONG 
Pme: 2;
00167         ULONG 
Raz2: 7;
00168         ULONG 
Byte: 1;
00169         ULONG 
Raz3: 1;
00170         ULONG 
Mve: 1;   
00171         ULONG 
Imsk: 4;
00172         ULONG 
Tmm: 1;
00173         ULONG 
Tmd: 1;
00174         ULONG 
Fpe: 1;
00175         ULONG 
Hwe: 1;
00176         ULONG 
Sp32: 1;
00177         ULONG 
Sp43: 1;
00178         ULONG 
Sde: 1;
00179         ULONG 
Raz4: 1;
00180         ULONG 
Crde: 1;
00181         ULONG 
Sle: 1;
00182         ULONG 
Fms: 1;
00183         ULONG 
Fbt: 1;
00184         ULONG 
Fbd: 1;
00185         ULONG 
Dbs: 1;
00186         ULONG 
Ista: 1;
00187         ULONG 
Tst: 1;
00188         ULONG 
Raz5: 24;
00189     } ;
00190     ULONGLONG 
all;
00191 } 
ICSR_21164, *
PICSR_21164;
00192 
00193 
00194 
00195 
00196 
00197 
00198 typedef union _SIRR_21164{
00199     
struct {
00200         ULONG 
Raz1: 4;
00201         ULONG 
Sir: 15;
00202         ULONG 
Raz2: 13;
00203         ULONG 
Raz3: 32;
00204     } ;
00205     ULONGLONG 
all;
00206 } 
SIRR_21164, *
PSIRR_21164;
00207 
00208 
00209 
00210 
00211 
00212 typedef union _HWINT_CLR_21164{
00213     
struct {
00214         ULONG 
Raz1: 27;
00215         ULONG 
Pc0c: 1;
00216         ULONG 
Pc1c: 1;
00217         ULONG 
Pc2c: 1;
00218         ULONG 
Raz2: 2;
00219         ULONG 
Crdc: 1;
00220         ULONG 
Slc: 1;
00221         ULONG 
Raz3: 30;
00222     } ;
00223     ULONGLONG 
all;
00224 } 
HWINT_CLR_21164, *
PHW_INTCLR_21164;
00225 
00226 
00227 
00228 
00229 
00230 typedef union _ISR_21164{
00231     
struct {
00232         ULONG 
Ast: 4;
00233         ULONG 
Sirr: 15;
00234         ULONG 
Atr: 1;
00235         ULONG 
I20: 1;
00236         ULONG 
I21: 1;
00237         ULONG 
I22: 1;
00238         ULONG 
I23: 1;
00239         ULONG 
Raz1: 3;
00240         ULONG 
Pc0: 1;
00241         ULONG 
Pc1: 1;
00242         ULONG 
Pc2: 1;
00243         ULONG 
Pfl: 1;
00244         ULONG 
Mck: 1;
00245         ULONG 
Crd: 1;
00246         ULONG 
Sli: 1;
00247         ULONG 
Hlt: 1;
00248         ULONG 
Raz2: 29;
00249     } ;
00250     ULONGLONG 
all;
00251 } 
ISR_21164, *
PISR_21164;
00252 
00253 
00254 
00255 
00256 
00257 typedef union _PMCTR_21164{
00258     
struct {
00259         ULONG 
Sel2: 4;
00260         ULONG 
Sel1: 4;
00261         ULONG 
Kk: 1;
00262         ULONG 
Kp: 1;
00263         ULONG 
Ctl2: 2;
00264         ULONG 
Ctl1: 2;
00265         ULONG 
Ctl0: 2;
00266         ULONG 
Ctr2: 14;
00267         ULONG 
Ku: 1;
00268         ULONG 
Sel0: 1;
00269         ULONG 
Ctr1: 16;
00270         ULONG 
Ctr0: 16;
00271     } ;
00272     ULONGLONG 
all;
00273 } 
PMCTR_21164, *
PPMCTR_21164;
00274 
00275 
00276 
00277 
00278 
00279 
00280 
00281 
00282 
00283 typedef union _DTB_ASN_21164{
00284     
struct {
00285         ULONG 
Raz1: 32;
00286         ULONG 
Raz2: 25;
00287         ULONG 
Asn: 7;
00288     } ;
00289     ULONGLONG 
all;
00290 } 
DTB_ASN_21164, *
PDTB_ASN_21164;
00291 
00292 
00293 
00294 
00295 
00296 typedef union _DTB_CM_21164{
00297     
struct {
00298         ULONG 
Raz1: 3;
00299         ULONG 
Cm0: 1;
00300         ULONG 
Cm1: 1;
00301         ULONG 
Raz2: 27;
00302         ULONG 
Raz3: 32;
00303     } ;
00304     ULONGLONG 
all;
00305 } 
DTB_CM_21164, *
PDTB_CM_21164;
00306 
00307 
00308 
00309 
00310 
00311 typedef union _DTB_PTE_21164{
00312     
struct {
00313         ULONG 
Ignore1: 1;
00314         ULONG 
For: 1;
00315         ULONG 
Fow: 1;
00316         ULONG 
Ignore2: 1;
00317         ULONG 
Asm: 1;
00318         ULONG 
Gh: 2;
00319         ULONG 
Ignore3: 1;
00320         ULONG 
Kre: 1;
00321         ULONG 
Ere: 1;
00322         ULONG 
Sre: 1;
00323         ULONG 
Ure: 1;
00324         ULONG 
Kwe: 1;
00325         ULONG 
Ewe: 1;
00326         ULONG 
Swe: 1;
00327         ULONG 
Uwe: 1;
00328         ULONG 
Ignore4: 16;
00329         ULONG 
Pfn: 27;
00330         ULONG 
Ignore5: 5;
00331     } ;
00332     ULONGLONG 
all;
00333 } 
DTB_PTE_21164, *
PDTB_PTE_21164;
00334 
00335 
00336 
00337 
00338 
00339 typedef union _DTB_PTE_TEMP_21164{
00340     
struct {
00341         ULONG 
For: 1;
00342         ULONG 
Fow: 1;
00343         ULONG 
Kre: 1;
00344         ULONG 
Ere: 1;
00345         ULONG 
Sre: 1;
00346         ULONG 
Ure: 1;
00347         ULONG 
Kwe: 1;
00348         ULONG 
Ewe: 1;
00349         ULONG 
Swe: 1;
00350         ULONG 
Uwe: 1;
00351         ULONG 
Raz1: 3;
00352         ULONG 
Pfn31_13: 19;
00353         ULONG 
Pfn39_32: 8;
00354         ULONG 
Raz2: 24;
00355     } ;
00356     ULONGLONG 
all;
00357 } 
DTB_PTE_TEMP_21164, *
PDTB_PTE_TEMP_21164;
00358 
00359 
00360 
00361 
00362 
00363 typedef union _MM_STAT_21164{
00364     
struct {
00365         ULONG 
Wr: 1;
00366         ULONG 
Acv: 1;
00367         ULONG 
For: 1;
00368         ULONG 
Fow: 1;
00369         ULONG 
DtbMiss: 1;
00370         ULONG 
BadVa: 1;
00371         ULONG 
Ra: 5;
00372         ULONG 
Opcode: 6;
00373         ULONG 
Raz1: 15;
00374         ULONG 
Raz2: 32;
00375     } ;
00376     ULONGLONG 
all;
00377 } 
MM_STAT_21164, *
PMM_STAT_21164;
00378 
00379 
00380 
00381 
00382 
00383 typedef union _DC_PERR_STAT_21164{
00384     
struct {
00385         ULONG 
Seo: 1;
00386         ULONG 
Lock: 1;
00387         ULONG 
Dp0: 1;
00388         ULONG 
Dp1: 1;
00389         ULONG 
Tp0: 1;
00390         ULONG 
Tp1: 1;
00391         ULONG 
Raz1: 26;
00392         ULONG 
Raz2: 32;
00393     } ;
00394     ULONGLONG 
all;
00395 } 
DC_PERR_STAT_21164, *
PDC_PERR_STAT_21164;
00396 
00397 
00398 
00399 
00400 
00401 typedef union _MCSR_21164{
00402     
struct {
00403         ULONG 
MBigEndian: 1;
00404         ULONG 
Sp32: 1;
00405         ULONG 
Sp43: 1;
00406         ULONG 
DbgTestSel0: 1;
00407         ULONG 
EBigEndian: 1;
00408         ULONG 
DbgTestSel1: 1;
00409         ULONG 
Raz1: 26;
00410         ULONG 
Raz2: 32; 
00411     } ;
00412     ULONGLONG 
all;
00413 } 
MCSR_21164, *
PMCSR_21164;
00414 
00415 
00416 
00417 
00418 
00419 typedef union _DC_MODE_21164{
00420     
struct {
00421         ULONG 
DcEna: 1;
00422         ULONG 
DcFhit: 1;
00423         ULONG 
DcBadParity: 1;
00424         ULONG 
DcPerrDisable: 1;
00425         ULONG 
DcDoa: 1;
00426         ULONG 
Raz1: 27;
00427         ULONG 
Raz2: 32;
00428     } ;
00429     ULONGLONG 
all;
00430 } 
DC_MODE_21164, *
PDC_MODE_21164;
00431 
00432 
00433 
00434 
00435 
00436 typedef union _MAF_MODE_21164{
00437     
struct {
00438         ULONG 
DreadNomerge: 1;
00439         ULONG 
WbFlushAlways: 1;
00440         ULONG 
WbNomerge: 1;
00441         ULONG 
IoNomerge: 1;
00442         ULONG 
WbCntDisable: 1;
00443         ULONG 
MafArbDisable: 1;
00444         ULONG 
DreadPending: 1;
00445         ULONG 
WbPending: 1;
00446         ULONG 
Raz1: 24;
00447         ULONG 
Raz2: 32;
00448     } ;
00449     ULONGLONG 
all;
00450 } 
MAF_MODE_21164, *
PMAF_MODE_21164;
00451 
00452 
00453 
00454 
00455 
00456 typedef union _ALT_MODE_21164{
00457     
struct {
00458         ULONG 
Ignore1: 3;
00459         ULONG 
Am: 2;
00460         ULONG 
Ignore2: 27;
00461         ULONG 
Ignore3: 32;
00462     } ;
00463     ULONGLONG 
all;
00464 } 
ALT_MODE_21164, *
PALT_MODE_21164;
00465 
00466 
00467 
00468 
00469 
00470 typedef union _CC_CTL_21164{
00471     
struct {
00472         ULONG 
Count;
00473         ULONG 
CcEna: 1;
00474         ULONG 
Ignore: 31;
00475     } ;
00476     ULONGLONG 
all;
00477 } 
CC_CTL_21164, *
PCC_CTL_21164;
00478 
00479 
00480 
00481 
00482 
00483 
00484 
00485 
00486 
00487 
00488 #define BASE_SUPERVA (ULONGLONG)(0xfffffc0000000000)
00489 
00490 #define SC_CTL_PA      (ULONGLONG)(0xfffff000a8)
00491 #define SC_STAT_PA     (ULONGLONG)(0xfffff000e8)
00492 #define SC_ADDR_PA     (ULONGLONG)(0xfffff00188)
00493 #define BC_CONTROL_PA  (ULONGLONG)(0xfffff00128)
00494 #define BC_CONFIG_PA   (ULONGLONG)(0xfffff001c8)
00495 #define BC_TAG_ADDR_PA (ULONGLONG)(0xfffff00108)
00496 #define EI_STAT_PA     (ULONGLONG)(0xfffff00168)
00497 #define EI_ADDR_PA     (ULONGLONG)(0xfffff00148)
00498 #define FILL_SYN_PA    (ULONGLONG)(0xfffff00068)
00499 #define LD_LOCK_PA     (ULONGLONG)(0xfffff001e8)
00500 
00501 #define SC_CTL_SVA      (ULONGLONG)( BASE_SUPERVA | SC_CTL_PA )
00502 #define SC_STAT_SVA     (ULONGLONG)( BASE_SUPERVA | SC_STAT_PA )
00503 #define SC_ADDR_SVA     (ULONGLONG)( BASE_SUPERVA | SC_ADDR_PA )
00504 #define BC_CONTROL_SVA  (ULONGLONG)( BASE_SUPERVA | BC_CONTROL_PA )
00505 #define BC_CONFIG_SVA   (ULONGLONG)( BASE_SUPERVA | BC_CONFIG_PA )
00506 #define BC_TAG_ADDR_SVA (ULONGLONG)( BASE_SUPERVA | BC_TAG_ADDR_PA )
00507 #define EI_STAT_SVA     (ULONGLONG)( BASE_SUPERVA | EI_STAT_PA )
00508 #define EI_ADDR_SVA     (ULONGLONG)( BASE_SUPERVA | EI_ADDR_PA )
00509 #define FILL_SYN_SVA    (ULONGLONG)( BASE_SUPERVA | FILL_SYN_PA )
00510 #define LD_LOCK_SVA     (ULONGLONG)( BASE_SUPERVA | LD_LOCK_PA )
00511 
00512 
00513 
00514 
00515 
00516 
00517 typedef struct _CBOX_IPRS_21164{
00518     UCHAR 
FillSyn;
00519     UCHAR 
Unused1;
00520     UCHAR 
ScCtl;
00521     UCHAR 
Unused2;
00522     UCHAR 
ScStat;
00523     UCHAR 
BcTagAddr;
00524     UCHAR 
BcControl;
00525     UCHAR 
EiAddr;
00526     UCHAR 
EiStat;
00527     UCHAR 
ScAddr;
00528     UCHAR 
Unused3;
00529     UCHAR 
BcConfig;
00530     UCHAR 
LdLock;
00531 } 
CBOX_IPRS_21164, *
PCBOX_IPRS_21164;
00532 
00533 
00534 
00535 
00536 
00537 typedef union _SC_CTL_21164{
00538     
struct {
00539         ULONG 
ScFhit: 1;
00540         ULONG 
ScFlush: 1;
00541         ULONG 
ScTagStat: 6;
00542         ULONG 
ScFbDp: 4;
00543         ULONG 
ScBlkSize: 1;
00544         ULONG 
ScSetEn: 3;
00545         ULONG 
Raz1: 16;
00546         ULONG 
Raz2: 32;
00547     } ;
00548     ULONGLONG 
all;
00549 } 
SC_CTL_21164, *
PSC_CTL_21164;
00550 
00551 
00552 
00553 
00554 
00555 typedef union _SC_ADDR_21164{
00556     
struct {
00557         ULONGLONG 
Rao1: 4;
00558         ULONGLONG 
ScAddr: 35;
00559         ULONGLONG 
Raz1: 1;
00560         ULONGLONG 
Rao2: 24;
00561     };
00562     ULONGLONG 
all;
00563 } 
SC_ADDR_21164, *
PSC_ADDR_21164;
00564 
00565 
00566 
00567 
00568 
00569 typedef union _SC_STAT_21164{
00570     
struct {
00571         ULONG 
ScTperr: 3;
00572         ULONG 
ScDperr: 8;
00573         ULONG 
CboxCmd: 5;
00574         ULONG 
ScScndErr: 1;
00575         ULONG 
Raz1: 15;
00576         ULONG 
Raz2: 32;
00577     } ;
00578     ULONGLONG 
all;
00579 } 
SC_STAT_21164, *
PSC_STAT_21164;
00580 
00581 
00582 
00583 
00584 
00585 typedef union _BC_CONTROL_21164{
00586     
struct {
00587         ULONG 
BcEnabled: 1;
00588         ULONG 
AllocCyc: 1;
00589         ULONG 
EiCmdGrp1: 1;
00590         ULONG 
EiCmdGrp2: 1;
00591         ULONG 
CorrFillDat: 1;
00592         ULONG 
VtmFirst: 1;
00593         ULONG 
EiEccOrParity: 1;
00594         ULONG 
BcFhit: 1;
00595         ULONG 
BcTagStat: 5;
00596         ULONG 
BcBadDat: 2;
00597         ULONG 
EiDisErr: 1;
00598         ULONG 
TlPipeLatch: 1;
00599         ULONG 
BcWave: 2;
00600         ULONG 
PmMuxSel1: 3;
00601         ULONG 
PmMuxSel2: 3;
00602         ULONG 
Mbz1: 1;
00603         ULONG 
FlushScVtm: 1;
00604         ULONG 
Mbz2: 1;
00605         ULONG 
DisSysPar: 1;
00606         ULONG 
Mbz3: 3;
00607         ULONG 
Raz1: 1;
00608         ULONG 
NoByteIo: 1;
00609         ULONG 
Raz2: 30;
00610     } ;
00611     ULONGLONG 
all;
00612 } 
BC_CONTROL_21164, *
PBC_CONTROL_21164;
00613 
00614 
00615 
00616 
00617 
00618 typedef union _BC_CONFIG_21164{
00619     
struct {
00620         ULONG 
BcSize: 3;
00621         ULONG 
Reserved1: 1;
00622         ULONG 
BcRdSpd: 4;
00623         ULONG 
BcWrSpd: 4;
00624         ULONG 
BcRdWrSpc: 3;
00625         ULONG 
Reserved2: 1;
00626         ULONG 
FillWeOffset: 3;
00627         ULONG 
Reserved3: 1;
00628         ULONG 
BcWeCtl: 9;
00629         ULONG 
Reserved4: 3;
00630         ULONG 
Reserved5: 32;
00631     } ;
00632     ULONGLONG 
all;
00633 } 
BC_CONFIG_21164, *
PBC_CONFIG_21164;
00634 
00635 
00636 
00637 
00638 
00639 typedef union _EI_STAT_21164{
00640     
struct {
00641         ULONG 
Ra01: 24;
00642         ULONG 
ChipId: 4;
00643         ULONG 
BcTperr: 1;
00644         ULONG 
BcTcperr: 1;
00645         ULONG 
EiEs: 1;
00646         ULONG 
CorEccErr: 1;
00647         ULONG 
UncEccErr: 1;
00648         ULONG 
EiParErr: 1;
00649         ULONG 
FilIrd: 1;
00650         ULONG 
SeoHrdErr: 1;
00651         ULONG 
Ra02: 28;
00652     } ;
00653     ULONGLONG 
all;
00654 } 
EI_STAT_21164, *
PEI_STAT_21164;
00655 
00656 
00657 
00658 
00659 
00660 typedef union _EI_ADDR_21164{
00661     
struct {
00662         ULONGLONG 
Rao1: 4;
00663         ULONGLONG 
EiAddr: 36;
00664         ULONGLONG 
Rao2: 24;
00665     };
00666     ULONGLONG 
all;
00667 } 
EI_ADDR_21164, *
PEI_ADDR_21164;
00668 
00669 
00670 
00671 
00672 
00673 typedef union _BC_TAG_ADDR_21164{
00674     
struct {
00675         ULONG 
Ra01: 12;
00676         ULONG 
Hit: 1;
00677         ULONG 
TagCtlP: 1;
00678         ULONG 
TagCtlD: 1;
00679         ULONG 
TagCtlS: 1;
00680         ULONG 
TagCtlV: 1;
00681         ULONG 
TagP: 1;
00682         ULONG 
Ra02: 2;
00683         ULONG 
Tag0: 12;
00684         ULONG 
Tag1: 7;
00685         ULONG 
Ra03: 25;
00686     } ;
00687     ULONGLONG 
all;
00688 } 
BC_TAG_ADDR_21164, *
PBC_TAG_ADDR_21164;
00689 
00690 
00691 
00692 
00693 
00694 typedef union _FILL_SYN_21164{
00695     
struct {
00696         ULONG 
Lo: 8;
00697         ULONG 
Hi: 8;
00698         ULONG 
Raz1: 16;
00699         ULONG 
Raz2: 32;
00700     } ;
00701     ULONGLONG 
all;
00702 } 
FILL_SYN_21164, *
PFILL_SYN_21164;
00703 
00704 
00705 
00706 
00707 
00708 
00709 
00710 
00711 
00712 #define CBOX_CONFIG_PA          (ULONGLONG)(0xfffff00008)
00713 #define CBOX_ADDRESS_PA         (ULONGLONG)(0xfffff00088)
00714 #define CBOX_STATUS_PA          (ULONGLONG)(0xfffff00108)
00715 #define CBOX_CONFIG2_PA         (ULONGLONG)(0xfffff00188)
00716 
00717 #define CBOX_CONFIG_SVA         (ULONGLONG)( BASE_SUPERVA | CBOX_CONFIG_PA )
00718 #define CBOX_ADDRESS_SVA        (ULONGLONG)( BASE_SUPERVA | CBOX_ADDRESS_PA )
00719 #define CBOX_STATUS_SVA         (ULONGLONG)( BASE_SUPERVA | CBOX_STATUS_PA )
00720 #define CBOX_CONFIG2_SVA        (ULONGLONG)( BASE_SUPERVA | CBOX_CONFIG2_PA )
00721 
00722 
00723 
00724 
00725 
00726 
00727 typedef struct _CBOX_IPRS_21164PC{
00728   UCHAR 
CboxConfig;
00729   UCHAR 
CboxAddress;
00730   UCHAR 
CboxStatus;
00731   UCHAR 
CboxConfig2;
00732 } 
CBOX_IPRS_21164PC, *
PCBOX_IPRS_21164PC;
00733 
00734 
00735 
00736 
00737 
00738 typedef union _CBOX_CONFIG_21164PC{
00739   
struct {
00740     ULONG 
Mbz1: 4;
00741     ULONG 
BcClkRatio: 4;
00742     ULONG 
BcLatencyOff: 4;
00743     ULONG 
BcSize: 2;
00744     ULONG 
BcClkDelay: 2;
00745     ULONG 
BcRwOff: 3;
00746     ULONG 
BcProbeDuringFill: 1;
00747     ULONG 
BcFillDelay: 3;
00748     ULONG 
IoParityEnable: 1;
00749     ULONG 
MemParityEnable: 1;
00750     ULONG 
BcForceHit: 1;
00751     ULONG 
BcForceErr: 1;
00752     ULONG 
BcBigDrv: 1;
00753     ULONG 
BcTagData: 3;
00754     ULONG 
BcEnable: 1;
00755     ULONG 
Mbz2: 32;
00756   };
00757   ULONGLONG 
all;
00758 } 
CBOX_CONFIG_21164PC, *
PCBOX_CONFIG_21164PC;
00759 
00760 
00761 
00762 
00763 
00764 typedef union _CBOX_ADDRESS_21164PC{
00765   
struct {
00766     ULONGLONG 
Mbz1: 4;
00767     ULONGLONG 
Address36_4: 33;
00768     ULONGLONG 
Mbz2: 2;
00769     ULONGLONG 
Address39: 1;
00770     ULONGLONG 
Mbz3: 24;
00771   };
00772   ULONGLONG 
all;
00773 } 
CBOX_ADDRESS_21164PC, *
PCBOX_ADDRESS_21164PC;
00774 
00775 
00776 
00777 
00778 
00779 typedef union _CBOX_STATUS_21164PC{
00780   
struct {
00781     ULONGLONG 
Mbz1: 4;
00782     ULONGLONG 
SysClkRatio: 4;
00783     ULONGLONG 
ChipRev: 4;
00784     ULONGLONG 
DataParErr: 4;
00785     ULONGLONG 
TagParErr: 1;
00786     ULONGLONG 
TagDirty: 1;
00787     ULONGLONG 
Memory: 1;
00788     ULONGLONG 
MultiErr: 1;
00789     ULONGLONG 
Mbz2: 44;
00790   };
00791   ULONGLONG 
all;
00792 } 
CBOX_STATUS_21164PC, *
PCBOX_STATUS_21164PC;
00793 
00794 
00795 
00796 
00797 
00798 typedef union _CBOX_CONFIG2_21164PC{
00799   
struct {
00800     ULONGLONG 
Mbz1: 4;
00801     ULONGLONG 
BcRegReg: 1;
00802     ULONGLONG 
DbgSel: 1;
00803     ULONGLONG 
BcThreeMiss: 1;
00804     ULONGLONG 
Mbz2: 1;
00805     ULONGLONG 
Pm0Mux: 3;
00806     ULONGLONG 
Pm1Mux: 3;
00807     ULONGLONG 
Mbz3: 50;
00808   };
00809   ULONGLONG 
all;
00810 } 
CBOX_CONFIG2_21164PC, *
PCBOX_CONFIG2_21164PC;
00811 
00812 
00813 
00814 
00815 
00816 
00817 
00818 
00819 
00820 
00821 #define EV5_IPL0   (0)
00822 #define EV5_IPL1   (1)
00823 #define EV5_IPL2   (2)
00824 #define EV5_IPL3   (3)
00825 #define EV5_IPL4   (4)
00826 #define EV5_IPL5   (5)
00827 #define EV5_IPL6   (6)
00828 #define EV5_IPL7   (7)
00829 #define EV5_IPL8   (8)
00830 #define EV5_IPL9   (9)
00831 #define EV5_IPL10 (10)
00832 #define EV5_IPL11 (11)
00833 #define EV5_IPL12 (12)
00834 #define EV5_IPL13 (13)
00835 #define EV5_IPL14 (14)
00836 #define EV5_IPL15 (15)
00837 #define EV5_IPL16 (16)
00838 #define EV5_IPL17 (17)
00839 #define EV5_IPL18 (18)
00840 #define EV5_IPL19 (19)
00841 #define EV5_IPL20 (20)
00842 #define EV5_IPL21 (21)
00843 #define EV5_IPL22 (22)
00844 #define EV5_IPL23 (23)
00845 #define EV5_IPL24 (24)
00846 #define EV5_IPL25 (25)
00847 #define EV5_IPL26 (26)
00848 #define EV5_IPL27 (27)
00849 #define EV5_IPL28 (28)
00850 #define EV5_IPL29 (29)
00851 #define EV5_IPL30 (30)
00852 #define EV5_IPL31 (31)
00853 
00854 
00855 
00856 
00857 
00858 #define EV5_IPL20_VECTOR (20)
00859 #define EV5_IPL21_VECTOR (21)
00860 #define EV5_IPL22_VECTOR (22)
00861 #define EV5_IPL23_VECTOR (23)
00862 
00863 #define EV5_IRQ0_VECTOR EV5_IPL20_VECTOR
00864 #define EV5_IRQ1_VECTOR EV5_IPL21_VECTOR
00865 #define EV5_IRQ2_VECTOR EV5_IPL22_VECTOR
00866 #define EV5_IRQ3_VECTOR EV5_IPL23_VECTOR
00867 
00868 #define EV5_HALT_VECTOR (14)
00869 #define EV5_PFL_VECTOR (24)
00870 #define EV5_MCHK_VECTOR (12)
00871 #define EV5_CRD_VECTOR (25)
00872 #define EV5_PC0_VECTOR (6)
00873 #define EV5_PC1_VECTOR (8)
00874 #define EV5_PC2_VECTOR (15)
00875 
00876 
00877 
00878 
00879 
00880 
00881 typedef union _IMSK_21164{
00882     
struct{
00883         ULONG 
Irq0Mask: 1;
00884         ULONG 
Irq1Mask: 1;
00885         ULONG 
Irq2Mask: 1;
00886         ULONG 
Irq3Mask: 1;
00887         ULONG 
Reserved: 28;
00888     };
00889     ULONG 
all;
00890 } 
IMSK_21164, *
PIMSK_21164;
00891 
00892 
00893 
00894 
00895 
00896 
00897 typedef struct _COUNTERS_21164{
00898     ULONGLONG 
MachineCheckCount;
00899     ULONGLONG 
ArithmeticExceptionCount;
00900     ULONGLONG 
InterruptCount;
00901     ULONGLONG 
ItbMissCount;
00902     ULONGLONG 
DtbMissSingleCount;
00903     ULONGLONG 
DtbMissDoubleCount;
00904     ULONGLONG 
IAccvioCount;
00905     ULONGLONG 
DfaultCount;
00906     ULONGLONG 
UnalignedCount;
00907     ULONGLONG 
OpcdecCount;
00908     ULONGLONG 
FenCount;
00909     ULONGLONG 
ItbTnvCount;
00910     ULONGLONG 
DtbTnvCount;
00911     ULONGLONG 
PdeTnvCount;
00912     ULONGLONG 
HardwareInterruptCount;
00913     ULONGLONG 
SoftwareInterruptCount;
00914     ULONGLONG 
SpecialInterruptCount;
00915     ULONGLONG 
HaltCount;
00916     ULONGLONG 
RestartCount;
00917     ULONGLONG 
DrainaCount;
00918     ULONGLONG 
RebootCount;
00919     ULONGLONG 
InitpalCount;
00920     ULONGLONG 
WrentryCount;
00921     ULONGLONG 
SwpirqlCount;
00922     ULONGLONG 
RdirqlCount;
00923     ULONGLONG 
DiCount;
00924     ULONGLONG 
EiCount;
00925     ULONGLONG 
SwppalCount;
00926     ULONGLONG 
SsirCount;
00927     ULONGLONG 
CsirCount;
00928     ULONGLONG 
RfeCount;
00929     ULONGLONG 
RetsysCount;
00930     ULONGLONG 
SwpctxCount;
00931     ULONGLONG 
SwpprocessCount;
00932     ULONGLONG 
RdmcesCount;
00933     ULONGLONG 
WrmcesCount;
00934     ULONGLONG 
TbiaCount;
00935     ULONGLONG 
TbisCount;
00936     ULONGLONG 
TbisasnCount;
00937     ULONGLONG 
DtbisCount;
00938     ULONGLONG 
RdkspCount;
00939     ULONGLONG 
SwpkspCount;
00940     ULONGLONG 
RdpsrCount;
00941     ULONGLONG 
RdpcrCount;
00942     ULONGLONG 
RdthreadCount;
00943     ULONGLONG 
TbimCount;
00944     ULONGLONG 
TbimasnCount;
00945     ULONGLONG 
RdcountersCount;
00946     ULONGLONG 
RdstateCount;
00947     ULONGLONG 
WrperfmonCount;
00948     ULONGLONG 
InitpcrCount;
00949     ULONGLONG 
BptCount;
00950     ULONGLONG 
CallsysCount;
00951     ULONGLONG 
ImbCount;
00952     ULONGLONG 
GentrapCount;
00953     ULONGLONG 
RdtebCount;
00954     ULONGLONG 
KbptCount;
00955     ULONGLONG 
CallkdCount;
00956     ULONGLONG 
AddressSpaceSwapCount;
00957     ULONGLONG 
AsnWrapCount;
00958     ULONGLONG 
Misc1Count;
00959     ULONGLONG 
Misc2Count;
00960     ULONGLONG 
Misc3Count;
00961     ULONGLONG 
Misc4Count;
00962     ULONGLONG 
Misc5Count;
00963     ULONGLONG 
Misc6Count;
00964     ULONGLONG 
Misc7Count;
00965     ULONGLONG 
Misc8Count;
00966     ULONGLONG 
Misc9Count;
00967     ULONGLONG 
Misc10Count;
00968     ULONGLONG 
Misc11Count;
00969     ULONGLONG 
Misc12Count;
00970     ULONGLONG 
Misc13Count;
00971     ULONGLONG 
Misc14Count;
00972     ULONGLONG 
Misc15Count;
00973     ULONGLONG 
Misc16Count;
00974     ULONGLONG 
Misc17Count;
00975     ULONGLONG 
Misc18Count;
00976     ULONGLONG 
Misc19Count;
00977     ULONGLONG 
Misc20Count;
00978     ULONGLONG 
SleepCount;
00979     ULONGLONG 
EalnfixCount;
00980     ULONGLONG 
DalnfixCount;
00981 } 
COUNTERS_21164, *
PCOUNTERS_21164;
00982 
00983 
00984 
00985 
00986 
00987 typedef enum _AXP21164_PCCOUNTER{
00988         
Ev5PerformanceCounter0 = 0,
00989         
Ev5PerformanceCounter1 = 1,
00990         
Ev5PerformanceCounter2 = 2
00991 } 
AXP21164_PCCOUNTER, *
PAXP21164_PCCOUNTER;
00992 
00993 
00994 
00995 
00996 
00997 typedef enum _AXP21164_PCMUXCONTROL{
00998         
Ev5Cycles = 0x0,
00999         
Ev5Instructions = 0x1,
01000         
Ev5NonIssue = 0x0,
01001         
Ev5SplitIssue = 0x1,
01002         
Ev5PipeDry = 0x2,
01003         
Ev5ReplayTrap = 0x3,
01004         
Ev5SingleIssue = 0x4,
01005         
Ev5DualIssue = 0x5,
01006         
Ev5TripleIssue = 0x6,
01007         
Ev5QuadIssue = 0x7,
01008         
Ev5FlowChangeInst = 0x8,
01009         
Ev5IntOpsIssued = 0x9,
01010         
Ev5FPOpsIssued = 0xa,
01011         
Ev5LoadsIssued = 0xb,
01012         
Ev5StoresIssued = 0xc,
01013         
Ev5IcacheIssued = 0xd,
01014         
Ev5DcacheAccesses = 0xe,
01015         
Ev5CBOXInput1 = 0xf,
01016         
Ev5LongStalls = 0x0,
01017         
Ev5PCMispredicts = 0x2,
01018         
Ev5BRMispredicts = 0x3,
01019         
Ev5IcacheRFBMisses = 0x4,
01020         
Ev5ITBMisses = 0x5,
01021         
Ev5DcacheLDMisses = 0x6,
01022         
Ev5DTBMisses = 0x7,
01023         
Ev5LDMergedMAF = 0x8,
01024         
Ev5LDUReplayTraps = 0x9,
01025         
Ev5WBMAFReplayTraps = 0xa,
01026         
Ev5ExternPerfmonhInput = 0xb,
01027         
Ev5CPUCycles = 0xc,
01028         
Ev5MBStallCycles = 0xd,
01029         
Ev5LDxLInstIssued = 0xe,
01030         
Ev5CBOXInput2 = 0xf,
01031 
01032         
01033         
01034         
01035 
01036     
Ev5PcSpecial = 0x10,
01037 
01038         
Ev5JsrRetIssued = 0x10,
01039         
Ev5CondBrIssued = 0x11,
01040         
Ev5AllFlowIssued = 0x12,
01041 
01042     
Ev5ScMux1 = 0x20,
01043     
Ev5ScAccesses = 0x20,
01044     
Ev5ScReads = 0x21,
01045     
Ev5ScWrites = 0x22,
01046     
Ev5ScVictims = 0x23,
01047     
Ev5ScUndefined = 0x24,
01048     
Ev5ScBcacheAccesses = 0x25,
01049     
Ev5ScBcacheVictims = 0x26,
01050     
Ev5ScSystemCmdReq = 0x27,
01051     
Ev5ScMux2 = 0x28,
01052     
Ev5ScMisses = 0x28,
01053     
Ev5ScReadMisses = 0x29,
01054     
Ev5ScWriteMisses = 0x2a,
01055     
Ev5ScSharedWrites = 0x2b,
01056     
Ev5ScWrites2 = 0x2c,
01057     
Ev5ScBcacheMisses = 0x2d,
01058     
Ev5ScSysInvalidate = 0x2e,
01059     
Ev5ScSysReadReq = 0x2f,
01060 
01061 } 
AXP21164_PCMUXCONTROL, *
PAXP21164_PCMUXCONTROL;
01062 
01063 
01064 
01065 
01066 
01067 typedef enum _AXP21164_PCEVENTCOUNT{
01068         
Ev5CountEvents2xx8 = 0x100,
01069         
Ev5CountEvents2xx14 = 0x4000,
01070         
Ev5CountEvents2xx16 = 0x10000
01071 } 
AXP21164_PCEVENTCOUNT, *
PAXP21164_PCEVENTCOUNT;
01072 
01073 
01074 
01075 
01076 
01077 typedef enum _COUNTER_CONTROL{
01078     
Ev5CounterDisable = 0x0,
01079     
Ev5InterruptDisable = 0x1,
01080     
Ev5EventCountLow=0x2,
01081     
Ev5EventCountHigh=0x3
01082 } 
COUNTER_CONTROL, *
PCOUNTER_CONTROL;
01083 
01084 
01085 
01086 
01087 
01088 
01089 typedef struct _PROCESSOR_STATE_21164{
01090     ITB_PTE_TEMP_21164 ItbPte[ 
ITB_ENTRIES_21164 ];
01091     ITB_ASN_21164 ItbAsn;
01092     ULONGLONG 
Ivptbr;
01093     ICPERR_STAT_21164 IcPerrStat;
01094     EXC_SUM_21164 ExcSum;
01095     ULONGLONG 
ExcMask;
01096     ULONGLONG 
PalBase;
01097     PS_21164 Ps;
01098     ICSR_21164 Icsr;
01099     ULONGLONG 
Ipl;
01100     ULONGLONG 
IntId;
01101     ULONGLONG 
Astrr;
01102     ULONGLONG 
Aster;
01103     SIRR_21164 Sirr;
01104     ISR_21164 Isr;
01105     PMCTR_21164 Pmctr;
01106     ULONGLONG 
PalTemp[ 
PAL_TEMPS_21164 ];
01107     DTB_PTE_TEMP_21164 DtbPte[ 
DTB_ENTRIES_21164 ];
01108     MM_STAT_21164 MmStat;
01109     ULONGLONG 
Va;
01110     DC_PERR_STAT_21164 DcPerrStat;
01111     MCSR_21164 Mcsr;
01112     DC_MODE_21164 DcMode;
01113     MAF_MODE_21164 MafMode;
01114     
union {
01115       
struct {  
01116         SC_CTL_21164 ScCtl;
01117         SC_ADDR_21164 ScAddr;
01118         SC_STAT_21164 ScStat;
01119         BC_CONTROL_21164 BcControl;
01120         BC_CONFIG_21164 BcConfig;
01121         EI_STAT_21164 EiStat;
01122         EI_ADDR_21164 EiAddr;
01123         BC_TAG_ADDR_21164 BcTagAddr;
01124         FILL_SYN_21164 FillSyn;
01125       };
01126       
struct { 
01127         CBOX_CONFIG_21164PC CboxConfig;
01128         CBOX_ADDRESS_21164PC CboxAddress;
01129         CBOX_STATUS_21164PC CboxStatus;
01130         CBOX_CONFIG2_21164PC CboxConfig2;
01131         ULONGLONG 
Reserved1;
01132         ULONGLONG 
Reserved2;
01133         ULONGLONG 
Reserved3;
01134         ULONGLONG 
Reserved4;
01135         ULONGLONG 
Reserved5;
01136       };
01137     };
01138 } 
PROCESSOR_STATE_21164, *
PPROCESSOR_STATE_21164;
01139 
01140 
01141 
01142 
01143 
01144 typedef struct _LOGOUT_FRAME_21164{
01145     ULONGLONG           
ExcAddr;
01146     ULONGLONG           
PalBase;
01147     ULONGLONG           
Ps;
01148     ULONGLONG           
Va;
01149     ULONGLONG           
VaForm;
01150     ICSR_21164          Icsr;
01151     ICPERR_STAT_21164   IcPerrStat;
01152     ISR_21164           Isr;
01153     ULONGLONG           
Ipl;
01154     ULONGLONG           
IntId;
01155     MM_STAT_21164       MmStat;
01156     MCSR_21164          Mcsr;
01157     DC_PERR_STAT_21164  DcPerrStat;
01158     
union {
01159       
struct {  
01160         SC_CTL_21164        ScCtl;
01161         SC_STAT_21164       ScStat;
01162         SC_ADDR_21164       ScAddr;
01163         BC_CONTROL_21164    BcControl;
01164         BC_CONFIG_21164     BcConfig;
01165         BC_TAG_ADDR_21164   BcTagAddr;
01166         EI_STAT_21164       EiStat;
01167         EI_ADDR_21164       EiAddr;
01168         FILL_SYN_21164      FillSyn;
01169       };
01170       
struct { 
01171         CBOX_CONFIG_21164PC CboxConfig;
01172         CBOX_ADDRESS_21164PC CboxAddress;
01173         CBOX_STATUS_21164PC CboxStatus;
01174         CBOX_CONFIG2_21164PC CboxConfig2;
01175         ULONGLONG 
Reserved1;
01176         ULONGLONG 
Reserved2;
01177         ULONGLONG 
Reserved3;
01178         ULONGLONG 
Reserved4;
01179         ULONGLONG 
Reserved5;
01180       };
01181     };
01182     ULONGLONG 
PalTemp[ 
PAL_TEMPS_21164 ];
01183 } 
LOGOUT_FRAME_21164, *
PLOGOUT_FRAME_21164;
01184 
01185 
01186 
01187 
01188 
01189 typedef struct _CORRECTABLE_FRAME_21164{
01190     
union {
01191       
struct {  
01192         EI_STAT_21164       EiStat;
01193         EI_ADDR_21164       EiAddr;
01194         FILL_SYN_21164      FillSyn;
01195       };
01196       
struct { 
01197         CBOX_STATUS_21164PC CboxStatus;
01198         CBOX_ADDRESS_21164PC CboxAddress;
01199         ULONGLONG 
Reserved;
01200       };
01201     };
01202     ISR_21164           Isr;
01203 } 
CORRECTABLE_FRAME_21164;
01204 
01205 
01206 
01207 
01208 
01209 #define EV5_PHYSICAL_ADDRESS_BITS     40
01210 #define EV5_VIRTUAL_ADDRESS_BITS      43
01211 
01212 
#endif