]>
Commit | Line | Data |
---|---|---|
1c79356b A |
1 | /* |
2 | * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. | |
3 | * | |
4 | * @APPLE_LICENSE_HEADER_START@ | |
5 | * | |
6 | * The contents of this file constitute Original Code as defined in and | |
7 | * are subject to the Apple Public Source License Version 1.1 (the | |
8 | * "License"). You may not use this file except in compliance with the | |
9 | * License. Please obtain a copy of the License at | |
10 | * http://www.apple.com/publicsource and read it before using this file. | |
11 | * | |
12 | * This Original Code and all software distributed under the License are | |
13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, | |
15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the | |
17 | * License for the specific language governing rights and limitations | |
18 | * under the License. | |
19 | * | |
20 | * @APPLE_LICENSE_HEADER_END@ | |
21 | */ | |
22 | /* | |
23 | * @OSF_COPYRIGHT@ | |
24 | * | |
25 | */ | |
26 | ||
27 | /* | |
28 | * genassym.c is used to produce an | |
29 | * assembly file which, intermingled with unuseful assembly code, | |
30 | * has all the necessary definitions emitted. This assembly file is | |
31 | * then postprocessed with sed to extract only these definitions | |
32 | * and thus the final assyms.s is created. | |
33 | * | |
34 | * This convoluted means is necessary since the structure alignment | |
35 | * and packing may be different between the host machine and the | |
36 | * target so we are forced into using the cross compiler to generate | |
37 | * the values, but we cannot run anything on the target machine. | |
38 | */ | |
39 | ||
40 | #include <cpus.h> | |
41 | #include <va_list.h> | |
42 | #include <types.h> | |
43 | ||
44 | #include <kern/task.h> | |
45 | #include <kern/thread.h> | |
46 | #include <kern/thread_act.h> | |
47 | #include <kern/host.h> | |
48 | #include <kern/lock.h> | |
49 | #include <kern/processor.h> | |
50 | #include <ppc/exception.h> | |
51 | #include <ppc/thread_act.h> | |
52 | #include <ppc/misc_protos.h> | |
53 | #include <kern/syscall_sw.h> | |
54 | #include <kern/ast.h> | |
55 | #include <ppc/low_trace.h> | |
56 | #include <ppc/PseudoKernel.h> | |
57 | #include <ppc/mappings.h> | |
58 | #include <ppc/Firmware.h> | |
59 | #include <ppc/low_trace.h> | |
60 | #include <vm/vm_map.h> | |
61 | #include <vm/pmap.h> | |
62 | #include <ppc/pmap.h> | |
63 | #include <ppc/pmap_internals.h> | |
64 | #include <ppc/Diagnostics.h> | |
65 | #include <ppc/POWERMAC/mp/MPPlugIn.h> | |
66 | #include <pexpert/pexpert.h> | |
67 | #include <mach/machine.h> | |
68 | #include <ppc/vmachmon.h> | |
69 | #include <ppc/PPCcalls.h> | |
70 | ||
71 | #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE)0)->MEMBER) | |
72 | ||
73 | #define DECLARE(SYM,VAL) \ | |
74 | __asm("#DEFINITION##define\t" SYM "\t%0" : : "n" ((u_int)(VAL))) | |
75 | ||
76 | int main(int argc, char *argv[]) | |
77 | { | |
78 | /* Process Control Block */ | |
79 | ||
80 | DECLARE("PCB_FLOAT_STATE", offsetof(struct pcb *, fs)); | |
81 | ||
82 | /* Floating point state */ | |
83 | ||
84 | DECLARE("PCB_FS_F0", offsetof(struct pcb *, fs.fpregs[0])); | |
85 | DECLARE("PCB_FS_F1", offsetof(struct pcb *, fs.fpregs[1])); | |
86 | DECLARE("PCB_FS_F2", offsetof(struct pcb *, fs.fpregs[2])); | |
87 | DECLARE("PCB_FS_F3", offsetof(struct pcb *, fs.fpregs[3])); | |
88 | DECLARE("PCB_FS_F4", offsetof(struct pcb *, fs.fpregs[4])); | |
89 | DECLARE("PCB_FS_F5", offsetof(struct pcb *, fs.fpregs[5])); | |
90 | DECLARE("PCB_FS_F6", offsetof(struct pcb *, fs.fpregs[6])); | |
91 | DECLARE("PCB_FS_F7", offsetof(struct pcb *, fs.fpregs[7])); | |
92 | DECLARE("PCB_FS_F8", offsetof(struct pcb *, fs.fpregs[8])); | |
93 | DECLARE("PCB_FS_F9", offsetof(struct pcb *, fs.fpregs[9])); | |
94 | DECLARE("PCB_FS_F10", offsetof(struct pcb *, fs.fpregs[10])); | |
95 | DECLARE("PCB_FS_F11", offsetof(struct pcb *, fs.fpregs[11])); | |
96 | DECLARE("PCB_FS_F12", offsetof(struct pcb *, fs.fpregs[12])); | |
97 | DECLARE("PCB_FS_F13", offsetof(struct pcb *, fs.fpregs[13])); | |
98 | DECLARE("PCB_FS_F14", offsetof(struct pcb *, fs.fpregs[14])); | |
99 | DECLARE("PCB_FS_F15", offsetof(struct pcb *, fs.fpregs[15])); | |
100 | DECLARE("PCB_FS_F16", offsetof(struct pcb *, fs.fpregs[16])); | |
101 | DECLARE("PCB_FS_F17", offsetof(struct pcb *, fs.fpregs[17])); | |
102 | DECLARE("PCB_FS_F18", offsetof(struct pcb *, fs.fpregs[18])); | |
103 | DECLARE("PCB_FS_F19", offsetof(struct pcb *, fs.fpregs[19])); | |
104 | DECLARE("PCB_FS_F20", offsetof(struct pcb *, fs.fpregs[20])); | |
105 | DECLARE("PCB_FS_F21", offsetof(struct pcb *, fs.fpregs[21])); | |
106 | DECLARE("PCB_FS_F22", offsetof(struct pcb *, fs.fpregs[22])); | |
107 | DECLARE("PCB_FS_F23", offsetof(struct pcb *, fs.fpregs[23])); | |
108 | DECLARE("PCB_FS_F24", offsetof(struct pcb *, fs.fpregs[24])); | |
109 | DECLARE("PCB_FS_F25", offsetof(struct pcb *, fs.fpregs[25])); | |
110 | DECLARE("PCB_FS_F26", offsetof(struct pcb *, fs.fpregs[26])); | |
111 | DECLARE("PCB_FS_F27", offsetof(struct pcb *, fs.fpregs[27])); | |
112 | DECLARE("PCB_FS_F28", offsetof(struct pcb *, fs.fpregs[28])); | |
113 | DECLARE("PCB_FS_F29", offsetof(struct pcb *, fs.fpregs[29])); | |
114 | DECLARE("PCB_FS_F30", offsetof(struct pcb *, fs.fpregs[30])); | |
115 | DECLARE("PCB_FS_F31", offsetof(struct pcb *, fs.fpregs[31])); | |
116 | DECLARE("PCB_FS_FPSCR", offsetof(struct pcb *, fs.fpscr_pad)); | |
117 | ||
118 | DECLARE("PCB_SAVED_STATE",offsetof(struct pcb *, ss)); | |
119 | DECLARE("ACT_MACT_KSP", offsetof(struct thread_activation *, mact.ksp)); | |
120 | DECLARE("ACT_MACT_BEDA", offsetof(struct thread_activation *, mact.bbDescAddr)); | |
121 | DECLARE("ACT_MACT_BTS", offsetof(struct thread_activation *, mact.bbTableStart)); | |
122 | DECLARE("ACT_MACT_BTE", offsetof(struct thread_activation *, mact.bbTaskEnv)); | |
123 | DECLARE("ACT_MACT_SPF", offsetof(struct thread_activation *, mact.specFlags)); | |
124 | DECLARE("qactTimer", offsetof(struct thread_activation *, mact.qactTimer)); | |
125 | DECLARE("floatUsed", floatUsed); | |
126 | DECLARE("vectorUsed", vectorUsed); | |
127 | DECLARE("bbNoMachSCbit",bbNoMachSCbit); | |
128 | DECLARE("runningVM", runningVM); | |
129 | DECLARE("floatCng", floatCng); | |
130 | DECLARE("vectorCng", vectorCng); | |
131 | DECLARE("floatCngbit", floatCngbit); | |
132 | DECLARE("vectorCngbit", vectorCngbit); | |
0b4e3aa0 A |
133 | DECLARE("bbThreadbit", bbThreadbit); |
134 | DECLARE("bbPreemptivebit", bbPreemptivebit); | |
135 | DECLARE("bbThread", bbThread); | |
136 | DECLARE("bbPreemptive", bbPreemptive); | |
137 | DECLARE("fvChkb", fvChkb); | |
138 | DECLARE("fvChk", fvChk); | |
139 | DECLARE("userProtKeybit", userProtKeybit); | |
140 | DECLARE("userProtKey", userProtKey); | |
1c79356b A |
141 | |
142 | DECLARE("PCB_SIZE", sizeof(struct pcb)); | |
143 | ||
144 | /* Save State Structure */ | |
145 | DECLARE("SS_R0", offsetof(struct ppc_saved_state *, r0)); | |
146 | DECLARE("SS_R1", offsetof(struct ppc_saved_state *, r1)); | |
147 | DECLARE("SS_R2", offsetof(struct ppc_saved_state *, r2)); | |
148 | DECLARE("SS_R3", offsetof(struct ppc_saved_state *, r3)); | |
149 | DECLARE("SS_R4", offsetof(struct ppc_saved_state *, r4)); | |
150 | DECLARE("SS_R5", offsetof(struct ppc_saved_state *, r5)); | |
151 | DECLARE("SS_R6", offsetof(struct ppc_saved_state *, r6)); | |
152 | DECLARE("SS_R7", offsetof(struct ppc_saved_state *, r7)); | |
153 | DECLARE("SS_R8", offsetof(struct ppc_saved_state *, r8)); | |
154 | DECLARE("SS_R9", offsetof(struct ppc_saved_state *, r9)); | |
155 | DECLARE("SS_R10", offsetof(struct ppc_saved_state *, r10)); | |
156 | DECLARE("SS_R11", offsetof(struct ppc_saved_state *, r11)); | |
157 | DECLARE("SS_R12", offsetof(struct ppc_saved_state *, r12)); | |
158 | DECLARE("SS_R13", offsetof(struct ppc_saved_state *, r13)); | |
159 | DECLARE("SS_R14", offsetof(struct ppc_saved_state *, r14)); | |
160 | DECLARE("SS_R15", offsetof(struct ppc_saved_state *, r15)); | |
161 | DECLARE("SS_R16", offsetof(struct ppc_saved_state *, r16)); | |
162 | DECLARE("SS_R17", offsetof(struct ppc_saved_state *, r17)); | |
163 | DECLARE("SS_R18", offsetof(struct ppc_saved_state *, r18)); | |
164 | DECLARE("SS_R19", offsetof(struct ppc_saved_state *, r19)); | |
165 | DECLARE("SS_R20", offsetof(struct ppc_saved_state *, r20)); | |
166 | DECLARE("SS_R21", offsetof(struct ppc_saved_state *, r21)); | |
167 | DECLARE("SS_R22", offsetof(struct ppc_saved_state *, r22)); | |
168 | DECLARE("SS_R23", offsetof(struct ppc_saved_state *, r23)); | |
169 | DECLARE("SS_R24", offsetof(struct ppc_saved_state *, r24)); | |
170 | DECLARE("SS_R25", offsetof(struct ppc_saved_state *, r25)); | |
171 | DECLARE("SS_R26", offsetof(struct ppc_saved_state *, r26)); | |
172 | DECLARE("SS_R27", offsetof(struct ppc_saved_state *, r27)); | |
173 | DECLARE("SS_R28", offsetof(struct ppc_saved_state *, r28)); | |
174 | DECLARE("SS_R29", offsetof(struct ppc_saved_state *, r29)); | |
175 | DECLARE("SS_R30", offsetof(struct ppc_saved_state *, r30)); | |
176 | DECLARE("SS_R31", offsetof(struct ppc_saved_state *, r31)); | |
177 | DECLARE("SS_CR", offsetof(struct ppc_saved_state *, cr)); | |
178 | DECLARE("SS_XER", offsetof(struct ppc_saved_state *, xer)); | |
179 | DECLARE("SS_LR", offsetof(struct ppc_saved_state *, lr)); | |
180 | DECLARE("SS_CTR", offsetof(struct ppc_saved_state *, ctr)); | |
181 | DECLARE("SS_SRR0", offsetof(struct ppc_saved_state *, srr0)); | |
182 | DECLARE("SS_SRR1", offsetof(struct ppc_saved_state *, srr1)); | |
183 | DECLARE("SS_MQ", offsetof(struct ppc_saved_state *, mq)); | |
184 | DECLARE("SS_SR_COPYIN", offsetof(struct ppc_saved_state *, sr_copyin)); | |
185 | DECLARE("SS_SIZE", sizeof(struct ppc_saved_state)); | |
186 | ||
187 | /* Per Proc info structure */ | |
188 | DECLARE("PP_CPU_NUMBER", offsetof(struct per_proc_info *, cpu_number)); | |
189 | DECLARE("PP_CPU_FLAGS", offsetof(struct per_proc_info *, cpu_flags)); | |
190 | DECLARE("PP_ISTACKPTR", offsetof(struct per_proc_info *, istackptr)); | |
191 | DECLARE("PP_INTSTACK_TOP_SS", offsetof(struct per_proc_info *, intstack_top_ss)); | |
1c79356b A |
192 | DECLARE("PP_DEBSTACKPTR", offsetof(struct per_proc_info *, debstackptr)); |
193 | DECLARE("PP_DEBSTACK_TOP_SS", offsetof(struct per_proc_info *, debstack_top_ss)); | |
1c79356b A |
194 | DECLARE("PP_TEMPWORK1", offsetof(struct per_proc_info *, tempwork1)); |
195 | DECLARE("PP_USERSPACE", offsetof(struct per_proc_info *, userspace)); | |
196 | DECLARE("PP_USERPMAP", offsetof(struct per_proc_info *, userpmap)); | |
197 | DECLARE("PP_LASTPMAP", offsetof(struct per_proc_info *, Lastpmap)); | |
198 | DECLARE("savedSave", offsetof(struct per_proc_info *, savedSave)); | |
199 | ||
200 | DECLARE("PP_SAVE_EXCEPTION_TYPE", offsetof(struct per_proc_info *, save_exception_type)); | |
201 | DECLARE("PP_CPU_DATA", offsetof(struct per_proc_info *, cpu_data)); | |
202 | DECLARE("PP_ACTIVE_KLOADED", offsetof(struct per_proc_info *, active_kloaded)); | |
203 | DECLARE("PP_ACTIVE_STACKS", offsetof(struct per_proc_info *, active_stacks)); | |
204 | DECLARE("PP_NEED_AST", offsetof(struct per_proc_info *, need_ast)); | |
205 | DECLARE("PP_FPU_THREAD", offsetof(struct per_proc_info *, FPU_thread)); | |
206 | DECLARE("FPU_vmmCtx", offsetof(struct per_proc_info *, FPU_vmmCtx)); | |
207 | DECLARE("PP_VMX_THREAD", offsetof(struct per_proc_info *, VMX_thread)); | |
208 | DECLARE("VMX_vmmCtx", offsetof(struct per_proc_info *, VMX_vmmCtx)); | |
209 | DECLARE("PP_QUICKFRET", offsetof(struct per_proc_info *, quickfret)); | |
0b4e3aa0 | 210 | DECLARE("PP_INTS_ENABLED", offsetof(struct per_proc_info *, interrupts_enabled)); |
1c79356b | 211 | DECLARE("UAW", offsetof(struct per_proc_info *, Uassist)); |
0b4e3aa0 | 212 | DECLARE("ppbbTaskEnv", offsetof(struct per_proc_info *, ppbbTaskEnv)); |
1c79356b A |
213 | DECLARE("liveVRS", offsetof(struct per_proc_info *, liveVRSave)); |
214 | DECLARE("liveFPSCR", offsetof(struct per_proc_info *, liveFPSCR)); | |
215 | DECLARE("spcFlags", offsetof(struct per_proc_info *, spcFlags)); | |
216 | DECLARE("spcTRc", offsetof(struct per_proc_info *, spcTRc)); | |
217 | DECLARE("spcTRp", offsetof(struct per_proc_info *, spcTRp)); | |
218 | DECLARE("ruptStamp", offsetof(struct per_proc_info *, ruptStamp)); | |
219 | DECLARE("pfAvailable", offsetof(struct per_proc_info *, pf.Available)); | |
220 | DECLARE("pfFloat", pfFloat); | |
221 | DECLARE("pfFloatb", pfFloatb); | |
222 | DECLARE("pfAltivec", pfAltivec); | |
223 | DECLARE("pfAltivecb", pfAltivecb); | |
224 | DECLARE("pfAvJava", pfAvJava); | |
225 | DECLARE("pfAvJavab", pfAvJavab); | |
226 | DECLARE("pfSMPcap", pfSMPcap); | |
227 | DECLARE("pfSMPcapb", pfSMPcapb); | |
228 | DECLARE("pfCanSleep", pfCanSleep); | |
229 | DECLARE("pfCanSleepb", pfCanSleepb); | |
230 | DECLARE("pfCanNap", pfCanNap); | |
231 | DECLARE("pfCanNapb", pfCanNapb); | |
232 | DECLARE("pfCanDoze", pfCanDoze); | |
233 | DECLARE("pfCanDozeb", pfCanDozeb); | |
234 | DECLARE("pfCanDoze", pfCanDoze); | |
235 | DECLARE("pfCanDozeb", pfCanDozeb); | |
236 | DECLARE("pfThermal", pfThermal); | |
237 | DECLARE("pfThermalb", pfThermalb); | |
238 | DECLARE("pfThermInt", pfThermInt); | |
239 | DECLARE("pfThermIntb", pfThermIntb); | |
0b4e3aa0 A |
240 | DECLARE("pfLClck", pfLClck); |
241 | DECLARE("pfLClckb", pfLClckb); | |
1c79356b A |
242 | DECLARE("pfWillNap", pfWillNap); |
243 | DECLARE("pfWillNapb", pfWillNapb); | |
244 | DECLARE("pfNoMSRir", pfNoMSRir); | |
245 | DECLARE("pfNoMSRirb", pfNoMSRirb); | |
246 | DECLARE("pfL1nnc", pfL1nnc); | |
247 | DECLARE("pfL1nncb", pfL1nncb); | |
248 | DECLARE("pfL1i", pfL1i); | |
249 | DECLARE("pfL1ib", pfL1ib); | |
250 | DECLARE("pfL1d", pfL1d); | |
251 | DECLARE("pfL1db", pfL1db); | |
252 | DECLARE("pfL1fa", pfL1fa); | |
253 | DECLARE("pfL1fab", pfL1fab); | |
254 | DECLARE("pfL2", pfL2); | |
255 | DECLARE("pfL2b", pfL2b); | |
256 | DECLARE("pfL2fa", pfL2fa); | |
257 | DECLARE("pfL2fab", pfL2fab); | |
258 | DECLARE("pfL2i", pfL2i); | |
259 | DECLARE("pfL2ib", pfL2ib); | |
260 | DECLARE("pfL3", pfL3); | |
261 | DECLARE("pfL3b", pfL3b); | |
262 | DECLARE("pfL3fa", pfL3fa); | |
263 | DECLARE("pfL3fab", pfL3fab); | |
264 | DECLARE("pfValid", pfValid); | |
265 | DECLARE("pfValidb", pfValidb); | |
266 | DECLARE("pfrptdProc", offsetof(struct per_proc_info *, pf.rptdProc)); | |
267 | DECLARE("pflineSize", offsetof(struct per_proc_info *, pf.lineSize)); | |
268 | DECLARE("pfl1iSize", offsetof(struct per_proc_info *, pf.l1iSize)); | |
269 | DECLARE("pfl1dSize", offsetof(struct per_proc_info *, pf.l1dSize)); | |
270 | DECLARE("pfl2cr", offsetof(struct per_proc_info *, pf.l2cr)); | |
271 | DECLARE("pfl2Size", offsetof(struct per_proc_info *, pf.l2Size)); | |
272 | DECLARE("pfl3cr", offsetof(struct per_proc_info *, pf.l3cr)); | |
273 | DECLARE("pfl3Size", offsetof(struct per_proc_info *, pf.l3Size)); | |
274 | DECLARE("pfHID0", offsetof(struct per_proc_info *, pf.pfHID0)); | |
275 | DECLARE("pfHID1", offsetof(struct per_proc_info *, pf.pfHID1)); | |
276 | DECLARE("pfHID2", offsetof(struct per_proc_info *, pf.pfHID2)); | |
277 | DECLARE("pfHID3", offsetof(struct per_proc_info *, pf.pfHID3)); | |
278 | DECLARE("pfMSSCR0", offsetof(struct per_proc_info *, pf.pfMSSCR0)); | |
279 | DECLARE("pfMSSCR1", offsetof(struct per_proc_info *, pf.pfMSSCR1)); | |
280 | DECLARE("pfICTRL", offsetof(struct per_proc_info *, pf.pfICTRL)); | |
281 | DECLARE("pfLDSTCR", offsetof(struct per_proc_info *, pf.pfLDSTCR)); | |
0b4e3aa0 | 282 | DECLARE("pfLDSTDB", offsetof(struct per_proc_info *, pf.pfLDSTDB)); |
1c79356b A |
283 | DECLARE("pfSize", sizeof(procFeatures)); |
284 | ||
285 | DECLARE("thrmmaxTemp", offsetof(struct per_proc_info *, thrm.maxTemp)); | |
286 | DECLARE("thrmthrottleTemp", offsetof(struct per_proc_info *, thrm.throttleTemp)); | |
287 | DECLARE("thrmlowTemp", offsetof(struct per_proc_info *, thrm.lowTemp)); | |
288 | DECLARE("thrmhighTemp", offsetof(struct per_proc_info *, thrm.highTemp)); | |
289 | DECLARE("thrm3val", offsetof(struct per_proc_info *, thrm.thrm3val)); | |
290 | DECLARE("thrmSize", sizeof(thrmControl)); | |
291 | ||
292 | DECLARE("napStamp", offsetof(struct per_proc_info *, napStamp)); | |
293 | DECLARE("napTotal", offsetof(struct per_proc_info *, napTotal)); | |
294 | ||
295 | DECLARE("emfp0", offsetof(struct per_proc_info *, emfp0)); | |
296 | DECLARE("emfp1", offsetof(struct per_proc_info *, emfp1)); | |
297 | DECLARE("emfp2", offsetof(struct per_proc_info *, emfp2)); | |
298 | DECLARE("emfp3", offsetof(struct per_proc_info *, emfp3)); | |
299 | DECLARE("emfp4", offsetof(struct per_proc_info *, emfp4)); | |
300 | DECLARE("emfp5", offsetof(struct per_proc_info *, emfp5)); | |
301 | DECLARE("emfp6", offsetof(struct per_proc_info *, emfp6)); | |
302 | DECLARE("emfp7", offsetof(struct per_proc_info *, emfp7)); | |
303 | DECLARE("emfp8", offsetof(struct per_proc_info *, emfp8)); | |
304 | DECLARE("emfp9", offsetof(struct per_proc_info *, emfp9)); | |
305 | DECLARE("emfp10", offsetof(struct per_proc_info *, emfp10)); | |
306 | DECLARE("emfp11", offsetof(struct per_proc_info *, emfp11)); | |
307 | DECLARE("emfp12", offsetof(struct per_proc_info *, emfp12)); | |
308 | DECLARE("emfp13", offsetof(struct per_proc_info *, emfp13)); | |
309 | DECLARE("emfp14", offsetof(struct per_proc_info *, emfp14)); | |
310 | DECLARE("emfp15", offsetof(struct per_proc_info *, emfp15)); | |
311 | DECLARE("emfp16", offsetof(struct per_proc_info *, emfp16)); | |
312 | DECLARE("emfp17", offsetof(struct per_proc_info *, emfp17)); | |
313 | DECLARE("emfp18", offsetof(struct per_proc_info *, emfp18)); | |
314 | DECLARE("emfp19", offsetof(struct per_proc_info *, emfp19)); | |
315 | DECLARE("emfp20", offsetof(struct per_proc_info *, emfp20)); | |
316 | DECLARE("emfp21", offsetof(struct per_proc_info *, emfp21)); | |
317 | DECLARE("emfp22", offsetof(struct per_proc_info *, emfp22)); | |
318 | DECLARE("emfp23", offsetof(struct per_proc_info *, emfp23)); | |
319 | DECLARE("emfp24", offsetof(struct per_proc_info *, emfp24)); | |
320 | DECLARE("emfp25", offsetof(struct per_proc_info *, emfp25)); | |
321 | DECLARE("emfp26", offsetof(struct per_proc_info *, emfp26)); | |
322 | DECLARE("emfp27", offsetof(struct per_proc_info *, emfp27)); | |
323 | DECLARE("emfp28", offsetof(struct per_proc_info *, emfp28)); | |
324 | DECLARE("emfp29", offsetof(struct per_proc_info *, emfp29)); | |
325 | DECLARE("emfp30", offsetof(struct per_proc_info *, emfp30)); | |
326 | DECLARE("emfp31", offsetof(struct per_proc_info *, emfp31)); | |
327 | DECLARE("emfpscr_pad", offsetof(struct per_proc_info *, emfpscr_pad)); | |
328 | DECLARE("emfpscr", offsetof(struct per_proc_info *, emfpscr)); | |
329 | ||
330 | DECLARE("emvr0", offsetof(struct per_proc_info *, emvr0)); | |
331 | DECLARE("emvr1", offsetof(struct per_proc_info *, emvr1)); | |
332 | DECLARE("emvr2", offsetof(struct per_proc_info *, emvr2)); | |
333 | DECLARE("emvr3", offsetof(struct per_proc_info *, emvr3)); | |
334 | DECLARE("emvr4", offsetof(struct per_proc_info *, emvr4)); | |
335 | DECLARE("emvr5", offsetof(struct per_proc_info *, emvr5)); | |
336 | DECLARE("emvr6", offsetof(struct per_proc_info *, emvr6)); | |
337 | DECLARE("emvr7", offsetof(struct per_proc_info *, emvr7)); | |
338 | DECLARE("emvr8", offsetof(struct per_proc_info *, emvr8)); | |
339 | DECLARE("emvr9", offsetof(struct per_proc_info *, emvr9)); | |
340 | DECLARE("emvr10", offsetof(struct per_proc_info *, emvr10)); | |
341 | DECLARE("emvr11", offsetof(struct per_proc_info *, emvr11)); | |
342 | DECLARE("emvr12", offsetof(struct per_proc_info *, emvr12)); | |
343 | DECLARE("emvr13", offsetof(struct per_proc_info *, emvr13)); | |
344 | DECLARE("emvr14", offsetof(struct per_proc_info *, emvr14)); | |
345 | DECLARE("emvr15", offsetof(struct per_proc_info *, emvr15)); | |
346 | DECLARE("emvr16", offsetof(struct per_proc_info *, emvr16)); | |
347 | DECLARE("emvr17", offsetof(struct per_proc_info *, emvr17)); | |
348 | DECLARE("emvr18", offsetof(struct per_proc_info *, emvr18)); | |
349 | DECLARE("emvr19", offsetof(struct per_proc_info *, emvr19)); | |
350 | DECLARE("emvr20", offsetof(struct per_proc_info *, emvr20)); | |
351 | DECLARE("emvr21", offsetof(struct per_proc_info *, emvr21)); | |
352 | DECLARE("emvr22", offsetof(struct per_proc_info *, emvr22)); | |
353 | DECLARE("emvr23", offsetof(struct per_proc_info *, emvr23)); | |
354 | DECLARE("emvr24", offsetof(struct per_proc_info *, emvr24)); | |
355 | DECLARE("emvr25", offsetof(struct per_proc_info *, emvr25)); | |
356 | DECLARE("emvr26", offsetof(struct per_proc_info *, emvr26)); | |
357 | DECLARE("emvr27", offsetof(struct per_proc_info *, emvr27)); | |
358 | DECLARE("emvr28", offsetof(struct per_proc_info *, emvr28)); | |
359 | DECLARE("emvr29", offsetof(struct per_proc_info *, emvr29)); | |
360 | DECLARE("emvr30", offsetof(struct per_proc_info *, emvr30)); | |
361 | DECLARE("emvr31", offsetof(struct per_proc_info *, emvr31)); | |
362 | DECLARE("empadvr", offsetof(struct per_proc_info *, empadvr)); | |
363 | DECLARE("ppSize", sizeof(struct per_proc_info)); | |
0b4e3aa0 | 364 | DECLARE("patcharea", offsetof(struct per_proc_info *, patcharea)); |
1c79356b A |
365 | |
366 | DECLARE("RESETHANDLER_TYPE", offsetof(struct resethandler *, type)); | |
367 | DECLARE("RESETHANDLER_CALL", offsetof(struct resethandler *, call_paddr)); | |
368 | DECLARE("RESETHANDLER_ARG", offsetof(struct resethandler *, arg__paddr)); | |
369 | ||
370 | /* we want offset from | |
371 | * bottom of kernel stack, not offset into structure | |
372 | */ | |
373 | #define IKSBASE (u_int)STACK_IKS(0) | |
374 | ||
375 | /* values from kern/thread.h */ | |
376 | DECLARE("THREAD_TOP_ACT", | |
377 | offsetof(struct thread_shuttle *, top_act)); | |
378 | DECLARE("THREAD_KERNEL_STACK", | |
379 | offsetof(struct thread_shuttle *, kernel_stack)); | |
380 | DECLARE("THREAD_CONTINUATION", | |
381 | offsetof(struct thread_shuttle *, continuation)); | |
382 | DECLARE("THREAD_RECOVER", | |
383 | offsetof(struct thread_shuttle *, recover)); | |
384 | #if MACH_LDEBUG | |
385 | DECLARE("THREAD_MUTEX_COUNT", | |
386 | offsetof(struct thread_shuttle *, mutex_count)); | |
387 | #endif /* MACH_LDEBUG */ | |
388 | DECLARE("THREAD_PSET", offsetof(struct thread_shuttle *, processor_set)); | |
389 | DECLARE("THREAD_LINKS", offsetof(struct thread_shuttle *, links)); | |
390 | DECLARE("THREAD_PSTHRN", offsetof(struct thread_shuttle *, pset_threads.next)); | |
391 | ||
392 | /* values from kern/thread_act.h */ | |
393 | DECLARE("ACT_TASK", offsetof(struct thread_activation *, task)); | |
394 | DECLARE("ACT_THREAD", offsetof(struct thread_activation *, thread)); | |
395 | DECLARE("ACT_LOWER", offsetof(struct thread_activation *, lower)); | |
396 | DECLARE("ACT_MACT_PCB",offsetof(struct thread_activation *, mact.pcb)); | |
397 | DECLARE("ACT_MACT_FPU",offsetof(struct thread_activation *, mact.FPU_pcb)); | |
398 | DECLARE("ACT_MACT_FPUlvl",offsetof(struct thread_activation *, mact.FPU_lvl)); | |
399 | DECLARE("ACT_MACT_FPUcpu",offsetof(struct thread_activation *, mact.FPU_cpu)); | |
400 | DECLARE("ACT_MACT_VMX",offsetof(struct thread_activation *, mact.VMX_pcb)); | |
401 | DECLARE("ACT_MACT_VMXlvl",offsetof(struct thread_activation *, mact.VMX_lvl)); | |
402 | DECLARE("ACT_MACT_VMXcpu",offsetof(struct thread_activation *, mact.VMX_cpu)); | |
403 | DECLARE("ACT_AST", offsetof(struct thread_activation *, ast)); | |
404 | DECLARE("ACT_VMMAP", offsetof(struct thread_activation *, map)); | |
405 | DECLARE("runningVM", runningVM); | |
406 | DECLARE("runningVMbit", runningVMbit); | |
407 | DECLARE("ACT_KLOADED", | |
408 | offsetof(struct thread_activation *, kernel_loaded)); | |
409 | DECLARE("ACT_KLOADING", | |
410 | offsetof(struct thread_activation *, kernel_loading)); | |
411 | DECLARE("ACT_MACH_EXC_PORT", | |
412 | offsetof(struct thread_activation *, | |
413 | exc_actions[EXC_MACH_SYSCALL].port)); | |
414 | DECLARE("vmmCEntry", offsetof(struct thread_activation *, mact.vmmCEntry)); | |
415 | DECLARE("vmmControl", offsetof(struct thread_activation *, mact.vmmControl)); | |
416 | #ifdef MACH_BSD | |
417 | DECLARE("CTHREAD_SELF", offsetof(struct thread_activation *, mact.cthread_self)); | |
418 | #endif | |
419 | ||
420 | /* Values from vmachmon.h */ | |
421 | ||
422 | DECLARE("kVmmGetVersion", kVmmGetVersion); | |
423 | DECLARE("kVmmvGetFeatures", kVmmvGetFeatures); | |
424 | DECLARE("kVmmInitContext", kVmmInitContext); | |
425 | DECLARE("kVmmTearDownContext", kVmmTearDownContext); | |
426 | DECLARE("kVmmTearDownAll", kVmmTearDownAll); | |
427 | DECLARE("kVmmMapPage", kVmmMapPage); | |
428 | DECLARE("kVmmGetPageMapping", kVmmGetPageMapping); | |
429 | DECLARE("kVmmUnmapPage", kVmmUnmapPage); | |
430 | DECLARE("kVmmUnmapAllPages", kVmmUnmapAllPages); | |
431 | DECLARE("kVmmGetPageDirtyFlag", kVmmGetPageDirtyFlag); | |
432 | DECLARE("kVmmGetFloatState", kVmmGetFloatState); | |
433 | DECLARE("kVmmGetVectorState", kVmmGetVectorState); | |
434 | DECLARE("kVmmSetTimer", kVmmSetTimer); | |
435 | DECLARE("kVmmExecuteVM", kVmmExecuteVM); | |
0b4e3aa0 | 436 | DECLARE("kVmmProtectPage", kVmmProtectPage); |
1c79356b A |
437 | |
438 | DECLARE("kVmmReturnNull", kVmmReturnNull); | |
0b4e3aa0 | 439 | DECLARE("kVmmStopped", kVmmStopped); |
1c79356b A |
440 | DECLARE("kVmmBogusContext", kVmmBogusContext); |
441 | DECLARE("kVmmReturnDataPageFault", kVmmReturnDataPageFault); | |
442 | DECLARE("kVmmReturnInstrPageFault", kVmmReturnInstrPageFault); | |
443 | DECLARE("kVmmReturnAlignmentFault", kVmmReturnAlignmentFault); | |
444 | DECLARE("kVmmReturnProgramException", kVmmReturnProgramException); | |
445 | DECLARE("kVmmReturnSystemCall", kVmmReturnSystemCall); | |
446 | DECLARE("kVmmReturnTraceException", kVmmReturnTraceException); | |
0b4e3aa0 A |
447 | |
448 | DECLARE("kVmmProtXtnd", kVmmProtXtnd); | |
449 | DECLARE("kVmmProtNARW", kVmmProtNARW); | |
450 | DECLARE("kVmmProtRORW", kVmmProtRORW); | |
451 | DECLARE("kVmmProtRWRW", kVmmProtRWRW); | |
452 | DECLARE("kVmmProtRORO", kVmmProtRORO); | |
1c79356b A |
453 | |
454 | DECLARE("vmmFlags", offsetof(struct vmmCntrlEntry *, vmmFlags)); | |
455 | DECLARE("vmmInUseb", vmmInUseb); | |
456 | DECLARE("vmmInUse", vmmInUse); | |
457 | DECLARE("vmmPmap", offsetof(struct vmmCntrlEntry *, vmmPmap)); | |
458 | DECLARE("vmmContextKern", offsetof(struct vmmCntrlEntry *, vmmContextKern)); | |
459 | DECLARE("vmmContextUser", offsetof(struct vmmCntrlEntry *, vmmContextUser)); | |
460 | DECLARE("vmmFPU_pcb", offsetof(struct vmmCntrlEntry *, vmmFPU_pcb)); | |
461 | DECLARE("vmmFPU_cpu", offsetof(struct vmmCntrlEntry *, vmmFPU_cpu)); | |
462 | DECLARE("vmmVMX_pcb", offsetof(struct vmmCntrlEntry *, vmmVMX_pcb)); | |
463 | DECLARE("vmmVMX_cpu", offsetof(struct vmmCntrlEntry *, vmmVMX_cpu)); | |
464 | DECLARE("vmmLastMap", offsetof(struct vmmCntrlEntry *, vmmLastMap)); | |
465 | DECLARE("vmmCEntrySize", sizeof(struct vmmCntrlEntry)); | |
466 | DECLARE("kVmmMaxContextsPerThread", kVmmMaxContextsPerThread); | |
467 | ||
468 | DECLARE("interface_version", offsetof(struct vmm_state_page_t *, interface_version)); | |
469 | DECLARE("thread_index", offsetof(struct vmm_state_page_t *, thread_index)); | |
470 | DECLARE("vmmStat", offsetof(struct vmm_state_page_t *, vmmStat)); | |
471 | DECLARE("vmmCntrl", offsetof(struct vmm_state_page_t *, vmmCntrl)); | |
472 | DECLARE("return_code", offsetof(struct vmm_state_page_t *, return_code)); | |
473 | DECLARE("return_params", offsetof(struct vmm_state_page_t *, return_params)); | |
474 | DECLARE("vmm_proc_state", offsetof(struct vmm_state_page_t *, vmm_proc_state)); | |
475 | DECLARE("return_params", offsetof(struct vmm_state_page_t *, return_params)); | |
476 | DECLARE("vmmppcVRs", offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcVRs)); | |
477 | DECLARE("vmmppcVSCR", offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcVSCR)); | |
478 | DECLARE("vmmppcFPRs", offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcFPRs)); | |
479 | DECLARE("vmmppcFPSCR", offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcFPSCR)); | |
480 | DECLARE("vmmFloatCngd", vmmFloatCngd); | |
481 | DECLARE("vmmFloatCngdb", vmmFloatCngdb); | |
482 | DECLARE("vmmVectCngd", vmmVectCngd); | |
483 | DECLARE("vmmVectCngdb", vmmVectCngdb); | |
484 | DECLARE("vmmTimerPop", vmmTimerPop); | |
485 | DECLARE("vmmTimerPopb", vmmTimerPopb); | |
486 | DECLARE("vmmMapDone", vmmMapDone); | |
487 | DECLARE("vmmMapDoneb", vmmMapDoneb); | |
488 | DECLARE("vmmSpfSave", vmmSpfSave); | |
489 | DECLARE("vmmSpfSaveb", vmmSpfSaveb); | |
490 | DECLARE("vmmFloatLoad", vmmFloatLoad); | |
491 | DECLARE("vmmFloatLoadb", vmmFloatLoadb); | |
492 | DECLARE("vmmVectLoad", vmmVectLoad); | |
493 | DECLARE("vmmVectLoadb", vmmVectLoadb); | |
494 | DECLARE("vmmVectVRall", vmmVectVRall); | |
495 | DECLARE("vmmVectVRallb", vmmVectVRallb); | |
496 | DECLARE("vmmVectVAss", vmmVectVAss); | |
497 | DECLARE("vmmVectVAssb", vmmVectVAssb); | |
0b4e3aa0 A |
498 | DECLARE("vmmXStart", vmmXStart); |
499 | DECLARE("vmmXStartb", vmmXStartb); | |
500 | DECLARE("vmmXStop", vmmXStop); | |
501 | DECLARE("vmmXStopb", vmmXStopb); | |
502 | DECLARE("vmmKey", vmmKey); | |
503 | DECLARE("vmmKeyb", vmmKeyb); | |
1c79356b A |
504 | |
505 | /* values from kern/task.h */ | |
506 | DECLARE("TASK_MACH_EXC_PORT", | |
507 | offsetof(struct task *, exc_actions[EXC_MACH_SYSCALL].port)); | |
508 | DECLARE("TASK_SYSCALLS_MACH", | |
509 | offsetof(struct task *, syscalls_mach)); | |
510 | ||
511 | /* values from vm/vm_map.h */ | |
512 | DECLARE("VMMAP_PMAP", offsetof(struct vm_map *, pmap)); | |
513 | ||
514 | /* values from machine/pmap.h */ | |
515 | DECLARE("PMAP_SPACE", offsetof(struct pmap *, space)); | |
516 | DECLARE("PMAP_BMAPS", offsetof(struct pmap *, bmaps)); | |
517 | DECLARE("PMAP_PMAPVR", offsetof(struct pmap *, pmapvr)); | |
518 | DECLARE("PMAP_VFLAGS", offsetof(struct pmap *, vflags)); | |
519 | DECLARE("PMAP_USAGE", offsetof(struct pmap *, pmapUsage)); | |
520 | DECLARE("PMAP_SEGS", offsetof(struct pmap *, pmapSegs)); | |
521 | DECLARE("PMAP_SIZE", pmapSize); | |
522 | ||
523 | ||
524 | /* Constants from pmap.h */ | |
525 | DECLARE("PPC_SID_KERNEL", PPC_SID_KERNEL); | |
526 | ||
527 | /* values for accessing mach_trap table */ | |
528 | DECLARE("MACH_TRAP_OFFSET_POW2", 4); | |
529 | ||
530 | DECLARE("MACH_TRAP_ARGC", | |
531 | offsetof(mach_trap_t *, mach_trap_arg_count)); | |
532 | DECLARE("MACH_TRAP_FUNCTION", | |
533 | offsetof(mach_trap_t *, mach_trap_function)); | |
534 | ||
535 | DECLARE("HOST_SELF", offsetof(host_t, host_self)); | |
536 | ||
537 | DECLARE("PPCcallmax", sizeof(PPCcalls)); | |
538 | ||
539 | /* values from cpu_data.h */ | |
540 | DECLARE("CPU_ACTIVE_THREAD", offsetof(cpu_data_t *, active_thread)); | |
541 | DECLARE("CPU_PREEMPTION_LEVEL", offsetof(cpu_data_t *, preemption_level)); | |
542 | DECLARE("CPU_SIMPLE_LOCK_COUNT", | |
543 | offsetof(cpu_data_t *, simple_lock_count)); | |
544 | DECLARE("CPU_INTERRUPT_LEVEL",offsetof(cpu_data_t *, interrupt_level)); | |
545 | ||
546 | /* Misc values used by assembler */ | |
547 | DECLARE("AST_ALL", AST_ALL); | |
548 | DECLARE("AST_URGENT", AST_URGENT); | |
549 | ||
550 | /* Simple Lock structure */ | |
551 | DECLARE("SLOCK_ILK", offsetof(simple_lock_t, interlock)); | |
552 | #if MACH_LDEBUG | |
553 | DECLARE("SLOCK_TYPE", offsetof(simple_lock_t, lock_type)); | |
554 | DECLARE("SLOCK_PC", offsetof(simple_lock_t, debug.lock_pc)); | |
555 | DECLARE("SLOCK_THREAD", offsetof(simple_lock_t, debug.lock_thread)); | |
556 | DECLARE("SLOCK_DURATIONH",offsetof(simple_lock_t, debug.duration[0])); | |
557 | DECLARE("SLOCK_DURATIONL",offsetof(simple_lock_t, debug.duration[1])); | |
558 | DECLARE("USLOCK_TAG", USLOCK_TAG); | |
559 | #endif /* MACH_LDEBUG */ | |
560 | ||
561 | /* Mutex structure */ | |
0b4e3aa0 | 562 | DECLARE("LOCK_DATA", offsetof(mutex_t *, interlock)); |
1c79356b A |
563 | DECLARE("MUTEX_WAITERS",offsetof(mutex_t *, waiters)); |
564 | #if MACH_LDEBUG | |
565 | DECLARE("MUTEX_TYPE", offsetof(mutex_t *, type)); | |
566 | DECLARE("MUTEX_PC", offsetof(mutex_t *, pc)); | |
567 | DECLARE("MUTEX_THREAD", offsetof(mutex_t *, thread)); | |
568 | DECLARE("MUTEX_TAG", MUTEX_TAG); | |
569 | #endif /* MACH_LDEBUG */ | |
570 | ||
571 | #if NCPUS > 1 | |
572 | /* values from mp/PlugIn.h */ | |
573 | ||
574 | DECLARE("MPSversionID", offsetof(struct MPPlugInSpec *, versionID)); | |
575 | DECLARE("MPSareaAddr", offsetof(struct MPPlugInSpec *, areaAddr)); | |
576 | DECLARE("MPSareaSize", offsetof(struct MPPlugInSpec *, areaSize)); | |
577 | DECLARE("MPSoffsetTableAddr", offsetof(struct MPPlugInSpec *, offsetTableAddr)); | |
578 | DECLARE("MPSbaseAddr", offsetof(struct MPPlugInSpec *, baseAddr)); | |
579 | DECLARE("MPSdataArea", offsetof(struct MPPlugInSpec *, dataArea)); | |
580 | DECLARE("MPSCPUArea", offsetof(struct MPPlugInSpec *, CPUArea)); | |
581 | DECLARE("MPSSIGPhandler", offsetof(struct MPPlugInSpec *, SIGPhandler)); | |
582 | ||
583 | DECLARE("CSAstate", offsetof(struct CPUStatusArea *, state)); | |
584 | DECLARE("CSAregsAreValid", offsetof(struct CPUStatusArea *, | |
585 | regsAreValid)); | |
586 | DECLARE("CSAgpr", offsetof(struct CPUStatusArea *, gpr)); | |
587 | DECLARE("CSAfpr", offsetof(struct CPUStatusArea *, fpr)); | |
588 | DECLARE("CSAcr", offsetof(struct CPUStatusArea *, cr)); | |
589 | DECLARE("CSAfpscr", offsetof(struct CPUStatusArea *, fpscr)); | |
590 | DECLARE("CSAxer", offsetof(struct CPUStatusArea *, xer)); | |
591 | DECLARE("CSAlr", offsetof(struct CPUStatusArea *, lr)); | |
592 | DECLARE("CSActr", offsetof(struct CPUStatusArea *, ctr)); | |
593 | DECLARE("CSAtbu", offsetof(struct CPUStatusArea *, tbu)); | |
594 | DECLARE("CSAtbl", offsetof(struct CPUStatusArea *, tbl)); | |
595 | DECLARE("CSApvr", offsetof(struct CPUStatusArea *, pvr)); | |
596 | DECLARE("CSAibat", offsetof(struct CPUStatusArea *, ibat)); | |
597 | DECLARE("CSAdbat", offsetof(struct CPUStatusArea *, dbat)); | |
598 | DECLARE("CSAsdr1", offsetof(struct CPUStatusArea *, sdr1)); | |
599 | DECLARE("CSAsr", offsetof(struct CPUStatusArea *, sr)); | |
600 | DECLARE("CSAdar", offsetof(struct CPUStatusArea *, dar)); | |
601 | DECLARE("CSAdsisr", offsetof(struct CPUStatusArea *, dsisr)); | |
602 | DECLARE("CSAsprg", offsetof(struct CPUStatusArea *, sprg)); | |
603 | DECLARE("CSAsrr0", offsetof(struct CPUStatusArea *, srr0)); | |
604 | DECLARE("CSAsrr1", offsetof(struct CPUStatusArea *, srr1)); | |
605 | DECLARE("CSAdec", offsetof(struct CPUStatusArea *, dec)); | |
606 | DECLARE("CSAdabr", offsetof(struct CPUStatusArea *, dabr)); | |
607 | DECLARE("CSAiabr", offsetof(struct CPUStatusArea *, iabr)); | |
608 | DECLARE("CSAear", offsetof(struct CPUStatusArea *, ear)); | |
609 | DECLARE("CSAhid", offsetof(struct CPUStatusArea *, hid)); | |
610 | DECLARE("CSAmmcr", offsetof(struct CPUStatusArea *, mmcr)); | |
611 | DECLARE("CSApmc", offsetof(struct CPUStatusArea *, pmc)); | |
612 | DECLARE("CSApir", offsetof(struct CPUStatusArea *, pir)); | |
613 | DECLARE("CSAsda", offsetof(struct CPUStatusArea *, sda)); | |
614 | DECLARE("CSAsia", offsetof(struct CPUStatusArea *, sia)); | |
615 | DECLARE("CSAmq", offsetof(struct CPUStatusArea *, mq)); | |
616 | DECLARE("CSAmsr", offsetof(struct CPUStatusArea *, msr)); | |
617 | DECLARE("CSApc", offsetof(struct CPUStatusArea *, pc)); | |
618 | DECLARE("CSAsysregs", offsetof(struct CPUStatusArea *, sysregs)); | |
619 | DECLARE("CSAsize", sizeof(struct CPUStatusArea)); | |
620 | ||
621 | ||
622 | DECLARE("MPPICStat", offsetof(struct MPPInterface *, MPPICStat)); | |
623 | DECLARE("MPPICParm0", offsetof(struct MPPInterface *, MPPICParm0)); | |
624 | DECLARE("MPPICParm1", offsetof(struct MPPInterface *, MPPICParm1)); | |
625 | DECLARE("MPPICParm2", offsetof(struct MPPInterface *, MPPICParm2)); | |
626 | DECLARE("MPPICspare0", offsetof(struct MPPInterface *, MPPICspare0)); | |
627 | DECLARE("MPPICspare1", offsetof(struct MPPInterface *, MPPICspare1)); | |
628 | DECLARE("MPPICParm0BU", offsetof(struct MPPInterface *, MPPICParm0BU)); | |
629 | DECLARE("MPPICPriv", offsetof(struct MPPInterface *, MPPICPriv)); | |
630 | ||
631 | ||
632 | ||
633 | #endif /* NCPUS > 1 */ | |
634 | ||
635 | /* values from low_trace.h */ | |
636 | DECLARE("LTR_cpu", offsetof(struct LowTraceRecord *, LTR_cpu)); | |
637 | DECLARE("LTR_excpt", offsetof(struct LowTraceRecord *, LTR_excpt)); | |
638 | DECLARE("LTR_timeHi", offsetof(struct LowTraceRecord *, LTR_timeHi)); | |
639 | DECLARE("LTR_timeLo", offsetof(struct LowTraceRecord *, LTR_timeLo)); | |
640 | DECLARE("LTR_cr", offsetof(struct LowTraceRecord *, LTR_cr)); | |
641 | DECLARE("LTR_srr0", offsetof(struct LowTraceRecord *, LTR_srr0)); | |
642 | DECLARE("LTR_srr1", offsetof(struct LowTraceRecord *, LTR_srr1)); | |
643 | DECLARE("LTR_dar", offsetof(struct LowTraceRecord *, LTR_dar)); | |
644 | DECLARE("LTR_save", offsetof(struct LowTraceRecord *, LTR_save)); | |
645 | DECLARE("LTR_lr", offsetof(struct LowTraceRecord *, LTR_lr)); | |
646 | DECLARE("LTR_ctr", offsetof(struct LowTraceRecord *, LTR_ctr)); | |
647 | DECLARE("LTR_r0", offsetof(struct LowTraceRecord *, LTR_r0)); | |
648 | DECLARE("LTR_r1", offsetof(struct LowTraceRecord *, LTR_r1)); | |
649 | DECLARE("LTR_r2", offsetof(struct LowTraceRecord *, LTR_r2)); | |
650 | DECLARE("LTR_r3", offsetof(struct LowTraceRecord *, LTR_r3)); | |
651 | DECLARE("LTR_r4", offsetof(struct LowTraceRecord *, LTR_r4)); | |
652 | DECLARE("LTR_r5", offsetof(struct LowTraceRecord *, LTR_r5)); | |
653 | DECLARE("LTR_size", sizeof(struct LowTraceRecord)); | |
654 | ||
655 | /* Values from pexpert.h */ | |
656 | DECLARE("PECFIcpurate", offsetof(struct clock_frequency_info_t *, cpu_clock_rate_hz)); | |
657 | DECLARE("PECFIbusrate", offsetof(struct clock_frequency_info_t *, bus_clock_rate_hz)); | |
658 | ||
659 | /* Values from pmap_internals.h and mappings.h */ | |
660 | DECLARE("mmnext", offsetof(struct mapping *, next)); | |
661 | DECLARE("mmhashnext", offsetof(struct mapping *, hashnext)); | |
662 | DECLARE("mmPTEhash", offsetof(struct mapping *, PTEhash)); | |
663 | DECLARE("mmPTEent", offsetof(struct mapping *, PTEent)); | |
664 | DECLARE("mmPTEv", offsetof(struct mapping *, PTEv)); | |
665 | DECLARE("mmPTEr", offsetof(struct mapping *, PTEr)); | |
666 | DECLARE("mmphysent", offsetof(struct mapping *, physent)); | |
667 | DECLARE("mmpmap", offsetof(struct mapping *, pmap)); | |
668 | ||
669 | DECLARE("bmnext", offsetof(struct blokmap *, next)); | |
670 | DECLARE("bmstart", offsetof(struct blokmap *, start)); | |
671 | DECLARE("bmend", offsetof(struct blokmap *, end)); | |
672 | DECLARE("bmPTEr", offsetof(struct blokmap *, PTEr)); | |
673 | DECLARE("bmspace", offsetof(struct blokmap *, space)); | |
674 | DECLARE("blkFlags", offsetof(struct blokmap *, blkFlags)); | |
675 | DECLARE("blkPerm", blkPerm); | |
676 | DECLARE("blkPermbit", blkPermbit); | |
677 | ||
678 | DECLARE("mbvrswap", offsetof(struct mappingblok *, mapblokvrswap)); | |
679 | DECLARE("mbfree", offsetof(struct mappingblok *, mapblokfree)); | |
680 | DECLARE("mapcsize", sizeof(struct mappingctl)); | |
681 | ||
682 | DECLARE("pephyslink", offsetof(struct phys_entry *, phys_link)); | |
683 | DECLARE("pepte1", offsetof(struct phys_entry *, pte1)); | |
684 | ||
685 | DECLARE("PCAlock", offsetof(struct PCA *, PCAlock)); | |
686 | DECLARE("PCAallo", offsetof(struct PCA *, flgs.PCAallo)); | |
687 | DECLARE("PCAfree", offsetof(struct PCA *, flgs.PCAalflgs.PCAfree)); | |
688 | DECLARE("PCAauto", offsetof(struct PCA *, flgs.PCAalflgs.PCAauto)); | |
689 | DECLARE("PCAslck", offsetof(struct PCA *, flgs.PCAalflgs.PCAslck)); | |
690 | DECLARE("PCAsteal", offsetof(struct PCA *, flgs.PCAalflgs.PCAsteal)); | |
691 | DECLARE("PCAgas", offsetof(struct PCA *, PCAgas)); | |
692 | DECLARE("PCAhash", offsetof(struct PCA *, PCAhash)); | |
693 | ||
694 | DECLARE("SVlock", offsetof(struct Saveanchor *, savelock)); | |
695 | DECLARE("SVcount", offsetof(struct Saveanchor *, savecount)); | |
696 | DECLARE("SVinuse", offsetof(struct Saveanchor *, saveinuse)); | |
697 | DECLARE("SVmin", offsetof(struct Saveanchor *, savemin)); | |
698 | DECLARE("SVneghyst", offsetof(struct Saveanchor *, saveneghyst)); | |
699 | DECLARE("SVtarget", offsetof(struct Saveanchor *, savetarget)); | |
700 | DECLARE("SVposhyst", offsetof(struct Saveanchor *, saveposhyst)); | |
701 | DECLARE("SVfree", offsetof(struct Saveanchor *, savefree)); | |
702 | DECLARE("SVsize", sizeof(struct Saveanchor)); | |
703 | ||
704 | #if 1 | |
705 | DECLARE("GDsave", offsetof(struct GDWorkArea *, GDsave)); | |
706 | DECLARE("GDfp0", offsetof(struct GDWorkArea *, GDfp0)); | |
707 | DECLARE("GDfp1", offsetof(struct GDWorkArea *, GDfp1)); | |
708 | DECLARE("GDfp2", offsetof(struct GDWorkArea *, GDfp2)); | |
709 | DECLARE("GDfp3", offsetof(struct GDWorkArea *, GDfp3)); | |
710 | DECLARE("GDtop", offsetof(struct GDWorkArea *, GDtop)); | |
711 | DECLARE("GDleft", offsetof(struct GDWorkArea *, GDleft)); | |
712 | DECLARE("GDtopleft", offsetof(struct GDWorkArea *, GDtopleft)); | |
713 | DECLARE("GDrowbytes", offsetof(struct GDWorkArea *, GDrowbytes)); | |
714 | DECLARE("GDrowchar", offsetof(struct GDWorkArea *, GDrowchar)); | |
715 | DECLARE("GDdepth", offsetof(struct GDWorkArea *, GDdepth)); | |
716 | DECLARE("GDcollgn", offsetof(struct GDWorkArea *, GDcollgn)); | |
717 | DECLARE("GDready", offsetof(struct GDWorkArea *, GDready)); | |
718 | DECLARE("GDrowbuf1", offsetof(struct GDWorkArea *, GDrowbuf1)); | |
719 | DECLARE("GDrowbuf2", offsetof(struct GDWorkArea *, GDrowbuf2)); | |
720 | #endif | |
721 | ||
722 | DECLARE("dgLock", offsetof(struct diagWork *, dgLock)); | |
723 | DECLARE("dgFlags", offsetof(struct diagWork *, dgFlags)); | |
724 | DECLARE("dgMisc0", offsetof(struct diagWork *, dgMisc0)); | |
725 | DECLARE("enaExpTrace", enaExpTrace); | |
726 | DECLARE("enaExpTraceb", enaExpTraceb); | |
727 | DECLARE("enaUsrFCall", enaUsrFCall); | |
728 | DECLARE("enaUsrFCallb", enaUsrFCallb); | |
729 | DECLARE("enaUsrPhyMp", enaUsrPhyMp); | |
730 | DECLARE("enaUsrPhyMpb", enaUsrPhyMpb); | |
731 | DECLARE("enaDiagSCs", enaDiagSCs); | |
732 | DECLARE("enaDiagSCsb", enaDiagSCsb); | |
733 | DECLARE("disLkType", disLkType); | |
734 | DECLARE("disLktypeb", disLktypeb); | |
735 | DECLARE("disLkThread", disLkThread); | |
736 | DECLARE("disLkThreadb", disLkThreadb); | |
737 | DECLARE("disLkNmSimp", disLkNmSimp); | |
738 | DECLARE("disLkNmSimpb", disLkNmSimpb); | |
739 | DECLARE("disLkMyLck", disLkMyLck); | |
740 | DECLARE("disLkMyLckb", disLkMyLckb); | |
741 | DECLARE("dgMisc1", offsetof(struct diagWork *, dgMisc1)); | |
742 | DECLARE("dgMisc2", offsetof(struct diagWork *, dgMisc2)); | |
743 | DECLARE("dgMisc3", offsetof(struct diagWork *, dgMisc3)); | |
744 | DECLARE("dgMisc4", offsetof(struct diagWork *, dgMisc4)); | |
745 | DECLARE("dgMisc5", offsetof(struct diagWork *, dgMisc5)); | |
746 | ||
747 | DECLARE("traceMask", offsetof(struct traceWork *, traceMask)); | |
748 | DECLARE("traceCurr", offsetof(struct traceWork *, traceCurr)); | |
749 | DECLARE("traceStart", offsetof(struct traceWork *, traceStart)); | |
750 | DECLARE("traceEnd", offsetof(struct traceWork *, traceEnd)); | |
751 | DECLARE("traceMsnd", offsetof(struct traceWork *, traceMsnd)); | |
752 | ||
753 | DECLARE("SACsize", sizeof(struct savectl)); | |
754 | DECLARE("SACspot", 4096-sizeof(struct savectl)); | |
755 | DECLARE("SACnext", offsetof(struct savectl *, sac_next)+4096-sizeof(struct savectl)); | |
756 | DECLARE("SACvrswap", offsetof(struct savectl *, sac_vrswap)+4096-sizeof(struct savectl)); | |
757 | DECLARE("SACalloc", offsetof(struct savectl *, sac_alloc)+4096-sizeof(struct savectl)); | |
758 | DECLARE("SACflags", offsetof(struct savectl *, sac_flags)+4096-sizeof(struct savectl)); | |
759 | ||
760 | DECLARE("SAVprev", offsetof(struct savearea *, save_prev)); | |
761 | DECLARE("SAVprefp", offsetof(struct savearea *, save_prev_float)); | |
762 | DECLARE("SAVprevec", offsetof(struct savearea *, save_prev_vector)); | |
763 | DECLARE("SAVphys", offsetof(struct savearea *, save_phys)); | |
764 | DECLARE("SAVqfret", offsetof(struct savearea *, save_qfret)); | |
765 | DECLARE("SAVact", offsetof(struct savearea *, save_act)); | |
766 | DECLARE("SAVflags", offsetof(struct savearea *, save_flags)); | |
767 | DECLARE("SAVlvlfp", offsetof(struct savearea *, save_level_fp)); | |
768 | DECLARE("SAVlvlvec", offsetof(struct savearea *, save_level_vec)); | |
769 | DECLARE("SAVsize", sizeof(struct savearea)); | |
770 | ||
771 | DECLARE("savesrr0", offsetof(struct savearea *, save_srr0)); | |
772 | DECLARE("savesrr1", offsetof(struct savearea *, save_srr1)); | |
773 | DECLARE("savecr", offsetof(struct savearea *, save_cr)); | |
774 | DECLARE("savexer", offsetof(struct savearea *, save_xer)); | |
775 | DECLARE("savelr", offsetof(struct savearea *, save_lr)); | |
776 | DECLARE("savectr", offsetof(struct savearea *, save_ctr)); | |
777 | DECLARE("savemq", offsetof(struct savearea *, save_mq)); | |
778 | DECLARE("savecopyin", offsetof(struct savearea *, save_sr_copyin)); | |
779 | DECLARE("savedar", offsetof(struct savearea *, save_dar)); | |
780 | DECLARE("savedsisr", offsetof(struct savearea *, save_dsisr)); | |
781 | DECLARE("saveexception", offsetof(struct savearea *, save_exception)); | |
782 | DECLARE("savexfpscrpad", offsetof(struct savearea *, save_xfpscrpad)); | |
783 | DECLARE("savexfpscr", offsetof(struct savearea *, save_xfpscr)); | |
784 | DECLARE("savevrsave", offsetof(struct savearea *, save_vrsave)); | |
785 | ||
786 | DECLARE("saver0", offsetof(struct savearea *, save_r0)); | |
787 | DECLARE("saver1", offsetof(struct savearea *, save_r1)); | |
788 | DECLARE("saver2", offsetof(struct savearea *, save_r2)); | |
789 | DECLARE("saver3", offsetof(struct savearea *, save_r3)); | |
790 | DECLARE("saver4", offsetof(struct savearea *, save_r4)); | |
791 | DECLARE("saver5", offsetof(struct savearea *, save_r5)); | |
792 | DECLARE("saver6", offsetof(struct savearea *, save_r6)); | |
793 | DECLARE("saver7", offsetof(struct savearea *, save_r7)); | |
794 | DECLARE("saver8", offsetof(struct savearea *, save_r8)); | |
795 | DECLARE("saver9", offsetof(struct savearea *, save_r9)); | |
796 | DECLARE("saver10", offsetof(struct savearea *, save_r10)); | |
797 | DECLARE("saver11", offsetof(struct savearea *, save_r11)); | |
798 | DECLARE("saver12", offsetof(struct savearea *, save_r12)); | |
799 | DECLARE("saver13", offsetof(struct savearea *, save_r13)); | |
800 | DECLARE("saver14", offsetof(struct savearea *, save_r14)); | |
801 | DECLARE("saver15", offsetof(struct savearea *, save_r15)); | |
802 | DECLARE("saver16", offsetof(struct savearea *, save_r16)); | |
803 | DECLARE("saver17", offsetof(struct savearea *, save_r17)); | |
804 | DECLARE("saver18", offsetof(struct savearea *, save_r18)); | |
805 | DECLARE("saver19", offsetof(struct savearea *, save_r19)); | |
806 | DECLARE("saver20", offsetof(struct savearea *, save_r20)); | |
807 | DECLARE("saver21", offsetof(struct savearea *, save_r21)); | |
808 | DECLARE("saver22", offsetof(struct savearea *, save_r22)); | |
809 | DECLARE("saver23", offsetof(struct savearea *, save_r23)); | |
810 | DECLARE("saver24", offsetof(struct savearea *, save_r24)); | |
811 | DECLARE("saver25", offsetof(struct savearea *, save_r25)); | |
812 | DECLARE("saver26", offsetof(struct savearea *, save_r26)); | |
813 | DECLARE("saver27", offsetof(struct savearea *, save_r27)); | |
814 | DECLARE("saver28", offsetof(struct savearea *, save_r28)); | |
815 | DECLARE("saver29", offsetof(struct savearea *, save_r29)); | |
816 | DECLARE("saver30", offsetof(struct savearea *, save_r30)); | |
817 | DECLARE("saver31", offsetof(struct savearea *, save_r31)); | |
818 | ||
819 | DECLARE("savefp0", offsetof(struct savearea *, save_fp0)); | |
820 | DECLARE("savefp1", offsetof(struct savearea *, save_fp1)); | |
821 | DECLARE("savefp2", offsetof(struct savearea *, save_fp2)); | |
822 | DECLARE("savefp3", offsetof(struct savearea *, save_fp3)); | |
823 | DECLARE("savefp4", offsetof(struct savearea *, save_fp4)); | |
824 | DECLARE("savefp5", offsetof(struct savearea *, save_fp5)); | |
825 | DECLARE("savefp6", offsetof(struct savearea *, save_fp6)); | |
826 | DECLARE("savefp7", offsetof(struct savearea *, save_fp7)); | |
827 | DECLARE("savefp8", offsetof(struct savearea *, save_fp8)); | |
828 | DECLARE("savefp9", offsetof(struct savearea *, save_fp9)); | |
829 | DECLARE("savefp10", offsetof(struct savearea *, save_fp10)); | |
830 | DECLARE("savefp11", offsetof(struct savearea *, save_fp11)); | |
831 | DECLARE("savefp12", offsetof(struct savearea *, save_fp12)); | |
832 | DECLARE("savefp13", offsetof(struct savearea *, save_fp13)); | |
833 | DECLARE("savefp14", offsetof(struct savearea *, save_fp14)); | |
834 | DECLARE("savefp15", offsetof(struct savearea *, save_fp15)); | |
835 | DECLARE("savefp16", offsetof(struct savearea *, save_fp16)); | |
836 | DECLARE("savefp17", offsetof(struct savearea *, save_fp17)); | |
837 | DECLARE("savefp18", offsetof(struct savearea *, save_fp18)); | |
838 | DECLARE("savefp19", offsetof(struct savearea *, save_fp19)); | |
839 | DECLARE("savefp20", offsetof(struct savearea *, save_fp20)); | |
840 | DECLARE("savefp21", offsetof(struct savearea *, save_fp21)); | |
841 | DECLARE("savefp22", offsetof(struct savearea *, save_fp22)); | |
842 | DECLARE("savefp23", offsetof(struct savearea *, save_fp23)); | |
843 | DECLARE("savefp24", offsetof(struct savearea *, save_fp24)); | |
844 | DECLARE("savefp25", offsetof(struct savearea *, save_fp25)); | |
845 | DECLARE("savefp26", offsetof(struct savearea *, save_fp26)); | |
846 | DECLARE("savefp27", offsetof(struct savearea *, save_fp27)); | |
847 | DECLARE("savefp28", offsetof(struct savearea *, save_fp28)); | |
848 | DECLARE("savefp29", offsetof(struct savearea *, save_fp29)); | |
849 | DECLARE("savefp30", offsetof(struct savearea *, save_fp30)); | |
850 | DECLARE("savefp31", offsetof(struct savearea *, save_fp31)); | |
851 | DECLARE("savefpscrpad", offsetof(struct savearea *, save_fpscr_pad)); | |
852 | DECLARE("savefpscr", offsetof(struct savearea *, save_fpscr)); | |
853 | ||
854 | DECLARE("savesr0", offsetof(struct savearea *, save_sr0)); | |
855 | DECLARE("savesr1", offsetof(struct savearea *, save_sr1)); | |
856 | DECLARE("savesr2", offsetof(struct savearea *, save_sr2)); | |
857 | DECLARE("savesr3", offsetof(struct savearea *, save_sr3)); | |
858 | DECLARE("savesr4", offsetof(struct savearea *, save_sr4)); | |
859 | DECLARE("savesr5", offsetof(struct savearea *, save_sr5)); | |
860 | DECLARE("savesr6", offsetof(struct savearea *, save_sr6)); | |
861 | DECLARE("savesr7", offsetof(struct savearea *, save_sr7)); | |
862 | DECLARE("savesr8", offsetof(struct savearea *, save_sr8)); | |
863 | DECLARE("savesr9", offsetof(struct savearea *, save_sr9)); | |
864 | DECLARE("savesr10", offsetof(struct savearea *, save_sr10)); | |
865 | DECLARE("savesr11", offsetof(struct savearea *, save_sr11)); | |
866 | DECLARE("savesr12", offsetof(struct savearea *, save_sr12)); | |
867 | DECLARE("savesr13", offsetof(struct savearea *, save_sr13)); | |
868 | DECLARE("savesr14", offsetof(struct savearea *, save_sr14)); | |
869 | DECLARE("savesr15", offsetof(struct savearea *, save_sr15)); | |
870 | ||
871 | DECLARE("savevr0", offsetof(struct savearea *, save_vr0)); | |
872 | DECLARE("savevr1", offsetof(struct savearea *, save_vr1)); | |
873 | DECLARE("savevr2", offsetof(struct savearea *, save_vr2)); | |
874 | DECLARE("savevr3", offsetof(struct savearea *, save_vr3)); | |
875 | DECLARE("savevr4", offsetof(struct savearea *, save_vr4)); | |
876 | DECLARE("savevr5", offsetof(struct savearea *, save_vr5)); | |
877 | DECLARE("savevr6", offsetof(struct savearea *, save_vr6)); | |
878 | DECLARE("savevr7", offsetof(struct savearea *, save_vr7)); | |
879 | DECLARE("savevr8", offsetof(struct savearea *, save_vr8)); | |
880 | DECLARE("savevr9", offsetof(struct savearea *, save_vr9)); | |
881 | DECLARE("savevr10", offsetof(struct savearea *, save_vr10)); | |
882 | DECLARE("savevr11", offsetof(struct savearea *, save_vr11)); | |
883 | DECLARE("savevr12", offsetof(struct savearea *, save_vr12)); | |
884 | DECLARE("savevr13", offsetof(struct savearea *, save_vr13)); | |
885 | DECLARE("savevr14", offsetof(struct savearea *, save_vr14)); | |
886 | DECLARE("savevr15", offsetof(struct savearea *, save_vr15)); | |
887 | DECLARE("savevr16", offsetof(struct savearea *, save_vr16)); | |
888 | DECLARE("savevr17", offsetof(struct savearea *, save_vr17)); | |
889 | DECLARE("savevr18", offsetof(struct savearea *, save_vr18)); | |
890 | DECLARE("savevr19", offsetof(struct savearea *, save_vr19)); | |
891 | DECLARE("savevr20", offsetof(struct savearea *, save_vr20)); | |
892 | DECLARE("savevr21", offsetof(struct savearea *, save_vr21)); | |
893 | DECLARE("savevr22", offsetof(struct savearea *, save_vr22)); | |
894 | DECLARE("savevr23", offsetof(struct savearea *, save_vr23)); | |
895 | DECLARE("savevr24", offsetof(struct savearea *, save_vr24)); | |
896 | DECLARE("savevr25", offsetof(struct savearea *, save_vr25)); | |
897 | DECLARE("savevr26", offsetof(struct savearea *, save_vr26)); | |
898 | DECLARE("savevr27", offsetof(struct savearea *, save_vr27)); | |
899 | DECLARE("savevr28", offsetof(struct savearea *, save_vr28)); | |
900 | DECLARE("savevr29", offsetof(struct savearea *, save_vr29)); | |
901 | DECLARE("savevr30", offsetof(struct savearea *, save_vr30)); | |
902 | DECLARE("savevr31", offsetof(struct savearea *, save_vr31)); | |
903 | DECLARE("savevscr", offsetof(struct savearea *, save_vscr)); | |
904 | DECLARE("savevrvalid", offsetof(struct savearea *, save_vrvalid)); | |
905 | ||
906 | /* PseudoKernel Exception Descriptor info */ | |
907 | DECLARE("BEDA_SRR0", offsetof(BEDA_t *, srr0)); | |
908 | DECLARE("BEDA_SRR1", offsetof(BEDA_t *, srr1)); | |
909 | DECLARE("BEDA_SPRG0", offsetof(BEDA_t *, sprg0)); | |
910 | DECLARE("BEDA_SPRG1", offsetof(BEDA_t *, sprg1)); | |
911 | ||
912 | /* PseudoKernel Interrupt Control Word */ | |
913 | DECLARE("BTTD_INTCONTROLWORD", offsetof(BTTD_t *, InterruptControlWord)); | |
914 | ||
915 | /* New state when exiting the pseudokernel */ | |
916 | DECLARE("BTTD_NEWEXITSTATE", offsetof(BTTD_t *, NewExitState)); | |
917 | ||
918 | /* PseudoKernel Test/Post Interrupt */ | |
919 | DECLARE("BTTD_TESTINTMASK", offsetof(BTTD_t *, testIntMask)); | |
920 | DECLARE("BTTD_POSTINTMASK", offsetof(BTTD_t *, postIntMask)); | |
921 | ||
922 | /* PseudoKernel Vectors */ | |
923 | DECLARE("BTTD_TRAP_VECTOR", offsetof(BTTD_t *, TrapVector)); | |
924 | DECLARE("BTTD_SYSCALL_VECTOR", offsetof(BTTD_t *, SysCallVector)); | |
925 | DECLARE("BTTD_INTERRUPT_VECTOR", offsetof(BTTD_t *, InterruptVector)); | |
926 | DECLARE("BTTD_PENDINGINT_VECTOR", offsetof(BTTD_t *, PendingIntVector)); | |
927 | ||
928 | /* PseudoKernel Bits, Masks and misc */ | |
929 | DECLARE("SYSCONTEXTSTATE", kInSystemContext); | |
930 | DECLARE("PSEUDOKERNELSTATE", kInPseudoKernel); | |
931 | DECLARE("INTSTATEMASK_B", 12); | |
932 | DECLARE("INTSTATEMASK_E", 15); | |
933 | DECLARE("INTCR2MASK_B", 8); | |
934 | DECLARE("INTCR2MASK_E", 11); | |
935 | DECLARE("INTBACKUPCR2MASK_B", 28); | |
936 | DECLARE("INTBACKUPCR2MASK_E", 31); | |
937 | DECLARE("INTCR2TOBACKUPSHIFT", kCR2ToBackupShift); | |
938 | DECLARE("BB_MAX_TRAP", bbMaxTrap); | |
939 | DECLARE("BB_RFI_TRAP", bbRFITrap); | |
940 | ||
941 | /* Various hackery */ | |
942 | DECLARE("procState", offsetof(struct processor *, state)); | |
943 | ||
944 | DECLARE("CPU_SUBTYPE_POWERPC_ALL", CPU_SUBTYPE_POWERPC_ALL); | |
945 | DECLARE("CPU_SUBTYPE_POWERPC_601", CPU_SUBTYPE_POWERPC_601); | |
946 | DECLARE("CPU_SUBTYPE_POWERPC_602", CPU_SUBTYPE_POWERPC_602); | |
947 | DECLARE("CPU_SUBTYPE_POWERPC_603", CPU_SUBTYPE_POWERPC_603); | |
948 | DECLARE("CPU_SUBTYPE_POWERPC_603e", CPU_SUBTYPE_POWERPC_603e); | |
949 | DECLARE("CPU_SUBTYPE_POWERPC_603ev", CPU_SUBTYPE_POWERPC_603ev); | |
950 | DECLARE("CPU_SUBTYPE_POWERPC_604", CPU_SUBTYPE_POWERPC_604); | |
951 | DECLARE("CPU_SUBTYPE_POWERPC_604e", CPU_SUBTYPE_POWERPC_604e); | |
952 | DECLARE("CPU_SUBTYPE_POWERPC_620", CPU_SUBTYPE_POWERPC_620); | |
953 | DECLARE("CPU_SUBTYPE_POWERPC_750", CPU_SUBTYPE_POWERPC_750); | |
954 | DECLARE("CPU_SUBTYPE_POWERPC_7400", CPU_SUBTYPE_POWERPC_7400); | |
955 | DECLARE("CPU_SUBTYPE_POWERPC_7450", CPU_SUBTYPE_POWERPC_7450); | |
956 | ||
957 | ||
958 | return(0); /* For ANSI C :-) */ | |
959 | ||
960 | ||
961 | ||
962 | } |