axp21064.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef _AXP21064_
00019
#define _AXP21064_
00020
00021
00022
00023
#ifndef CORE_21064
00024
#define CORE_21064
00025
00026
00027
00028
00029
00030
00031
00032 #define PROCESSOR_BUS_21064 21064
00033
00034
00035
00036
00037
00038 #define ITB_ENTRIES_21064 12
00039 #define DTB_ENTRIES_21064 32
00040 #define PAL_TEMPS_21064 32
00041
00042
00043
00044
00045
00046 typedef struct _IETEntry_21064{
00047 ULONG
ApcEnable: 1;
00048 ULONG
DispatchEnable: 1;
00049 ULONG
PerformanceCounter0Enable: 1;
00050 ULONG
PerformanceCounter1Enable: 1;
00051 ULONG
CorrectableReadEnable: 1;
00052 ULONG
Irq0Enable: 1;
00053 ULONG
Irq1Enable: 1;
00054 ULONG
Irq2Enable: 1;
00055 ULONG
Irq3Enable: 1;
00056 ULONG
Irq4Enable: 1;
00057 ULONG
Irq5Enable: 1;
00058 ULONG
Reserved: 21;
00059 }
IETEntry_21064, *
PIETEntry_21064;
00060
00061
00062
00063
00064
00065
00066
00067 #define IRQLMASK_HDW_SUBTABLE_21064 (8)
00068 #define IRQLMASK_HDW_SUBTABLE_21064_ENTRIES (64)
00069
00070 #define IRQLMASK_SFW_SUBTABLE_21064 (0)
00071 #define IRQLMASK_SFW_SUBTABLE_21064_ENTRIES (4)
00072
00073 #define IRQLMASK_PC_SUBTABLE_21064 (4)
00074 #define IRQLMASK_PC_SUBTABLE_21064_ENTRIES (4)
00075
00076
00077
00078
00079
00080
00081 typedef struct _COUNTERS_21064{
00082 LARGE_INTEGER
MachineCheckCount;
00083 LARGE_INTEGER
ArithmeticExceptionCount;
00084 LARGE_INTEGER
InterruptCount;
00085 LARGE_INTEGER
ItbMissCount;
00086 LARGE_INTEGER
NativeDtbMissCount;
00087 LARGE_INTEGER
PalDtbMissCount;
00088 LARGE_INTEGER
ItbAcvCount;
00089 LARGE_INTEGER
DtbAcvCount;
00090 LARGE_INTEGER
UnalignedCount;
00091 LARGE_INTEGER
OpcdecCount;
00092 LARGE_INTEGER
FenCount;
00093 LARGE_INTEGER
ItbTnvCount;
00094 LARGE_INTEGER
DtbTnvCount;
00095 LARGE_INTEGER
PteMissCount;
00096 LARGE_INTEGER
KspMissCount;
00097 LARGE_INTEGER
PdeTnvCount;
00098 LARGE_INTEGER
HaltCount;
00099 LARGE_INTEGER
RestartCount;
00100 LARGE_INTEGER
DrainaCount;
00101 LARGE_INTEGER
InitpalCount;
00102 LARGE_INTEGER
WrentryCount;
00103 LARGE_INTEGER
SwpirqlCount;
00104 LARGE_INTEGER
RdirqlCount;
00105 LARGE_INTEGER
DiCount;
00106 LARGE_INTEGER
EiCount;
00107 LARGE_INTEGER
SwppalCount;
00108 LARGE_INTEGER
SsirCount;
00109 LARGE_INTEGER
CsirCount;
00110 LARGE_INTEGER
RfeCount;
00111 LARGE_INTEGER
RetsysCount;
00112 LARGE_INTEGER
SwpctxCount;
00113 LARGE_INTEGER
SwpprocessCount;
00114 LARGE_INTEGER
RdmcesCount;
00115 LARGE_INTEGER
WrmcesCount;
00116 LARGE_INTEGER
TbiaCount;
00117 LARGE_INTEGER
TbisCount;
00118 LARGE_INTEGER
DtbisCount;
00119 LARGE_INTEGER
RdkspCount;
00120 LARGE_INTEGER
SwpkspCount;
00121 LARGE_INTEGER
RdpsrCount;
00122 LARGE_INTEGER
RdpcrCount;
00123 LARGE_INTEGER
RdthreadCount;
00124 LARGE_INTEGER
RdcountersCount;
00125 LARGE_INTEGER
RdstateCount;
00126 LARGE_INTEGER
WrperfmonCount;
00127 LARGE_INTEGER
InitpcrCount;
00128 LARGE_INTEGER
BptCount;
00129 LARGE_INTEGER
CallsysCount;
00130 LARGE_INTEGER
ImbCount;
00131 LARGE_INTEGER
GentrapCount;
00132 LARGE_INTEGER
RdtebCount;
00133 LARGE_INTEGER
KbptCount;
00134 LARGE_INTEGER
CallkdCount;
00135 LARGE_INTEGER
TbisasnCount;
00136 LARGE_INTEGER
Misc1Count;
00137 LARGE_INTEGER
Misc2Count;
00138 LARGE_INTEGER
Misc3Count;
00139 }
COUNTERS_21064, *
PCOUNTERS_21064;
00140
00141 typedef enum _AXP21064_PCCOUNTER{
00142
Ev4PerformanceCounter0 = 0,
00143
Ev4PerformanceCounter1 = 1
00144 }
AXP21064_PCCOUNTER, *
PAXP21064_PCCOUNTER;
00145
00146 typedef enum _AXP21064_PCMUXCONTROL{
00147
Ev4TotalIssues = 0x0,
00148
Ev4PipelineDry = 0x2,
00149
Ev4LoadInstruction = 0x4,
00150
Ev4PipelineFrozen = 0x6,
00151
Ev4BranchInstructions = 0x8,
00152
Ev4PalMode = 0xb,
00153
Ev4TotalCycles = 0xa,
00154
Ev4TotalNonIssues = 0xc,
00155
Ev4ExternalCounter0 = 0xe,
00156
Ev4DcacheMiss = 0x0,
00157
Ev4IcacheMiss = 0x1,
00158
Ev4DualIssues = 0x2,
00159
Ev4BranchMispredicts = 0x3,
00160
Ev4FPInstructions = 0x4,
00161
Ev4IntegerOperate = 0x5,
00162
Ev4StoreInstructions = 0x6,
00163
Ev4ExternalCounter1 = 0x7
00164 }
AXP21064_PCMUXCONTROL, *
PAXP21064_PCMUXCONTROL;
00165
00166 typedef enum _AXP21064_PCEVENTCOUNT{
00167
Ev4CountEvents2xx8 = 0x100,
00168
Ev4CountEvents2xx12 = 0x1000,
00169
Ev4CountEvents2xx16 = 0x10000
00170 }
AXP21064_PCEVENTCOUNT, *
PAXP21064_PCEVENTCOUNT;
00171
00172 typedef enum _AXP21064_EVENTCOUNT{
00173
Ev4EventCountHigh = 1,
00174
Ev4EventCountLow = 0
00175 }
AXP21064_EVENTCOUNT, *
PAXP21064_EVENTCOUNT;
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185 typedef LARGE_INTEGER
ITB_PTE_21064;
00186 typedef ITB_PTE_21064 *
PITB_PTE_21064;
00187 typedef LARGE_INTEGER
DTB_PTE_21064;
00188 typedef DTB_PTE_21064 *
PDTB_PTE_21064;
00189
00190 #define PTE_FOR_21064_SHIFT 3
00191 #define PTE_FOW_21064_SHIFT 4
00192 #define PTE_KWE_21064_SHIFT 5
00193 #define PTE_EWE_21064_SHIFT 6
00194 #define PTE_SWE_21064_SHIFT 7
00195 #define PTE_UWE_21064_SHIFT 8
00196 #define PTE_KRE_21064_SHIFT 9
00197 #define PTE_ERE_21064_SHIFT 10
00198 #define PTE_SRE_21064_SHIFT 11
00199 #define PTE_URE_21064_SHIFT 12
00200 #define PTE_PFN_21064_SHIFT 13
00201 #define PTE_PFN_21064_SHIFTMASK 0x1FFFF
00202 #define PTE_ASM_21064_SHIFT 34
00203
00204 #define PTE_ALL_21064(itbpte) (itbpte)
00205 #define PTE_FOR_21064(itbpte) ( (itbpte.LowPart >> PTE_FOR_21064_SHIFT) & 1)
00206 #define PTE_FOW_21064(itbpte) ( (itbpte.LowPart >> PTE_FOW_21064_SHIFT) & 1)
00207 #define PTE_KWE_21064(itbpte) ( (itbpte.LowPart >> PTE_KWE_21064_SHIFT) & 1)
00208 #define PTE_EWE_21064(itbpte) ( (itbpte.LowPart >> PTE_EWE_21064_SHIFT) & 1)
00209 #define PTE_SWE_21064(itbpte) ( (itbpte.LowPart >> PTE_SWE_21064_SHIFT) & 1)
00210 #define PTE_UWE_21064(itbpte) ( (itbpte.LowPart >> PTE_UWE_21064_SHIFT) & 1)
00211 #define PTE_KRE_21064(itbpte) ( (itbpte.LowPart >> PTE_KRE_21064_SHIFT) & 1)
00212 #define PTE_ERE_21064(itbpte) ( (itbpte.LowPart >> PTE_ERE_21064_SHIFT) & 1)
00213 #define PTE_SRE_21064(itbpte) ( (itbpte.LowPart >> PTE_SRE_21064_SHIFT) & 1)
00214 #define PTE_URE_21064(itbpte) ( (itbpte.LowPart >> PTE_URE_21064_SHIFT) & 1)
00215 #define PTE_ASM_21064(itbpte) ( (itbpte.LowPart >> PTE_ASM_21064_SHIFT) & 1)
00216 #define PTE_PFN_21064(itbpte) ( (itbpte.LowPart >> PTE_PFN_21064_SHIFT) & PTE_PFN_21064_SHIFTMASK)
00217
00218
00219
00220
00221
00222 typedef LARGE_INTEGER
ICCSR_21064;
00223 typedef ICCSR_21064 *
PICCSR_21064;
00224
00225 #define ICCSR_PC0_21064_SHIFT 1
00226 #define ICCSR_PC1_21064_SHIFT 2
00227 #define ICCSR_PCMUX0_21064_SHIFT 9
00228 #define ICCSR_PCMUX0_21064_SHIFTMASK 0xF
00229 #define ICCSR_PCMUX1_21064_SHIFT 13
00230 #define ICCSR_PCMUX1_21064_SHIFTMASK 0x7
00231 #define ICCSR_PIPE_21064_SHIFT 16
00232 #define ICCSR_BPE_21064_SHIFT 17
00233 #define ICCSR_JSE_21064_SHIFT 18
00234 #define ICCSR_BHE_21064_SHIFT 19
00235 #define ICCSR_DI_21064_SHIFT 20
00236 #define ICCSR_HWE_21064_SHIFT 21
00237 #define ICCSR_MAP_21064_SHIFT 22
00238 #define ICCSR_FPE_21064_SHIFT 23
00239 #define ICCSR_ASN_21064_SHIFT 28
00240 #define ICCSR_ASN_21064_SHIFTMASK 0x3F
00241
00242 #define ICCSR_ALL_21064(iccsr) (iccsr)
00243 #define ICCSR_PC0_21064(iccsr) ( (iccsr.LowPart >> ICCSR_PC0_21064_SHIFT) & 1)
00244 #define ICCSR_PC1_21064(iccsr) ( (iccsr.LowPart >> ICCSR_PC1_21064_SHIFT) & 1)
00245 #define ICCSR_PCMUX0_21064(iccsr) \
00246
( (iccsr.LowPart >> ICCSR_PCMUX0_21064_SHIFT) & ICCSR_PCMUX0_21064_SHIFTMASK)
00247 #define ICCSR_PCMUX1_21064(iccsr) \
00248
( (iccsr.LowPart >> ICCSR_PCMUX1_21064_SHIFT) & ICCSR_PCMUX1_21064_SHIFTMASK)
00249 #define ICCSR_PIPE_21064(iccsr) ( (iccsr.LowPart >> ICCSR_PIPE_21064_SHIFT) & 1)
00250 #define ICCSR_BPE_21064(iccsr) ( (iccsr.LowPart >> ICCSR_BPE_21064_SHIFT) & 1)
00251 #define ICCSR_JSE_21064(iccsr) ( (iccsr.LowPart >> ICCSR_JSE_21064_SHIFT) & 1)
00252 #define ICCSR_BHE_21064(iccsr) ( (iccsr.LowPart >> ICCSR_BHE_21064_SHIFT) & 1)
00253 #define ICCSR_DI_21064(iccsr) ( (iccsr.LowPart >> ICCSR_DI_21064_SHIFT) & 1)
00254 #define ICCSR_HWE_21064(iccsr) ( (iccsr.LowPart >> ICCSR_HWE_21064_SHIFT) & 1)
00255 #define ICCSR_MAP_21064(iccsr) ( (iccsr.LowPart >> ICCSR_MAP_21064_SHIFT) & 1)
00256 #define ICCSR_FPE_21064(iccsr) ( (iccsr.LowPart >> ICCSR_FPE_21064_SHIFT) & 1)
00257 #define ICCSR_ASN_21064(iccsr) \
00258
(ULONG)( (iccsr.LowPart >> ICCSR_ASN_21064_SHIFT) & ICCSR_ASN_21064_SHIFTMASK)
00259
00260
00261
00262
00263
00264 typedef LARGE_INTEGER
PS_21064;
00265 typedef PS_21064 *
PPS_21064;
00266
00267 #define PS_CM0_21064_SHIFT 1
00268 #define PS_CM1_21064_SHIFT 34
00269
00270 #define PS_ALL_21064(ps) (ps)
00271 #define PS_CM_21064(ps) \
00272
( (((ps).LowPart >> PS_CM0_21064_SHIFT) & 1) || \
00273
(((ps).LowPart >> (PS_CM1_21064_SHIFT-1)) & 1) )
00274
00275
00276
00277
00278
00279 typedef LARGE_INTEGER
EXC_SUM_21064;
00280 typedef EXC_SUM_21064 *
PEXC_SUM_21064;
00281
00282 #define EXCSUM_SWC_21064_SHIFT 2
00283 #define EXCSUM_INV_21064_SHIFT 3
00284 #define EXCSUM_DZE_21064_SHIFT 4
00285 #define EXCSUM_FOV_21064_SHIFT 5
00286 #define EXCSUM_UNF_21064_SHIFT 6
00287 #define EXCSUM_INE_21064_SHIFT 7
00288 #define EXCSUM_IOV_21064_SHIFT 8
00289 #define EXCSUM_MSK_21064_SHIFT 33
00290
00291 #define EXCSUM_ALL_21064(excsum) (excsum)
00292 #define EXCSUM_SWC_21064(excsum) ((excsum.LowPart >> EXCSUM_SWC_21064_SHIFT) & 0x1)
00293 #define EXCSUM_INV_21064(excsum) ( (excsum.LowPart >> EXCSUM_INV_21064_SHIFT) & 0x1)
00294 #define EXCSUM_DZE_21064(excsum) ( (excsum.LowPart >> EXCSUM_DZE_21064_SHIFT) & 0x1)
00295 #define EXCSUM_FOV_21064(excsum) ( (excsum.LowPart >> EXCSUM_FOV_21064_SHIFT) & 0x1)
00296 #define EXCSUM_UNF_21064(excsum) ( (excsum.LowPart >> EXCSUM_UNF_21064_SHIFT) & 0x1)
00297 #define EXCSUM_INE_21064(excsum) ( (excsum.LowPart >> EXCSUM_INE_21064_SHIFT) & 0x1)
00298 #define EXCSUM_IOV_21064(excsum) ( (excsum.LowPart >> EXCSUM_IOV_21064_SHIFT) & 0x1)
00299 #define EXCSUM_MSK_21064(excsum) ( (excsum.LowPart >> EXCSUM_MSK_21064_SHIFT) & 0x1)
00300
00301
00302
00303
00304
00305 typedef LARGE_INTEGER
IRR_21064;
00306 typedef IRR_21064 *
PIRR_21064;
00307
00308 #define IRR_HWR_21064_SHIFT 1
00309 #define IRR_SWR_21064_SHIFT 2
00310 #define IRR_ATR_21064_SHIFT 3
00311 #define IRR_CRR_21064_SHIFT 4
00312 #define IRR_HIRR53_21064_SHIFT 5
00313 #define IRR_HIRR53_21064_SHIFTMASK 0x7
00314 #define IRR_PC1_21064_SHIFT 8
00315 #define IRR_PC0_21064_SHIFT 9
00316 #define IRR_HIRR20_21064_SHIFT 10
00317 #define IRR_HIRR20_21064_SHIFTMASK 0x7
00318 #define IRR_SLR_21064_SHIFT 13
00319 #define IRR_SIRR_21064_SHIFT 14
00320 #define IRR_SIRR_21064_SHIFTMASK 0x7FFF
00321 #define IRR_ASTRR_21064_SHIFT 29
00322 #define IRR_ASTRR_21064_SHIFTMASK 0xF
00323
00324 #define IRR_ALL_21064(irr) (irr)
00325 #define IRR_HWR_21064(irr) ( (irr.LowPart >> IRR_HWR_21064_SHIFT) & 0x1)
00326 #define IRR_SWR_21064(irr) ( (irr.LowPart >> IRR_SWR_21064_SHIFT) & 0x1)
00327 #define IRR_ATR_21064(irr) ( (irr.LowPart >> IRR_ATR_21064_SHIFT) & 0x1)
00328 #define IRR_CRR_21064(irr) ( (irr.LowPart >> IRR_CRR_21064_SHIFT) & 0x1)
00329 #define IRR_HIRR_21064(irr) \
00330
( ((irr.LowPart >> (IRR_HIRR53_21064_SHIFT-3)) & IRR_HIRR53_21064_SHIFTMASK) || \
00331
( (irr.LowPart >> IRR_HIRR20_21064_SHIFT) & IRR_HIRR20_21064_SHIFTMASK) )
00332 #define IRR_PC1_21064(irr) ( (irr.LowPart >> IRR_PC1_21064_SHIFT) & 0x1)
00333 #define IRR_PC0_21064(irr) ( (irr.LowPart >> IRR_PC0_21064_SHIFT) & 0x1)
00334 #define IRR_SLR_21064(irr) ( (irr.LowPart >> IRR_SLR_21064_SHIFT) & 0x1)
00335 #define IRR_SIRR_21064(irr) \
00336
( (irr.LowPart >> IRR_SIRR_21064_SHIFT) & IRR_SIRR_21064_SHIFTMASK)
00337 #define IRR_ASTRR_21064(irr) \
00338
( (irr.LowPart >> IRR_ASTRR_21064_SHIFT) & IRR_ASTRR_21064_SHIFTMASK)
00339
00340
00341
00342
00343
00344 typedef LARGE_INTEGER
IER_21064;
00345 typedef IER_21064 *
PIER_21064;
00346
00347 #define IER_CRR_21064_SHIFT 4
00348 #define IER_HIER53_21064_SHIFT 5
00349 #define IER_HIER53_21064_SHIFTMASK 0x7
00350 #define IER_PC1_21064_SHIFT 8
00351 #define IER_PC0_21064_SHIFT 9
00352 #define IER_HIER20_21064_SHIFT 10
00353 #define IER_HIER20_21064_SHIFTMASK 0x7
00354 #define IER_SLR_21064_SHIFT 13
00355 #define IER_SIER_21064_SHIFT 14
00356 #define IER_SIER_21064_SHIFTMASK 0x7FFF
00357 #define IER_ASTER_21064_SHIFT 29
00358 #define IER_ASTER_21064_SHIFTMASK 0xF
00359
00360 #define IER_ALL_21064(ier) (ier)
00361 #define IER_CRR_21064(ier) ( (ier.LowPart >> IER_CRR_21064_SHIFT) & 0x1)
00362 #define IER_HIER_21064(ier) \
00363
( ( (ier.LowPart >> (IER_HIER53_21064_SHIFT-3)) & IER_HIER53_21064_SHIFTMASK) || \
00364
( (ier.LowPart >> IER_HIER20_21064_SHIFT) & IER_HIER20_21064_SHIFTMASK) )
00365 #define IER_PC1_21064(ier) ( (ier.LowPart >> IER_PC1_21064_SHIFT) & 0x1)
00366 #define IER_PC0_21064(ier) ( (ier.LowPart >> IER_PC0_21064_SHIFT) & 0x1)
00367 #define IER_SLR_21064(ier) ( (ier.LowPart >> IER_SLR_21064_SHIFT) & 0x1)
00368 #define IER_SIER_21064(ier) \
00369
( (ier.LowPart >> IER_SIER_21064_SHIFT) & IER_SIER_21064_SHIFTMASK)
00370 #define IER_ASTER_21064(ier) \
00371
( (ier.LowPart >> IER_ASTER_21064_SHIFT) & IER_ASTER_21064_SHIFTMASK)
00372
00373
00374
00375
00376
00377 typedef union _ABOX_CTL_21064{
00378
struct {
00379 ULONG
wb_dis: 1;
00380 ULONG
mchk_en: 1;
00381 ULONG
crd_en: 1;
00382 ULONG
ic_sbuf_en: 1;
00383 ULONG
spe_1: 1;
00384 ULONG
spe_2: 1;
00385 ULONG
emd_en: 1;
00386 ULONG
mbz1: 3;
00387 ULONG
dc_ena: 1;
00388 ULONG
dc_fhit: 1;
00389 }
bits;
00390 LARGE_INTEGER
all;
00391 }
ABOX_CTL_21064, *
PABOX_CTL_21064;
00392
00393 #define ABOXCTL_ALL_21064(aboxctl) ((aboxctl).all)
00394 #define ABOXCTL_WBDIS_21064(aboxctl) ((aboxctl).bits.wb_dis)
00395 #define ABOXCTL_MCHKEN_21064(aboxctl) ((aboxctl).bits.mchk_en)
00396 #define ABOXCTL_CRDEN_21064(aboxctl) ((aboxctl).bits.crd_en)
00397 #define ABOXCTL_ICSBUFEN_21064(aboxctl) ((aboxctl).bits.ic_sbuf_en)
00398 #define ABOXCTL_SPE1_21064(aboxctl) ((aboxctl).bits.spe_1)
00399 #define ABOXCTL_SPE2_21064(aboxctl) ((aboxctl).bits.spe_2)
00400 #define ABOXCTL_EMDEN_21064(aboxctl) ((aboxctl).bits.emd_en)
00401 #define ABOXCTL_DCENA_21064(aboxctl) ((aboxctl).bits.dc_ena)
00402 #define ABOXCTL_DCFHIT_21064(aboxctl) ((aboxctl).bits.dc_fhit)
00403
00404
00405
00406
00407
00408 typedef union _MMCSR_21064{
00409
struct {
00410 ULONG
Wr: 1;
00411 ULONG
Acv: 1;
00412 ULONG
For: 1;
00413 ULONG
Fow: 1;
00414 ULONG
Ra: 5;
00415 ULONG
Opcode: 6;
00416 }
bits;
00417 LARGE_INTEGER
all;
00418 }
MMCSR_21064, *
PMMCSR_21064;
00419
00420 #define MMCSR_ALL_21064(mmcsr) ((mmcsr).all)
00421 #define MMCSR_WR_21064(mmcsr) ((mmcsr).bits.Wr)
00422 #define MMCSR_ACV_21064(mmcsr) ((mmcsr).bits.Acv)
00423 #define MMCSR_FOR_21064(mmcsr) ((mmcsr).bits.For)
00424 #define MMCSR_FOW_21064(mmcsr) ((mmcsr).bits.Fow)
00425 #define MMCSR_RA_21064(mmcsr) ((mmcsr).bits.Ra)
00426 #define MMCSR_OPCODE_21064(mmcsr) ((mmcsr).bits.Opcode)
00427
00428
00429
00430
00431 typedef union _DC_STAT_21064{
00432
struct {
00433 ULONG
Reserved: 3;
00434 ULONG
DcHit: 1;
00435 ULONG
DCacheParityError: 1;
00436 ULONG
ICacheParityError: 1;
00437 }
bits;
00438 LARGE_INTEGER
all;
00439 }
DC_STAT_21064, *
PDC_STAT_21064;
00440
00441 #define DCSTAT_ALL_21064(dcstat) ((dcstat).all)
00442 #define DCSTAT_DCHIT_21064(dcstat) ((dcstat).bits.DcHit)
00443 #define DCSTAT_DCPARITY_ERROR_21064(dcstat) ((dcstat).bits.DCacheParityError)
00444 #define DCSTAT_ICPARITY_ERROR_21064(dcstat) ((dcstat).bits.ICacheParityError)
00445
00446
#endif
00447
00448
00449
00450
00451
00452
00453 typedef union _BIU_STAT_21064{
00454
struct {
00455 ULONG
BiuHerr: 1;
00456 ULONG
BiuSerr: 1;
00457 ULONG
BcTperr: 1;
00458 ULONG
BcTcperr: 1;
00459 ULONG
BiuCmd: 3;
00460 ULONG
Fatal1: 1;
00461 ULONG
FillEcc: 1;
00462 ULONG
Reserved: 1;
00463 ULONG
FillDperr: 1;
00464 ULONG
FillIrd: 1;
00465 ULONG
FillQw: 2;
00466 ULONG
Fatal2: 1;
00467 } bits;
00468 LARGE_INTEGER
all;
00469 }
BIU_STAT_21064, *
PBIU_STAT_21064;
00470
00471 #define BIUSTAT_ALL_21064(biustat) ((biustat).all)
00472 #define BIUSTAT_HERR_21064(biustat) ((biustat).bits.BiuHerr)
00473 #define BIUSTAT_SERR_21064(biustat) ((biustat).bits.BiuSerr)
00474 #define BIUSTAT_TPERR_21064(biustat) ((biustat).bits.BcTperr)
00475 #define BIUSTAT_TCPERR_21064(biustat) ((biustat).bits.BcTcperr)
00476 #define BIUSTAT_CMD_21064(biustat) ((biustat).bits.BiuCmd)
00477 #define BIUSTAT_FATAL1_21064(biustat) ((biustat).bits.Fatal1)
00478 #define BIUSTAT_FILLECC_21064(biustat) ((biustat).bits.FillEcc)
00479 #define BIUSTAT_FILLDPERR_21064(biustat) ((biustat).bits.FillDperr)
00480 #define BIUSTAT_FILLIRD_21064(biustat) ((biustat).bits.FillIrd)
00481 #define BIUSTAT_FILLQW_21064(biustat) ((biustat).bits.FillQw)
00482 #define BIUSTAT_FATAL2_21064(biustat) ((biustat).bits.Fatal2)
00483
00484
00485
00486
00487
00488 typedef union _FILL_SYNDROME_21064{
00489
struct {
00490 ULONG
Lo: 7;
00491 ULONG
Hi: 7;
00492 } bits;
00493 LARGE_INTEGER
all;
00494 }
FILL_SYNDROME_21064, *
PFILL_SYNDROME_21064;
00495
00496 #define FILLSYNDROME_ALL_21064(fs) ((fs).all)
00497 #define FILLSYNDROME_LO_21064(fs) ((fs).bits.Lo)
00498 #define FILLSYNDROME_HI_21064(fs) ((fs).bits.Hi)
00499
00500
00501
00502
00503
00504 typedef union _BC_TAG_21064{
00505
struct {
00506 ULONG
Hit: 1;
00507 ULONG
TagctlP: 1;
00508 ULONG
TagctlD: 1;
00509 ULONG
TagctlS: 1;
00510 ULONG
TagctlV: 1;
00511 ULONG
Tag: 17;
00512 ULONG
TagP: 1;
00513 } bits;
00514 LARGE_INTEGER
all;
00515 }
BC_TAG_21064, *
PBC_TAG_21064;
00516
00517 #define BCTAG_ALL_21064(bctag) ((bctag).all)
00518 #define BCTAG_HIT_21064(bctag) ((bctag).bits.Hit)
00519 #define BCTAG_TAGCTLP_21064(bctag) ((bctag).bits.TagctlP)
00520 #define BCTAG_TAGCTLD_21064(bctag) ((bctag).bits.TagctlD)
00521 #define BCTAG_TAGCTLS_21064(bctag) ((bctag).bits.TagctlS)
00522 #define BCTAG_TAGCTLV_21064(bctag) ((bctag).bits.TagctlV)
00523 #define BCTAG_TAG_21064(bctag) ((bctag).bits.Tag)
00524 #define BCTAG_TAGP_21064(bctag) ((bctag).bits.TagP)
00525
00526
00527
00528
00529
00530 typedef LARGE_INTEGER
BIU_CTL_21064;
00531 typedef BIU_CTL_21064 *
PBIU_CTL_21064;
00532
00533 #define BIUCTL_BCENA_21064_SHIFT 0
00534 #define BIUCTL_ECC_21064_SHIFT 1
00535 #define BIUCTL_OE_21064_SHIFT 2
00536 #define BIUCTL_BCFHIT_21064_SHIFT 3
00537 #define BIUCTL_BCRDSPD_21064_SHIFT 4
00538 #define BIUCTL_BCRDSPD_21064_SHIFTMASK 0xF
00539 #define BIUCTL_BCWRSPD_21064_SHIFT 8
00540 #define BIUCTL_BCWRSPD_21064_SHIFTMASK 0xF
00541 #define BIUCTL_BCWECTL_21064_SHIFT 12
00542 #define BIUCTL_BCWECTL_21064_SHIFTMASK 0xFFFF
00543 #define BIUCTL_BCSIZE_21064_SHIFT 28
00544 #define BIUCTL_BCSIZE_21064_SHIFTMASK 0x7
00545 #define BIUCTL_BADTCP_21064_SHIFT 31
00546 #define BIUCTL_BCPADIS_21064_SHIFT 32
00547 #define BIUCTL_BCPADIS_21064_SHIFTMASK 0xF
00548 #define BIUCTL_BADDP_21064_SHIFT 36
00549
00550 #define BIUCTL_ALL_21064(biuctl) (biuctl)
00551 #define BIUCTL_BCENA_21064(biuctl) ( (biuctl.LowPart >> BIUCTL_BCENA_21064_SHIFT) & 1)
00552 #define BIUCTL_ECC_21064(biuctl) ( (biuctl.LowPart >> BIUCTL_ECC_21064_SHIFT) & 1)
00553 #define BIUCTL_OE_21064(biuctl) ( (biuctl.LowPart >> BIUCTL_OE_21064_SHIFT) & 1)
00554 #define BIUCTL_BCFHIT_21064(biuctl) ( (biuctl.LowPart >> BIUCTL_BCFHIT_21064_SHIFT) & 1)
00555 #define BIUCTL_BCRDSPD_21064(biuctl) \
00556
( (biuctl.LowPart >> BIUCTL_BCRDSPD_21064_SHIFT) & BIUCTL_BCRDSPD_21064_SHIFTMASK)
00557 #define BIUCTL_BCWRSPD_21064(biuctl) \
00558
( (biuctl.LowPart >> BIUCTL_BCWRSPD_21064_SHIFT) & BIUCTL_BCWRSPD_21064_SHIFTMASK)
00559 #define BIUCTL_BCWECTL_21064(biuctl) \
00560
( (biuctl.LowPart >> BIUCTL_BCWECTL_21064_SHIFT) & BIUCTL_BCWECTL_21064_SHIFTMASK)
00561 #define BIUCTL_BCSIZE_21064(biuctl) \
00562
( (biuctl.LowPart >> BIUCTL_BCSIZE_21064_SHIFT) & BIUCTL_BCSIZE_21064_SHIFTMASK)
00563 #define BIUCTL_BADTCP_21064(biuctl) \
00564
( (biuctl.LowPart >> BIUCTL_BADTCP_21064_SHIFT) & 1)
00565 #define BIUCTL_BCPADIS_21064(biuctl) \
00566
( (biuctl.LowPart >> BIUCTL_BCPADIS_21064_SHIFT) & BIUCTL_BCPADIS_21064_SHIFTMASK)
00567 #define BIUCTL_BADDP_21064(biuctl) \
00568
( (biuctl.LowPart >> BIUCTL_BADDP_21064_SHIFT) & 1)
00569
00570
00571
00572
00573
00574
00575 typedef struct _PROCESSOR_STATE_21064{
00576 ITB_PTE_21064 ItbPte[
ITB_ENTRIES_21064 ];
00577 ICCSR_21064 Iccsr;
00578 PS_21064 Ps;
00579 EXC_SUM_21064 ExcSum;
00580 LARGE_INTEGER
PalBase;
00581 IRR_21064 Hirr;
00582 IRR_21064 Sirr;
00583 IRR_21064 Astrr;
00584 IER_21064 Hier;
00585 IER_21064 Sier;
00586 IER_21064 Aster;
00587 ABOX_CTL_21064 AboxCtl;
00588 DTB_PTE_21064 DtbPte[
DTB_ENTRIES_21064 ];
00589 MMCSR_21064 MmCsr;
00590 LARGE_INTEGER
Va;
00591 LARGE_INTEGER
PalTemp[
PAL_TEMPS_21064 ];
00592 BIU_CTL_21064 BiuCtl;
00593 DC_STAT_21064 DcStat;
00594 BIU_STAT_21064 BiuStat;
00595 LARGE_INTEGER
BiuAddr;
00596 LARGE_INTEGER
FillAddr;
00597 FILL_SYNDROME_21064 FillSyndrome;
00598 }
PROCESSOR_STATE_21064, *
PPROCESSOR_STATE_21064;
00599
00600
00601
00602
00603
00604
00605 typedef struct _LOGOUT_FRAME_21064{
00606 BIU_STAT_21064 BiuStat;
00607 LARGE_INTEGER
BiuAddr;
00608 BC_TAG_21064 BcTag;
00609 LARGE_INTEGER
ExcAddr;
00610 LARGE_INTEGER
FillAddr;
00611 FILL_SYNDROME_21064 FillSyndrome;
00612 DC_STAT_21064 DcStat;
00613 ICCSR_21064 Iccsr;
00614 PS_21064 Ps;
00615 EXC_SUM_21064 ExcSum;
00616 LARGE_INTEGER
PalBase;
00617 IRR_21064 Hirr;
00618 IER_21064 Hier;
00619 ABOX_CTL_21064 AboxCtl;
00620 BIU_CTL_21064 BiuCtl;
00621 MMCSR_21064 MmCsr;
00622 LARGE_INTEGER
Va;
00623 LARGE_INTEGER
PalTemp[
PAL_TEMPS_21064 ];
00624 }
LOGOUT_FRAME_21064, *
PLOGOUT_FRAME_21064;
00625
00626
00627
00628
00629
00630 typedef struct _CORRECTABLE_FRAME_21064{
00631 BIU_STAT_21064 BiuStat;
00632 LARGE_INTEGER
BiuAddr;
00633 BC_TAG_21064 BcTag;
00634 LARGE_INTEGER
FillAddr;
00635 FILL_SYNDROME_21064 FillSyndrome;
00636 DC_STAT_21064 DcStat;
00637 }
CORRECTABLE_FRAME_21064;
00638
00639
00640
00641
00642
00643 #define EV4_PHYSICAL_ADDRESS_BITS 34
00644 #define EV4_VIRTUAL_ADDRESS_BITS 43
00645
00646
#endif
Generated on Sat May 15 19:39:17 2004 for test by
1.3.7