Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

halppc.h

Go to the documentation of this file.
00001 #include "kxppc.h" 00002 00003 // 00004 // Wait Reason and Wait Type Enumerated Type Values 00005 // 00006 00007 #define WrExecutive 0x0 00008 00009 // 00010 // Bug Check Code Definitions 00011 // 00012 00013 #define APC_INDEX_MISMATCH 0x1 00014 #define DATA_BUS_ERROR 0x2e 00015 #define DATA_COHERENCY_EXCEPTION 0x55 00016 #define HAL1_INITIALIZATION_FAILED 0x61 00017 #define INSTRUCTION_BUS_ERROR 0x2f 00018 #define INSTRUCTION_COHERENCY_EXCEPTION 0x56 00019 #define INTERRUPT_EXCEPTION_NOT_HANDLED 0x3d 00020 #define INTERRUPT_UNWIND_ATTEMPTED 0x3c 00021 #define INVALID_AFFINITY_SET 0x3 00022 #define INVALID_DATA_ACCESS_TRAP 0x4 00023 #define IRQL_GT_ZERO_AT_SYSTEM_SERVICE 0x4a 00024 #define IRQL_NOT_LESS_OR_EQUAL 0xa 00025 #define KMODE_EXCEPTION_NOT_HANDLED 0x1e 00026 #define NMI_HARDWARE_FAILURE 0x80 00027 #define NO_USER_MODE_CONTEXT 0xe 00028 #define PAGE_FAULT_WITH_INTERRUPTS_OFF 0x49 00029 #define PANIC_STACK_SWITCH 0x2b 00030 #define SPIN_LOCK_INIT_FAILURE 0x81 00031 #define SYSTEM_EXIT_OWNED_MUTEX 0x39 00032 #define SYSTEM_SERVICE_EXCEPTION 0x3b 00033 #define SYSTEM_UNWIND_PREVIOUS_USER 0x3a 00034 #define TRAP_CAUSE_UNKNOWN 0x12 00035 #define UNEXPECTED_KERNEL_MODE_TRAP 0x7f 00036 00037 // 00038 // Breakpoint type definitions 00039 // 00040 00041 #define DBG_STATUS_CONTROL_C 0x1 00042 00043 // 00044 // Exception Record Offset, Flag, and Enumerated Type Definitions 00045 // 00046 00047 #define EXCEPTION_NONCONTINUABLE 0x1 00048 #define EXCEPTION_UNWINDING 0x2 00049 #define EXCEPTION_EXIT_UNWIND 0x4 00050 #define EXCEPTION_STACK_INVALID 0x8 00051 #define EXCEPTION_NESTED_CALL 0x10 00052 #define EXCEPTION_TARGET_UNWIND 0x20 00053 #define EXCEPTION_COLLIDED_UNWIND 0x40 00054 #define EXCEPTION_UNWIND 0x66 00055 #define EXCEPTION_EXECUTE_HANDLER 0x1 00056 #define EXCEPTION_CONTINUE_SEARCH 0x0 00057 #define EXCEPTION_CONTINUE_EXECUTION 0xffffffff 00058 00059 #define ExceptionContinueExecution 0x0 00060 #define ExceptionContinueSearch 0x1 00061 #define ExceptionNestedException 0x2 00062 #define ExceptionCollidedUnwind 0x3 00063 00064 #define ErExceptionCode 0x0 00065 #define ErExceptionFlags 0x4 00066 #define ErExceptionRecord 0x8 00067 #define ErExceptionAddress 0xc 00068 #define ErNumberParameters 0x10 00069 #define ErExceptionInformation 0x14 00070 #define ExceptionRecordLength 0x50 00071 00072 // 00073 // Fast Mutex Structure Offset Definitions 00074 // 00075 00076 #define FmCount 0x0 00077 #define FmOwner 0x4 00078 #define FmContention 0x8 00079 #define FmEvent 0xc 00080 #define FmOldIrql 0x1c 00081 00082 // 00083 // Interrupt Priority Request Level Definitions 00084 // 00085 00086 #define APC_LEVEL 0x1 00087 #define DISPATCH_LEVEL 0x2 00088 #define IPI_LEVEL 0x1d 00089 #define POWER_LEVEL 0x1e 00090 #define PROFILE_LEVEL 0x1b 00091 #define HIGH_LEVEL 0x1f 00092 #define SYNCH_LEVEL 0x2 00093 00094 // 00095 // Large Integer Structure Offset Definitions 00096 // 00097 00098 #define LiLowPart 0x0 00099 #define LiHighPart 0x4 00100 00101 // 00102 // List Entry Structure Offset Definitions 00103 // 00104 00105 #define LsFlink 0x0 00106 #define LsBlink 0x4 00107 00108 // 00109 // String Structure Offset Definitions 00110 // 00111 00112 #define StrLength 0x0 00113 #define StrMaximumLength 0x2 00114 #define StrBuffer 0x4 00115 00116 // 00117 // System Time Structure Offset Definitions 00118 // 00119 00120 #define StLowTime 0x0 00121 #define StHigh1Time 0x4 00122 #define StHigh2Time 0x8 00123 00124 // 00125 // Time Structure Offset Definitions 00126 // 00127 00128 #define TmLowTime 0x0 00129 #define TmHighTime 0x4 00130 00131 // 00132 // DPC object Structure Offset Definitions 00133 // 00134 00135 #define DpType 0x0 00136 #define DpNumber 0x2 00137 #define DpImportance 0x3 00138 #define DpDpcListEntry 0x4 00139 #define DpDeferredRoutine 0xc 00140 #define DpDeferredContext 0x10 00141 #define DpSystemArgument1 0x14 00142 #define DpSystemArgument2 0x18 00143 #define DpLock 0x1c 00144 #define DpcObjectLength 0x20 00145 00146 // 00147 // Interrupt Object Structure Offset Definitions 00148 // 00149 00150 #define InLevelSensitive 0x0 00151 #define InLatched 0x1 00152 00153 #define InType 0x0 00154 #define InSize 0x2 00155 #define InInterruptListEntry 0x4 00156 #define InServiceRoutine 0xc 00157 #define InServiceContext 0x10 00158 #define InSpinLock 0x14 00159 #define InActualLock 0x1c 00160 #define InDispatchAddress 0x20 00161 #define InVector 0x24 00162 #define InIrql 0x28 00163 #define InSynchronizeIrql 0x29 00164 #define InFloatingSave 0x2a 00165 #define InConnected 0x2b 00166 #define InNumber 0x2c 00167 #define InMode 0x30 00168 #define InShareVector 0x2d 00169 #define InDispatchCode 0x3c 00170 #define InterruptObjectLength 0x4c 00171 00172 // 00173 // Processor Control Registers Structure Offset Definitions 00174 // 00175 00176 #define PCR_MINOR_VERSION 0x1 00177 #define PCR_MAJOR_VERSION 0x1 00178 00179 #define PcMinorVersion 0x0 00180 #define PcMajorVersion 0x2 00181 #define PcInterruptRoutine 0x4 00182 #define PcPcrPage2 0x404 00183 #define PcKseg0Top 0x408 00184 #define PcFirstLevelDcacheSize 0x484 00185 #define PcFirstLevelDcacheFillSize 0x488 00186 #define PcFirstLevelIcacheSize 0x48c 00187 #define PcFirstLevelIcacheFillSize 0x490 00188 #define PcSecondLevelDcacheSize 0x494 00189 #define PcSecondLevelDcacheFillSize 0x498 00190 #define PcSecondLevelIcacheSize 0x49c 00191 #define PcSecondLevelIcacheFillSize 0x4a0 00192 #define PcPrcb 0x4a4 00193 #define PcTeb 0x4a8 00194 #define PcDcacheAlignment 0x4ac 00195 #define PcDcacheFillSize 0x4b0 00196 #define PcIcacheAlignment 0x4b4 00197 #define PcIcacheFillSize 0x4b8 00198 #define PcProcessorVersion 0x4bc 00199 #define PcProcessorRevision 0x4c0 00200 #define PcProfileInterval 0x4c4 00201 #define PcProfileCount 0x4c8 00202 #define PcStallExecutionCount 0x4cc 00203 #define PcStallScaleFactor 0x4d0 00204 #define PcCachePolicy 0x4d8 00205 #define PcIcacheMode 0x4d8 00206 #define PcDcacheMode 0x4d9 00207 #define PcIrqlMask 0x4dc 00208 #define PcIrqlTable 0x4fc 00209 #define PcCurrentIrql 0x505 00210 #define PcNumber 0x506 00211 #define PcSetMember 0x508 00212 #define PcCurrentThread 0x510 00213 #define PcAlignedCachePolicy 0x514 00214 #define PcSoftwareInterrupt 0x518 00215 #define PcApcInterrupt 0x518 00216 #define PcDispatchInterrupt 0x519 00217 #define PcNotMember 0x51c 00218 #define PcSystemReserved 0x520 00219 #define PcHalReserved 0x560 00220 00221 // 00222 // Processor Block Structure Offset Definitions 00223 // 00224 00225 #define PRCB_MINOR_VERSION 0x1 00226 #define PRCB_MAJOR_VERSION 0x1 00227 00228 #define PbMinorVersion 0x0 00229 #define PbMajorVersion 0x2 00230 #define PbCurrentThread 0x4 00231 #define PbNextThread 0x8 00232 #define PbIdleThread 0xc 00233 #define PbNumber 0x10 00234 #define PbSetMember 0x14 00235 #define PbRestartBlock 0x18 00236 #define PbPcrPage 0x1c 00237 #define PbSystemReserved 0x24 00238 #define PbHalReserved 0x60 00239 00240 // 00241 // Context Frame Offset and Flag Definitions 00242 // 00243 00244 #define CONTEXT_FULL 0x7 00245 #define CONTEXT_CONTROL 0x1 00246 #define CONTEXT_FLOATING_POINT 0x2 00247 #define CONTEXT_INTEGER 0x4 00248 00249 #define CxFpr0 0x0 00250 #define CxFpr1 0x8 00251 #define CxFpr2 0x10 00252 #define CxFpr3 0x18 00253 #define CxFpr4 0x20 00254 #define CxFpr5 0x28 00255 #define CxFpr6 0x30 00256 #define CxFpr7 0x38 00257 #define CxFpr8 0x40 00258 #define CxFpr9 0x48 00259 #define CxFpr10 0x50 00260 #define CxFpr11 0x58 00261 #define CxFpr12 0x60 00262 #define CxFpr13 0x68 00263 #define CxFpr14 0x70 00264 #define CxFpr15 0x78 00265 #define CxFpr16 0x80 00266 #define CxFpr17 0x88 00267 #define CxFpr18 0x90 00268 #define CxFpr19 0x98 00269 #define CxFpr20 0xa0 00270 #define CxFpr21 0xa8 00271 #define CxFpr22 0xb0 00272 #define CxFpr23 0xb8 00273 #define CxFpr24 0xc0 00274 #define CxFpr25 0xc8 00275 #define CxFpr26 0xd0 00276 #define CxFpr27 0xd8 00277 #define CxFpr28 0xe0 00278 #define CxFpr29 0xe8 00279 #define CxFpr30 0xf0 00280 #define CxFpr31 0xf8 00281 #define CxFpscr 0x100 00282 #define CxGpr0 0x108 00283 #define CxGpr1 0x10c 00284 #define CxGpr2 0x110 00285 #define CxGpr3 0x114 00286 #define CxGpr4 0x118 00287 #define CxGpr5 0x11c 00288 #define CxGpr6 0x120 00289 #define CxGpr7 0x124 00290 #define CxGpr8 0x128 00291 #define CxGpr9 0x12c 00292 #define CxGpr10 0x130 00293 #define CxGpr11 0x134 00294 #define CxGpr12 0x138 00295 #define CxGpr13 0x13c 00296 #define CxGpr14 0x140 00297 #define CxGpr15 0x144 00298 #define CxGpr16 0x148 00299 #define CxGpr17 0x14c 00300 #define CxGpr18 0x150 00301 #define CxGpr19 0x154 00302 #define CxGpr20 0x158 00303 #define CxGpr21 0x15c 00304 #define CxGpr22 0x160 00305 #define CxGpr23 0x164 00306 #define CxGpr24 0x168 00307 #define CxGpr25 0x16c 00308 #define CxGpr26 0x170 00309 #define CxGpr27 0x174 00310 #define CxGpr28 0x178 00311 #define CxGpr29 0x17c 00312 #define CxGpr30 0x180 00313 #define CxGpr31 0x184 00314 #define CxCr 0x188 00315 #define CxXer 0x18c 00316 #define CxMsr 0x190 00317 #define CxIar 0x194 00318 #define CxLr 0x198 00319 #define CxCtr 0x19c 00320 #define CxContextFlags 0x1a0 00321 #define CxDr0 0x1b0 00322 #define CxDr1 0x1b4 00323 #define CxDr2 0x1b8 00324 #define CxDr3 0x1bc 00325 #define CxDr4 0x1c0 00326 #define CxDr5 0x1c4 00327 #define CxDr6 0x1c8 00328 #define CxDr7 0x1cc 00329 #define ContextFrameLength 0x1d0 00330 00331 // 00332 // Call/Return Stack Frame Header Offset Definitions and Length 00333 // 00334 00335 #define CrBackChain 0x0 00336 #define CrGlueSaved1 0x4 00337 #define CrGlueSaved2 0x8 00338 #define CrReserved1 0xc 00339 #define CrSpare1 0x10 00340 #define CrSpare2 0x14 00341 #define CrParameter0 0x18 00342 #define CrParameter1 0x1c 00343 #define CrParameter2 0x20 00344 #define CrParameter3 0x24 00345 #define CrParameter4 0x28 00346 #define CrParameter5 0x2c 00347 #define CrParameter6 0x30 00348 #define CrParameter7 0x34 00349 #define StackFrameHeaderLength 0x38 00350 00351 // 00352 // Exception Frame Offset Definitions and Length 00353 // 00354 00355 #define ExGpr13 0x4 00356 #define ExGpr14 0x8 00357 #define ExGpr15 0xc 00358 #define ExGpr16 0x10 00359 #define ExGpr17 0x14 00360 #define ExGpr18 0x18 00361 #define ExGpr19 0x1c 00362 #define ExGpr20 0x20 00363 #define ExGpr21 0x24 00364 #define ExGpr22 0x28 00365 #define ExGpr23 0x2c 00366 #define ExGpr24 0x30 00367 #define ExGpr25 0x34 00368 #define ExGpr26 0x38 00369 #define ExGpr27 0x3c 00370 #define ExGpr28 0x40 00371 #define ExGpr29 0x44 00372 #define ExGpr30 0x48 00373 #define ExGpr31 0x4c 00374 #define ExFpr14 0x50 00375 #define ExFpr15 0x58 00376 #define ExFpr16 0x60 00377 #define ExFpr17 0x68 00378 #define ExFpr18 0x70 00379 #define ExFpr19 0x78 00380 #define ExFpr20 0x80 00381 #define ExFpr21 0x88 00382 #define ExFpr22 0x90 00383 #define ExFpr23 0x98 00384 #define ExFpr24 0xa0 00385 #define ExFpr25 0xa8 00386 #define ExFpr26 0xb0 00387 #define ExFpr27 0xb8 00388 #define ExFpr28 0xc0 00389 #define ExFpr29 0xc8 00390 #define ExFpr30 0xd0 00391 #define ExFpr31 0xd8 00392 #define ExceptionFrameLength 0xe0 00393 00394 // 00395 // Trap Frame Offset Definitions and Length 00396 // 00397 00398 #define TrTrapFrame 0x0 00399 #define TrOldIrql 0x4 00400 #define TrPreviousMode 0x5 00401 #define TrSavedApcStateIndex 0x6 00402 #define TrSavedKernelApcDisable 0x7 00403 #define TrExceptionRecord 0x8 00404 #define TrGpr0 0x5c 00405 #define TrGpr1 0x60 00406 #define TrGpr2 0x64 00407 #define TrGpr3 0x68 00408 #define TrGpr4 0x6c 00409 #define TrGpr5 0x70 00410 #define TrGpr6 0x74 00411 #define TrGpr7 0x78 00412 #define TrGpr8 0x7c 00413 #define TrGpr9 0x80 00414 #define TrGpr10 0x84 00415 #define TrGpr11 0x88 00416 #define TrGpr12 0x8c 00417 #define TrFpr0 0x90 00418 #define TrFpr1 0x98 00419 #define TrFpr2 0xa0 00420 #define TrFpr3 0xa8 00421 #define TrFpr4 0xb0 00422 #define TrFpr5 0xb8 00423 #define TrFpr6 0xc0 00424 #define TrFpr7 0xc8 00425 #define TrFpr8 0xd0 00426 #define TrFpr9 0xd8 00427 #define TrFpr10 0xe0 00428 #define TrFpr11 0xe8 00429 #define TrFpr12 0xf0 00430 #define TrFpr13 0xf8 00431 #define TrFpscr 0x100 00432 #define TrCr 0x108 00433 #define TrXer 0x10c 00434 #define TrMsr 0x110 00435 #define TrIar 0x114 00436 #define TrLr 0x118 00437 #define TrCtr 0x11c 00438 #define TrDr0 0x120 00439 #define TrDr1 0x124 00440 #define TrDr2 0x128 00441 #define TrDr3 0x12c 00442 #define TrDr4 0x130 00443 #define TrDr5 0x134 00444 #define TrDr6 0x138 00445 #define TrDr7 0x13c 00446 #define TrapFrameLength 0x140 00447 00448 // 00449 // Processor State Frame Offset Definitions 00450 // 00451 00452 #define PsContextFrame 0x0 00453 #define PsSpecialRegisters 0x1d0 00454 #define SrKernelDr0 0x0 00455 #define SrKernelDr1 0x4 00456 #define SrKernelDr2 0x8 00457 #define SrKernelDr3 0xc 00458 #define SrKernelDr4 0x10 00459 #define SrKernelDr5 0x14 00460 #define SrKernelDr6 0x18 00461 #define SrKernelDr7 0x1c 00462 #define SrSprg0 0x20 00463 #define SrSprg1 0x24 00464 #define SrSr0 0x28 00465 #define SrSr1 0x2c 00466 #define SrSr2 0x30 00467 #define SrSr3 0x34 00468 #define SrSr4 0x38 00469 #define SrSr5 0x3c 00470 #define SrSr6 0x40 00471 #define SrSr7 0x44 00472 #define SrSr8 0x48 00473 #define SrSr9 0x4c 00474 #define SrSr10 0x50 00475 #define SrSr11 0x54 00476 #define SrSr12 0x58 00477 #define SrSr13 0x5c 00478 #define SrSr14 0x60 00479 #define SrSr15 0x64 00480 #define SrDBAT0L 0x68 00481 #define SrDBAT0U 0x6c 00482 #define SrDBAT1L 0x70 00483 #define SrDBAT1U 0x74 00484 #define SrDBAT2L 0x78 00485 #define SrDBAT2U 0x7c 00486 #define SrDBAT3L 0x80 00487 #define SrDBAT3U 0x84 00488 #define SrIBAT0L 0x88 00489 #define SrIBAT0U 0x8c 00490 #define SrIBAT1L 0x90 00491 #define SrIBAT1U 0x94 00492 #define SrIBAT2L 0x98 00493 #define SrIBAT2U 0x9c 00494 #define SrIBAT3L 0xa0 00495 #define SrIBAT3U 0xa4 00496 #define SrSdr1 0xa8 00497 #define ProcessorStateLength 0x2a0 00498 00499 // 00500 // Loader Parameter Block Offset Definitions 00501 // 00502 00503 #define LpbLoadOrderListHead 0x0 00504 #define LpbMemoryDescriptorListHead 0x8 00505 #define LpbKernelStack 0x18 00506 #define LpbPrcb 0x1c 00507 #define LpbProcess 0x20 00508 #define LpbThread 0x24 00509 #define LpbRegistryLength 0x28 00510 #define LpbRegistryBase 0x2c 00511 #define LpbInterruptStack 0x5c 00512 #define LpbFirstLevelDcacheSize 0x60 00513 #define LpbFirstLevelDcacheFillSize 0x64 00514 #define LpbFirstLevelIcacheSize 0x68 00515 #define LpbFirstLevelIcacheFillSize 0x6c 00516 #define LpbHashedPageTable 0x70 00517 #define LpbPanicStack 0x74 00518 #define LpbPcrPage 0x78 00519 #define LpbPdrPage 0x7c 00520 #define LpbSecondLevelDcacheSize 0x80 00521 #define LpbSecondLevelDcacheFillSize 0x84 00522 #define LpbSecondLevelIcacheSize 0x88 00523 #define LpbSecondLevelIcacheFillSize 0x8c 00524 #define LpbPcrPage2 0x90 00525 #define LpbIcacheMode 0x94 00526 #define LpbDcacheMode 0x95 00527 #define LpbNumberCongruenceClasses 0x96 00528 #define LpbKseg0Top 0x98 00529 #define LpbMemoryManagementModel 0x9e 00530 #define LpbHashedPageTableSize 0xa0 00531 #define LpbKernelKseg0PagesDescriptor 0xa8 00532 #define LpbMinimumBlockLength 0xac 00533 #define LpbMaximumBlockLength 0xb0 00534 00535 // 00536 // Memory Allocation Descriptor Offset Definitions 00537 // 00538 00539 #define MadListEntry 0x0 00540 #define MadMemoryType 0x8 00541 #define MadBasePage 0xc 00542 #define MadPageCount 0x10 00543 00544 // 00545 // Address Space Layout Definitions 00546 // 00547 00548 #define KUSEG_BASE 0x0 00549 #define KSEG0_BASE 0x80000000 00550 #define KSEG1_BASE PCR->Kseg0Top 00551 #define KSEG2_BASE KSEG1_BASE 00552 00553 // 00554 // Page Table and Directory Entry Definitions 00555 // 00556 00557 #define PAGE_SIZE 0x1000 00558 #define PAGE_SHIFT 0xc 00559 #define PDI_SHIFT 0x16 00560 #define PTI_SHIFT 0xc 00561 00562 // 00563 // Breakpoint Definitions 00564 // 00565 00566 #define USER_BREAKPOINT 0x0 00567 #define KERNEL_BREAKPOINT 0x1 00568 #define BREAKIN_BREAKPOINT 0x2 00569 00570 // 00571 // Miscellaneous Definitions 00572 // 00573 00574 #define Executive 0x0 00575 #define KernelMode 0x0 00576 #define FALSE 0x0 00577 #define TRUE 0x1 00578 #define UNCACHED_POLICY 0x2 00579 #define KiPcr 0xffffd000 00580 #define KiPcr2 0xffffe000

Generated on Sat May 15 19:40:14 2004 for test by doxygen 1.3.7