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.

1503 lines
46 KiB

  1. /*++
  2. Copyright (c) 1990 Microsoft Corporation
  3. Module Name:
  4. genia64.c
  5. Abstract:
  6. This module implements a program which generates IA64 machine dependent
  7. structure offset definitions for kernel structures that are accessed in
  8. assembly code.
  9. Author:
  10. David N. Cutler (davec) 27-Mar-1990
  11. Revision History:
  12. Allen M. Kay (akay) 25-Jan-1996 Modified this file for IA64.
  13. Forrest Foltz (forrestf) 24-Jan-1998
  14. Modified format to use new obj-based procedure.
  15. --*/
  16. #include "ki.h"
  17. #pragma hdrstop
  18. #define HEADER_FILE
  19. #include "nt.h"
  20. #include "excpt.h"
  21. #include "ntdef.h"
  22. #include "ntkeapi.h"
  23. #include "ntia64.h"
  24. #include "ntimage.h"
  25. #include "ntseapi.h"
  26. #include "ntobapi.h"
  27. #include "ntlpcapi.h"
  28. #include "ntioapi.h"
  29. #include "ntmmapi.h"
  30. #include "ntldr.h"
  31. #include "ntpsapi.h"
  32. #include "ntexapi.h"
  33. #include "ntnls.h"
  34. #include "nturtl.h"
  35. #include "ntcsrmsg.h"
  36. #include "ntcsrsrv.h"
  37. #include "ntxcapi.h"
  38. #include "ia64.h"
  39. #include "arc.h"
  40. #include "ntstatus.h"
  41. #include "kxia64.h"
  42. #include "stdarg.h"
  43. #include "setjmp.h"
  44. include(`..\genxx.h')
  45. #define KSIA64 KERNEL
  46. #define HALIA64 HAL
  47. STRUC_ELEMENT ElementList[] = {
  48. START_LIST
  49. //
  50. // Include statement for IA64 architecture static definitions.
  51. //
  52. EnableInc (KSIA64 | HALIA64)
  53. genTxt("#include \"kxia64.h\"\n")
  54. DisableInc (HALIA64)
  55. //
  56. // Include IA64 register definition.
  57. //
  58. EnableInc (KSIA64 | HALIA64)
  59. genTxt("#include \"regia64.h\"\n")
  60. DisableInc (HALIA64)
  61. //
  62. // Include architecture independent definitions.
  63. //
  64. #include "..\genxx.inc"
  65. genCom("EPROCESS offset used for debugging.")
  66. genDef(Pr, EPROCESS, Wow64Process)
  67. //
  68. // Generate architecture dependent definitions.
  69. //
  70. //
  71. // OS_MCA, OS_INIT HandOff structure definitions.
  72. //
  73. genCom("Processor OS_MCA HandOff Structure Offset Definitions")
  74. genDef(SalHandOff, SAL_HANDOFF_STATE, PalProcEntryPoint)
  75. genDef(SalHandOff, SAL_HANDOFF_STATE, SalProcEntryPoint)
  76. genDef(SalHandOff, SAL_HANDOFF_STATE, SalGlobalPointer)
  77. genDef(SalHandOff, SAL_HANDOFF_STATE, RendezVousResult)
  78. genDef(SalHandOff, SAL_HANDOFF_STATE, SalReturnAddress)
  79. genDef(SalHandOff, SAL_HANDOFF_STATE, MinStateSavePtr)
  80. genCom("Processor OS_INIT HandOff Structure Offset Definitions")
  81. genDef(OsHandOff, OS_HANDOFF_STATE, Result)
  82. genDef(OsHandOff, OS_HANDOFF_STATE, SalGlobalPointer)
  83. genDef(OsHandOff, OS_HANDOFF_STATE, MinStateSavePtr)
  84. genDef(OsHandOff, OS_HANDOFF_STATE, SalReturnAddress)
  85. genDef(OsHandOff, OS_HANDOFF_STATE, NewContextFlag)
  86. //
  87. // Per processor SAL event structure, OS_MCA and OS_INIT.
  88. //
  89. genCom("SAL Event Resouces Structure Offset Definitions")
  90. genDef(Ser, SAL_EVENT_RESOURCES, SalToOsHandOff)
  91. genDef(Ser, SAL_EVENT_RESOURCES, OsToSalHandOff)
  92. genDef(Ser, SAL_EVENT_RESOURCES, StateDumpPhysical)
  93. genDef(Ser, SAL_EVENT_RESOURCES, BackStore)
  94. genDef(Ser, SAL_EVENT_RESOURCES, BackStoreLimit)
  95. genDef(Ser, SAL_EVENT_RESOURCES, Stack)
  96. genDef(Ser, SAL_EVENT_RESOURCES, StackLimit)
  97. genDef(Ser, SAL_EVENT_RESOURCES, PTOM)
  98. genDef(Ser, SAL_EVENT_RESOURCES, StackFrame)
  99. genDef(Ser, SAL_EVENT_RESOURCES, EventPool)
  100. genDef(Ser, SAL_EVENT_RESOURCES, EventPoolSize)
  101. genNam(SER_EVENT_STACK_FRAME_ENTRIES)
  102. //
  103. // PAL Mini-save area, used by MCA and INIT
  104. //
  105. genCom("PAL mini-save area Structure Offset Definitions")
  106. genDef(Pms, PAL_MINI_SAVE_AREA, IntNats)
  107. genDef(Pms, PAL_MINI_SAVE_AREA, IntGp)
  108. genDef(Pms, PAL_MINI_SAVE_AREA, IntT0)
  109. genDef(Pms, PAL_MINI_SAVE_AREA, IntT1)
  110. genDef(Pms, PAL_MINI_SAVE_AREA, IntS0)
  111. genDef(Pms, PAL_MINI_SAVE_AREA, IntS1)
  112. genDef(Pms, PAL_MINI_SAVE_AREA, IntS2)
  113. genDef(Pms, PAL_MINI_SAVE_AREA, IntS3)
  114. genDef(Pms, PAL_MINI_SAVE_AREA, IntV0)
  115. genDef(Pms, PAL_MINI_SAVE_AREA, IntT2)
  116. genDef(Pms, PAL_MINI_SAVE_AREA, IntT3)
  117. genDef(Pms, PAL_MINI_SAVE_AREA, IntT4)
  118. genDef(Pms, PAL_MINI_SAVE_AREA, IntSp)
  119. genDef(Pms, PAL_MINI_SAVE_AREA, IntTeb)
  120. genDef(Pms, PAL_MINI_SAVE_AREA, IntT5)
  121. genDef(Pms, PAL_MINI_SAVE_AREA, IntT6)
  122. genSpc()
  123. genDef(Pms, PAL_MINI_SAVE_AREA, B0R16)
  124. genSpc()
  125. genDef(Pms, PAL_MINI_SAVE_AREA, IntT7)
  126. genDef(Pms, PAL_MINI_SAVE_AREA, IntT8)
  127. genDef(Pms, PAL_MINI_SAVE_AREA, IntT9)
  128. genDef(Pms, PAL_MINI_SAVE_AREA, IntT10)
  129. genDef(Pms, PAL_MINI_SAVE_AREA, IntT11)
  130. genDef(Pms, PAL_MINI_SAVE_AREA, IntT12)
  131. genDef(Pms, PAL_MINI_SAVE_AREA, IntT13)
  132. genDef(Pms, PAL_MINI_SAVE_AREA, IntT14)
  133. genDef(Pms, PAL_MINI_SAVE_AREA, IntT15)
  134. genDef(Pms, PAL_MINI_SAVE_AREA, IntT16)
  135. genDef(Pms, PAL_MINI_SAVE_AREA, IntT17)
  136. genDef(Pms, PAL_MINI_SAVE_AREA, IntT18)
  137. genDef(Pms, PAL_MINI_SAVE_AREA, IntT19)
  138. genDef(Pms, PAL_MINI_SAVE_AREA, IntT20)
  139. genDef(Pms, PAL_MINI_SAVE_AREA, IntT21)
  140. genDef(Pms, PAL_MINI_SAVE_AREA, IntT22)
  141. genSpc()
  142. genDef(Pms, PAL_MINI_SAVE_AREA, Preds)
  143. genDef(Pms, PAL_MINI_SAVE_AREA, BrRp)
  144. genDef(Pms, PAL_MINI_SAVE_AREA, RsRSC)
  145. genSpc()
  146. genDef(Pms, PAL_MINI_SAVE_AREA, StIIP)
  147. genDef(Pms, PAL_MINI_SAVE_AREA, StIPSR)
  148. genDef(Pms, PAL_MINI_SAVE_AREA, StIFS)
  149. genSpc()
  150. genDef(Pms, PAL_MINI_SAVE_AREA, XIP)
  151. genDef(Pms, PAL_MINI_SAVE_AREA, XPSR)
  152. genDef(Pms, PAL_MINI_SAVE_AREA, XFS)
  153. genSpc()
  154. genVal(PalMiniSaveLength, ROUND_UP(sizeof(PAL_MINI_SAVE_AREA), 16))
  155. //
  156. // Processor control register structure definitions.
  157. //
  158. genCom("Processor Control Registers Structure Offset Definitions")
  159. genNam(PCR_MINOR_VERSION)
  160. genNam(PCR_MAJOR_VERSION)
  161. genDef(Pc, KPCR, MinorVersion)
  162. genDef(Pc, KPCR, MajorVersion)
  163. genDef(Pc, KPCR, InterruptRoutine)
  164. genDef(Pc, KPCR, FirstLevelDcacheSize)
  165. genDef(Pc, KPCR, FirstLevelDcacheFillSize)
  166. genDef(Pc, KPCR, FirstLevelIcacheSize)
  167. genDef(Pc, KPCR, FirstLevelIcacheFillSize)
  168. genDef(Pc, KPCR, SecondLevelDcacheSize)
  169. genDef(Pc, KPCR, SecondLevelDcacheFillSize)
  170. genDef(Pc, KPCR, SecondLevelIcacheSize)
  171. genDef(Pc, KPCR, SecondLevelIcacheFillSize)
  172. genDef(Pc, KPCR, Prcb)
  173. genDef(Pc, KPCR, DcacheAlignment)
  174. genDef(Pc, KPCR, DcacheFillSize)
  175. genDef(Pc, KPCR, IcacheAlignment)
  176. genDef(Pc, KPCR, IcacheFillSize)
  177. genDef(Pc, KPCR, ProcessorId)
  178. genDef(Pc, KPCR, ProfileInterval)
  179. genDef(Pc, KPCR, ProfileCount)
  180. genDef(Pc, KPCR, StallExecutionCount)
  181. genDef(Pc, KPCR, StallScaleFactor)
  182. genDef(Pc, KPCR, Number)
  183. genDef(Pc, KPCR, KernelDebugActive)
  184. genDef(Pc, KPCR, CurrentIrql)
  185. genDef(Pc, KPCR, SoftwareInterruptPending)
  186. genDef(Pc, KPCR, ApcInterrupt)
  187. genDef(Pc, KPCR, DispatchInterrupt)
  188. genDef(Pc, KPCR, IrqlMask)
  189. genDef(Pc, KPCR, IrqlTable)
  190. genDef(Pc, KPCR, SetMember)
  191. genDef(Pc, KPCR, CurrentThread)
  192. genDef(Pc, KPCR, NotMember)
  193. genDef(Pc, KPCR, SystemReserved)
  194. genDef(Pc, KPCR, HalReserved)
  195. genDef(Pc, KPCR, KernelGP)
  196. genDef(Pc, KPCR, InitialStack)
  197. genDef(Pc, KPCR, InitialBStore)
  198. genDef(Pc, KPCR, StackLimit)
  199. genDef(Pc, KPCR, BStoreLimit)
  200. genDef(Pc, KPCR, PanicStack)
  201. genDef(Pc, KPCR, SavedIIM)
  202. genDef(Pc, KPCR, SavedIFA)
  203. genDef(Pc, KPCR, FpbLock)
  204. genDef(Pc, KPCR, ForwardProgressBuffer)
  205. genDef(Pc, KPCR, EOITable)
  206. genDef(Pc, KPCR, InOsMca)
  207. genDef(Pc, KPCR, InOsInit)
  208. genDef(Pc, KPCR, InOsCmc)
  209. genDef(Pc, KPCR, InOsCpe)
  210. genDef(Pc, KPCR, OsMcaResourcePtr)
  211. genDef(Pc, KPCR, HighFpOwner)
  212. genDef(Pc, KPCR, InterruptionCount)
  213. genDef(Pc, KPCR, PteUbase)
  214. genDef(Pc, KPCR, PteKbase)
  215. genDef(Pc, KPCR, PteSbase)
  216. genDef(Pc, KPCR, PdeUbase)
  217. genDef(Pc, KPCR, PdeKbase)
  218. genDef(Pc, KPCR, PdeSbase)
  219. genDef(Pc, KPCR, PdeUtbase)
  220. genDef(Pc, KPCR, PdeKtbase)
  221. genDef(Pc, KPCR, PdeStbase)
  222. genNam(MAX_NUMBER_OF_IHISTORY_RECORDS)
  223. DisableInc (HALIA64)
  224. genVal(ProcessorControlRegisterLength, ROUND_UP(sizeof(KPCR), 16))
  225. genDef(Us, KUSER_SHARED_DATA, TickCountMultiplier)
  226. genDef(Us, KUSER_SHARED_DATA, InterruptTime)
  227. genDef(Us, KUSER_SHARED_DATA, SystemTime)
  228. //
  229. // Processor block structure definitions.
  230. //
  231. EnableInc (HALIA64)
  232. genCom("Processor Block Structure Offset Definitions")
  233. genNam(PRCB_MINOR_VERSION)
  234. genNam(PRCB_MAJOR_VERSION)
  235. genDef(Pb, KPRCB, MinorVersion)
  236. genDef(Pb, KPRCB, MajorVersion)
  237. genDef(Pb, KPRCB, CurrentThread)
  238. genDef(Pb, KPRCB, NextThread)
  239. genDef(Pb, KPRCB, IdleThread)
  240. genDef(Pb, KPRCB, Number)
  241. genDef(Pb, KPRCB, BuildType)
  242. genDef(Pb, KPRCB, SetMember)
  243. genDef(Pb, KPRCB, RestartBlock)
  244. genDef(Pb, KPRCB, PcrPage)
  245. genDef(Pb, KPRCB, ProcessorModel)
  246. genDef(Pb, KPRCB, ProcessorRevision)
  247. genDef(Pb, KPRCB, ProcessorFamily)
  248. genDef(Pb, KPRCB, ProcessorSerialNumber)
  249. genDef(Pb, KPRCB, ProcessorFeatureBits)
  250. genDef(Pb, KPRCB, ProcessorVendorString)
  251. genDef(Pb, KPRCB, SystemReserved)
  252. genDef(Pb, KPRCB, HalReserved)
  253. DisableInc (HALIA64)
  254. genDef(Pb, KPRCB, WakeIdle)
  255. genDef(Pb, KPRCB, DpcTime)
  256. genDef(Pb, KPRCB, InterruptTime)
  257. genDef(Pb, KPRCB, KernelTime)
  258. genDef(Pb, KPRCB, UserTime)
  259. genDef(Pb, KPRCB, InterruptCount)
  260. genDef(Pb, KPRCB, DispatchInterruptCount)
  261. genDef(Pb, KPRCB, IpiFrozen)
  262. genDef(Pb, KPRCB, ProcessorState)
  263. genDef(Pb, KPRCB, CcFastReadNoWait)
  264. genDef(Pb, KPRCB, CcFastReadWait)
  265. genDef(Pb, KPRCB, CcFastReadNotPossible)
  266. genDef(Pb, KPRCB, CcCopyReadNoWait)
  267. genDef(Pb, KPRCB, CcCopyReadWait)
  268. genDef(Pb, KPRCB, CcCopyReadNoWaitMiss)
  269. genAlt(PbAlignmentFixupCount, KPRCB, KeAlignmentFixupCount)
  270. genAlt(PbContextSwitches, KPRCB, KeContextSwitches)
  271. genAlt(PbDcacheFlushCount, KPRCB, KeDcacheFlushCount)
  272. genAlt(PbExceptionDispatchCount, KPRCB, KeExceptionDispatchCount)
  273. genAlt(PbFirstLevelTbFills, KPRCB, KeFirstLevelTbFills)
  274. genAlt(PbFloatingEmulationCount, KPRCB, KeFloatingEmulationCount)
  275. genAlt(PbIcacheFlushCount, KPRCB, KeIcacheFlushCount)
  276. genAlt(PbSecondLevelTbFills, KPRCB, KeSecondLevelTbFills)
  277. genAlt(PbSystemCalls, KPRCB, KeSystemCalls)
  278. genDef(Pb, KPRCB, LockQueue)
  279. genDef(Pb, KPRCB, ReservedCounter)
  280. genDef(Pb, KPRCB, PacketBarrier)
  281. genDef(Pb, KPRCB, CurrentPacket)
  282. genDef(Pb, KPRCB, TargetSet)
  283. genDef(Pb, KPRCB, WorkerRoutine)
  284. genDef(Pb, KPRCB, RequestSummary)
  285. genDef(Pb, KPRCB, SignalDone)
  286. genAlt(PbDpcListHead, KPRCB, DpcData[DPC_NORMAL].DpcListHead)
  287. genAlt(PbDpcLock, KPRCB, DpcData[DPC_NORMAL].DpcLock)
  288. genAlt(PbDpcQueueDepth, KPRCB, DpcData[DPC_NORMAL].DpcQueueDepth)
  289. genAlt(PbDpcCount, KPRCB, DpcData[DPC_NORMAL].DpcCount)
  290. genDef(Pb, KPRCB, MaximumDpcQueueDepth)
  291. genDef(Pb, KPRCB, DpcRequestRate)
  292. genDef(Pb, KPRCB, MinimumDpcRate)
  293. genDef(Pb, KPRCB, DpcLastCount)
  294. genDef(Pb, KPRCB, DpcInterruptRequested)
  295. genDef(Pb, KPRCB, DpcThreadRequested)
  296. genDef(Pb, KPRCB, DpcRoutineActive)
  297. genDef(Pb, KPRCB, DpcThreadActive)
  298. genDef(Pb, KPRCB, TimerHand)
  299. genDef(Pb, KPRCB, ThreadDpcEnable)
  300. genDef(Pb, KPRCB, QuantumEnd)
  301. genDef(Pb, KPRCB, DpcSetEventRequest)
  302. genDef(Pb, KPRCB, AdjustDpcThreshold)
  303. genDef(Pb, KPRCB, StartCount)
  304. genDef(Pb, KPRCB, IdleSchedule)
  305. genDef(Pb, KPRCB, DeferredReadyListHead)
  306. genDef(Pb, KPRCB, PrcbLock)
  307. genDef(Pb, KPRCB, ReadySummary)
  308. genDef(Pb, KPRCB, DispatcherReadyListHead)
  309. genDef(Pb, KPRCB, SkipTick)
  310. genVal(ProcessorBlockLength, ROUND_UP(sizeof(KPRCB), 16))
  311. //
  312. // Immediate interprocessor command definitions.
  313. //
  314. genCom("Immediate Interprocessor Command Definitions")
  315. genNam(IPI_APC)
  316. genNam(IPI_DPC)
  317. genNam(IPI_FREEZE)
  318. genNam(IPI_PACKET_READY)
  319. //
  320. // Interprocessor interrupt count structure offset definitions.
  321. //
  322. genCom("Interprocessor Interrupt Count Structure Offset Definitions")
  323. genDef(Ic, KIPI_COUNTS, Freeze)
  324. genDef(Ic, KIPI_COUNTS, Packet)
  325. genDef(Ic, KIPI_COUNTS, DPC)
  326. genDef(Ic, KIPI_COUNTS, APC)
  327. genDef(Ic, KIPI_COUNTS, FlushSingleTb)
  328. genDef(Ic, KIPI_COUNTS, FlushMultipleTb)
  329. genDef(Ic, KIPI_COUNTS, FlushEntireTb)
  330. genDef(Ic, KIPI_COUNTS, GenericCall)
  331. genDef(Ic, KIPI_COUNTS, ChangeColor)
  332. genDef(Ic, KIPI_COUNTS, SweepDcache)
  333. genDef(Ic, KIPI_COUNTS, SweepIcache)
  334. genDef(Ic, KIPI_COUNTS, SweepIcacheRange)
  335. genDef(Ic, KIPI_COUNTS, FlushIoBuffers)
  336. genDef(Ic, KIPI_COUNTS, GratuitousDPC)
  337. //
  338. // Context frame offset definitions and flag definitions.
  339. //
  340. EnableInc (HALIA64)
  341. genCom("Context Frame Offset and Flag Definitions")
  342. genNam(CONTEXT_FULL)
  343. genNam(CONTEXT_CONTROL)
  344. genNam(CONTEXT_INTEGER)
  345. genNam(CONTEXT_LOWER_FLOATING_POINT)
  346. genNam(CONTEXT_HIGHER_FLOATING_POINT)
  347. genNam(CONTEXT_FLOATING_POINT)
  348. genNam(CONTEXT_DEBUG)
  349. genNam(CONTEXT_IA32_CONTROL)
  350. genSpc()
  351. genDef(Cx, CONTEXT, ContextFlags)
  352. genSpc()
  353. genDef(Cx, CONTEXT, DbI0)
  354. genDef(Cx, CONTEXT, DbI1)
  355. genDef(Cx, CONTEXT, DbI2)
  356. genDef(Cx, CONTEXT, DbI3)
  357. genDef(Cx, CONTEXT, DbI4)
  358. genDef(Cx, CONTEXT, DbI5)
  359. genDef(Cx, CONTEXT, DbI6)
  360. genDef(Cx, CONTEXT, DbI7)
  361. genSpc()
  362. genDef(Cx, CONTEXT, DbD0)
  363. genDef(Cx, CONTEXT, DbD1)
  364. genDef(Cx, CONTEXT, DbD2)
  365. genDef(Cx, CONTEXT, DbD3)
  366. genDef(Cx, CONTEXT, DbD4)
  367. genDef(Cx, CONTEXT, DbD5)
  368. genDef(Cx, CONTEXT, DbD6)
  369. genDef(Cx, CONTEXT, DbD7)
  370. genSpc()
  371. genDef(Cx, CONTEXT, FltS0)
  372. genDef(Cx, CONTEXT, FltS1)
  373. genDef(Cx, CONTEXT, FltS2)
  374. genDef(Cx, CONTEXT, FltS3)
  375. genSpc()
  376. genDef(Cx, CONTEXT, FltT0)
  377. genDef(Cx, CONTEXT, FltT1)
  378. genDef(Cx, CONTEXT, FltT2)
  379. genDef(Cx, CONTEXT, FltT3)
  380. genDef(Cx, CONTEXT, FltT4)
  381. genDef(Cx, CONTEXT, FltT5)
  382. genDef(Cx, CONTEXT, FltT6)
  383. genDef(Cx, CONTEXT, FltT7)
  384. genDef(Cx, CONTEXT, FltT8)
  385. genDef(Cx, CONTEXT, FltT9)
  386. genSpc()
  387. genDef(Cx, CONTEXT, FltS4)
  388. genDef(Cx, CONTEXT, FltS5)
  389. genDef(Cx, CONTEXT, FltS6)
  390. genDef(Cx, CONTEXT, FltS7)
  391. genDef(Cx, CONTEXT, FltS8)
  392. genDef(Cx, CONTEXT, FltS9)
  393. genDef(Cx, CONTEXT, FltS10)
  394. genDef(Cx, CONTEXT, FltS11)
  395. genDef(Cx, CONTEXT, FltS12)
  396. genDef(Cx, CONTEXT, FltS13)
  397. genDef(Cx, CONTEXT, FltS14)
  398. genDef(Cx, CONTEXT, FltS15)
  399. genDef(Cx, CONTEXT, FltS16)
  400. genDef(Cx, CONTEXT, FltS17)
  401. genDef(Cx, CONTEXT, FltS18)
  402. genDef(Cx, CONTEXT, FltS19)
  403. genSpc()
  404. genDef(Cx, CONTEXT, FltF32)
  405. genDef(Cx, CONTEXT, FltF33)
  406. genDef(Cx, CONTEXT, FltF34)
  407. genDef(Cx, CONTEXT, FltF35)
  408. genDef(Cx, CONTEXT, FltF36)
  409. genDef(Cx, CONTEXT, FltF37)
  410. genDef(Cx, CONTEXT, FltF38)
  411. genDef(Cx, CONTEXT, FltF39)
  412. genSpc()
  413. genDef(Cx, CONTEXT, FltF40)
  414. genDef(Cx, CONTEXT, FltF41)
  415. genDef(Cx, CONTEXT, FltF42)
  416. genDef(Cx, CONTEXT, FltF43)
  417. genDef(Cx, CONTEXT, FltF44)
  418. genDef(Cx, CONTEXT, FltF45)
  419. genDef(Cx, CONTEXT, FltF46)
  420. genDef(Cx, CONTEXT, FltF47)
  421. genDef(Cx, CONTEXT, FltF48)
  422. genDef(Cx, CONTEXT, FltF49)
  423. genSpc()
  424. genDef(Cx, CONTEXT, FltF50)
  425. genDef(Cx, CONTEXT, FltF51)
  426. genDef(Cx, CONTEXT, FltF52)
  427. genDef(Cx, CONTEXT, FltF53)
  428. genDef(Cx, CONTEXT, FltF54)
  429. genDef(Cx, CONTEXT, FltF55)
  430. genDef(Cx, CONTEXT, FltF56)
  431. genDef(Cx, CONTEXT, FltF57)
  432. genDef(Cx, CONTEXT, FltF58)
  433. genDef(Cx, CONTEXT, FltF59)
  434. genSpc()
  435. genDef(Cx, CONTEXT, FltF60)
  436. genDef(Cx, CONTEXT, FltF61)
  437. genDef(Cx, CONTEXT, FltF62)
  438. genDef(Cx, CONTEXT, FltF63)
  439. genDef(Cx, CONTEXT, FltF64)
  440. genDef(Cx, CONTEXT, FltF65)
  441. genDef(Cx, CONTEXT, FltF66)
  442. genDef(Cx, CONTEXT, FltF67)
  443. genDef(Cx, CONTEXT, FltF68)
  444. genDef(Cx, CONTEXT, FltF69)
  445. genSpc()
  446. genDef(Cx, CONTEXT, FltF70)
  447. genDef(Cx, CONTEXT, FltF71)
  448. genDef(Cx, CONTEXT, FltF72)
  449. genDef(Cx, CONTEXT, FltF73)
  450. genDef(Cx, CONTEXT, FltF74)
  451. genDef(Cx, CONTEXT, FltF75)
  452. genDef(Cx, CONTEXT, FltF76)
  453. genDef(Cx, CONTEXT, FltF77)
  454. genDef(Cx, CONTEXT, FltF78)
  455. genDef(Cx, CONTEXT, FltF79)
  456. genSpc()
  457. genDef(Cx, CONTEXT, FltF80)
  458. genDef(Cx, CONTEXT, FltF81)
  459. genDef(Cx, CONTEXT, FltF82)
  460. genDef(Cx, CONTEXT, FltF83)
  461. genDef(Cx, CONTEXT, FltF84)
  462. genDef(Cx, CONTEXT, FltF85)
  463. genDef(Cx, CONTEXT, FltF86)
  464. genDef(Cx, CONTEXT, FltF87)
  465. genDef(Cx, CONTEXT, FltF88)
  466. genDef(Cx, CONTEXT, FltF89)
  467. genSpc()
  468. genDef(Cx, CONTEXT, FltF90)
  469. genDef(Cx, CONTEXT, FltF91)
  470. genDef(Cx, CONTEXT, FltF92)
  471. genDef(Cx, CONTEXT, FltF93)
  472. genDef(Cx, CONTEXT, FltF94)
  473. genDef(Cx, CONTEXT, FltF95)
  474. genDef(Cx, CONTEXT, FltF96)
  475. genDef(Cx, CONTEXT, FltF97)
  476. genDef(Cx, CONTEXT, FltF98)
  477. genDef(Cx, CONTEXT, FltF99)
  478. genSpc()
  479. genDef(Cx, CONTEXT, FltF100)
  480. genDef(Cx, CONTEXT, FltF101)
  481. genDef(Cx, CONTEXT, FltF102)
  482. genDef(Cx, CONTEXT, FltF103)
  483. genDef(Cx, CONTEXT, FltF104)
  484. genDef(Cx, CONTEXT, FltF105)
  485. genDef(Cx, CONTEXT, FltF106)
  486. genDef(Cx, CONTEXT, FltF107)
  487. genDef(Cx, CONTEXT, FltF108)
  488. genDef(Cx, CONTEXT, FltF109)
  489. genSpc()
  490. genDef(Cx, CONTEXT, FltF110)
  491. genDef(Cx, CONTEXT, FltF111)
  492. genDef(Cx, CONTEXT, FltF112)
  493. genDef(Cx, CONTEXT, FltF113)
  494. genDef(Cx, CONTEXT, FltF114)
  495. genDef(Cx, CONTEXT, FltF115)
  496. genDef(Cx, CONTEXT, FltF116)
  497. genDef(Cx, CONTEXT, FltF117)
  498. genDef(Cx, CONTEXT, FltF118)
  499. genDef(Cx, CONTEXT, FltF119)
  500. genSpc()
  501. genDef(Cx, CONTEXT, FltF120)
  502. genDef(Cx, CONTEXT, FltF121)
  503. genDef(Cx, CONTEXT, FltF122)
  504. genDef(Cx, CONTEXT, FltF123)
  505. genDef(Cx, CONTEXT, FltF124)
  506. genDef(Cx, CONTEXT, FltF125)
  507. genDef(Cx, CONTEXT, FltF126)
  508. genDef(Cx, CONTEXT, FltF127)
  509. genSpc()
  510. genDef(Cx, CONTEXT, StFPSR)
  511. genSpc()
  512. genDef(Cx, CONTEXT, IntGp)
  513. genDef(Cx, CONTEXT, IntT0)
  514. genDef(Cx, CONTEXT, IntT1)
  515. genDef(Cx, CONTEXT, IntS0)
  516. genDef(Cx, CONTEXT, IntS1)
  517. genDef(Cx, CONTEXT, IntS2)
  518. genDef(Cx, CONTEXT, IntS3)
  519. genDef(Cx, CONTEXT, IntV0)
  520. genDef(Cx, CONTEXT, IntT2)
  521. genDef(Cx, CONTEXT, IntT3)
  522. genDef(Cx, CONTEXT, IntT4)
  523. genDef(Cx, CONTEXT, IntSp)
  524. genDef(Cx, CONTEXT, IntTeb)
  525. genDef(Cx, CONTEXT, IntT5)
  526. genDef(Cx, CONTEXT, IntT6)
  527. genDef(Cx, CONTEXT, IntT7)
  528. genDef(Cx, CONTEXT, IntT8)
  529. genDef(Cx, CONTEXT, IntT9)
  530. genSpc()
  531. genDef(Cx, CONTEXT, IntT10)
  532. genDef(Cx, CONTEXT, IntT11)
  533. genDef(Cx, CONTEXT, IntT12)
  534. genDef(Cx, CONTEXT, IntT13)
  535. genDef(Cx, CONTEXT, IntT14)
  536. genDef(Cx, CONTEXT, IntT15)
  537. genDef(Cx, CONTEXT, IntT16)
  538. genDef(Cx, CONTEXT, IntT17)
  539. genDef(Cx, CONTEXT, IntT18)
  540. genDef(Cx, CONTEXT, IntT19)
  541. genDef(Cx, CONTEXT, IntT20)
  542. genDef(Cx, CONTEXT, IntT21)
  543. genDef(Cx, CONTEXT, IntT22)
  544. genSpc()
  545. genDef(Cx, CONTEXT, IntNats)
  546. genDef(Cx, CONTEXT, Preds)
  547. genSpc()
  548. genDef(Cx, CONTEXT, BrRp)
  549. genDef(Cx, CONTEXT, BrS0)
  550. genDef(Cx, CONTEXT, BrS1)
  551. genDef(Cx, CONTEXT, BrS2)
  552. genDef(Cx, CONTEXT, BrS3)
  553. genDef(Cx, CONTEXT, BrS4)
  554. genDef(Cx, CONTEXT, BrT0)
  555. genDef(Cx, CONTEXT, BrT1)
  556. genSpc()
  557. genDef(Cx, CONTEXT, ApUNAT)
  558. genDef(Cx, CONTEXT, ApLC)
  559. genDef(Cx, CONTEXT, ApEC)
  560. genDef(Cx, CONTEXT, ApCCV)
  561. genDef(Cx, CONTEXT, ApDCR)
  562. genDef(Cx, CONTEXT, RsPFS)
  563. genDef(Cx, CONTEXT, RsBSP)
  564. genDef(Cx, CONTEXT, RsBSPSTORE)
  565. genDef(Cx, CONTEXT, RsRSC)
  566. genDef(Cx, CONTEXT, RsRNAT)
  567. genDef(Cx, CONTEXT, StIPSR)
  568. genDef(Cx, CONTEXT, StIIP)
  569. genDef(Cx, CONTEXT, StIFS)
  570. genSpc()
  571. genDef(Cx, CONTEXT, StFCR)
  572. genDef(Cx, CONTEXT, Eflag)
  573. genDef(Cx, CONTEXT, SegCSD)
  574. genDef(Cx, CONTEXT, SegSSD)
  575. genDef(Cx, CONTEXT, Cflag)
  576. genDef(Cx, CONTEXT, StFSR)
  577. genDef(Cx, CONTEXT, StFIR)
  578. genDef(Cx, CONTEXT, StFDR)
  579. genSpc()
  580. genVal(ContextFrameLength, ROUND_UP(sizeof(CONTEXT), 16))
  581. genSpc()
  582. //
  583. // Exception dispatcher context structure offset definitions.
  584. //
  585. genCom("Dispatcher Context Structure Offset Definitions")
  586. genDef(Dc, DISPATCHER_CONTEXT, ControlPc)
  587. genDef(Dc, DISPATCHER_CONTEXT, FunctionEntry)
  588. genDef(Dc, DISPATCHER_CONTEXT, EstablisherFrame)
  589. genDef(Dc, DISPATCHER_CONTEXT, ContextRecord)
  590. //
  591. // Application registers offset definitions
  592. //
  593. genCom("Debug Register Offset Definitions and Length")
  594. genDef(Ts, KAPPLICATION_REGISTERS, Ar21)
  595. genDef(Ts, KAPPLICATION_REGISTERS, Ar24)
  596. genDef(Ts, KAPPLICATION_REGISTERS, Ar26)
  597. genDef(Ts, KAPPLICATION_REGISTERS, Ar27)
  598. genDef(Ts, KAPPLICATION_REGISTERS, Ar28)
  599. genDef(Ts, KAPPLICATION_REGISTERS, Ar29)
  600. genDef(Ts, KAPPLICATION_REGISTERS, Ar30)
  601. //
  602. // Higher FP volatile offset definitions.
  603. //
  604. genCom("Higher FP Volatile Offset Definitions and Length")
  605. genDef(Hi, KHIGHER_FP_VOLATILE, FltF32)
  606. genDef(Hi, KHIGHER_FP_VOLATILE, FltF33)
  607. genDef(Hi, KHIGHER_FP_VOLATILE, FltF34)
  608. genDef(Hi, KHIGHER_FP_VOLATILE, FltF35)
  609. genDef(Hi, KHIGHER_FP_VOLATILE, FltF36)
  610. genDef(Hi, KHIGHER_FP_VOLATILE, FltF37)
  611. genDef(Hi, KHIGHER_FP_VOLATILE, FltF38)
  612. genDef(Hi, KHIGHER_FP_VOLATILE, FltF39)
  613. genSpc()
  614. genDef(Hi, KHIGHER_FP_VOLATILE, FltF40)
  615. genDef(Hi, KHIGHER_FP_VOLATILE, FltF41)
  616. genDef(Hi, KHIGHER_FP_VOLATILE, FltF42)
  617. genDef(Hi, KHIGHER_FP_VOLATILE, FltF43)
  618. genDef(Hi, KHIGHER_FP_VOLATILE, FltF44)
  619. genDef(Hi, KHIGHER_FP_VOLATILE, FltF45)
  620. genDef(Hi, KHIGHER_FP_VOLATILE, FltF46)
  621. genDef(Hi, KHIGHER_FP_VOLATILE, FltF47)
  622. genDef(Hi, KHIGHER_FP_VOLATILE, FltF48)
  623. genDef(Hi, KHIGHER_FP_VOLATILE, FltF49)
  624. genSpc()
  625. genDef(Hi, KHIGHER_FP_VOLATILE, FltF50)
  626. genDef(Hi, KHIGHER_FP_VOLATILE, FltF51)
  627. genDef(Hi, KHIGHER_FP_VOLATILE, FltF52)
  628. genDef(Hi, KHIGHER_FP_VOLATILE, FltF53)
  629. genDef(Hi, KHIGHER_FP_VOLATILE, FltF54)
  630. genDef(Hi, KHIGHER_FP_VOLATILE, FltF55)
  631. genDef(Hi, KHIGHER_FP_VOLATILE, FltF56)
  632. genDef(Hi, KHIGHER_FP_VOLATILE, FltF57)
  633. genDef(Hi, KHIGHER_FP_VOLATILE, FltF58)
  634. genDef(Hi, KHIGHER_FP_VOLATILE, FltF59)
  635. genSpc()
  636. genDef(Hi, KHIGHER_FP_VOLATILE, FltF60)
  637. genDef(Hi, KHIGHER_FP_VOLATILE, FltF61)
  638. genDef(Hi, KHIGHER_FP_VOLATILE, FltF62)
  639. genDef(Hi, KHIGHER_FP_VOLATILE, FltF63)
  640. genDef(Hi, KHIGHER_FP_VOLATILE, FltF64)
  641. genDef(Hi, KHIGHER_FP_VOLATILE, FltF65)
  642. genDef(Hi, KHIGHER_FP_VOLATILE, FltF66)
  643. genDef(Hi, KHIGHER_FP_VOLATILE, FltF67)
  644. genDef(Hi, KHIGHER_FP_VOLATILE, FltF68)
  645. genDef(Hi, KHIGHER_FP_VOLATILE, FltF69)
  646. genSpc()
  647. genDef(Hi, KHIGHER_FP_VOLATILE, FltF70)
  648. genDef(Hi, KHIGHER_FP_VOLATILE, FltF71)
  649. genDef(Hi, KHIGHER_FP_VOLATILE, FltF72)
  650. genDef(Hi, KHIGHER_FP_VOLATILE, FltF73)
  651. genDef(Hi, KHIGHER_FP_VOLATILE, FltF74)
  652. genDef(Hi, KHIGHER_FP_VOLATILE, FltF75)
  653. genDef(Hi, KHIGHER_FP_VOLATILE, FltF76)
  654. genDef(Hi, KHIGHER_FP_VOLATILE, FltF77)
  655. genDef(Hi, KHIGHER_FP_VOLATILE, FltF78)
  656. genDef(Hi, KHIGHER_FP_VOLATILE, FltF79)
  657. genSpc()
  658. genDef(Hi, KHIGHER_FP_VOLATILE, FltF80)
  659. genDef(Hi, KHIGHER_FP_VOLATILE, FltF81)
  660. genDef(Hi, KHIGHER_FP_VOLATILE, FltF82)
  661. genDef(Hi, KHIGHER_FP_VOLATILE, FltF83)
  662. genDef(Hi, KHIGHER_FP_VOLATILE, FltF84)
  663. genDef(Hi, KHIGHER_FP_VOLATILE, FltF85)
  664. genDef(Hi, KHIGHER_FP_VOLATILE, FltF86)
  665. genDef(Hi, KHIGHER_FP_VOLATILE, FltF87)
  666. genDef(Hi, KHIGHER_FP_VOLATILE, FltF88)
  667. genDef(Hi, KHIGHER_FP_VOLATILE, FltF89)
  668. genSpc()
  669. genDef(Hi, KHIGHER_FP_VOLATILE, FltF90)
  670. genDef(Hi, KHIGHER_FP_VOLATILE, FltF91)
  671. genDef(Hi, KHIGHER_FP_VOLATILE, FltF92)
  672. genDef(Hi, KHIGHER_FP_VOLATILE, FltF93)
  673. genDef(Hi, KHIGHER_FP_VOLATILE, FltF94)
  674. genDef(Hi, KHIGHER_FP_VOLATILE, FltF95)
  675. genDef(Hi, KHIGHER_FP_VOLATILE, FltF96)
  676. genDef(Hi, KHIGHER_FP_VOLATILE, FltF97)
  677. genDef(Hi, KHIGHER_FP_VOLATILE, FltF98)
  678. genDef(Hi, KHIGHER_FP_VOLATILE, FltF99)
  679. genSpc()
  680. genDef(Hi, KHIGHER_FP_VOLATILE, FltF100)
  681. genDef(Hi, KHIGHER_FP_VOLATILE, FltF101)
  682. genDef(Hi, KHIGHER_FP_VOLATILE, FltF102)
  683. genDef(Hi, KHIGHER_FP_VOLATILE, FltF103)
  684. genDef(Hi, KHIGHER_FP_VOLATILE, FltF104)
  685. genDef(Hi, KHIGHER_FP_VOLATILE, FltF105)
  686. genDef(Hi, KHIGHER_FP_VOLATILE, FltF106)
  687. genDef(Hi, KHIGHER_FP_VOLATILE, FltF107)
  688. genDef(Hi, KHIGHER_FP_VOLATILE, FltF108)
  689. genDef(Hi, KHIGHER_FP_VOLATILE, FltF109)
  690. genSpc()
  691. genDef(Hi, KHIGHER_FP_VOLATILE, FltF110)
  692. genDef(Hi, KHIGHER_FP_VOLATILE, FltF111)
  693. genDef(Hi, KHIGHER_FP_VOLATILE, FltF112)
  694. genDef(Hi, KHIGHER_FP_VOLATILE, FltF113)
  695. genDef(Hi, KHIGHER_FP_VOLATILE, FltF114)
  696. genDef(Hi, KHIGHER_FP_VOLATILE, FltF115)
  697. genDef(Hi, KHIGHER_FP_VOLATILE, FltF116)
  698. genDef(Hi, KHIGHER_FP_VOLATILE, FltF117)
  699. genDef(Hi, KHIGHER_FP_VOLATILE, FltF118)
  700. genDef(Hi, KHIGHER_FP_VOLATILE, FltF119)
  701. genSpc()
  702. genDef(Hi, KHIGHER_FP_VOLATILE, FltF120)
  703. genDef(Hi, KHIGHER_FP_VOLATILE, FltF121)
  704. genDef(Hi, KHIGHER_FP_VOLATILE, FltF122)
  705. genDef(Hi, KHIGHER_FP_VOLATILE, FltF123)
  706. genDef(Hi, KHIGHER_FP_VOLATILE, FltF124)
  707. genDef(Hi, KHIGHER_FP_VOLATILE, FltF125)
  708. genDef(Hi, KHIGHER_FP_VOLATILE, FltF126)
  709. genDef(Hi, KHIGHER_FP_VOLATILE, FltF127)
  710. genSpc()
  711. //
  712. // Debug registers offset definitions
  713. //
  714. genCom("Debug Register Offset Definitions and Length")
  715. genDef(Dr, KDEBUG_REGISTERS, DbI0)
  716. genDef(Dr, KDEBUG_REGISTERS, DbI1)
  717. genDef(Dr, KDEBUG_REGISTERS, DbI2)
  718. genDef(Dr, KDEBUG_REGISTERS, DbI3)
  719. genDef(Dr, KDEBUG_REGISTERS, DbI4)
  720. genDef(Dr, KDEBUG_REGISTERS, DbI5)
  721. genDef(Dr, KDEBUG_REGISTERS, DbI6)
  722. genDef(Dr, KDEBUG_REGISTERS, DbI7)
  723. genSpc()
  724. genDef(Dr, KDEBUG_REGISTERS, DbD0)
  725. genDef(Dr, KDEBUG_REGISTERS, DbD1)
  726. genDef(Dr, KDEBUG_REGISTERS, DbD2)
  727. genDef(Dr, KDEBUG_REGISTERS, DbD3)
  728. genDef(Dr, KDEBUG_REGISTERS, DbD4)
  729. genDef(Dr, KDEBUG_REGISTERS, DbD5)
  730. genDef(Dr, KDEBUG_REGISTERS, DbD6)
  731. genDef(Dr, KDEBUG_REGISTERS, DbD7)
  732. genSpc()
  733. //
  734. // Thread State Save Area length
  735. //
  736. genDef(Ts, KTHREAD_STATE_SAVEAREA, AppRegisters)
  737. genDef(Ts, KTHREAD_STATE_SAVEAREA, PerfRegisters)
  738. genDef(Ts, KTHREAD_STATE_SAVEAREA, HigherFPVolatile)
  739. genDef(Ts, KTHREAD_STATE_SAVEAREA, DebugRegisters)
  740. genVal(ThreadStateSaveAreaLength, ROUND_UP(sizeof(KTHREAD_STATE_SAVEAREA), 16))
  741. //
  742. // Exception frame offset definitions.
  743. //
  744. genCom("Exception Frame Offset Definitions and Length")
  745. genDef(Ex, KEXCEPTION_FRAME, FltS0)
  746. genDef(Ex, KEXCEPTION_FRAME, FltS1)
  747. genDef(Ex, KEXCEPTION_FRAME, FltS2)
  748. genDef(Ex, KEXCEPTION_FRAME, FltS3)
  749. genDef(Ex, KEXCEPTION_FRAME, FltS4)
  750. genDef(Ex, KEXCEPTION_FRAME, FltS5)
  751. genDef(Ex, KEXCEPTION_FRAME, FltS6)
  752. genDef(Ex, KEXCEPTION_FRAME, FltS7)
  753. genDef(Ex, KEXCEPTION_FRAME, FltS8)
  754. genDef(Ex, KEXCEPTION_FRAME, FltS9)
  755. genDef(Ex, KEXCEPTION_FRAME, FltS10)
  756. genDef(Ex, KEXCEPTION_FRAME, FltS11)
  757. genDef(Ex, KEXCEPTION_FRAME, FltS12)
  758. genDef(Ex, KEXCEPTION_FRAME, FltS13)
  759. genDef(Ex, KEXCEPTION_FRAME, FltS14)
  760. genDef(Ex, KEXCEPTION_FRAME, FltS15)
  761. genDef(Ex, KEXCEPTION_FRAME, FltS16)
  762. genDef(Ex, KEXCEPTION_FRAME, FltS17)
  763. genDef(Ex, KEXCEPTION_FRAME, FltS18)
  764. genDef(Ex, KEXCEPTION_FRAME, FltS19)
  765. genSpc()
  766. genDef(Ex, KEXCEPTION_FRAME, IntS0)
  767. genDef(Ex, KEXCEPTION_FRAME, IntS1)
  768. genDef(Ex, KEXCEPTION_FRAME, IntS2)
  769. genDef(Ex, KEXCEPTION_FRAME, IntS3)
  770. genDef(Ex, KEXCEPTION_FRAME, IntNats)
  771. genSpc()
  772. genDef(Ex, KEXCEPTION_FRAME, BrS0)
  773. genDef(Ex, KEXCEPTION_FRAME, BrS1)
  774. genDef(Ex, KEXCEPTION_FRAME, BrS2)
  775. genDef(Ex, KEXCEPTION_FRAME, BrS3)
  776. genDef(Ex, KEXCEPTION_FRAME, BrS4)
  777. genSpc()
  778. genDef(Ex, KEXCEPTION_FRAME, ApEC)
  779. genDef(Ex, KEXCEPTION_FRAME, ApLC)
  780. genSpc()
  781. genVal(ExceptionFrameLength, ROUND_UP(sizeof(KEXCEPTION_FRAME), 16))
  782. //
  783. // Switch frame offset definitions.
  784. //
  785. genCom("Switch Frame Offset Definitions and Length")
  786. genAlt(SwExFrame, KSWITCH_FRAME, SwitchExceptionFrame)
  787. genAlt(SwPreds, KSWITCH_FRAME, SwitchPredicates)
  788. genAlt(SwRp, KSWITCH_FRAME, SwitchRp)
  789. genAlt(SwPFS, KSWITCH_FRAME, SwitchPFS)
  790. genAlt(SwFPSR, KSWITCH_FRAME, SwitchFPSR)
  791. genAlt(SwBsp, KSWITCH_FRAME, SwitchBsp)
  792. genAlt(SwRnat, KSWITCH_FRAME, SwitchRnat)
  793. genSpc()
  794. genVal(SwitchFrameLength, ROUND_UP(sizeof(KSWITCH_FRAME), 16))
  795. //
  796. // Plabel structure offset definitions.
  797. //
  798. genCom("Plabel structure offset definitions")
  799. genDef(Pl, PLABEL_DESCRIPTOR, EntryPoint)
  800. genDef(Pl, PLABEL_DESCRIPTOR, GlobalPointer)
  801. DisableInc (HALIA64)
  802. //
  803. // Jump buffer offset definitions.
  804. //
  805. genCom("Jump Offset Definitions and Length")
  806. genDef(Jb, _JUMP_BUFFER, Registration)
  807. genDef(Jb, _JUMP_BUFFER, TryLevel)
  808. genDef(Jb, _JUMP_BUFFER, Cookie)
  809. genDef(Jb, _JUMP_BUFFER, UnwindFunc)
  810. genDef(Jb, _JUMP_BUFFER, UnwindData)
  811. genSpc()
  812. genDef(Jb, _JUMP_BUFFER, FPSR)
  813. genDef(Jb, _JUMP_BUFFER, FltS0)
  814. genDef(Jb, _JUMP_BUFFER, FltS1)
  815. genDef(Jb, _JUMP_BUFFER, FltS2)
  816. genDef(Jb, _JUMP_BUFFER, FltS3)
  817. genDef(Jb, _JUMP_BUFFER, FltS4)
  818. genDef(Jb, _JUMP_BUFFER, FltS5)
  819. genDef(Jb, _JUMP_BUFFER, FltS6)
  820. genDef(Jb, _JUMP_BUFFER, FltS7)
  821. genDef(Jb, _JUMP_BUFFER, FltS8)
  822. genDef(Jb, _JUMP_BUFFER, FltS9)
  823. genSpc()
  824. genDef(Jb, _JUMP_BUFFER, FltS10)
  825. genDef(Jb, _JUMP_BUFFER, FltS11)
  826. genDef(Jb, _JUMP_BUFFER, FltS12)
  827. genDef(Jb, _JUMP_BUFFER, FltS13)
  828. genDef(Jb, _JUMP_BUFFER, FltS14)
  829. genDef(Jb, _JUMP_BUFFER, FltS15)
  830. genDef(Jb, _JUMP_BUFFER, FltS16)
  831. genDef(Jb, _JUMP_BUFFER, FltS17)
  832. genDef(Jb, _JUMP_BUFFER, FltS18)
  833. genDef(Jb, _JUMP_BUFFER, FltS19)
  834. genSpc()
  835. genDef(Jb, _JUMP_BUFFER, StIIP)
  836. genDef(Jb, _JUMP_BUFFER, BrS0)
  837. genDef(Jb, _JUMP_BUFFER, BrS1)
  838. genDef(Jb, _JUMP_BUFFER, BrS2)
  839. genDef(Jb, _JUMP_BUFFER, BrS3)
  840. genDef(Jb, _JUMP_BUFFER, BrS4)
  841. genSpc()
  842. genDef(Jb, _JUMP_BUFFER, RsBSP)
  843. genDef(Jb, _JUMP_BUFFER, RsPFS)
  844. genDef(Jb, _JUMP_BUFFER, ApUNAT)
  845. genDef(Jb, _JUMP_BUFFER, ApLC)
  846. genSpc()
  847. genDef(Jb, _JUMP_BUFFER, IntS0)
  848. genDef(Jb, _JUMP_BUFFER, IntS1)
  849. genDef(Jb, _JUMP_BUFFER, IntS2)
  850. genDef(Jb, _JUMP_BUFFER, IntS3)
  851. genDef(Jb, _JUMP_BUFFER, IntSp)
  852. genDef(Jb, _JUMP_BUFFER, IntNats)
  853. genDef(Jb, _JUMP_BUFFER, Preds)
  854. genSpc()
  855. genVal(JumpBufferLength, ROUND_UP(sizeof(_JUMP_BUFFER), 16))
  856. //
  857. // Trap frame offset definitions.
  858. //
  859. EnableInc (HALIA64)
  860. genCom("Trap Frame Offset Definitions and Length")
  861. genDef(Tr, KTRAP_FRAME, FltT0)
  862. genDef(Tr, KTRAP_FRAME, FltT1)
  863. genDef(Tr, KTRAP_FRAME, FltT2)
  864. genDef(Tr, KTRAP_FRAME, FltT3)
  865. genDef(Tr, KTRAP_FRAME, FltT4)
  866. genDef(Tr, KTRAP_FRAME, FltT5)
  867. genDef(Tr, KTRAP_FRAME, FltT6)
  868. genDef(Tr, KTRAP_FRAME, FltT7)
  869. genDef(Tr, KTRAP_FRAME, FltT8)
  870. genDef(Tr, KTRAP_FRAME, FltT9)
  871. genSpc()
  872. genDef(Tr, KTRAP_FRAME, IntGp)
  873. genDef(Tr, KTRAP_FRAME, IntT0)
  874. genDef(Tr, KTRAP_FRAME, IntT1)
  875. genSpc()
  876. genDef(Tr, KTRAP_FRAME, ApUNAT)
  877. genDef(Tr, KTRAP_FRAME, ApCCV)
  878. genDef(Tr, KTRAP_FRAME, SegCSD)
  879. genDef(Tr, KTRAP_FRAME, Preds)
  880. genSpc()
  881. genDef(Tr, KTRAP_FRAME, IntV0)
  882. genDef(Tr, KTRAP_FRAME, IntT2)
  883. genDef(Tr, KTRAP_FRAME, IntT3)
  884. genDef(Tr, KTRAP_FRAME, IntT4)
  885. genDef(Tr, KTRAP_FRAME, IntSp)
  886. genDef(Tr, KTRAP_FRAME, IntTeb)
  887. genDef(Tr, KTRAP_FRAME, IntT5)
  888. genDef(Tr, KTRAP_FRAME, IntT6)
  889. genDef(Tr, KTRAP_FRAME, IntT7)
  890. genDef(Tr, KTRAP_FRAME, IntT8)
  891. genDef(Tr, KTRAP_FRAME, IntT9)
  892. genSpc()
  893. genDef(Tr, KTRAP_FRAME, IntT10)
  894. genDef(Tr, KTRAP_FRAME, IntT11)
  895. genDef(Tr, KTRAP_FRAME, IntT12)
  896. genDef(Tr, KTRAP_FRAME, IntT13)
  897. genDef(Tr, KTRAP_FRAME, IntT14)
  898. genDef(Tr, KTRAP_FRAME, IntT15)
  899. genDef(Tr, KTRAP_FRAME, IntT16)
  900. genDef(Tr, KTRAP_FRAME, IntT17)
  901. genDef(Tr, KTRAP_FRAME, IntT18)
  902. genDef(Tr, KTRAP_FRAME, IntT19)
  903. genDef(Tr, KTRAP_FRAME, IntT20)
  904. genDef(Tr, KTRAP_FRAME, IntT21)
  905. genDef(Tr, KTRAP_FRAME, IntT22)
  906. genSpc()
  907. genDef(Tr, KTRAP_FRAME, IntNats)
  908. genSpc()
  909. genDef(Tr, KTRAP_FRAME, BrRp)
  910. genDef(Tr, KTRAP_FRAME, BrT0)
  911. genDef(Tr, KTRAP_FRAME, BrT1)
  912. genSpc()
  913. genDef(Tr, KTRAP_FRAME, RsPFS)
  914. genDef(Tr, KTRAP_FRAME, RsBSP)
  915. genDef(Tr, KTRAP_FRAME, RsRSC)
  916. genDef(Tr, KTRAP_FRAME, RsRNAT)
  917. genDef(Tr, KTRAP_FRAME, RsBSPSTORE)
  918. genSpc()
  919. genDef(Tr, KTRAP_FRAME, StIPSR)
  920. genDef(Tr, KTRAP_FRAME, StISR)
  921. genDef(Tr, KTRAP_FRAME, StIFA)
  922. genDef(Tr, KTRAP_FRAME, StIIP)
  923. genDef(Tr, KTRAP_FRAME, StIIPA)
  924. genDef(Tr, KTRAP_FRAME, StIFS)
  925. genDef(Tr, KTRAP_FRAME, StIIM)
  926. genDef(Tr, KTRAP_FRAME, StIHA)
  927. genDef(Tr, KTRAP_FRAME, StFPSR)
  928. genSpc()
  929. genDef(Tr, KTRAP_FRAME, OldIrql)
  930. genDef(Tr, KTRAP_FRAME, PreviousMode)
  931. genDef(Tr, KTRAP_FRAME, TrapFrame)
  932. genDef(Tr, KTRAP_FRAME, NewBSP)
  933. genDef(Tr, KTRAP_FRAME, EOFMarker)
  934. genDef(Tr, KTRAP_FRAME, ExceptionRecord)
  935. genSpc()
  936. genVal(TrapFrameLength, ROUND_UP(sizeof(KTRAP_FRAME),16))
  937. genVal(TrapFrameArguments, KTRAP_FRAME_ARGUMENTS)
  938. genNamUint(KTRAP_FRAME_EOF)
  939. //
  940. // Usermode callout kernel frame definitions
  941. //
  942. DisableInc(HALIA64)
  943. genCom("Usermode callout kernel frame definitions")
  944. genDef(Cu, KCALLOUT_FRAME, BrRp)
  945. genDef(Cu, KCALLOUT_FRAME, RsPFS)
  946. genDef(Cu, KCALLOUT_FRAME, Preds)
  947. genDef(Cu, KCALLOUT_FRAME, ApUNAT)
  948. genDef(Cu, KCALLOUT_FRAME, ApLC)
  949. genDef(Cu, KCALLOUT_FRAME, IntS0)
  950. genDef(Cu, KCALLOUT_FRAME, IntS1)
  951. genDef(Cu, KCALLOUT_FRAME, IntS2)
  952. genDef(Cu, KCALLOUT_FRAME, IntS3)
  953. genDef(Cu, KCALLOUT_FRAME, BrS0)
  954. genDef(Cu, KCALLOUT_FRAME, BrS1)
  955. genDef(Cu, KCALLOUT_FRAME, BrS2)
  956. genDef(Cu, KCALLOUT_FRAME, BrS3)
  957. genDef(Cu, KCALLOUT_FRAME, BrS4)
  958. genDef(Cu, KCALLOUT_FRAME, RsRNAT)
  959. genDef(Cu, KCALLOUT_FRAME, IntNats)
  960. genDef(Cu, KCALLOUT_FRAME, FltS0)
  961. genDef(Cu, KCALLOUT_FRAME, FltS1)
  962. genDef(Cu, KCALLOUT_FRAME, FltS2)
  963. genDef(Cu, KCALLOUT_FRAME, FltS3)
  964. genDef(Cu, KCALLOUT_FRAME, FltS4)
  965. genDef(Cu, KCALLOUT_FRAME, FltS5)
  966. genDef(Cu, KCALLOUT_FRAME, FltS6)
  967. genDef(Cu, KCALLOUT_FRAME, FltS7)
  968. genDef(Cu, KCALLOUT_FRAME, FltS8)
  969. genDef(Cu, KCALLOUT_FRAME, FltS9)
  970. genDef(Cu, KCALLOUT_FRAME, FltS10)
  971. genDef(Cu, KCALLOUT_FRAME, FltS11)
  972. genDef(Cu, KCALLOUT_FRAME, FltS12)
  973. genDef(Cu, KCALLOUT_FRAME, FltS13)
  974. genDef(Cu, KCALLOUT_FRAME, FltS14)
  975. genDef(Cu, KCALLOUT_FRAME, FltS15)
  976. genDef(Cu, KCALLOUT_FRAME, FltS16)
  977. genDef(Cu, KCALLOUT_FRAME, FltS17)
  978. genDef(Cu, KCALLOUT_FRAME, FltS18)
  979. genDef(Cu, KCALLOUT_FRAME, FltS19)
  980. genDef(Cu, KCALLOUT_FRAME, A0)
  981. genDef(Cu, KCALLOUT_FRAME, A1)
  982. genDef(Cu, KCALLOUT_FRAME, CbStk)
  983. genDef(Cu, KCALLOUT_FRAME, InStack)
  984. genDef(Cu, KCALLOUT_FRAME, CbBStore)
  985. genDef(Cu, KCALLOUT_FRAME, InBStore)
  986. genDef(Cu, KCALLOUT_FRAME, TrFrame)
  987. genDef(Cu, KCALLOUT_FRAME, TrStIIP)
  988. genVal(CuFrameLength, sizeof(KCALLOUT_FRAME))
  989. genCom("Usermode callout user frame definitions")
  990. genDef(Ck, UCALLOUT_FRAME, Buffer)
  991. genDef(Ck, UCALLOUT_FRAME, Length)
  992. genDef(Ck, UCALLOUT_FRAME, ApiNumber)
  993. genDef(Ck, UCALLOUT_FRAME, IntSp)
  994. genDef(Ck, UCALLOUT_FRAME, RsPFS)
  995. genDef(Ck, UCALLOUT_FRAME, BrRp)
  996. EnableInc(HALIA64)
  997. //
  998. // TR info definitions.
  999. //
  1000. genCom("Translation Register Info Definitions")
  1001. genDef(TrInfo, TR_INFO, Valid)
  1002. genDef(TrInfo, TR_INFO, PageSize)
  1003. genDef(TrInfo, TR_INFO, VirtualAddress)
  1004. genVal(TrInfoLength, sizeof(TR_INFO))
  1005. //
  1006. // Loader Parameter Block offset definitions.
  1007. //
  1008. genCom("Loader Parameter Block Offset Definitions")
  1009. genDef(Lpb, LOADER_PARAMETER_BLOCK, LoadOrderListHead)
  1010. genDef(Lpb, LOADER_PARAMETER_BLOCK, MemoryDescriptorListHead)
  1011. genDef(Lpb, LOADER_PARAMETER_BLOCK, KernelStack)
  1012. genDef(Lpb, LOADER_PARAMETER_BLOCK, Prcb)
  1013. genDef(Lpb, LOADER_PARAMETER_BLOCK, Process)
  1014. genDef(Lpb, LOADER_PARAMETER_BLOCK, Thread)
  1015. genAlt(LpbAcpiRsdt,
  1016. LOADER_PARAMETER_BLOCK, u.Ia64.AcpiRsdt)
  1017. genAlt(LpbKernelPhysicalBase,
  1018. LOADER_PARAMETER_BLOCK, u.Ia64.KernelPhysicalBase)
  1019. genAlt(LpbKernelVirtualBase,
  1020. LOADER_PARAMETER_BLOCK, u.Ia64.KernelVirtualBase)
  1021. genAlt(LpbInterruptStack,
  1022. LOADER_PARAMETER_BLOCK, u.Ia64.InterruptStack)
  1023. genAlt(LpbPanicStack,
  1024. LOADER_PARAMETER_BLOCK, u.Ia64.PanicStack)
  1025. genAlt(LpbPcrPage,
  1026. LOADER_PARAMETER_BLOCK, u.Ia64.PcrPage)
  1027. genAlt(LpbPdrPage,
  1028. LOADER_PARAMETER_BLOCK, u.Ia64.PdrPage)
  1029. genAlt(LpbPcrPage2,
  1030. LOADER_PARAMETER_BLOCK, u.Ia64.PcrPage2)
  1031. genAlt(LpbMachineType,
  1032. LOADER_PARAMETER_BLOCK, u.Ia64.MachineType)
  1033. genAlt(LpbItrInfo,
  1034. LOADER_PARAMETER_BLOCK, u.Ia64.ItrInfo)
  1035. genAlt(LpbDtrInfo,
  1036. LOADER_PARAMETER_BLOCK, u.Ia64.DtrInfo)
  1037. DisableInc (HALIA64)
  1038. //
  1039. // Address space layout definitions
  1040. //
  1041. EnableInc (HALIA64)
  1042. genCom("Address Space Layout Definitions")
  1043. genNam(UREGION_INDEX)
  1044. genNamUint(KSEG0_BASE)
  1045. genNamUint(KSEG2_BASE)
  1046. genNamUint(KADDRESS_BASE)
  1047. genNamUint(UADDRESS_BASE)
  1048. genNamUint(SADDRESS_BASE)
  1049. DisableInc (HALIA64)
  1050. genNamUint(SYSTEM_BASE)
  1051. genNamUint(KSEG3_BASE)
  1052. genNamUint(KSEG3_LIMIT)
  1053. //
  1054. // Page table and page directory entry definitions
  1055. //
  1056. EnableInc (HALIA64)
  1057. genCom("Page Table and Directory Entry Definitions")
  1058. genNam(PAGE_SIZE)
  1059. genNam(PAGE_SHIFT)
  1060. genNam(PDI_SHIFT)
  1061. genNam(PTI_SHIFT)
  1062. genNam(PTE_SHIFT)
  1063. genNam(VHPT_PDE_BITS)
  1064. genNam(LARGE_PAGE_SIZE)
  1065. genNam(LARGE_PAGE_SHIFT)
  1066. DisableInc (HALIA64)
  1067. //
  1068. // Breakpoint instruction definitions
  1069. //
  1070. EnableInc (HALIA64)
  1071. genCom("Breakpoint Definitions")
  1072. genNam(USER_BREAKPOINT)
  1073. genNam(KERNEL_BREAKPOINT)
  1074. genNam(BREAKPOINT_BREAKIN)
  1075. DisableInc (HALIA64)
  1076. genNam(UNKNOWN_ERROR_BREAK)
  1077. genNam(INTEGER_DIVIDE_BY_ZERO_BREAK)
  1078. genNam(INTEGER_OVERFLOW_BREAK)
  1079. genNam(RANGE_CHECK_BREAK)
  1080. genNam(NULL_POINTER_DEFERENCE_BREAK)
  1081. genNam(MISALIGNED_DATA_BREAK)
  1082. genNam(DECIMAL_OVERFLOW_BREAK)
  1083. genNam(DECIMAL_DIVIDE_BY_ZERO_BREAK)
  1084. genNam(PACKED_DECIMAL_ERROR_BREAK)
  1085. genNam(INVALID_ASCII_DIGIT_BREAK)
  1086. genNam(INVALID_DECIMAL_DIGIT_BREAK)
  1087. genNam(PARAGRAPH_STACK_OVERFLOW_BREAK)
  1088. genNam(BREAKPOINT_PRINT)
  1089. genNam(BREAKPOINT_PROMPT)
  1090. genNam(BREAKPOINT_STOP)
  1091. genNam(BREAKPOINT_LOAD_SYMBOLS)
  1092. genNam(BREAKPOINT_UNLOAD_SYMBOLS)
  1093. genNam(BREAKPOINT_COMMAND_STRING)
  1094. //
  1095. // Miscellaneous definitions
  1096. //
  1097. genCom("IA64 Specific Definitions")
  1098. genNam(BREAK_APP_BASE)
  1099. genNam(BREAK_DEBUG_BASE)
  1100. genNam(BREAK_SYSCALL_BASE)
  1101. genNam(BREAK_SYSCALL)
  1102. genNam(BREAK_FASTSYS_BASE)
  1103. genNam(BREAK_SET_LOW_WAIT_HIGH)
  1104. genNam(BREAK_SET_HIGH_WAIT_LOW)
  1105. genNam(SYSCALL_FRAME)
  1106. genNam(INTERRUPT_FRAME)
  1107. genNam(EXCEPTION_FRAME)
  1108. genNam(CONTEXT_FRAME)
  1109. genSpc()
  1110. //
  1111. // Miscellaneous definitions
  1112. //
  1113. EnableInc (HALIA64)
  1114. genCom("Miscellaneous Definitions")
  1115. genNam(Executive)
  1116. genNam(KernelMode)
  1117. genNam(UserMode)
  1118. genNam(FALSE)
  1119. genNam(TRUE)
  1120. genValUint(KiPcr, KIPCR)
  1121. genValUint(KiPcr2, KI_USER_SHARED_DATA)
  1122. DisableInc (HALIA64)
  1123. genNam(BASE_PRIORITY_THRESHOLD)
  1124. genNam(EVENT_PAIR_INCREMENT)
  1125. genNam(LOW_REALTIME_PRIORITY)
  1126. genNam(KERNEL_STACK_SIZE)
  1127. genNam(KERNEL_BSTORE_SIZE)
  1128. genNam(KERNEL_LARGE_STACK_COMMIT)
  1129. genNam(KERNEL_LARGE_BSTORE_COMMIT)
  1130. genNamUint(MI_USER_PROBE_ADDRESS)
  1131. genNamUint(MM_EPC_VA)
  1132. genNam(THREAD_QUANTUM)
  1133. genNam(CLOCK_QUANTUM_DECREMENT)
  1134. genNam(WAIT_QUANTUM_DECREMENT)
  1135. genNam(READY_SKIP_QUANTUM)
  1136. genNam(ROUND_TRIP_DECREMENT_COUNT)
  1137. //
  1138. // Kernel special register difinitions for IA64
  1139. //
  1140. genCom("kernel special register frame offset definitions")
  1141. genDef(Kps, KPROCESSOR_STATE, SpecialRegisters)
  1142. genDef(Ks, KSPECIAL_REGISTERS, KernelDbI0)
  1143. genDef(Ks, KSPECIAL_REGISTERS, KernelDbI1)
  1144. genDef(Ks, KSPECIAL_REGISTERS, KernelDbI2)
  1145. genDef(Ks, KSPECIAL_REGISTERS, KernelDbI3)
  1146. genDef(Ks, KSPECIAL_REGISTERS, KernelDbI4)
  1147. genDef(Ks, KSPECIAL_REGISTERS, KernelDbI5)
  1148. genDef(Ks, KSPECIAL_REGISTERS, KernelDbI6)
  1149. genDef(Ks, KSPECIAL_REGISTERS, KernelDbI7)
  1150. genDef(Ks, KSPECIAL_REGISTERS, KernelDbD0)
  1151. genDef(Ks, KSPECIAL_REGISTERS, KernelDbD1)
  1152. genDef(Ks, KSPECIAL_REGISTERS, KernelDbD2)
  1153. genDef(Ks, KSPECIAL_REGISTERS, KernelDbD3)
  1154. genDef(Ks, KSPECIAL_REGISTERS, KernelDbD4)
  1155. genDef(Ks, KSPECIAL_REGISTERS, KernelDbD5)
  1156. genDef(Ks, KSPECIAL_REGISTERS, KernelDbD6)
  1157. genDef(Ks, KSPECIAL_REGISTERS, KernelDbD7)
  1158. genDef(Ks, KSPECIAL_REGISTERS, KernelPfC0)
  1159. genDef(Ks, KSPECIAL_REGISTERS, KernelPfC1)
  1160. genDef(Ks, KSPECIAL_REGISTERS, KernelPfC2)
  1161. genDef(Ks, KSPECIAL_REGISTERS, KernelPfC3)
  1162. genDef(Ks, KSPECIAL_REGISTERS, KernelPfC4)
  1163. genDef(Ks, KSPECIAL_REGISTERS, KernelPfC5)
  1164. genDef(Ks, KSPECIAL_REGISTERS, KernelPfC6)
  1165. genDef(Ks, KSPECIAL_REGISTERS, KernelPfC7)
  1166. genDef(Ks, KSPECIAL_REGISTERS, KernelPfD0)
  1167. genDef(Ks, KSPECIAL_REGISTERS, KernelPfD1)
  1168. genDef(Ks, KSPECIAL_REGISTERS, KernelPfD2)
  1169. genDef(Ks, KSPECIAL_REGISTERS, KernelPfD3)
  1170. genDef(Ks, KSPECIAL_REGISTERS, KernelPfD4)
  1171. genDef(Ks, KSPECIAL_REGISTERS, KernelPfD5)
  1172. genDef(Ks, KSPECIAL_REGISTERS, KernelPfD6)
  1173. genDef(Ks, KSPECIAL_REGISTERS, KernelPfD7)
  1174. genDef(Ks, KSPECIAL_REGISTERS, IntH16)
  1175. genDef(Ks, KSPECIAL_REGISTERS, IntH17)
  1176. genDef(Ks, KSPECIAL_REGISTERS, IntH18)
  1177. genDef(Ks, KSPECIAL_REGISTERS, IntH19)
  1178. genDef(Ks, KSPECIAL_REGISTERS, IntH20)
  1179. genDef(Ks, KSPECIAL_REGISTERS, IntH21)
  1180. genDef(Ks, KSPECIAL_REGISTERS, IntH22)
  1181. genDef(Ks, KSPECIAL_REGISTERS, IntH23)
  1182. genDef(Ks, KSPECIAL_REGISTERS, IntH24)
  1183. genDef(Ks, KSPECIAL_REGISTERS, IntH25)
  1184. genDef(Ks, KSPECIAL_REGISTERS, IntH26)
  1185. genDef(Ks, KSPECIAL_REGISTERS, IntH27)
  1186. genDef(Ks, KSPECIAL_REGISTERS, IntH28)
  1187. genDef(Ks, KSPECIAL_REGISTERS, IntH29)
  1188. genDef(Ks, KSPECIAL_REGISTERS, IntH30)
  1189. genDef(Ks, KSPECIAL_REGISTERS, IntH31)
  1190. genDef(Ks, KSPECIAL_REGISTERS, ApCPUID0)
  1191. genDef(Ks, KSPECIAL_REGISTERS, ApCPUID1)
  1192. genDef(Ks, KSPECIAL_REGISTERS, ApCPUID2)
  1193. genDef(Ks, KSPECIAL_REGISTERS, ApCPUID3)
  1194. genDef(Ks, KSPECIAL_REGISTERS, ApCPUID4)
  1195. genDef(Ks, KSPECIAL_REGISTERS, ApCPUID5)
  1196. genDef(Ks, KSPECIAL_REGISTERS, ApCPUID6)
  1197. genDef(Ks, KSPECIAL_REGISTERS, ApCPUID7)
  1198. genDef(Ks, KSPECIAL_REGISTERS, ApKR0)
  1199. genDef(Ks, KSPECIAL_REGISTERS, ApKR1)
  1200. genDef(Ks, KSPECIAL_REGISTERS, ApKR2)
  1201. genDef(Ks, KSPECIAL_REGISTERS, ApKR3)
  1202. genDef(Ks, KSPECIAL_REGISTERS, ApKR4)
  1203. genDef(Ks, KSPECIAL_REGISTERS, ApKR5)
  1204. genDef(Ks, KSPECIAL_REGISTERS, ApKR6)
  1205. genDef(Ks, KSPECIAL_REGISTERS, ApKR7)
  1206. genDef(Ks, KSPECIAL_REGISTERS, ApITC)
  1207. genDef(Ks, KSPECIAL_REGISTERS, ApITM)
  1208. genDef(Ks, KSPECIAL_REGISTERS, ApIVA)
  1209. genDef(Ks, KSPECIAL_REGISTERS, ApPTA)
  1210. genDef(Ks, KSPECIAL_REGISTERS, ApGPTA)
  1211. genDef(Ks, KSPECIAL_REGISTERS, StISR)
  1212. genDef(Ks, KSPECIAL_REGISTERS, StIFA)
  1213. genDef(Ks, KSPECIAL_REGISTERS, StITIR)
  1214. genDef(Ks, KSPECIAL_REGISTERS, StIIPA)
  1215. genDef(Ks, KSPECIAL_REGISTERS, StIIM)
  1216. genDef(Ks, KSPECIAL_REGISTERS, StIHA)
  1217. genDef(Ks, KSPECIAL_REGISTERS, SaLID)
  1218. genDef(Ks, KSPECIAL_REGISTERS, SaIVR)
  1219. genDef(Ks, KSPECIAL_REGISTERS, SaTPR)
  1220. genDef(Ks, KSPECIAL_REGISTERS, SaEOI)
  1221. genDef(Ks, KSPECIAL_REGISTERS, SaIRR0)
  1222. genDef(Ks, KSPECIAL_REGISTERS, SaIRR1)
  1223. genDef(Ks, KSPECIAL_REGISTERS, SaIRR2)
  1224. genDef(Ks, KSPECIAL_REGISTERS, SaIRR3)
  1225. genDef(Ks, KSPECIAL_REGISTERS, SaITV)
  1226. genDef(Ks, KSPECIAL_REGISTERS, SaPMV)
  1227. genDef(Ks, KSPECIAL_REGISTERS, SaCMCV)
  1228. genDef(Ks, KSPECIAL_REGISTERS, SaLRR0)
  1229. genDef(Ks, KSPECIAL_REGISTERS, SaLRR1)
  1230. genDef(Ks, KSPECIAL_REGISTERS, Rr0)
  1231. genDef(Ks, KSPECIAL_REGISTERS, Rr1)
  1232. genDef(Ks, KSPECIAL_REGISTERS, Rr2)
  1233. genDef(Ks, KSPECIAL_REGISTERS, Rr3)
  1234. genDef(Ks, KSPECIAL_REGISTERS, Rr4)
  1235. genDef(Ks, KSPECIAL_REGISTERS, Rr5)
  1236. genDef(Ks, KSPECIAL_REGISTERS, Rr6)
  1237. genDef(Ks, KSPECIAL_REGISTERS, Rr7)
  1238. genDef(Ks, KSPECIAL_REGISTERS, Pkr0)
  1239. genDef(Ks, KSPECIAL_REGISTERS, Pkr1)
  1240. genDef(Ks, KSPECIAL_REGISTERS, Pkr2)
  1241. genDef(Ks, KSPECIAL_REGISTERS, Pkr3)
  1242. genDef(Ks, KSPECIAL_REGISTERS, Pkr4)
  1243. genDef(Ks, KSPECIAL_REGISTERS, Pkr5)
  1244. genDef(Ks, KSPECIAL_REGISTERS, Pkr6)
  1245. genDef(Ks, KSPECIAL_REGISTERS, Pkr7)
  1246. genDef(Ks, KSPECIAL_REGISTERS, Pkr8)
  1247. genDef(Ks, KSPECIAL_REGISTERS, Pkr9)
  1248. genDef(Ks, KSPECIAL_REGISTERS, Pkr10)
  1249. genDef(Ks, KSPECIAL_REGISTERS, Pkr11)
  1250. genDef(Ks, KSPECIAL_REGISTERS, Pkr12)
  1251. genDef(Ks, KSPECIAL_REGISTERS, Pkr13)
  1252. genDef(Ks, KSPECIAL_REGISTERS, Pkr14)
  1253. genDef(Ks, KSPECIAL_REGISTERS, Pkr15)
  1254. genDef(Ks, KSPECIAL_REGISTERS, TrI0)
  1255. genDef(Ks, KSPECIAL_REGISTERS, TrI1)
  1256. genDef(Ks, KSPECIAL_REGISTERS, TrI2)
  1257. genDef(Ks, KSPECIAL_REGISTERS, TrI3)
  1258. genDef(Ks, KSPECIAL_REGISTERS, TrI4)
  1259. genDef(Ks, KSPECIAL_REGISTERS, TrI5)
  1260. genDef(Ks, KSPECIAL_REGISTERS, TrI6)
  1261. genDef(Ks, KSPECIAL_REGISTERS, TrI7)
  1262. genDef(Ks, KSPECIAL_REGISTERS, TrD0)
  1263. genDef(Ks, KSPECIAL_REGISTERS, TrD1)
  1264. genDef(Ks, KSPECIAL_REGISTERS, TrD2)
  1265. genDef(Ks, KSPECIAL_REGISTERS, TrD3)
  1266. genDef(Ks, KSPECIAL_REGISTERS, TrD4)
  1267. genDef(Ks, KSPECIAL_REGISTERS, TrD5)
  1268. genDef(Ks, KSPECIAL_REGISTERS, TrD6)
  1269. genDef(Ks, KSPECIAL_REGISTERS, TrD7)
  1270. genDef(Ks, KSPECIAL_REGISTERS, SrMSR0)
  1271. genDef(Ks, KSPECIAL_REGISTERS, SrMSR1)
  1272. genDef(Ks, KSPECIAL_REGISTERS, SrMSR2)
  1273. genDef(Ks, KSPECIAL_REGISTERS, SrMSR3)
  1274. genDef(Ks, KSPECIAL_REGISTERS, SrMSR4)
  1275. genDef(Ks, KSPECIAL_REGISTERS, SrMSR5)
  1276. genDef(Ks, KSPECIAL_REGISTERS, SrMSR6)
  1277. genDef(Ks, KSPECIAL_REGISTERS, SrMSR7)
  1278. END_LIST
  1279. };
  1280. ASSERT_SAME(KTRAP_FRAME_LENGTH, KIA32_FRAME_LENGTH);