00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef _AXP21264_
00019
#define _AXP21264_
00020
00021
00022
00023
00024
00025
00026
00027
00028 #define PROCESSOR_BUS_21264 21264
00029
00030
00031
00032
00033
00034
00035
00036 #define EV6_USER_IO_ADDRESS_SPACE (ULONGLONG)(0x800000000)
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 typedef union _CC_CTL_21264{
00047
struct {
00048 ULONGLONG
Count : 32;
00049 ULONGLONG
CcEna : 1;
00050 ULONGLONG
Ignore : 31;
00051 } ;
00052 ULONGLONG
all;
00053 }
CC_CTL_21264, *
PCC_CTL_21264;
00054
00055
00056
00057
00058
00059 typedef union _VA_CTL_21264{
00060
struct {
00061 ULONGLONG
BigEndian : 1;
00062 ULONGLONG
Va48 : 1;
00063 ULONGLONG
VaForm32 : 1;
00064 ULONGLONG
Mbz : 27;
00065 ULONGLONG
VPtb : 34;
00066 };
00067 ULONGLONG
all;
00068 }
VA_CTL_21264, *
PVA_CTL_21264;
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078 typedef union _ITB_PTE_21264{
00079
struct {
00080 ULONGLONG
Ignore1 : 4;
00081 ULONGLONG
Asm : 1;
00082 ULONGLONG
Gh : 2;
00083 ULONGLONG
Ignore2 : 1;
00084 ULONGLONG
Kre : 1;
00085 ULONGLONG
Ere : 1;
00086 ULONGLONG
Sre : 1;
00087 ULONGLONG
Ure : 1;
00088 ULONGLONG
Ignore3 : 1;
00089 ULONGLONG
Pfn : 31;
00090 ULONGLONG
Ignore4 : 20;
00091 };
00092 ULONGLONG
all;
00093 }
ITB_PTE_21264, *
PITB_PTE_21264;
00094
00095
00096
00097
00098
00099 typedef union _EXC_ADDR_21264{
00100
struct{
00101 ULONGLONG
Pal : 1;
00102 ULONGLONG
Raz : 1;
00103 ULONGLONG
Pc : 62;
00104 };
00105 ULONGLONG
all;
00106 }
EXC_ADDR_21264, *
PEXC_ADDR_21264;
00107
00108
00109
00110
00111
00112
00113
00114
00115 typedef union _IER_CM_21264{
00116
struct {
00117 ULONGLONG
Raz1 : 3;
00118 ULONGLONG
Cm : 2;
00119 ULONGLONG
Raz2 : 8;
00120 ULONGLONG
AstEn : 1;
00121 ULONGLONG
SiEn : 15;
00122 ULONGLONG
PcEn : 2;
00123 ULONGLONG
CrEn : 1;
00124 ULONGLONG
SlEn : 1;
00125 ULONGLONG
EiEn : 6;
00126 ULONGLONG
Raz3 : 25;
00127 };
00128 ULONGLONG
all;
00129 }
IER_CM_21264, *
PIER_CM_21264;
00130
00131
00132
00133
00134
00135 typedef union _SIRR_21264{
00136
struct{
00137 ULONGLONG
Raz1 : 14;
00138 ULONGLONG
Sir : 15;
00139 ULONGLONG
Raz2 : 35;
00140 };
00141 ULONGLONG
all;
00142 }
SIRR_21264, *
PSIRR_21264;
00143
00144
00145
00146
00147
00148 typedef union _ISUM_21264{
00149
struct{
00150 ULONGLONG
Raz1 : 3;
00151 ULONGLONG
AstK : 1;
00152 ULONGLONG
AstE : 1;
00153 ULONGLONG
Raz2 : 4;
00154 ULONGLONG
AstS : 1;
00155 ULONGLONG
AstU : 1;
00156 ULONGLONG
Raz3 : 3;
00157 ULONGLONG
Si : 15;
00158 ULONGLONG
Pc : 2;
00159 ULONGLONG
Cr : 1;
00160 ULONGLONG
Sl : 1;
00161 ULONGLONG
Ei : 6;
00162 ULONGLONG
Raz4 : 25;
00163 };
00164 ULONGLONG
all;
00165 }
ISUM_21264, *
PISUM_21264;
00166
00167
00168
00169
00170
00171 typedef union _HW_INT_CLR_21264{
00172
struct{
00173 ULONGLONG
Ign1 : 26;
00174 ULONGLONG
Fbtp : 1;
00175 ULONGLONG
Fbdp : 1;
00176 ULONGLONG
MchkD : 1;
00177 ULONGLONG
Pc : 2;
00178 ULONGLONG
Cr : 1;
00179 ULONGLONG
Sl : 1;
00180 ULONGLONG
Ign2 : 31;
00181 };
00182 ULONGLONG
all;
00183 }
HW_INT_CLR_21264, *
PHW_INT_CLR_21264;
00184
00185
00186
00187
00188
00189 typedef union _EXC_SUM_21264{
00190
struct{
00191 ULONGLONG
Swc : 1;
00192 ULONGLONG
Inv : 1;
00193 ULONGLONG
Dze : 1;
00194 ULONGLONG
Fov : 1;
00195 ULONGLONG
Unf : 1;
00196 ULONGLONG
Ine : 1;
00197 ULONGLONG
Iov : 1;
00198 ULONGLONG
Int : 1;
00199 ULONGLONG
Reg : 5;
00200 ULONGLONG
BadIva : 1;
00201 ULONGLONG
Ignore1 : 27;
00202 ULONGLONG
PcOvf : 1;
00203 ULONGLONG
SetInv : 1;
00204 ULONGLONG
SetDze : 1;
00205 ULONGLONG
SetOvf : 1;
00206 ULONGLONG
SetUnf : 1;
00207 ULONGLONG
SetIne : 1;
00208 ULONGLONG
SetIov : 1;
00209 ULONGLONG
Ignore2 : 16;
00210 };
00211 ULONGLONG
all;
00212 }
EXC_SUM_21264, *
PEXC_SUM_21264;
00213
00214
00215
00216
00217
00218 typedef union _I_CTL_21264{
00219
struct{
00220 ULONGLONG
PcEn : 1;
00221 ULONGLONG
IcEnable : 2;
00222 ULONGLONG
Sp32 : 1;
00223 ULONGLONG
Sp43 : 1;
00224 ULONGLONG
Sp48 : 1;
00225 ULONGLONG
Raz1 : 1;
00226 ULONGLONG
Sde : 1;
00227 ULONGLONG
Sbe : 2;
00228 ULONGLONG
BpMode : 2;
00229 ULONGLONG
Hwe : 1;
00230 ULONGLONG
Fbtp : 1;
00231 ULONGLONG
Fbdp : 1;
00232 ULONGLONG
Va48 : 1;
00233 ULONGLONG
VaForm32 : 1;
00234 ULONGLONG
SingleIssue : 1;
00235 ULONGLONG
Pct0En : 1;
00236 ULONGLONG
Pct1En : 1;
00237 ULONGLONG
CallPalR23 : 1;
00238 ULONGLONG
MchkEn : 1;
00239 ULONGLONG
TbMbEn : 1;
00240 ULONGLONG
BistFail : 1;
00241 ULONGLONG
ChipId : 6;
00242 ULONGLONG
Vptb : 18;
00243 ULONGLONG
Sext : 16;
00244 };
00245 ULONGLONG
all;
00246 }
I_CTL_21264, *
PI_CTL_21264;
00247
00248
00249
00250
00251
00252 typedef union _I_STAT_21264{
00253
struct{
00254 ULONGLONG
Raz1 : 29;
00255 ULONGLONG
Tpe : 1;
00256 ULONGLONG
Dpe : 1;
00257 ULONGLONG
Raz2 : 33;
00258 };
00259 ULONGLONG
all;
00260 }
I_STAT_21264, *
PI_STAT_21264;
00261
00262
00263
00264
00265
00266
00267
00268 typedef union _PCTX_21264{
00269
struct{
00270 ULONGLONG
Raz1 : 1;
00271 ULONGLONG
Ppce : 1;
00272 ULONGLONG
Fpe : 1;
00273 ULONGLONG
Raz2 : 2;
00274 ULONGLONG
AstEr : 4;
00275 ULONGLONG
AstRr : 4;
00276 ULONGLONG
Raz3 : 26;
00277 ULONGLONG
Asn : 8;
00278 ULONGLONG
Raz4 : 17;
00279 };
00280 ULONGLONG
all;
00281 }
PCTX_21264, *
PPCTX_21264;
00282
00283
00284
00285
00286
00287 typedef union _PCTR_CTL_21264{
00288
struct{
00289 ULONGLONG
Sel1 : 4;
00290 ULONGLONG
Sel0 : 1;
00291 ULONGLONG
Raz1 : 1;
00292 ULONGLONG
Pctr1 : 20;
00293 ULONGLONG
Raz2 : 2;
00294 ULONGLONG
Pctr0 : 20;
00295 ULONGLONG
Raz3 : 16;
00296 };
00297 ULONGLONG
all;
00298 }
PCTR_CTL_21264, *
PPCTR_CTL_21264;
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309 typedef union _DTB_PTE_21264{
00310
struct{
00311 ULONGLONG
Ignore1 : 1;
00312 ULONGLONG
For : 1;
00313 ULONGLONG
Fow : 1;
00314 ULONGLONG
Ignore2 : 1;
00315 ULONGLONG
Asm : 1;
00316 ULONGLONG
Gh : 2;
00317 ULONGLONG
Ignore3 : 1;
00318 ULONGLONG
Kre : 1;
00319 ULONGLONG
Ere : 1;
00320 ULONGLONG
Sre : 1;
00321 ULONGLONG
Ure : 1;
00322 ULONGLONG
Kwe : 1;
00323 ULONGLONG
Ewe : 1;
00324 ULONGLONG
Swe : 1;
00325 ULONGLONG
Uwe : 1;
00326 ULONGLONG
Ignore4 : 16;
00327 ULONGLONG
Pfn : 31;
00328 ULONGLONG
Ignore5 : 1;
00329 };
00330 ULONGLONG
all;
00331 }
DTB_PTE_21264, *
PDTB_PTE_21264;
00332
00333
00334
00335
00336
00337 typedef union _DTB_ASN_21264{
00338
struct{
00339 ULONGLONG
Ignore1 : 56;
00340 ULONGLONG
Asn : 8;
00341 };
00342 ULONGLONG
all;
00343 }
DTB_ASN_21264, *
PDTB_ASN_21264;
00344
00345
00346
00347
00348
00349 typedef union _MM_STAT_21264{
00350
struct{
00351 ULONGLONG
Wr : 1;
00352 ULONGLONG
Acv : 1;
00353 ULONGLONG
For : 1;
00354 ULONGLONG
Fow : 1;
00355 ULONGLONG
Opcode : 6;
00356 ULONGLONG
DcTagPerr : 1;
00357 ULONGLONG
Ignore1 : 53;
00358 };
00359 ULONGLONG
all;
00360 }
MM_STAT_21264, *
PMM_STAT_21264;
00361
00362
00363
00364
00365
00366 typedef union _M_CTL_21264{
00367
struct{
00368 ULONGLONG
Mbz1 : 1;
00369 ULONGLONG
sp32 : 1;
00370 ULONGLONG
sp43 : 1;
00371 ULONGLONG
sp48 : 1;
00372 ULONGLONG
Mbz2 : 60;
00373 };
00374 ULONGLONG
all;
00375 }
M_CTL_21264, *
PM_CTL_21264;
00376
00377
00378
00379
00380
00381 typedef union _DC_CTL_21264{
00382
struct{
00383 ULONGLONG
SetEn : 2;
00384 ULONGLONG
Fhit : 1;
00385 ULONGLONG
Flush : 1;
00386 ULONGLONG
FBadTpar : 1;
00387 ULONGLONG
FBadDecc : 1;
00388 ULONGLONG
DcTagParEn : 1;
00389 ULONGLONG
DcDatErrEn : 1;
00390 ULONGLONG
Mbz1 : 56;
00391 };
00392 ULONGLONG
all;
00393 }
DC_CTL_21264, *
PDC_CTL_21264;
00394
00395
00396
00397
00398
00399 typedef union _DC_STAT_21264{
00400
struct{
00401 ULONGLONG
TPerrP0 : 1;
00402 ULONGLONG
TPerrP1 : 1;
00403 ULONGLONG
EccErrSt : 1;
00404 ULONGLONG
EccErrLd : 1;
00405 ULONGLONG
Seo : 1;
00406 ULONGLONG
Raz1 : 59;
00407 };
00408 ULONGLONG
all;
00409 }
DC_STAT_21264, *
PDC_STAT_21264;
00410
00411
00412
00413
00414
00415
00416
00417
00418
00419
00420 typedef union _C_STAT_21264 {
00421
struct {
00422 ULONGLONG
ErrorQualifier :3;
00423 ULONGLONG
IstreamError :1;
00424 ULONGLONG
DoubleBitError :1;
00425 ULONGLONG
Reserved :59;
00426 };
00427 ULONGLONG
all;
00428 }
C_STAT_21264, *
PC_STAT_21264;
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440
00441
00442
00443 typedef struct _IETEntry_21264{
00444 ULONG
ApcEnable: 1;
00445 ULONG
DispatchEnable: 1;
00446 ULONG
PerformanceCounter0Enable: 1;
00447 ULONG
PerformanceCounter1Enable: 1;
00448 ULONG
CorrectableReadEnable: 1;
00449 ULONG
Irq0Enable: 1;
00450 ULONG
Irq1Enable: 1;
00451 ULONG
Irq2Enable: 1;
00452 ULONG
Irq3Enable: 1;
00453 ULONG
Irq4Enable: 1;
00454 ULONG
Irq5Enable: 1;
00455 ULONG
Reserved: 21;
00456 }
IETEntry_21264, *
PIETEntry_21264;
00457
00458
00459
00460
00461
00462
00463 #define IRQLMASK_HDW_SUBTABLE_21264 (8)
00464 #define IRQLMASK_HDW_SUBTABLE_21264_ENTRIES (64)
00465
00466 #define IRQLMASK_SFW_SUBTABLE_21264 (0)
00467 #define IRQLMASK_SFW_SUBTABLE_21264_ENTRIES (4)
00468
00469 #define IRQLMASK_PC_SUBTABLE_21264 (4)
00470 #define IRQLMASK_PC_SUBTABLE_21264_ENTRIES (4)
00471
00472
00473
00474
00475 #define EV6_CRD_VECTOR (25)
00476
00477
00478
00479
00480
00481
00482 typedef struct _COUNTERS_21264{
00483 ULONGLONG
MachineCheckCount;
00484 ULONGLONG
ArithmeticExceptionCount;
00485 ULONGLONG
InterruptCount;
00486 ULONGLONG
ItbMissCount;
00487 ULONGLONG
DtbMissSingleCount;
00488 ULONGLONG
DtbMissDoubleCount;
00489 ULONGLONG
IAccvioCount;
00490 ULONGLONG
DfaultCount;
00491 ULONGLONG
UnalignedCount;
00492 ULONGLONG
OpcdecCount;
00493 ULONGLONG
FenCount;
00494 ULONGLONG
ItbTnvCount;
00495 ULONGLONG
DtbTnvCount;
00496 ULONGLONG
PdeTnvCount;
00497 ULONGLONG
FPCRCount;
00498 ULONGLONG
RestCount;
00499 ULONGLONG
DtbMissDouble4Count;
00500 ULONGLONG
HardwareInterruptCount;
00501 ULONGLONG
SoftwareInterruptCount;
00502 ULONGLONG
SpecialInterruptCount;
00503 ULONGLONG
HaltCount;
00504 ULONGLONG
RestartCount;
00505 ULONGLONG
DrainaCount;
00506 ULONGLONG
RebootCount;
00507 ULONGLONG
InitpalCount;
00508 ULONGLONG
WrentryCount;
00509 ULONGLONG
SwpirqlCount;
00510 ULONGLONG
RdirqlCount;
00511 ULONGLONG
DiCount;
00512 ULONGLONG
EiCount;
00513 ULONGLONG
SwppalCount;
00514 ULONGLONG
SsirCount;
00515 ULONGLONG
CsirCount;
00516 ULONGLONG
RfeCount;
00517 ULONGLONG
RetsysCount;
00518 ULONGLONG
SwpctxCount;
00519 ULONGLONG
SwpprocessCount;
00520 ULONGLONG
RdmcesCount;
00521 ULONGLONG
WrmcesCount;
00522 ULONGLONG
TbiaCount;
00523 ULONGLONG
TbisCount;
00524 ULONGLONG
TbisasnCount;
00525 ULONGLONG
DtbisCount;
00526 ULONGLONG
RdkspCount;
00527 ULONGLONG
SwpkspCount;
00528 ULONGLONG
RdpsrCount;
00529 ULONGLONG
RdpcrCount;
00530 ULONGLONG
RdthreadCount;
00531 ULONGLONG
TbimCount;
00532 ULONGLONG
TbimasnCount;
00533 ULONGLONG
RdcountersCount;
00534 ULONGLONG
RdstateCount;
00535 ULONGLONG
WrperfmonCount;
00536 ULONGLONG
InitpcrCount;
00537 ULONGLONG
BptCount;
00538 ULONGLONG
CallsysCount;
00539 ULONGLONG
ImbCount;
00540 ULONGLONG
GentrapCount;
00541 ULONGLONG
RdtebCount;
00542 ULONGLONG
KbptCount;
00543 ULONGLONG
CallkdCount;
00544 ULONGLONG
AddressSpaceSwapCount;
00545 ULONGLONG
AsnWrapCount;
00546 ULONGLONG
EalnfixCount;
00547 ULONGLONG
DalnfixCount;
00548 ULONGLONG
SleepCount;
00549 ULONGLONG
Misc1Count;
00550 ULONGLONG
Misc2Count;
00551 ULONGLONG
Misc3Count;
00552 ULONGLONG
Misc4Count;
00553 ULONGLONG
Misc5Count;
00554 ULONGLONG
Misc6Count;
00555 ULONGLONG
Misc7Count;
00556 ULONGLONG
Misc8Count;
00557 ULONGLONG
Misc9Count;
00558 ULONGLONG
Misc10Count;
00559 ULONGLONG
Misc11Count;
00560 ULONGLONG
Misc12Count;
00561 ULONGLONG
Misc13Count;
00562 ULONGLONG
Misc14Count;
00563 ULONGLONG
Misc15Count;
00564 ULONGLONG
Misc16Count;
00565 ULONGLONG
Misc17Count;
00566 }
COUNTERS_21264, *
PCOUNTERS_21264;
00567
00568
00569
00570
00571
00572 typedef enum _AXP21264_PCCOUNTER{
00573
Ev6PerformanceCounter0 = 0,
00574
Ev6PerformanceCounter1 = 1,
00575 }
AXP21264_PCCOUNTER, *
PAXP21264_PCCOUNTER;
00576
00577
00578
00579
00580
00581 typedef enum _AXP21264_PCMUXCONTROL{
00582
00583
00584
00585
Ev6Instructions = 0x00,
00586
Ev6CondBranches = 0x01,
00587
Ev6Mispredicts = 0x02,
00588
Ev6ITBMisses = 0x03,
00589
Ev6DTBMisses = 0x04,
00590
Ev6Unaligned = 0x05,
00591
Ev6IcacheMisses = 0x06,
00592
Ev6ReplayTraps = 0x07,
00593
Ev6LoadMisses = 0x08,
00594
Ev6DcacheMisses = 0x09,
00595
Ev6BcacheReads = 0x0a,
00596
Ev6BcacheWrites = 0x0b,
00597
Ev6SysPortReads = 0x0c,
00598
Ev6SysPortWrites = 0x0d,
00599
Ev6MBStalls = 0x0e,
00600
Ev6StcStalls = 0x0f,
00601
00602
00603
00604
00605
Ev6Cycles = 0x00,
00606
Ev6RetiredInstructions = 0x01
00607
00608 }
AXP21264_PCMUXCONTROL, *
PAXP21264_PCMUXCONTROL;
00609
00610
00611
00612
00613
00614
00615
00616 typedef struct _PROCESSOR_STATE_21264{
00617 IER_CM_21264 IerCm;
00618 SIRR_21264 Sirr;
00619 ISUM_21264 Isum;
00620 EXC_SUM_21264 ExcSum;
00621 ULONGLONG
PalBase;
00622 I_CTL_21264 ICtl;
00623 I_STAT_21264 IStat;
00624 PCTX_21264 PCtx;
00625 PCTR_CTL_21264 PCtr;
00626 MM_STAT_21264 MmStat;
00627 DC_STAT_21264 DcStat;
00628
00629 }
PROCESSOR_STATE_21264, *
PPROCESSOR_STATE_21264;
00630
00631
00632
00633
00634
00635 typedef struct _LOGOUT_FRAME_21264{
00636 ULONG
FrameSize;
00637 ULONG
RSDC;
00638 ULONG
CpuAreaOffset;
00639 ULONG
SystemAreaOffset;
00640 ULONG
MchkCode;
00641 ULONG
MchkFrameRev;
00642 I_STAT_21264 IStat;
00643 DC_STAT_21264 DcStat;
00644 ULONGLONG
CAddr;
00645 ULONGLONG
Dc1Syndrome;
00646 ULONGLONG
Dc0Syndrome;
00647 ULONGLONG
CStat;
00648 ULONGLONG
CSts;
00649 ULONGLONG
Va;
00650 ULONGLONG
ExcAddr;
00651 IER_CM_21264 IerCm;
00652 ISUM_21264 ISum;
00653 MM_STAT_21264 MmStat;
00654 ULONGLONG
PalBase;
00655 I_CTL_21264 ICtl;
00656 PCTX_21264 PCtx;
00657 VA_CTL_21264 VaCtl;
00658 ULONGLONG
Ps;
00659 }
LOGOUT_FRAME_21264, *
PLOGOUT_FRAME_21264;
00660
00661
00662
00663
00664
00665 typedef struct _CORRECTABLE_FRAME_21264 {
00666 ULONG
FrameSize;
00667 ULONG
RSDC;
00668 ULONG
CpuAreaOffset;
00669 ULONG
SystemAreaOffset;
00670 ULONG
MchkCode;
00671 ULONG
MchkFrameRev;
00672 I_STAT_21264 IStat;
00673 DC_STAT_21264 DCStat;
00674 ULONGLONG
CAddr;
00675 ULONGLONG
Dc1Syndrome;
00676 ULONGLONG
Dc0Syndrome;
00677 ULONGLONG
CStat;
00678 ULONGLONG
CSts;
00679 ULONGLONG
MmStat;
00680 }
CORRECTABLE_FRAME_21264, *
PCORRECTABLE_FRAME_21264;
00681
00682
00683
00684
00685
00686 #define EV6_PHYSICAL_ADDRESS_BITS 44
00687 #define EV6_VIRTUAL_ADDRESS_BITS 43
00688
00689
#endif