4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
22 * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
24 * Copyright 2018 Joyent, Inc.
31 #define exit kern_exit
33 #include <sys/types.h>
34 #include <sys/param.h>
35 #include <sys/systm.h>
36 #include <sys/elf_notes.h>
37 #include <sys/thread.h>
38 #include <sys/rwlock.h>
40 #include <sys/cpuvar.h>
41 #include <sys/clock.h>
43 #include <sys/modctl.h>
44 #include <sys/traptrace.h>
46 #include <sys/avintr.h>
51 #include <sys/archsystm.h>
52 #include <sys/x86_archext.h>
53 #include <sys/sunddi.h>
54 #include <sys/mach_mmu.h>
57 #undef exit /* unhide exit, see comment above */
58 extern void exit(int);
61 * Proactively discourage anyone from referring to structures or
62 * member offsets in this program.
64 #define struct struct...
65 #define OFFSET OFFSET...
68 main(int argc
, char *argv
[])
70 printf("#define\tLOCK_LEVEL 0x%x\n", LOCK_LEVEL
);
71 printf("#define\tCLOCK_LEVEL 0x%x\n", CLOCK_LEVEL
);
72 printf("#define\tDISP_LEVEL 0x%x\n", DISP_LEVEL
);
73 printf("#define\tPIL_MAX 0x%x\n", PIL_MAX
);
74 printf("#define\tHIGH_LEVELS 0x%x\n", HIGH_LEVELS
);
75 printf("#define\tCPU_INTR_ACTV_HIGH_LEVEL_MASK 0x%x\n",
76 CPU_INTR_ACTV_HIGH_LEVEL_MASK
);
78 printf("#define\tPIC_NSEOI 0x%x\n", PIC_NSEOI
);
79 printf("#define\tPIC_SEOI_LVL7 0x%x\n", PIC_SEOI_LVL7
);
81 printf("#define\tNANOSEC 0x%llx\n", NANOSEC
);
82 printf("#define\tADJ_SHIFT 0x%x\n", ADJ_SHIFT
);
84 printf("#define\tSSLEEP 0x%x\n", SSLEEP
);
85 printf("#define\tSRUN 0x%x\n", SRUN
);
86 printf("#define\tSONPROC 0x%x\n", SONPROC
);
88 printf("#define\tT_INTR_THREAD 0x%x\n", T_INTR_THREAD
);
89 printf("#define\tFREE_THREAD 0x%x\n", TS_FREE
);
90 printf("#define\tTS_FREE 0x%x\n", TS_FREE
);
91 printf("#define\tTS_ZOMB 0x%x\n", TS_ZOMB
);
92 printf("#define\tTP_MSACCT 0x%x\n", TP_MSACCT
);
93 printf("#define\tTP_WATCHPT 0x%x\n", TP_WATCHPT
);
94 printf("#define\tONPROC_THREAD 0x%x\n", TS_ONPROC
);
96 printf("#define\tS_READ 0x%x\n", (int)S_READ
);
97 printf("#define\tS_WRITE 0x%x\n", (int)S_WRITE
);
98 printf("#define\tS_EXEC 0x%x\n", (int)S_EXEC
);
99 printf("#define\tS_OTHER 0x%x\n", (int)S_OTHER
);
101 printf("#define\tNORMALRETURN 0x%x\n", (int)NORMALRETURN
);
102 printf("#define\tLWP_USER 0x%x\n", LWP_USER
);
103 printf("#define\tLWP_SYS 0x%x\n", LWP_SYS
);
104 printf("#define\tLMS_USER 0x%x\n", LMS_USER
);
105 printf("#define\tLMS_SYSTEM 0x%x\n", LMS_SYSTEM
);
107 printf("#define\tSSE_MXCSR_EFLAGS 0x%x\n", SSE_MXCSR_EFLAGS
);
109 printf("#define\tFP_FXSAVE 0x%x\n", FP_FXSAVE
);
110 printf("#define\tFP_XSAVE 0x%x\n", FP_XSAVE
);
112 printf("#define\tAV_INT_SPURIOUS 0x%x\n", AV_INT_SPURIOUS
);
114 printf("#define\tCPU_READY 0x%x\n", CPU_READY
);
115 printf("#define\tCPU_QUIESCED 0x%x\n", CPU_QUIESCED
);
117 printf("#define\tMCMD_PORT 0x%x\n", MCMD_PORT
);
118 printf("#define\tSCMD_PORT 0x%x\n", SCMD_PORT
);
119 printf("#define\tMIMR_PORT 0x%x\n", MIMR_PORT
);
120 printf("#define\tSIMR_PORT 0x%x\n", SIMR_PORT
);
122 printf("#define\tDMP_NOSYNC 0x%x\n", DMP_NOSYNC
);
124 printf("#define\tRW_WRITER\t0x%x\n", RW_WRITER
);
125 printf("#define\tRW_READER\t0x%x\n", RW_READER
);
127 printf("#define\tNSYSCALL 0x%x\n", NSYSCALL
);
129 printf("#define\tSE_32RVAL1 0x%x\n", SE_32RVAL1
);
130 printf("#define\tSE_32RVAL2 0x%x\n", SE_32RVAL2
);
131 printf("#define\tSE_64RVAL 0x%x\n", SE_64RVAL
);
133 printf("#define\tMAXSYSARGS 0x%x\n", MAXSYSARGS
);
135 /* Hack value just to allow clock to be kicked */
136 printf("#define\tNSEC_PER_CLOCK_TICK 0x%llx\n", NANOSEC
/ 100);
138 printf("#define\tNSEC_PER_COUNTER_TICK 0x%llx\n", NANOSEC
/ PIT_HZ
);
140 printf("#define\tDDI_ACCATTR_IO_SPACE 0x%x\n", DDI_ACCATTR_IO_SPACE
);
141 printf("#define\tDDI_ACCATTR_DIRECT 0x%x\n", DDI_ACCATTR_DIRECT
);
142 printf("#define\tDDI_ACCATTR_CPU_VADDR 0x%x\n", DDI_ACCATTR_CPU_VADDR
);
143 printf("#define\tDDI_DEV_AUTOINCR 0x%x\n", DDI_DEV_AUTOINCR
);
145 printf("#define\tMMU_STD_PAGESIZE 0x%x\n", (uint_t
)MMU_STD_PAGESIZE
);
146 printf("#define\tMMU_STD_PAGEMASK 0x%x\n", (uint_t
)MMU_STD_PAGEMASK
);
147 printf("#define\tFOUR_MEG 0x%x\n", (uint_t
)FOUR_MEG
);
149 printf("#define\tTRAPTR_NENT 0x%x\n", TRAPTR_NENT
);
151 printf("#define\tCPU_DTRACE_NOFAULT 0x%x\n", CPU_DTRACE_NOFAULT
);
152 printf("#define\tCPU_DTRACE_BADADDR 0x%x\n", CPU_DTRACE_BADADDR
);
153 printf("#define\tCPU_DTRACE_DIVZERO 0x%x\n", CPU_DTRACE_DIVZERO
);
154 printf("#define\tCPU_DTRACE_ILLOP 0x%x\n", CPU_DTRACE_ILLOP
);
156 printf("#define\tMODS_NOUNLOAD 0x%x\n", MODS_NOUNLOAD
);
157 printf("#define\tMODS_WEAK 0x%x\n", MODS_WEAK
);
158 printf("#define\tMODS_INSTALLED 0x%x\n", MODS_INSTALLED
);
160 printf("#define\tKPREEMPT_SYNC 0x%x\n", KPREEMPT_SYNC
);