1 #define	PROCSIZE	0xf60
2 #define	P_LINK	0x38
3 #define	P_NEXT	0x70
4 #define	P_CHILD	0x48
5 #define	P_SIBLING	0x50
6 #define	P_SIG	0x11c
7 #define	P_FLAG	0xcc
8 #define	P_TLIST	0x190
9 #define	P_AS	0x8
10 #define	P_LOCKP	0x10
11 #define	P_USER	0x668
12 #define	P_LDT	0x4a0
13 #define	P_LDT_DESC	0x4a8
14 #define	P_MODEL	0x4f0
15 #define	P_PCTX	0x490
16 #define	P_AGENTTP	0x1f8
17 #define	P_ZONE	0x628
18 #define	P_BRAND	0x638
19 #define	P_BRAND_DATA	0x640
20 #define	THREAD_SIZE	0x390
21 #define	T_LABEL	0x38
22 #define	T_LOCK	0xd0
23 #define	T_LOCKSTAT	0xd1
24 #define	T_LOCKP	0x1f8
25 #define	T_LOCK_FLUSH	0x203
26 #define	T_OLDSPL	0x200
27 #define	T_PRI	0x30
28 #define	T_PIL	0xd2
29 #define	T_LWP	0x188
30 #define	T_PROCP	0x190
31 #define	T_LINK	0x0
32 #define	T_STATE	0x2c
33 #define	T_MSTATE	0x228
34 #define	T_PREEMPT_LK	0x2b
35 #define	T_STACK	0x8
36 #define	T_SWAP	0xc8
37 #define	T_WCHAN	0x80
38 #define	T_FLAGS	0x24
39 #define	T_CTX	0xa8
40 #define	T_LOFAULT	0xb0
41 #define	T_ONFAULT	0xb8
42 #define	T_ONTRAP	0xc0
43 #define	T_CPU	0xd8
44 #define	T_LPL	0xe8
45 #define	T_BOUND_CPU	0x18
46 #define	T_INTR	0x100
47 #define	T_FORW	0x170
48 #define	T_BACK	0x178
49 #define	T_SIG	0x140
50 #define	T_TID	0x130
51 #define	T_PRE_SYS	0x202
52 #define	T_PREEMPT	0x2a
53 #define	T_PROC_FLAG	0x26
54 #define	T_STARTPC	0x10
55 #define	T_SYSNUM	0x1ec
56 #define	T_INTR_START	0x108
57 #define	T_ASTFLAG	0x218
58 #define	T_POST_SYS	0x21a
59 #define	T_POST_SYS_AST	0x218
60 #define	T_COPYOPS	0x288
61 #define	CTXOP_SAVE	0x0
62 #define	A_HAT	0x10
63 #define	USIZEBYTES	0x8f8
64 #define	U_COMM	0x180
65 #define	U_COMM_INCR	0x1
66 #define	U_SIGNAL	0x618
67 #define	U_SIGNAL_INCR	0x8
68 #define	LABEL_VAL	0x0
69 #define	LABEL_VAL_INCR	0x8
70 #define LABEL_PC LABEL_VAL
71 #define LABEL_SP _CONST(LABEL_VAL + LABEL_VAL_INCR)
72 #define T_PC _CONST(T_LABEL + LABEL_PC)
73 #define T_SP _CONST(T_LABEL + LABEL_SP)
74 #define	LWP_THREAD	0x688
75 #define	LWP_PROCP	0x690
76 #define	LWP_BRAND	0x6d0
77 #define	LWP_EOSYS	0x3b5
78 #define	LWP_REGS	0x3f8
79 #define	LWP_ARG	0x3b8
80 #define	LWP_ARG_INCR	0x8
81 #define	LWP_AP	0x3a8
82 #define	LWP_CURSIG	0x448
83 #define	LWP_STATE	0x681
84 #define	LWP_MS_ACCT	0x560
85 #define	LWP_MS_ACCT_INCR	0x8
86 #define	LWP_MS_PREV	0x540
87 #define	LWP_MS_START	0x548
88 #define	LWP_MS_STATE_START	0x558
89 #define	LWP_PCB	0x0
90 #define	LWP_RU_SYSC	0x600
91 #define LWP_ACCT_USER _CONST(LWP_MS_ACCT + _MUL(LMS_USER, LWP_MS_ACCT_INCR))
92 #define LWP_ACCT_SYSTEM _CONST(LWP_MS_ACCT + _MUL(LMS_SYSTEM, LWP_MS_ACCT_INCR))
93 #define	FPU_CTX_FPU_REGS	0x0
94 #define	FPU_CTX_FPU_FLAGS	0x358
95 #define	FPU_CTX_FPU_XSAVE_MASK	0x350
96 #define	FXSAVE_STATE_SIZE	0x200
97 #define	FXSAVE_STATE_FSW	0x2
98 #define	FXSAVE_STATE_MXCSR_MASK	0x1c
99 #define	AUTOVECSIZE	0x50
100 #define	AV_VECTOR	0x8
101 #define	AV_INTARG1	0x10
102 #define	AV_INTARG2	0x18
103 #define	AV_TICKSP	0x20
104 #define	AV_LINK	0x0
105 #define	AV_PRILEVEL	0x28
106 #define	AV_DIP	0x38
107 #define	AVH_LINK	0x0
108 #define	AVH_HI_PRI	0x8
109 #define	AVH_LO_PRI	0xa
110 #define	CPU_ID	0x0
111 #define	CPU_FLAGS	0x8
112 #define	CPU_SELF	0x10
113 #define	CPU_THREAD	0x18
114 #define	CPU_THREAD_LOCK	0xe8
115 #define	CPU_KPRUNRUN	0xd9
116 #define	CPU_LWP	0x30
117 #define	CPU_FPOWNER	0x38
118 #define	CPU_IDLE_THREAD	0x20
119 #define	CPU_INTR_THREAD	0x100
120 #define	CPU_INTR_ACTV	0x108
121 #define	CPU_BASE_SPL	0x10c
122 #define	CPU_INTR_STACK	0xf8
123 #define	CPU_STATS_SYS_CPUMIGRATE	0x2c8
124 #define	CPU_STATS_SYS_INTR	0x178
125 #define	CPU_STATS_SYS_INTR_INCR	0x8
126 #define	CPU_STATS_SYS_INTRBLK	0x2a0
127 #define	CPU_STATS_SYS_SYSCALL	0x1f0
128 #define	CPU_PROFILE_PC	0x410
129 #define	CPU_PROFILE_UPC	0x418
130 #define	CPU_PROFILE_PIL	0x420
131 #define	CPU_FTRACE_STATE	0x428
132 #define	CPU_MSTATE	0x500
133 #define	CPU_INTRACCT	0x528
134 #define	CPU_INTRACCT_INCR	0x8
135 #define CPU_INTR_ACTV_REF _CONST(CPU_INTR_ACTV + 2)
136 #define	CPU_PIL_HIGH_START	0x6c0
137 #define	CPU_PIL_HIGH_START_INCR	0x8
138 #define	CPU_INTRSTAT	0x6e8
139 #define	CPU_INTRSTAT_INCR	0x10
140 #define	CPU_CURRENT_HAT	0x660
141 #define	CPU_GDT	0x678
142 #define	CPU_IDT	0x680
143 #define	CPU_TSS	0x688
144 #define	CPU_SOFTINFO	0x6b8
145 #define	CPU_PRI	0x65c
146 #define	C_CURMASK	0x2
147 #define	C_CURMASK_INCR	0x1
148 #define	C_IPLMASK	0x4
149 #define	C_IPLMASK_INCR	0x1
150 #define	DMAI_RFLAGS	0x18
151 #define	DMAI_RDIP	0x20
152 #define	DEVI_DEV_OPS	0x30
153 #define	DEVI_BUS_CTL	0xb8
154 #define	DEVI_BUS_DMA_CTL	0xb0
155 #define	DEVI_BUS_DMA_ALLOCHDL	0x80
156 #define	DEVI_BUS_DMA_FREEHDL	0x88
157 #define	DEVI_BUS_DMA_BINDHDL	0x90
158 #define	DEVI_BUS_DMA_UNBINDHDL	0x98
159 #define	DEVI_BUS_DMA_FLUSH	0xa0
160 #define	DEVI_BUS_DMA_WIN	0xa8
161 #define	DEVI_BUS_OPS	0x40
162 #define	OPS_CTL	0x70
163 #define	OPS_MAP	0x30
164 #define	OPS_MCTL	0x68
165 #define	OPS_ALLOCHDL	0x38
166 #define	OPS_FREEHDL	0x40
167 #define	OPS_BINDHDL	0x48
168 #define	OPS_UNBINDHDL	0x50
169 #define	OPS_FLUSH	0x58
170 #define	OPS_WIN	0x60
171 #define	SYSENT_SIZE	0x20
172 #define	SYSENT_SIZE_SHIFT	0x5
173 #define	SY_CALLC	0x18
174 #define	SY_FLAGS	0x2
175 #define	SY_NARG	0x0
176 #define	SD_LOCK	0x80
177 #define	Q_FLAG	0x38
178 #define	Q_NEXT	0x18
179 #define	Q_STREAM	0x70
180 #define	Q_SYNCQ	0x78
181 #define	Q_QINFO	0x0
182 #define	QI_PUTP	0x0
183 #define	SQ_FLAGS	0xa
184 #define	SQ_COUNT	0x8
185 #define	SQ_LOCK	0x0
186 #define	SQ_WAIT	0x38
187 #define	IDTROFF	0x516
188 #define	GDTROFF	0x506
189 #define	CR3OFF	0x520
190 #define	CPUNOFF	0x524
191 #define	CR4OFF	0x52c
192 #define	CPUHALTCODEOFF	0x400
193 #define	CPUHALTCODEOFF_INCR	0x1
194 #define	CPUHALTEDOFF	0x514
195 #define	ACC_ATTR	0x68
196 #define	ACC_GETB	0x78
197 #define	ACC_GETW	0x80
198 #define	ACC_GETL	0x88
199 #define	ACC_GETLL	0x90
200 #define	ACC_PUTB	0x98
201 #define	ACC_PUTW	0xa0
202 #define	ACC_PUTL	0xa8
203 #define	ACC_PUTLL	0xb0
204 #define	ACC_REP_GETB	0xb8
205 #define	ACC_REP_GETW	0xc0
206 #define	ACC_REP_GETL	0xc8
207 #define	ACC_REP_GETLL	0xd0
208 #define	ACC_REP_PUTB	0xd8
209 #define	ACC_REP_PUTW	0xe0
210 #define	ACC_REP_PUTL	0xe8
211 #define	ACC_REP_PUTLL	0xf0
212 #define	OT_PROT	0x0
213 #define	OT_TRAP	0x2
214 #define	OT_TRAMPOLINE	0x8
215 #define	OT_JMPBUF	0x10
216 #define	OT_PREV	0x50
217 #define	OT_HANDLE	0x58
218 #define	OT_PAD1	0x60
219 #define	__TRAPTR_SIZE	0x20
220 #define	TRAPTR_SIZE_SHIFT	0x5
221 #define	TRAPTR_NEXT	0x0
222 #define	TRAPTR_FIRST	0x8
223 #define	TRAPTR_LIMIT	0x10
224 #define	TRAP_ENT_SIZE	0x178
225 #define	TTR_CR2	0xf0
226 #define	TTR_VECTOR	0xfc
227 #define	TTR_IPL	0xfe
228 #define	TTR_SPL	0xff
229 #define	TTR_PRI	0x100
230 #define	TTR_SYSNUM	0xf8
231 #define	TTR_MARKER	0x117
232 #define	TTR_STAMP	0x118
233 #define	TTR_CURTHREAD	0x108
234 #define	TTR_SDEPTH	0x120
235 #define	TTR_STACK	0x128
236 #define	TTR_STACK_INCR	0x8
237 #define	LPL_LGRPID	0x8
238 #define	DTRACE_IDSIZE	0x4
239 #define	CPU_CORE_SIZE	0x40
240 #define	CPU_CORE_SHIFT	0x6
241 #define	CPUC_DTRACE_FLAGS	0x0
242 #define	CPUC_DTRACE_ILLVAL	0x30
243 #define	TIMESPEC_SIZE	0x10
244 #define	GATE_DESC_SIZE	0x10
245 #define	DESCTBR_SIZE	0xa
246 #define	DTR_LIMIT	0x0
247 #define	DTR_BASE	0x2
248 #define	MODS_SIZE	0x28
249 #define	MODS_INSTFCN	0x0
250 #define	MODS_RETFCN	0x18
251 #define	MODS_FLAG	0x20
252 #define TRAP_TSIZE _MUL(TRAP_ENT_SIZE, TRAPTR_NENT)
253 #define	CP_COPYIN	0x0
254 #define	CP_XCOPYIN	0x8
255 #define	CP_COPYOUT	0x10
256 #define	CP_XCOPYOUT	0x18
257 #define	CP_COPYINSTR	0x20
258 #define	CP_COPYOUTSTR	0x28
259 #define	CP_FUWORD8	0x30
260 #define	CP_FUWORD16	0x38
261 #define	CP_FUWORD32	0x40
262 #define	CP_FUWORD64	0x48
263 #define	CP_SUWORD8	0x50
264 #define	CP_SUWORD16	0x58
265 #define	CP_SUWORD32	0x60
266 #define	CP_SUWORD64	0x68
267 #define	CP_PHYSIO	0x70
268 #define	B_MACHOPS	0x18
269 #define	SPD_HANDLER	0x0
270 #define	FB_VA	0x0
271 #define	FB_PTE_LIST_VA	0x8
272 #define	FB_PTE_LIST_PA	0x10
273 #define	FB_DEST_PA	0x20
274 #define	FB_SIZE	0x28
275 #define	FB_NEXT_PA	0x30
276 #define	FB_SECTIONS	0x38
277 #define	FB_SECTIONS_INCR	0x10
278 #define	FB_SECTCNT	0x68
279 #define	FB_SEC_OFFSET	0x0
280 #define	FB_SEC_PADDR	0x4
281 #define	FB_SEC_SIZE	0x8
282 #define	FB_SEC_BSS_SIZE	0xc
283 #define	FI_FILES	0x8
284 #define	FI_FILES_INCR	0x70
285 #define	FI_HAS_PAE	0x158
286 #define	FI_PAGETABLE_VA	0x160
287 #define	FI_PAGETABLE_PA	0x168
288 #define	FI_LAST_TABLE_PA	0x170
289 #define	FI_NEW_MBI_PA	0x178
290 #define	FI_VALID	0x180
291 #define	ZONE_BRAND_DATA	0x228
292 #define	WC_CPU_SIZE	0x160
293 #define	WC_RETADDR	0x0
294 #define	WC_VIRTADDR	0x8
295 #define	WC_CR0	0x10
296 #define	WC_CR3	0x18
297 #define	WC_CR4	0x20
298 #define	WC_CR8	0x28
299 #define	WC_FS	0x30
300 #define	WC_FSBASE	0x38
301 #define	WC_GS	0x40
302 #define	WC_GSBASE	0x48
303 #define	WC_KGSBASE	0x50
304 #define	WC_R8	0x58
305 #define	WC_R9	0x60
306 #define	WC_R10	0x68
307 #define	WC_R11	0x70
308 #define	WC_R12	0x78
309 #define	WC_R13	0x80
310 #define	WC_R14	0x88
311 #define	WC_R15	0x90
312 #define	WC_RAX	0x98
313 #define	WC_RBP	0xa0
314 #define	WC_RBX	0xa8
315 #define	WC_RCX	0xb0
316 #define	WC_RDI	0xb8
317 #define	WC_RDX	0xc0
318 #define	WC_RSI	0xc8
319 #define	WC_RSP	0xd0
320 #define	WC_GDT	0xde
321 #define	WC_GDT_BASE	0xe0
322 #define	WC_IDT	0xee
323 #define	WC_IDT_BASE	0xf0
324 #define	WC_TR	0xf8
325 #define	WC_LDT	0x100
326 #define	WC_EFLAGS	0x108
327 #define	WC_EBX	0x110
328 #define	WC_EDI	0x114
329 #define	WC_ESI	0x118
330 #define	WC_EBP	0x11c
331 #define	WC_ESP	0x120
332 #define	WC_ESP	0x120
333 #define	WC_SS	0x124
334 #define	WC_CS	0x126
335 #define	WC_DS	0x128
336 #define	WC_ES	0x12a
337 #define	WC_CPU_ID	0x148
338 #define	WC_SAVED_STACK	0x150
339 #define	WC_CPU	0x558
340 #define	COMM_PAGE_S_SIZE	0x850
341 #define	REGSIZE	0xf0
342 #define	REGOFF_SAVFP	0x0
343 #define	REGOFF_SAVPC	0x8
344 #define	REGOFF_RDI	0x10
345 #define	REGOFF_RSI	0x18
346 #define	REGOFF_RDX	0x20
347 #define	REGOFF_RCX	0x28
348 #define	REGOFF_R8	0x30
349 #define	REGOFF_R9	0x38
350 #define	REGOFF_RAX	0x40
351 #define	REGOFF_RBX	0x48
352 #define	REGOFF_RBP	0x50
353 #define	REGOFF_R10	0x58
354 #define	REGOFF_R11	0x60
355 #define	REGOFF_R12	0x68
356 #define	REGOFF_R13	0x70
357 #define	REGOFF_R14	0x78
358 #define	REGOFF_R15	0x80
359 #if DEBUG
360 #define	REGOFF_FSBASE	0x88
361 #define	REGOFF_GSBASE	0x90
362 #endif
363 #define	REGOFF_DS	0x98
364 #define	REGOFF_ES	0xa0
365 #define	REGOFF_FS	0xa8
366 #define	REGOFF_GS	0xb0
367 #define	REGOFF_TRAPNO	0xb8
368 #define	REGOFF_ERR	0xc0
369 #define	REGOFF_RIP	0xc8
370 #define	REGOFF_CS	0xd0
371 #define	REGOFF_RFL	0xd8
372 #define	REGOFF_RSP	0xe0
373 #define	REGOFF_SS	0xe8
374 #define REGOFF_PC REGOFF_RIP
375 #define	BOOTSVCS_PUTCHAR	0x8
376 #define	TSS_RSP0	0x4
377 #define	TSS_RSP1	0xc
378 #define	TSS_RSP2	0x14
379 #define	TSS_IST1	0x24
380 #define	TSS_IST2	0x2c
381 #define	TSS_IST3	0x34
382 #define	TSS_IST4	0x3c
383 #define	TSS_IST5	0x44
384 #define	TSS_IST6	0x4c
385 #define	TSS_IST7	0x54
386 #define LABEL_RBP _CONST(_MUL(2, LABEL_VAL_INCR) + LABEL_VAL)
387 #define LABEL_RBX _CONST(_MUL(3, LABEL_VAL_INCR) + LABEL_VAL)
388 #define LABEL_R12 _CONST(_MUL(4, LABEL_VAL_INCR) + LABEL_VAL)
389 #define LABEL_R13 _CONST(_MUL(5, LABEL_VAL_INCR) + LABEL_VAL)
390 #define LABEL_R14 _CONST(_MUL(6, LABEL_VAL_INCR) + LABEL_VAL)
391 #define LABEL_R15 _CONST(_MUL(7, LABEL_VAL_INCR) + LABEL_VAL)
392 #define T_RBP _CONST(T_LABEL + LABEL_RBP)
393 #define T_RBX _CONST(T_LABEL + LABEL_RBX)
394 #define T_R12 _CONST(T_LABEL + LABEL_R12)
395 #define T_R13 _CONST(T_LABEL + LABEL_R13)
396 #define T_R14 _CONST(T_LABEL + LABEL_R14)
397 #define T_R15 _CONST(T_LABEL + LABEL_R15)
398 #define	LWP_PCB_FPU	0x0
399 #define	LWP_PCB_FSBASE	0x378
400 #define	LWP_PCB_GSBASE	0x380
401 #define	LWP_PCB_DS	0x388
402 #define	LWP_PCB_ES	0x38a
403 #define	LWP_PCB_FS	0x38c
404 #define	LWP_PCB_GS	0x38e
405 #define	LWP_PCB_DRSTAT	0x368
406 #define	PCB_FLAGS	0x360
407 #define	LWP_FPU_REGS	0x0
408 #define	LWP_FPU_FLAGS	0x358
409 #define	PCB_RUPDATE	0x371
410 #define	PCBSIZE	0x3a0
411 #define	PCB_DRSTAT	0x368
412 #define	PCB_FSBASE	0x378
413 #define	PCB_GSBASE	0x380
414 #define	PCB_DS	0x388
415 #define	PCB_ES	0x38a
416 #define	PCB_FS	0x38c
417 #define	PCB_GS	0x38e
418 #define	PCB_FPU_REGS	0x0
419 #define	PCB_FPU_FLAGS	0x358
420 #define	CPU_RTMP_RSP	0x7f0
421 #define	CPU_RTMP_R15	0x7f8
422 #define	TEMPGDTOFF	0x542
423 #define	TEMPIDTOFF	0x54a
424 #define	LM64OFF	0x550
425 #define	T_AST 0x400
426 #define	LOCK_LEVEL 0xa
427 #define	CLOCK_LEVEL 0xa
428 #define	DISP_LEVEL 0xb
429 #define	PIL_MAX 0xf
430 #define	HIGH_LEVELS 0x5
431 #define	CPU_INTR_ACTV_HIGH_LEVEL_MASK 0xf800
432 #define	PIC_NSEOI 0x20
433 #define	PIC_SEOI_LVL7 0x67
434 #define	NANOSEC 0x3b9aca00
435 #define	ADJ_SHIFT 0x4
436 #define	SSLEEP 0x1
437 #define	SRUN 0x2
438 #define	SONPROC 0x6
439 #define	T_INTR_THREAD 0x1
440 #define	FREE_THREAD 0x0
441 #define	TS_FREE 0x0
442 #define	TS_ZOMB 0x8
443 #define	TP_MSACCT 0x100
444 #define	TP_WATCHPT 0x400
445 #define	ONPROC_THREAD 0x4
446 #define	S_READ 0x1
447 #define	S_WRITE 0x2
448 #define	S_EXEC 0x3
449 #define	S_OTHER 0x0
450 #define	NORMALRETURN 0x0
451 #define	LWP_USER 0x1
452 #define	LWP_SYS 0x2
453 #define	LMS_USER 0x0
454 #define	LMS_SYSTEM 0x1
455 #define	SSE_MXCSR_EFLAGS 0x3f
456 #define	FP_487 0x6
457 #define	FP_486 0x6
458 #define	FPU_CW_INIT 0x133f
459 #define	FPU_EN 0x1
460 #define	FPU_VALID 0x2
461 #define	FP_NO 0x0
462 #define	FP_SW 0x1
463 #define	FP_HW 0x2
464 #define	FP_287 0x2
465 #define	FP_387 0x3
466 #define	__FP_SSE 0x100
467 #define	FP_FNSAVE 0x1
468 #define	FP_FXSAVE 0x2
469 #define	FP_XSAVE 0x3
470 #define	AV_INT_SPURIOUS 0xffffffff
471 #define	CPU_READY 0x2
472 #define	CPU_QUIESCED 0x4
473 #define	MCMD_PORT 0x20
474 #define	SCMD_PORT 0xa0
475 #define	MIMR_PORT 0x21
476 #define	SIMR_PORT 0xa1
477 #define	DMP_NOSYNC 0xc0000000
478 #define	RW_WRITER	0x0
479 #define	RW_READER	0x1
480 #define	NSYSCALL 0x100
481 #define	SE_32RVAL1 0x0
482 #define	SE_32RVAL2 0x1
483 #define	SE_64RVAL 0x2
484 #define	MAXSYSARGS 0x8
485 #define	NSEC_PER_CLOCK_TICK 0x989680
486 #define	NSEC_PER_COUNTER_TICK 0x346
487 #define	PITCTR0_PORT 0x40
488 #define	PITCTL_PORT 0x43
489 #define	PIT_COUNTDOWN 0x34
490 #define	NBPW 0x4
491 #define	DDI_ACCATTR_IO_SPACE 0x2
492 #define	DDI_ACCATTR_DIRECT 0x8
493 #define	DDI_ACCATTR_CPU_VADDR 0x4
494 #define	DDI_DEV_AUTOINCR 0x1
495 #define	MMU_STD_PAGESIZE 0x1000
496 #define	MMU_STD_PAGEMASK 0xfffff000
497 #define	FOUR_MEG 0x400000
498 #define	TRAPTR_NENT 0x80
499 #define	CPU_DTRACE_NOFAULT 0x1
500 #define	CPU_DTRACE_BADADDR 0x4
501 #define	CPU_DTRACE_ILLOP 0x20
502 #define	MODS_NOUNLOAD 0x2
503 #define	MODS_WEAK 0x1
504 #define	MODS_INSTALLED 0x10
505 #define	KPREEMPT_SYNC 0xffffffff
506