Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

732 lines
17 KiB

  1. #include "kxalpha.h"
  2. //
  3. // Wait Reason and Wait Type Enumerated Type Values
  4. //
  5. #define WrExecutive 0x0
  6. //
  7. // Bug Check Code Definitions
  8. //
  9. #define APC_INDEX_MISMATCH 0x1
  10. #define ATTEMPTED_SWITCH_FROM_DPC 0xb8
  11. #define DATA_BUS_ERROR 0x2e
  12. #define DATA_COHERENCY_EXCEPTION 0x55
  13. #define HAL1_INITIALIZATION_FAILED 0x61
  14. #define INSTRUCTION_BUS_ERROR 0x2f
  15. #define INSTRUCTION_COHERENCY_EXCEPTION 0x56
  16. #define INTERRUPT_EXCEPTION_NOT_HANDLED 0x3d
  17. #define INTERRUPT_UNWIND_ATTEMPTED 0x3c
  18. #define INVALID_AFFINITY_SET 0x3
  19. #define INVALID_DATA_ACCESS_TRAP 0x4
  20. #define IRQL_GT_ZERO_AT_SYSTEM_SERVICE 0x4a
  21. #define IRQL_NOT_LESS_OR_EQUAL 0xa
  22. #define KMODE_EXCEPTION_NOT_HANDLED 0x1e
  23. #define NMI_HARDWARE_FAILURE 0x80
  24. #define NO_USER_MODE_CONTEXT 0xe
  25. #define PAGE_FAULT_WITH_INTERRUPTS_OFF 0x49
  26. #define PANIC_STACK_SWITCH 0x2b
  27. #define SPIN_LOCK_INIT_FAILURE 0x81
  28. #define SYSTEM_EXIT_OWNED_MUTEX 0x39
  29. #define SYSTEM_SERVICE_EXCEPTION 0x3b
  30. #define SYSTEM_UNWIND_PREVIOUS_USER 0x3a
  31. #define TRAP_CAUSE_UNKNOWN 0x12
  32. #define UNEXPECTED_KERNEL_MODE_TRAP 0x7f
  33. //
  34. // Breakpoint type definitions
  35. //
  36. #define DBG_STATUS_CONTROL_C 0x1
  37. //
  38. // Exception Record Offset, Flag, and Enumerated Type Definitions
  39. //
  40. #define EXCEPTION_NONCONTINUABLE 0x1
  41. #define EXCEPTION_UNWINDING 0x2
  42. #define EXCEPTION_EXIT_UNWIND 0x4
  43. #define EXCEPTION_STACK_INVALID 0x8
  44. #define EXCEPTION_NESTED_CALL 0x10
  45. #define EXCEPTION_TARGET_UNWIND 0x20
  46. #define EXCEPTION_COLLIDED_UNWIND 0x40
  47. #define EXCEPTION_UNWIND 0x66
  48. #define EXCEPTION_EXECUTE_HANDLER 0x1
  49. #define EXCEPTION_CONTINUE_SEARCH 0x0
  50. #define EXCEPTION_CONTINUE_EXECUTION 0xffffffff
  51. #define ExceptionContinueExecution 0x0
  52. #define ExceptionContinueSearch 0x1
  53. #define ExceptionNestedException 0x2
  54. #define ExceptionCollidedUnwind 0x3
  55. #define ErExceptionCode 0x0
  56. #define ErExceptionFlags 0x4
  57. #define ErExceptionRecord 0x8
  58. #define ErExceptionAddress 0xc
  59. #define ErNumberParameters 0x10
  60. #define ErExceptionInformation 0x14
  61. #define ExceptionRecordLength 0x50
  62. //
  63. // Fast Mutex Structure Offset Definitions
  64. //
  65. #define FmCount 0x0
  66. #define FmOwner 0x4
  67. #define FmContention 0x8
  68. #define FmEvent 0xc
  69. #define FmOldIrql 0x1c
  70. //
  71. // Interrupt Priority Request Level Definitions
  72. //
  73. #define APC_LEVEL 0x1
  74. #define DISPATCH_LEVEL 0x2
  75. #define IPI_LEVEL 0x6
  76. #define POWER_LEVEL 0x7
  77. #define PROFILE_LEVEL 0x3
  78. #define HIGH_LEVEL 0x7
  79. #define SYNCH_LEVEL 0x5
  80. //
  81. // Large Integer Structure Offset Definitions
  82. //
  83. #define LiLowPart 0x0
  84. #define LiHighPart 0x4
  85. //
  86. // List Entry Structure Offset Definitions
  87. //
  88. #define LsFlink 0x0
  89. #define LsBlink 0x4
  90. //
  91. // String Structure Offset Definitions
  92. //
  93. #define StrLength 0x0
  94. #define StrMaximumLength 0x2
  95. #define StrBuffer 0x4
  96. //
  97. // Time Structure Offset Definitions
  98. //
  99. #define TmLowTime 0x0
  100. #define TmHighTime 0x4
  101. //
  102. // DPC object Structure Offset Definitions
  103. //
  104. #define DpType 0x0
  105. #define DpNumber 0x2
  106. #define DpImportance 0x3
  107. #define DpDpcListEntry 0x4
  108. #define DpDeferredRoutine 0xc
  109. #define DpDeferredContext 0x10
  110. #define DpSystemArgument1 0x14
  111. #define DpSystemArgument2 0x18
  112. #define DpLock 0x1c
  113. #define DpcObjectLength 0x20
  114. //
  115. // Interrupt Object Structure Offset Definitions
  116. //
  117. #define InLevelSensitive 0x0
  118. #define InLatched 0x1
  119. #define InType 0x0
  120. #define InSize 0x2
  121. #define InInterruptListEntry 0x4
  122. #define InServiceRoutine 0xc
  123. #define InServiceContext 0x10
  124. #define InSpinLock 0x14
  125. #define InActualLock 0x1c
  126. #define InDispatchAddress 0x20
  127. #define InVector 0x24
  128. #define InIrql 0x28
  129. #define InSynchronizeIrql 0x29
  130. #define InFloatingSave 0x2a
  131. #define InConnected 0x2b
  132. #define InNumber 0x2c
  133. #define InMode 0x30
  134. #define InShareVector 0x2d
  135. #define InDispatchCode 0x3c
  136. #define InterruptObjectLength 0x4c
  137. //
  138. // Processor Control Registers Structure Offset Definitions
  139. //
  140. #define PCR_MINOR_VERSION 0x1
  141. #define PCR_MAJOR_VERSION 0x1
  142. #define PcMinorVersion 0x0
  143. #define PcMajorVersion 0x4
  144. #define PcPalBaseAddress 0x8
  145. #define PcPalMajorVersion 0x10
  146. #define PcPalMinorVersion 0x14
  147. #define PcPalSequenceVersion 0x18
  148. #define PcPalMajorSpecification 0x1c
  149. #define PcPalMinorSpecification 0x20
  150. #define PcFirmwareRestartAddress 0x28
  151. #define PcRestartBlock 0x30
  152. #define PcPalReserved 0x38
  153. #define PcPalAlignmentFixupCount 0xc30
  154. #define PcPanicStack 0xc38
  155. #define PcProcessorType 0xc3c
  156. #define PcProcessorRevision 0xc40
  157. #define PcPhysicalAddressBits 0xc44
  158. #define PcMaximumAddressSpaceNumber 0xc48
  159. #define PcPageSize 0xc4c
  160. #define PcFirstLevelDcacheSize 0xc50
  161. #define PcFirstLevelDcacheFillSize 0xc54
  162. #define PcFirstLevelIcacheSize 0xc58
  163. #define PcFirstLevelIcacheFillSize 0xc5c
  164. #define PcFirmwareRevisionId 0xc60
  165. #define PcSystemType 0xc64
  166. #define PcSystemVariant 0xc6c
  167. #define PcSystemRevision 0xc70
  168. #define PcSystemSerialNumber 0xc74
  169. #define PcCycleClockPeriod 0xc84
  170. #define PcSecondLevelCacheSize 0xc88
  171. #define PcSecondLevelCacheFillSize 0xc8c
  172. #define PcThirdLevelCacheSize 0xc90
  173. #define PcThirdLevelCacheFillSize 0xc94
  174. #define PcFourthLevelCacheSize 0xc98
  175. #define PcFourthLevelCacheFillSize 0xc9c
  176. #define PcPrcb 0xca0
  177. #define PcNumber 0xca4
  178. #define PcSetMember 0xca8
  179. #define PcHalReserved 0xcb0
  180. #define PcIrqlTable 0xeb0
  181. #define PcIrqlMask 0xed0
  182. #define PcInterruptRoutine 0x10e0
  183. #define PcReservedVectors 0x14e0
  184. #define PcMachineCheckError 0x14f0
  185. #define PcDpcStack 0x14f4
  186. #define PcNotMember 0x14e4
  187. #define PcCurrentPid 0x14fc
  188. #define PcSystemServiceDispatchStart 0x1504
  189. #define PcSystemServiceDispatchEnd 0x1508
  190. #define PcIdleThread 0x150c
  191. #define ProcessorControlRegisterLength 0x1510
  192. #define SharedUserData 0xff000000
  193. #define UsTickCountLow 0x0
  194. #define UsTickCountMultiplier 0x4
  195. #define UsInterruptTime 0x8
  196. #define UsSystemTime 0x10
  197. //
  198. // Processor Block Structure Offset Definitions
  199. //
  200. #define PRCB_MINOR_VERSION 0x1
  201. #define PRCB_MAJOR_VERSION 0x2
  202. #define PbMinorVersion 0x0
  203. #define PbMajorVersion 0x2
  204. #define PbCurrentThread 0x4
  205. #define PbNextThread 0x8
  206. #define PbIdleThread 0xc
  207. #define PbNumber 0x10
  208. #define PbBuildType 0x12
  209. #define PbSetMember 0x14
  210. #define PbRestartBlock 0x18
  211. #define PbPowerState 0x648
  212. #define ProcessorBlockLength 0x6d0
  213. //
  214. // Processor Power State Offset Definitions
  215. //
  216. #define PpIdleFunction 0x0
  217. //
  218. // Context Frame Offset and Flag Definitions
  219. //
  220. #define CONTEXT_FULL 0x20007
  221. #define CONTEXT_CONTROL 0x20001
  222. #define CONTEXT_FLOATING_POINT 0x20002
  223. #define CONTEXT_INTEGER 0x20004
  224. #define CxFltF0 0x0
  225. #define CxFltF1 0x8
  226. #define CxFltF2 0x10
  227. #define CxFltF3 0x18
  228. #define CxFltF4 0x20
  229. #define CxFltF5 0x28
  230. #define CxFltF6 0x30
  231. #define CxFltF7 0x38
  232. #define CxFltF8 0x40
  233. #define CxFltF9 0x48
  234. #define CxFltF10 0x50
  235. #define CxFltF11 0x58
  236. #define CxFltF12 0x60
  237. #define CxFltF13 0x68
  238. #define CxFltF14 0x70
  239. #define CxFltF15 0x78
  240. #define CxFltF16 0x80
  241. #define CxFltF17 0x88
  242. #define CxFltF18 0x90
  243. #define CxFltF19 0x98
  244. #define CxFltF20 0xa0
  245. #define CxFltF21 0xa8
  246. #define CxFltF22 0xb0
  247. #define CxFltF23 0xb8
  248. #define CxFltF24 0xc0
  249. #define CxFltF25 0xc8
  250. #define CxFltF26 0xd0
  251. #define CxFltF27 0xd8
  252. #define CxFltF28 0xe0
  253. #define CxFltF29 0xe8
  254. #define CxFltF30 0xf0
  255. #define CxFltF31 0xf8
  256. #define CxIntV0 0x100
  257. #define CxIntT0 0x108
  258. #define CxIntT1 0x110
  259. #define CxIntT2 0x118
  260. #define CxIntT3 0x120
  261. #define CxIntT4 0x128
  262. #define CxIntT5 0x130
  263. #define CxIntT6 0x138
  264. #define CxIntT7 0x140
  265. #define CxIntS0 0x148
  266. #define CxIntS1 0x150
  267. #define CxIntS2 0x158
  268. #define CxIntS3 0x160
  269. #define CxIntS4 0x168
  270. #define CxIntS5 0x170
  271. #define CxIntFp 0x178
  272. #define CxIntA0 0x180
  273. #define CxIntA1 0x188
  274. #define CxIntA2 0x190
  275. #define CxIntA3 0x198
  276. #define CxIntA4 0x1a0
  277. #define CxIntA5 0x1a8
  278. #define CxIntT8 0x1b0
  279. #define CxIntT9 0x1b8
  280. #define CxIntT10 0x1c0
  281. #define CxIntT11 0x1c8
  282. #define CxIntRa 0x1d0
  283. #define CxIntT12 0x1d8
  284. #define CxIntAt 0x1e0
  285. #define CxIntGp 0x1e8
  286. #define CxIntSp 0x1f0
  287. #define CxIntZero 0x1f8
  288. #define CxFpcr 0x200
  289. #define CxSoftFpcr 0x208
  290. #define CxFir 0x210
  291. #define CxPsr 0x218
  292. #define CxContextFlags 0x21c
  293. #define ContextFrameLength 0x230
  294. //
  295. // Exception Frame Offset Definitions and Length
  296. //
  297. #define ExFltF2 0x8
  298. #define ExFltF3 0x10
  299. #define ExFltF4 0x18
  300. #define ExFltF5 0x20
  301. #define ExFltF6 0x28
  302. #define ExFltF7 0x30
  303. #define ExFltF8 0x38
  304. #define ExFltF9 0x40
  305. #define ExIntS0 0x48
  306. #define ExIntS1 0x50
  307. #define ExIntS2 0x58
  308. #define ExIntS3 0x60
  309. #define ExIntS4 0x68
  310. #define ExIntS5 0x70
  311. #define ExIntFp 0x78
  312. #define ExPsr 0x88
  313. #define ExSwapReturn 0x80
  314. #define ExIntRa 0x0
  315. #define ExceptionFrameLength 0xa0
  316. //
  317. // Jump Offset Definitions and Length
  318. //
  319. #define JbFp 0x0
  320. #define JbPc 0x4
  321. #define JbSeb 0x8
  322. #define JbType 0xc
  323. #define JbFltF2 0x10
  324. #define JbFltF3 0x18
  325. #define JbFltF4 0x20
  326. #define JbFltF5 0x28
  327. #define JbFltF6 0x30
  328. #define JbFltF7 0x38
  329. #define JbFltF8 0x40
  330. #define JbFltF9 0x48
  331. #define JbIntS0 0x50
  332. #define JbIntS1 0x58
  333. #define JbIntS2 0x60
  334. #define JbIntS3 0x68
  335. #define JbIntS4 0x70
  336. #define JbIntS5 0x78
  337. #define JbIntS6 0x80
  338. #define JbIntSp 0x88
  339. #define JbFir 0x90
  340. //
  341. // Trap Frame Offset Definitions and Length
  342. //
  343. #define TrFltF0 0x128
  344. #define TrFltF1 0x138
  345. #define TrFltF10 0x140
  346. #define TrFltF11 0x148
  347. #define TrFltF12 0x150
  348. #define TrFltF13 0x158
  349. #define TrFltF14 0x160
  350. #define TrFltF15 0x168
  351. #define TrFltF16 0x170
  352. #define TrFltF17 0x178
  353. #define TrFltF18 0x180
  354. #define TrFltF19 0x188
  355. #define TrFltF20 0x190
  356. #define TrFltF21 0x198
  357. #define TrFltF22 0x1a0
  358. #define TrFltF23 0x1a8
  359. #define TrFltF24 0x1b0
  360. #define TrFltF25 0x1b8
  361. #define TrFltF26 0x1c0
  362. #define TrFltF27 0x1c8
  363. #define TrFltF28 0x1d0
  364. #define TrFltF29 0x1d8
  365. #define TrFltF30 0x1e0
  366. #define TrIntV0 0xa0
  367. #define TrIntT0 0xa8
  368. #define TrIntT1 0xb0
  369. #define TrIntT2 0xb8
  370. #define TrIntT3 0xc0
  371. #define TrIntT4 0xc8
  372. #define TrIntT5 0xd0
  373. #define TrIntT6 0xd8
  374. #define TrIntT7 0xe0
  375. #define TrIntFp 0x18
  376. #define TrIntA0 0x20
  377. #define TrIntA1 0x28
  378. #define TrIntA2 0x30
  379. #define TrIntA3 0x38
  380. #define TrIntA4 0x118
  381. #define TrIntA5 0x120
  382. #define TrIntT8 0xe8
  383. #define TrIntT9 0xf0
  384. #define TrIntT10 0xf8
  385. #define TrIntT11 0x100
  386. #define TrIntT12 0x108
  387. #define TrIntAt 0x110
  388. #define TrIntGp 0x48
  389. #define TrIntSp 0x0
  390. #define TrFpcr 0x130
  391. #define TrPsr 0x10
  392. #define TrFir 0x8
  393. #define TrExceptionRecord 0x50
  394. #define TrOldIrql 0x1e8
  395. #define TrPreviousMode 0x1ec
  396. #define TrIntRa 0x40
  397. #define TrTrapFrame 0x1f0
  398. #define TrapFrameLength 0x200
  399. //
  400. // Loader Parameter Block Offset Definitions
  401. //
  402. #define LpbLoadOrderListHead 0x0
  403. #define LpbMemoryDescriptorListHead 0x8
  404. #define LpbKernelStack 0x18
  405. #define LpbPrcb 0x1c
  406. #define LpbProcess 0x20
  407. #define LpbThread 0x24
  408. #define LpbRegistryLength 0x28
  409. #define LpbRegistryBase 0x2c
  410. #define LpbDpcStack 0x60
  411. #define LpbFirstLevelDcacheSize 0x64
  412. #define LpbFirstLevelDcacheFillSize 0x68
  413. #define LpbFirstLevelIcacheSize 0x6c
  414. #define LpbFirstLevelIcacheFillSize 0x70
  415. #define LpbGpBase 0x74
  416. #define LpbPanicStack 0x78
  417. #define LpbPcrPage 0x7c
  418. #define LpbPdrPage 0x80
  419. #define LpbSecondLevelDcacheSize 0x84
  420. #define LpbSecondLevelDcacheFillSize 0x88
  421. #define LpbSecondLevelIcacheSize 0x8c
  422. #define LpbSecondLevelIcacheFillSize 0x90
  423. #define LpbPhysicalAddressBits 0x94
  424. #define LpbMaximumAddressSpaceNumber 0x98
  425. #define LpbSystemSerialNumber 0x9c
  426. #define LpbSystemType 0xac
  427. #define LpbSystemVariant 0xb4
  428. #define LpbSystemRevision 0xb8
  429. #define LpbProcessorType 0xbc
  430. #define LpbProcessorRevision 0xc0
  431. #define LpbCycleClockPeriod 0xc4
  432. #define LpbPageSize 0xc8
  433. #define LpbRestartBlock 0xcc
  434. #define LpbFirmwareRestartAddress 0xd0
  435. #define LpbFirmwareRevisionId 0xd8
  436. #define LpbPalBaseAddress 0xdc
  437. //
  438. // Restart Block Structure Definitions
  439. //
  440. #define RbSignature 0x0
  441. #define RbLength 0x4
  442. #define RbVersion 0x8
  443. #define RbRevision 0xa
  444. #define RbNextRestartBlock 0xc
  445. #define RbRestartAddress 0x10
  446. #define RbBootMasterId 0x14
  447. #define RbProcessorId 0x18
  448. #define RbBootStatus 0x1c
  449. #define RbCheckSum 0x20
  450. #define RbSaveAreaLength 0x24
  451. #define RbSaveArea 0x28
  452. #define RbHaltReason 0x28
  453. #define RbLogoutFrame 0x2c
  454. #define RbPalBase 0x30
  455. #define RbIntV0 0x38
  456. #define RbIntT0 0x40
  457. #define RbIntT1 0x48
  458. #define RbIntT2 0x50
  459. #define RbIntT3 0x58
  460. #define RbIntT4 0x60
  461. #define RbIntT5 0x68
  462. #define RbIntT6 0x70
  463. #define RbIntT7 0x78
  464. #define RbIntS0 0x80
  465. #define RbIntS1 0x88
  466. #define RbIntS2 0x90
  467. #define RbIntS3 0x98
  468. #define RbIntS4 0xa0
  469. #define RbIntS5 0xa8
  470. #define RbIntFp 0xb0
  471. #define RbIntA0 0xb8
  472. #define RbIntA1 0xc0
  473. #define RbIntA2 0xc8
  474. #define RbIntA3 0xd0
  475. #define RbIntA4 0xd8
  476. #define RbIntA5 0xe0
  477. #define RbIntT8 0xe8
  478. #define RbIntT9 0xf0
  479. #define RbIntT10 0xf8
  480. #define RbIntT11 0x100
  481. #define RbIntRa 0x108
  482. #define RbIntT12 0x110
  483. #define RbIntAT 0x118
  484. #define RbIntGp 0x120
  485. #define RbIntSp 0x128
  486. #define RbIntZero 0x130
  487. #define RbFpcr 0x138
  488. #define RbFltF0 0x140
  489. #define RbFltF1 0x148
  490. #define RbFltF2 0x150
  491. #define RbFltF3 0x158
  492. #define RbFltF4 0x160
  493. #define RbFltF5 0x168
  494. #define RbFltF6 0x170
  495. #define RbFltF7 0x178
  496. #define RbFltF8 0x180
  497. #define RbFltF9 0x188
  498. #define RbFltF10 0x190
  499. #define RbFltF11 0x198
  500. #define RbFltF12 0x1a0
  501. #define RbFltF13 0x1a8
  502. #define RbFltF14 0x1b0
  503. #define RbFltF15 0x1b8
  504. #define RbFltF16 0x1c0
  505. #define RbFltF17 0x1c8
  506. #define RbFltF18 0x1d0
  507. #define RbFltF19 0x1d8
  508. #define RbFltF20 0x1e0
  509. #define RbFltF21 0x1e8
  510. #define RbFltF22 0x1f0
  511. #define RbFltF23 0x1f8
  512. #define RbFltF24 0x200
  513. #define RbFltF25 0x208
  514. #define RbFltF26 0x210
  515. #define RbFltF27 0x218
  516. #define RbFltF28 0x220
  517. #define RbFltF29 0x228
  518. #define RbFltF30 0x230
  519. #define RbFltF31 0x238
  520. #define RbAsn 0x240
  521. #define RbGeneralEntry 0x244
  522. #define RbIksp 0x248
  523. #define RbInterruptEntry 0x24c
  524. #define RbKgp 0x250
  525. #define RbMces 0x254
  526. #define RbMemMgmtEntry 0x258
  527. #define RbPanicEntry 0x25c
  528. #define RbPcr 0x260
  529. #define RbPdr 0x264
  530. #define RbPsr 0x268
  531. #define RbReiRestartAddress 0x26c
  532. #define RbSirr 0x270
  533. #define RbSyscallEntry 0x274
  534. #define RbTeb 0x278
  535. #define RbThread 0x27c
  536. #define RbPerProcessorState 0x280
  537. //
  538. // Address Space Layout Definitions
  539. //
  540. #define KSEG0_BASE 0x80000000
  541. #define KSEG2_BASE 0xc0000000
  542. //
  543. // Page Table and Directory Entry Definitions
  544. //
  545. #define PAGE_SIZE 0x2000
  546. #define PAGE_SHIFT 0xd
  547. #define PDI_SHIFT 0x18
  548. #define PTI_SHIFT 0xd
  549. //
  550. // Breakpoint Definitions
  551. //
  552. #define USER_BREAKPOINT 0x0
  553. #define KERNEL_BREAKPOINT 0x1
  554. #define BREAKIN_BREAKPOINT 0x19
  555. #define DEBUG_PRINT_BREAKPOINT 0x14
  556. #define DEBUG_PROMPT_BREAKPOINT 0x15
  557. #define DEBUG_STOP_BREAKPOINT 0x16
  558. #define DEBUG_LOAD_SYMBOLS_BREAKPOINT 0x17
  559. #define DEBUG_UNLOAD_SYMBOLS_BREAKPOINT 0x18
  560. //
  561. // Miscellaneous Definitions
  562. //
  563. #define Executive 0x0
  564. #define KernelMode 0x0
  565. #define FALSE 0x0
  566. #define TRUE 0x1
  567. #define PROCESSOR_ALPHA_21064 0x5248
  568. #define PROCESSOR_ALPHA_21164 0x52ac
  569. #define PROCESSOR_ALPHA_21066 0x524a
  570. #define PROCESSOR_ALPHA_21068 0x524c
  571. #define PROCESSOR_ALPHA_21164PC 0x52ad
  572. #define PROCESSOR_ALPHA_21264 0x5310
  573. #define MCHK_CORRECTABLE_MASK 0x1
  574. #define MCHK_CORRECTABLE 0x0
  575. #define MCHK_RETRYABLE_MASK 0x2
  576. #define MCHK_RETRYABLE 0x1
  577. #define MCES_MCK_MASK 0x1
  578. #define MCES_MCK 0x0
  579. #define MCES_SCE_MASK 0x2
  580. #define MCES_SCE 0x1
  581. #define MCES_PCE_MASK 0x4
  582. #define MCES_PCE 0x2
  583. #define MCES_DPC_MASK 0x8
  584. #define MCES_DPC 0x3
  585. #define MCES_DSC_MASK 0x10
  586. #define MCES_DSC 0x4
  587. #define MCES_DMCK_MASK 0x20
  588. #define MCES_DMCK 0x5
  589. //
  590. // Call PAL Mnemonics
  591. //
  592. // begin callpal
  593. #define bpt 0x80
  594. #define callsys 0x83
  595. #define imb 0x86
  596. #define gentrap 0xaa
  597. #define rdteb 0xab
  598. #define kbpt 0xac
  599. #define callkd 0xad
  600. #define halt 0x0
  601. #define restart 0x1
  602. #define draina 0x2
  603. #define reboot 0x3
  604. #define initpal 0x4
  605. #define wrentry 0x5
  606. #define swpirql 0x6
  607. #define rdirql 0x7
  608. #define di 0x8
  609. #define ei 0x9
  610. #define swppal 0xa
  611. #define ssir 0xc
  612. #define csir 0xd
  613. #define rfe 0xe
  614. #define retsys 0xf
  615. #define swpctx 0x10
  616. #define swpprocess 0x11
  617. #define rdmces 0x12
  618. #define wrmces 0x13
  619. #define tbia 0x14
  620. #define tbis 0x15
  621. #define tbisasn 0x17
  622. #define dtbis 0x16
  623. #define rdksp 0x18
  624. #define swpksp 0x19
  625. #define rdpsr 0x1a
  626. #define rdpcr 0x1c
  627. #define rdthread 0x1e
  628. #define tbim 0x20
  629. #define tbimasn 0x21
  630. #define tbim64 0x22
  631. #define tbis64 0x23
  632. #define ealnfix 0x24
  633. #define dalnfix 0x25
  634. #define rdcounters 0x30
  635. #define rdstate 0x31
  636. #define wrperfmon 0x32
  637. #define cp_sleep 0x39
  638. #define initpcr 0x38
  639. // end callpal
  640. //
  641. // Bios Argument Structure Definitions
  642. //
  643. #define BaEax 0x0
  644. #define BaEbx 0x4
  645. #define BaEcx 0x8
  646. #define BaEdx 0xc
  647. #define BaEsi 0x10
  648. #define BaEdi 0x14
  649. #define BaEbp 0x18
  650. #define BiosArgumentLength 0x1c
  651. //
  652. // Define Vendor Callback Read/Write Error Frame Operation Types
  653. //
  654. #define ReadFrame 0x1
  655. #define WriteFrame 0x2
  656. //
  657. // Define Vendor Callback Vector Base Address
  658. //
  659. #define SYSTEM_VECTOR_BASE 0x806fe028
  660. //
  661. // Define Vendor Callback Offsets
  662. //
  663. #define VnCallBiosRoutine 0x38
  664. #define VnReadWriteErrorFrameRoutine 0x98
  665. #define VnVideoDisplayInitializeRoutine 0x10