|
|
1.1 root 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 <ppc/exception.h>
50: #include <ppc/thread_act.h>
51: #include <ppc/misc_protos.h>
52: #include <kern/syscall_sw.h>
53: #include <kern/ast.h>
54: #include <ppc/low_trace.h>
55: #include <ppc/PseudoKernel.h>
56: #include <ppc/mappings.h>
57: #include <ppc/Firmware.h>
58: #include <vm/vm_map.h>
59: #include <vm/pmap.h>
60: #include <ppc/pmap.h>
61: #include <ppc/pmap_internals.h>
62: #include <ppc/POWERMAC/mp/MPPlugIn.h>
63: #include <pexpert/ppc/powermac.h>
64:
65: #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE)0)->MEMBER)
66:
67: #define DECLARE(SYM,VAL) \
68: __asm("#DEFINITION##define\t" SYM "\t%0" : : "n" ((u_int)(VAL)))
69:
70: int main(int argc, char *argv[])
71: {
72: /* Process Control Block */
73:
74: DECLARE("PCB_FLOAT_STATE", offsetof(struct pcb *, fs));
75:
76: /* Floating point state */
77:
78: DECLARE("PCB_FS_F0", offsetof(struct pcb *, fs.fpregs[0]));
79: DECLARE("PCB_FS_F1", offsetof(struct pcb *, fs.fpregs[1]));
80: DECLARE("PCB_FS_F2", offsetof(struct pcb *, fs.fpregs[2]));
81: DECLARE("PCB_FS_F3", offsetof(struct pcb *, fs.fpregs[3]));
82: DECLARE("PCB_FS_F4", offsetof(struct pcb *, fs.fpregs[4]));
83: DECLARE("PCB_FS_F5", offsetof(struct pcb *, fs.fpregs[5]));
84: DECLARE("PCB_FS_F6", offsetof(struct pcb *, fs.fpregs[6]));
85: DECLARE("PCB_FS_F7", offsetof(struct pcb *, fs.fpregs[7]));
86: DECLARE("PCB_FS_F8", offsetof(struct pcb *, fs.fpregs[8]));
87: DECLARE("PCB_FS_F9", offsetof(struct pcb *, fs.fpregs[9]));
88: DECLARE("PCB_FS_F10", offsetof(struct pcb *, fs.fpregs[10]));
89: DECLARE("PCB_FS_F11", offsetof(struct pcb *, fs.fpregs[11]));
90: DECLARE("PCB_FS_F12", offsetof(struct pcb *, fs.fpregs[12]));
91: DECLARE("PCB_FS_F13", offsetof(struct pcb *, fs.fpregs[13]));
92: DECLARE("PCB_FS_F14", offsetof(struct pcb *, fs.fpregs[14]));
93: DECLARE("PCB_FS_F15", offsetof(struct pcb *, fs.fpregs[15]));
94: DECLARE("PCB_FS_F16", offsetof(struct pcb *, fs.fpregs[16]));
95: DECLARE("PCB_FS_F17", offsetof(struct pcb *, fs.fpregs[17]));
96: DECLARE("PCB_FS_F18", offsetof(struct pcb *, fs.fpregs[18]));
97: DECLARE("PCB_FS_F19", offsetof(struct pcb *, fs.fpregs[19]));
98: DECLARE("PCB_FS_F20", offsetof(struct pcb *, fs.fpregs[20]));
99: DECLARE("PCB_FS_F21", offsetof(struct pcb *, fs.fpregs[21]));
100: DECLARE("PCB_FS_F22", offsetof(struct pcb *, fs.fpregs[22]));
101: DECLARE("PCB_FS_F23", offsetof(struct pcb *, fs.fpregs[23]));
102: DECLARE("PCB_FS_F24", offsetof(struct pcb *, fs.fpregs[24]));
103: DECLARE("PCB_FS_F25", offsetof(struct pcb *, fs.fpregs[25]));
104: DECLARE("PCB_FS_F26", offsetof(struct pcb *, fs.fpregs[26]));
105: DECLARE("PCB_FS_F27", offsetof(struct pcb *, fs.fpregs[27]));
106: DECLARE("PCB_FS_F28", offsetof(struct pcb *, fs.fpregs[28]));
107: DECLARE("PCB_FS_F29", offsetof(struct pcb *, fs.fpregs[29]));
108: DECLARE("PCB_FS_F30", offsetof(struct pcb *, fs.fpregs[30]));
109: DECLARE("PCB_FS_F31", offsetof(struct pcb *, fs.fpregs[31]));
110: DECLARE("PCB_FS_FPSCR", offsetof(struct pcb *, fs.fpscr_pad));
111:
112: DECLARE("PCB_SAVED_STATE",offsetof(struct pcb *, ss));
113: DECLARE("ACT_MACT_KSP", offsetof(struct thread_activation *, mact.ksp));
114: DECLARE("ACT_MACT_BDA", offsetof(struct thread_activation *, mact.bbDescAddr));
115: DECLARE("ACT_MACT_BTS", offsetof(struct thread_activation *, mact.bbTableStart));
116: DECLARE("ACT_MACT_SPF", offsetof(struct thread_activation *, mact.specFlags));
117: DECLARE("floatUsed", floatUsed);
118: DECLARE("vectorUsed", vectorUsed);
119:
120: DECLARE("PCB_SIZE", sizeof(struct pcb));
121:
122: /* Save State Structure */
123: DECLARE("SS_R0", offsetof(struct ppc_saved_state *, r0));
124: DECLARE("SS_R1", offsetof(struct ppc_saved_state *, r1));
125: DECLARE("SS_R2", offsetof(struct ppc_saved_state *, r2));
126: DECLARE("SS_R3", offsetof(struct ppc_saved_state *, r3));
127: DECLARE("SS_R4", offsetof(struct ppc_saved_state *, r4));
128: DECLARE("SS_R5", offsetof(struct ppc_saved_state *, r5));
129: DECLARE("SS_R6", offsetof(struct ppc_saved_state *, r6));
130: DECLARE("SS_R7", offsetof(struct ppc_saved_state *, r7));
131: DECLARE("SS_R8", offsetof(struct ppc_saved_state *, r8));
132: DECLARE("SS_R9", offsetof(struct ppc_saved_state *, r9));
133: DECLARE("SS_R10", offsetof(struct ppc_saved_state *, r10));
134: DECLARE("SS_R11", offsetof(struct ppc_saved_state *, r11));
135: DECLARE("SS_R12", offsetof(struct ppc_saved_state *, r12));
136: DECLARE("SS_R13", offsetof(struct ppc_saved_state *, r13));
137: DECLARE("SS_R14", offsetof(struct ppc_saved_state *, r14));
138: DECLARE("SS_R15", offsetof(struct ppc_saved_state *, r15));
139: DECLARE("SS_R16", offsetof(struct ppc_saved_state *, r16));
140: DECLARE("SS_R17", offsetof(struct ppc_saved_state *, r17));
141: DECLARE("SS_R18", offsetof(struct ppc_saved_state *, r18));
142: DECLARE("SS_R19", offsetof(struct ppc_saved_state *, r19));
143: DECLARE("SS_R20", offsetof(struct ppc_saved_state *, r20));
144: DECLARE("SS_R21", offsetof(struct ppc_saved_state *, r21));
145: DECLARE("SS_R22", offsetof(struct ppc_saved_state *, r22));
146: DECLARE("SS_R23", offsetof(struct ppc_saved_state *, r23));
147: DECLARE("SS_R24", offsetof(struct ppc_saved_state *, r24));
148: DECLARE("SS_R25", offsetof(struct ppc_saved_state *, r25));
149: DECLARE("SS_R26", offsetof(struct ppc_saved_state *, r26));
150: DECLARE("SS_R27", offsetof(struct ppc_saved_state *, r27));
151: DECLARE("SS_R28", offsetof(struct ppc_saved_state *, r28));
152: DECLARE("SS_R29", offsetof(struct ppc_saved_state *, r29));
153: DECLARE("SS_R30", offsetof(struct ppc_saved_state *, r30));
154: DECLARE("SS_R31", offsetof(struct ppc_saved_state *, r31));
155: DECLARE("SS_CR", offsetof(struct ppc_saved_state *, cr));
156: DECLARE("SS_XER", offsetof(struct ppc_saved_state *, xer));
157: DECLARE("SS_LR", offsetof(struct ppc_saved_state *, lr));
158: DECLARE("SS_CTR", offsetof(struct ppc_saved_state *, ctr));
159: DECLARE("SS_SRR0", offsetof(struct ppc_saved_state *, srr0));
160: DECLARE("SS_SRR1", offsetof(struct ppc_saved_state *, srr1));
161: DECLARE("SS_MQ", offsetof(struct ppc_saved_state *, mq));
162: DECLARE("SS_SR_COPYIN", offsetof(struct ppc_saved_state *, sr_copyin));
163: DECLARE("SS_SIZE", sizeof(struct ppc_saved_state));
164:
165: /* Per Proc info structure */
166: DECLARE("PP_CPU_NUMBER", offsetof(struct per_proc_info *, cpu_number));
167: DECLARE("PP_CPU_FLAGS", offsetof(struct per_proc_info *, cpu_flags));
168: DECLARE("PP_ISTACKPTR", offsetof(struct per_proc_info *, istackptr));
169: DECLARE("PP_INTSTACK_TOP_SS", offsetof(struct per_proc_info *, intstack_top_ss));
170: #if MACH_KDP || MACH_KDB
171: DECLARE("PP_DEBSTACKPTR", offsetof(struct per_proc_info *, debstackptr));
172: DECLARE("PP_DEBSTACK_TOP_SS", offsetof(struct per_proc_info *, debstack_top_ss));
173: #endif
174: DECLARE("PP_TEMPWORK1", offsetof(struct per_proc_info *, tempwork1));
175: DECLARE("PP_CPUFLAGS", offsetof(struct per_proc_info *, CPUflags));
176: DECLARE("PP_USERSPACE", offsetof(struct per_proc_info *, userspace));
177: DECLARE("PP_LASTSPACE", offsetof(struct per_proc_info *, LastSpace));
178:
179: DECLARE("PP_SAVE_EXCEPTION_TYPE", offsetof(struct per_proc_info *, save_exception_type));
180: DECLARE("PP_PHYS_EXCEPTION_HANDLERS", offsetof(struct per_proc_info *, phys_exception_handlers));
181: DECLARE("PP_VIRT_PER_PROC", offsetof(struct per_proc_info *, virt_per_proc_info));
182: DECLARE("PP_CPU_DATA", offsetof(struct per_proc_info *, cpu_data));
183: DECLARE("PP_ACTIVE_KLOADED", offsetof(struct per_proc_info *, active_kloaded));
184: DECLARE("PP_ACTIVE_STACKS", offsetof(struct per_proc_info *, active_stacks));
185: DECLARE("PP_NEED_AST", offsetof(struct per_proc_info *, need_ast));
186: DECLARE("PP_FPU_THREAD", offsetof(struct per_proc_info *, FPU_thread));
187: DECLARE("PP_VMX_THREAD", offsetof(struct per_proc_info *, VMX_thread));
188: DECLARE("PP_QUICKFRET", offsetof(struct per_proc_info *, quickfret));
189: DECLARE("PP_BBDESC", offsetof(struct per_proc_info *, BlueBoxDesc));
190: DECLARE("UAW", offsetof(struct per_proc_info *, Uassist));
191: DECLARE("liveVRS", offsetof(struct per_proc_info *, liveVRSave));
192: DECLARE("spcFlags", offsetof(struct per_proc_info *, spcFlags));
193:
194: DECLARE("emfp0", offsetof(struct per_proc_info *, emfp0));
195: DECLARE("emfp1", offsetof(struct per_proc_info *, emfp1));
196: DECLARE("emfp2", offsetof(struct per_proc_info *, emfp2));
197: DECLARE("emfp3", offsetof(struct per_proc_info *, emfp3));
198: DECLARE("emfp4", offsetof(struct per_proc_info *, emfp4));
199: DECLARE("emfp5", offsetof(struct per_proc_info *, emfp5));
200: DECLARE("emfp6", offsetof(struct per_proc_info *, emfp6));
201: DECLARE("emfp7", offsetof(struct per_proc_info *, emfp7));
202: DECLARE("emfp8", offsetof(struct per_proc_info *, emfp8));
203: DECLARE("emfp9", offsetof(struct per_proc_info *, emfp9));
204: DECLARE("emfp10", offsetof(struct per_proc_info *, emfp10));
205: DECLARE("emfp11", offsetof(struct per_proc_info *, emfp11));
206: DECLARE("emfp12", offsetof(struct per_proc_info *, emfp12));
207: DECLARE("emfp13", offsetof(struct per_proc_info *, emfp13));
208: DECLARE("emfp14", offsetof(struct per_proc_info *, emfp14));
209: DECLARE("emfp15", offsetof(struct per_proc_info *, emfp15));
210: DECLARE("emfp16", offsetof(struct per_proc_info *, emfp16));
211: DECLARE("emfp17", offsetof(struct per_proc_info *, emfp17));
212: DECLARE("emfp18", offsetof(struct per_proc_info *, emfp18));
213: DECLARE("emfp19", offsetof(struct per_proc_info *, emfp19));
214: DECLARE("emfp20", offsetof(struct per_proc_info *, emfp20));
215: DECLARE("emfp21", offsetof(struct per_proc_info *, emfp21));
216: DECLARE("emfp22", offsetof(struct per_proc_info *, emfp22));
217: DECLARE("emfp23", offsetof(struct per_proc_info *, emfp23));
218: DECLARE("emfp24", offsetof(struct per_proc_info *, emfp24));
219: DECLARE("emfp25", offsetof(struct per_proc_info *, emfp25));
220: DECLARE("emfp26", offsetof(struct per_proc_info *, emfp26));
221: DECLARE("emfp27", offsetof(struct per_proc_info *, emfp27));
222: DECLARE("emfp28", offsetof(struct per_proc_info *, emfp28));
223: DECLARE("emfp29", offsetof(struct per_proc_info *, emfp29));
224: DECLARE("emfp30", offsetof(struct per_proc_info *, emfp30));
225: DECLARE("emfp31", offsetof(struct per_proc_info *, emfp31));
226: DECLARE("emfpscr_pad", offsetof(struct per_proc_info *, emfpscr_pad));
227: DECLARE("emfpscr", offsetof(struct per_proc_info *, emfpscr));
228:
229: DECLARE("emvr0", offsetof(struct per_proc_info *, emvr0));
230: DECLARE("emvr1", offsetof(struct per_proc_info *, emvr1));
231: DECLARE("emvr2", offsetof(struct per_proc_info *, emvr2));
232: DECLARE("emvr3", offsetof(struct per_proc_info *, emvr3));
233: DECLARE("emvr4", offsetof(struct per_proc_info *, emvr4));
234: DECLARE("emvr5", offsetof(struct per_proc_info *, emvr5));
235: DECLARE("emvr6", offsetof(struct per_proc_info *, emvr6));
236: DECLARE("emvr7", offsetof(struct per_proc_info *, emvr7));
237: DECLARE("emvr8", offsetof(struct per_proc_info *, emvr8));
238: DECLARE("emvr9", offsetof(struct per_proc_info *, emvr9));
239: DECLARE("emvr10", offsetof(struct per_proc_info *, emvr10));
240: DECLARE("emvr11", offsetof(struct per_proc_info *, emvr11));
241: DECLARE("emvr12", offsetof(struct per_proc_info *, emvr12));
242: DECLARE("emvr13", offsetof(struct per_proc_info *, emvr13));
243: DECLARE("emvr14", offsetof(struct per_proc_info *, emvr14));
244: DECLARE("emvr15", offsetof(struct per_proc_info *, emvr15));
245: DECLARE("emvr16", offsetof(struct per_proc_info *, emvr16));
246: DECLARE("emvr17", offsetof(struct per_proc_info *, emvr17));
247: DECLARE("emvr18", offsetof(struct per_proc_info *, emvr18));
248: DECLARE("emvr19", offsetof(struct per_proc_info *, emvr19));
249: DECLARE("emvr20", offsetof(struct per_proc_info *, emvr20));
250: DECLARE("emvr21", offsetof(struct per_proc_info *, emvr21));
251: DECLARE("emvr22", offsetof(struct per_proc_info *, emvr22));
252: DECLARE("emvr23", offsetof(struct per_proc_info *, emvr23));
253: DECLARE("emvr24", offsetof(struct per_proc_info *, emvr24));
254: DECLARE("emvr25", offsetof(struct per_proc_info *, emvr25));
255: DECLARE("emvr26", offsetof(struct per_proc_info *, emvr26));
256: DECLARE("emvr27", offsetof(struct per_proc_info *, emvr27));
257: DECLARE("emvr28", offsetof(struct per_proc_info *, emvr28));
258: DECLARE("emvr29", offsetof(struct per_proc_info *, emvr29));
259: DECLARE("emvr30", offsetof(struct per_proc_info *, emvr30));
260: DECLARE("emvr31", offsetof(struct per_proc_info *, emvr31));
261: DECLARE("empadvr", offsetof(struct per_proc_info *, empadvr));
262:
263: DECLARE("RESETHANDLER_TYPE", offsetof(struct resethandler *, type));
264: DECLARE("RESETHANDLER_CALL", offsetof(struct resethandler *, call_paddr));
265: DECLARE("RESETHANDLER_ARG", offsetof(struct resethandler *, arg__paddr));
266:
267: /* we want offset from
268: * bottom of kernel stack, not offset into structure
269: */
270: #define IKSBASE (u_int)STACK_IKS(0)
271:
272: /* values from kern/thread.h */
273: DECLARE("THREAD_TOP_ACT",
274: offsetof(struct thread_shuttle *, top_act));
275: DECLARE("THREAD_KERNEL_STACK",
276: offsetof(struct thread_shuttle *, kernel_stack));
277: DECLARE("THREAD_CONTINUATION",
278: offsetof(struct thread_shuttle *, continuation));
279: DECLARE("THREAD_RECOVER",
280: offsetof(struct thread_shuttle *, recover));
281: #if MACH_LDEBUG
282: DECLARE("THREAD_MUTEX_COUNT",
283: offsetof(struct thread_shuttle *, mutex_count));
284: #endif /* MACH_LDEBUG */
285: DECLARE("THREAD_PSET", offsetof(struct thread_shuttle *, processor_set));
286: DECLARE("THREAD_LINKS", offsetof(struct thread_shuttle *, links));
287: DECLARE("THREAD_PSTHRN", offsetof(struct thread_shuttle *, pset_threads.next));
288:
289: /* values from kern/thread_act.h */
290: DECLARE("ACT_TASK", offsetof(struct thread_activation *, task));
291: DECLARE("ACT_LOWER", offsetof(struct thread_activation *, lower));
292: DECLARE("ACT_MACT_PCB",offsetof(struct thread_activation *, mact.pcb));
293: DECLARE("ACT_MACT_FPU",offsetof(struct thread_activation *, mact.FPU_pcb));
294: DECLARE("ACT_MACT_FPUlvl",offsetof(struct thread_activation *, mact.FPU_lvl));
295: DECLARE("ACT_MACT_FPUcpu",offsetof(struct thread_activation *, mact.FPU_cpu));
296: DECLARE("ACT_MACT_VMX",offsetof(struct thread_activation *, mact.VMX_pcb));
297: DECLARE("ACT_MACT_VMXlvl",offsetof(struct thread_activation *, mact.VMX_lvl));
298: DECLARE("ACT_MACT_VMXcpu",offsetof(struct thread_activation *, mact.VMX_cpu));
299: DECLARE("ACT_AST", offsetof(struct thread_activation *, ast));
300: DECLARE("ACT_VMMAP", offsetof(struct thread_activation *, map));
301: DECLARE("ACT_KLOADED",
302: offsetof(struct thread_activation *, kernel_loaded));
303: DECLARE("ACT_KLOADING",
304: offsetof(struct thread_activation *, kernel_loading));
305: DECLARE("ACT_MACH_EXC_PORT",
306: offsetof(struct thread_activation *,
307: exc_actions[EXC_MACH_SYSCALL].port));
308: #ifdef MACH_BSD
309: DECLARE("CTHREAD_SELF", offsetof(struct thread_activation *, mact.cthread_self));
310: #endif
311:
312: /* values from kern/task.h */
313: DECLARE("TASK_MACH_EXC_PORT",
314: offsetof(struct task *, exc_actions[EXC_MACH_SYSCALL].port));
315: DECLARE("TASK_SYSCALLS_MACH",
316: offsetof(struct task *, syscalls_mach));
317:
318: /* values from vm/vm_map.h */
319: DECLARE("VMMAP_PMAP", offsetof(struct vm_map *, pmap));
320:
321: /* values from machine/pmap.h */
322: DECLARE("PMAP_SPACE", offsetof(struct pmap *, space));
323:
324: /* Constants from pmap.h */
325: DECLARE("PPC_SID_KERNEL", PPC_SID_KERNEL);
326:
327: /* values for accessing mach_trap table */
328: DECLARE("MACH_TRAP_OFFSET_POW2", 4);
329:
330: DECLARE("MACH_TRAP_ARGC",
331: offsetof(mach_trap_t *, mach_trap_arg_count));
332: DECLARE("MACH_TRAP_FUNCTION",
333: offsetof(mach_trap_t *, mach_trap_function));
334:
335: DECLARE("HOST_SELF", offsetof(host_t, host_self));
336:
337: /* values from cpu_data.h */
338: DECLARE("CPU_ACTIVE_THREAD", offsetof(cpu_data_t *, active_thread));
339: DECLARE("CPU_PREEMPTION_LEVEL", offsetof(cpu_data_t *, preemption_level));
340: DECLARE("CPU_SIMPLE_LOCK_COUNT",
341: offsetof(cpu_data_t *, simple_lock_count));
342: DECLARE("CPU_INTERRUPT_LEVEL",offsetof(cpu_data_t *, interrupt_level));
343:
344: /* Misc values used by assembler */
345: DECLARE("AST_ALL", AST_ALL);
346: DECLARE("AST_URGENT", AST_URGENT);
347:
348: /* Simple Lock structure */
349: DECLARE("SLOCK_ILK", offsetof(simple_lock_t, interlock));
350: #if MACH_LDEBUG
351: DECLARE("SLOCK_TYPE", offsetof(simple_lock_t, lock_type));
352: DECLARE("SLOCK_PC", offsetof(simple_lock_t, debug.lock_pc));
353: DECLARE("SLOCK_THREAD", offsetof(simple_lock_t, debug.lock_thread));
354: DECLARE("SLOCK_DURATIONH",offsetof(simple_lock_t, debug.duration[0]));
355: DECLARE("SLOCK_DURATIONL",offsetof(simple_lock_t, debug.duration[1]));
356: DECLARE("USLOCK_TAG", USLOCK_TAG);
357: #endif /* MACH_LDEBUG */
358:
359: /* Mutex structure */
360: DECLARE("MUTEX_ILK", offsetof(mutex_t *, interlock));
361: DECLARE("MUTEX_LOCKED", offsetof(mutex_t *, locked));
362: DECLARE("MUTEX_WAITERS",offsetof(mutex_t *, waiters));
363: #if MACH_LDEBUG
364: DECLARE("MUTEX_TYPE", offsetof(mutex_t *, type));
365: DECLARE("MUTEX_PC", offsetof(mutex_t *, pc));
366: DECLARE("MUTEX_THREAD", offsetof(mutex_t *, thread));
367: DECLARE("MUTEX_TAG", MUTEX_TAG);
368: #endif /* MACH_LDEBUG */
369:
370: #if NCPUS > 1
371: /* values from mp/PlugIn.h */
372:
373: DECLARE("MPSversionID", offsetof(struct MPPlugInSpec *, versionID));
374: DECLARE("MPSareaAddr", offsetof(struct MPPlugInSpec *, areaAddr));
375: DECLARE("MPSareaSize", offsetof(struct MPPlugInSpec *, areaSize));
376: DECLARE("MPSoffsetTableAddr", offsetof(struct MPPlugInSpec *, offsetTableAddr));
377: DECLARE("MPSbaseAddr", offsetof(struct MPPlugInSpec *, baseAddr));
378: DECLARE("MPSdataArea", offsetof(struct MPPlugInSpec *, dataArea));
379: DECLARE("MPSCPUArea", offsetof(struct MPPlugInSpec *, CPUArea));
380: DECLARE("MPSSIGPhandler", offsetof(struct MPPlugInSpec *, SIGPhandler));
381:
382: DECLARE("CSAstate", offsetof(struct CPUStatusArea *, state));
383: DECLARE("CSAregsAreValid", offsetof(struct CPUStatusArea *,
384: regsAreValid));
385: DECLARE("CSAgpr", offsetof(struct CPUStatusArea *, gpr));
386: DECLARE("CSAfpr", offsetof(struct CPUStatusArea *, fpr));
387: DECLARE("CSAcr", offsetof(struct CPUStatusArea *, cr));
388: DECLARE("CSAfpscr", offsetof(struct CPUStatusArea *, fpscr));
389: DECLARE("CSAxer", offsetof(struct CPUStatusArea *, xer));
390: DECLARE("CSAlr", offsetof(struct CPUStatusArea *, lr));
391: DECLARE("CSActr", offsetof(struct CPUStatusArea *, ctr));
392: DECLARE("CSAtbu", offsetof(struct CPUStatusArea *, tbu));
393: DECLARE("CSAtbl", offsetof(struct CPUStatusArea *, tbl));
394: DECLARE("CSApvr", offsetof(struct CPUStatusArea *, pvr));
395: DECLARE("CSAibat", offsetof(struct CPUStatusArea *, ibat));
396: DECLARE("CSAdbat", offsetof(struct CPUStatusArea *, dbat));
397: DECLARE("CSAsdr1", offsetof(struct CPUStatusArea *, sdr1));
398: DECLARE("CSAsr", offsetof(struct CPUStatusArea *, sr));
399: DECLARE("CSAdar", offsetof(struct CPUStatusArea *, dar));
400: DECLARE("CSAdsisr", offsetof(struct CPUStatusArea *, dsisr));
401: DECLARE("CSAsprg", offsetof(struct CPUStatusArea *, sprg));
402: DECLARE("CSAsrr0", offsetof(struct CPUStatusArea *, srr0));
403: DECLARE("CSAsrr1", offsetof(struct CPUStatusArea *, srr1));
404: DECLARE("CSAdec", offsetof(struct CPUStatusArea *, dec));
405: DECLARE("CSAdabr", offsetof(struct CPUStatusArea *, dabr));
406: DECLARE("CSAiabr", offsetof(struct CPUStatusArea *, iabr));
407: DECLARE("CSAear", offsetof(struct CPUStatusArea *, ear));
408: DECLARE("CSAhid", offsetof(struct CPUStatusArea *, hid));
409: DECLARE("CSAmmcr", offsetof(struct CPUStatusArea *, mmcr));
410: DECLARE("CSApmc", offsetof(struct CPUStatusArea *, pmc));
411: DECLARE("CSApir", offsetof(struct CPUStatusArea *, pir));
412: DECLARE("CSAsda", offsetof(struct CPUStatusArea *, sda));
413: DECLARE("CSAsia", offsetof(struct CPUStatusArea *, sia));
414: DECLARE("CSAmq", offsetof(struct CPUStatusArea *, mq));
415: DECLARE("CSAmsr", offsetof(struct CPUStatusArea *, msr));
416: DECLARE("CSApc", offsetof(struct CPUStatusArea *, pc));
417: DECLARE("CSAsysregs", offsetof(struct CPUStatusArea *, sysregs));
418: DECLARE("CSAsize", sizeof(struct CPUStatusArea));
419:
420:
421: DECLARE("MPPICStat", offsetof(struct MPPInterface *, MPPICStat));
422: DECLARE("MPPICParm0", offsetof(struct MPPInterface *, MPPICParm0));
423: DECLARE("MPPICParm1", offsetof(struct MPPInterface *, MPPICParm1));
424: DECLARE("MPPICParm2", offsetof(struct MPPInterface *, MPPICParm2));
425: DECLARE("MPPICspare0", offsetof(struct MPPInterface *, MPPICspare0));
426: DECLARE("MPPICspare1", offsetof(struct MPPInterface *, MPPICspare1));
427: DECLARE("MPPICParm0BU", offsetof(struct MPPInterface *, MPPICParm0BU));
428: DECLARE("MPPICPriv", offsetof(struct MPPInterface *, MPPICPriv));
429:
430:
431:
432: #endif /* NCPUS > 1 */
433:
434: /* values from low_trace.h */
435: DECLARE("LTR_cpu", offsetof(struct LowTraceRecord *, LTR_cpu));
436: DECLARE("LTR_excpt", offsetof(struct LowTraceRecord *, LTR_excpt));
437: DECLARE("LTR_timeHi", offsetof(struct LowTraceRecord *, LTR_timeHi));
438: DECLARE("LTR_timeLo", offsetof(struct LowTraceRecord *, LTR_timeLo));
439: DECLARE("LTR_cr", offsetof(struct LowTraceRecord *, LTR_cr));
440: DECLARE("LTR_srr0", offsetof(struct LowTraceRecord *, LTR_srr0));
441: DECLARE("LTR_srr1", offsetof(struct LowTraceRecord *, LTR_srr1));
442: DECLARE("LTR_dar", offsetof(struct LowTraceRecord *, LTR_dar));
443: DECLARE("LTR_save", offsetof(struct LowTraceRecord *, LTR_save));
444: DECLARE("LTR_lr", offsetof(struct LowTraceRecord *, LTR_lr));
445: DECLARE("LTR_ctr", offsetof(struct LowTraceRecord *, LTR_ctr));
446: DECLARE("LTR_r0", offsetof(struct LowTraceRecord *, LTR_r0));
447: DECLARE("LTR_r1", offsetof(struct LowTraceRecord *, LTR_r1));
448: DECLARE("LTR_r2", offsetof(struct LowTraceRecord *, LTR_r2));
449: DECLARE("LTR_r3", offsetof(struct LowTraceRecord *, LTR_r3));
450: DECLARE("LTR_r4", offsetof(struct LowTraceRecord *, LTR_r4));
451: DECLARE("LTR_r5", offsetof(struct LowTraceRecord *, LTR_r5));
452: DECLARE("LTR_size", sizeof(struct LowTraceRecord));
453:
454: /* Values from powermac.h */
455: DECLARE("PMIbusrate", offsetof(struct powermac_info *, bus_clock_rate_hz));
456: DECLARE("PMIclknum", offsetof(struct powermac_info *, proc_clock_to_nsec_numerator));
457: DECLARE("PMIclkden", offsetof(struct powermac_info *, proc_clock_to_nsec_denominator));
458: DECLARE("PMIiocoherent", offsetof(struct powermac_info *, io_coherent));
459:
460: /* Values from pmap_internals.h and mappings.h */
461: DECLARE("mmnext", offsetof(struct mapping *, next));
462: DECLARE("mmhashnext", offsetof(struct mapping *, hashnext));
463: DECLARE("mmPTEhash", offsetof(struct mapping *, PTEhash));
464: DECLARE("mmPTEent", offsetof(struct mapping *, PTEent));
465: DECLARE("mmPTEv", offsetof(struct mapping *, PTEv));
466: DECLARE("mmPTEr", offsetof(struct mapping *, PTEr));
467: DECLARE("mmphysent", offsetof(struct mapping *, physent));
468: DECLARE("mmpmap", offsetof(struct mapping *, pmap));
469:
470: DECLARE("mbvrswap", offsetof(struct mappingblok *, mapblokvrswap));
471: DECLARE("mbfree", offsetof(struct mappingblok *, mapblokfree));
472: DECLARE("mapcsize", sizeof(struct mappingblok));
473:
474: DECLARE("pephyslink", offsetof(struct phys_entry *, phys_link));
475: DECLARE("pepte1", offsetof(struct phys_entry *, pte1));
476:
477: DECLARE("PCAlock", offsetof(struct PCA *, PCAlock));
478: DECLARE("PCAallo", offsetof(struct PCA *, flgs.PCAallo));
479: DECLARE("PCAfree", offsetof(struct PCA *, flgs.PCAalflgs.PCAfree));
480: DECLARE("PCAauto", offsetof(struct PCA *, flgs.PCAalflgs.PCAauto));
481: DECLARE("PCAslck", offsetof(struct PCA *, flgs.PCAalflgs.PCAslck));
482: DECLARE("PCAsteal", offsetof(struct PCA *, flgs.PCAalflgs.PCAsteal));
483: DECLARE("PCAgas", offsetof(struct PCA *, PCAgas));
484: DECLARE("PCAhash", offsetof(struct PCA *, PCAhash));
485:
486: DECLARE("AGNstart", offsetof(struct autogenblok *, AGNstart));
487: DECLARE("AGNsize", offsetof(struct autogenblok *, AGNsize));
488: DECLARE("AGNnext", offsetof(struct autogenblok *, AGNnext));
489: DECLARE("AGNpteX", offsetof(struct autogenblok *, AGNpteX));
490:
491:
492: DECLARE("SVlock", offsetof(struct Saveanchor *, savelock));
493: DECLARE("SVcount", offsetof(struct Saveanchor *, savecount));
494: DECLARE("SVinuse", offsetof(struct Saveanchor *, saveinuse));
495: DECLARE("SVmin", offsetof(struct Saveanchor *, savemin));
496: DECLARE("SVneghyst", offsetof(struct Saveanchor *, saveneghyst));
497: DECLARE("SVtarget", offsetof(struct Saveanchor *, savetarget));
498: DECLARE("SVposhyst", offsetof(struct Saveanchor *, saveposhyst));
499: DECLARE("SVfree", offsetof(struct Saveanchor *, savefree));
500: DECLARE("SVsize", sizeof(struct Saveanchor));
501:
502: #if 1
503: DECLARE("GDsave", offsetof(struct GDWorkArea *, GDsave));
504: DECLARE("GDfp0", offsetof(struct GDWorkArea *, GDfp0));
505: DECLARE("GDfp1", offsetof(struct GDWorkArea *, GDfp1));
506: DECLARE("GDfp2", offsetof(struct GDWorkArea *, GDfp2));
507: DECLARE("GDfp3", offsetof(struct GDWorkArea *, GDfp3));
508: DECLARE("GDtop", offsetof(struct GDWorkArea *, GDtop));
509: DECLARE("GDleft", offsetof(struct GDWorkArea *, GDleft));
510: DECLARE("GDtopleft", offsetof(struct GDWorkArea *, GDtopleft));
511: DECLARE("GDrowbytes", offsetof(struct GDWorkArea *, GDrowbytes));
512: DECLARE("GDrowchar", offsetof(struct GDWorkArea *, GDrowchar));
513: DECLARE("GDdepth", offsetof(struct GDWorkArea *, GDdepth));
514: DECLARE("GDcollgn", offsetof(struct GDWorkArea *, GDcollgn));
515: DECLARE("GDready", offsetof(struct GDWorkArea *, GDready));
516: DECLARE("GDrowbuf1", offsetof(struct GDWorkArea *, GDrowbuf1));
517: DECLARE("GDrowbuf2", offsetof(struct GDWorkArea *, GDrowbuf2));
518: #endif
519:
520: DECLARE("SACsize", sizeof(struct savectl));
521: DECLARE("SACspot", 4096-sizeof(struct savectl));
522: DECLARE("SACnext", offsetof(struct savectl *, sac_next)+4096-sizeof(struct savectl));
523: DECLARE("SACvrswap", offsetof(struct savectl *, sac_vrswap)+4096-sizeof(struct savectl));
524: DECLARE("SACalloc", offsetof(struct savectl *, sac_alloc)+4096-sizeof(struct savectl));
525: DECLARE("SACflags", offsetof(struct savectl *, sac_flags)+4096-sizeof(struct savectl));
526:
527: DECLARE("SAVprev", offsetof(struct savearea *, save_prev));
528: DECLARE("SAVprefp", offsetof(struct savearea *, save_prev_float));
529: DECLARE("SAVprevec", offsetof(struct savearea *, save_prev_vector));
530: DECLARE("SAVphys", offsetof(struct savearea *, save_phys));
531: DECLARE("SAVqfret", offsetof(struct savearea *, save_qfret));
532: DECLARE("SAVact", offsetof(struct savearea *, save_act));
533: DECLARE("SAVflags", offsetof(struct savearea *, save_flags));
534: DECLARE("SAVlvlfp", offsetof(struct savearea *, save_level_fp));
535: DECLARE("SAVlvlvec", offsetof(struct savearea *, save_level_vec));
536: DECLARE("SAVsize", sizeof(struct savearea));
537:
538: DECLARE("savesrr0", offsetof(struct savearea *, save_srr0));
539: DECLARE("savesrr1", offsetof(struct savearea *, save_srr1));
540: DECLARE("savecr", offsetof(struct savearea *, save_cr));
541: DECLARE("savexer", offsetof(struct savearea *, save_xer));
542: DECLARE("savelr", offsetof(struct savearea *, save_lr));
543: DECLARE("savectr", offsetof(struct savearea *, save_ctr));
544: DECLARE("savemq", offsetof(struct savearea *, save_mq));
545: DECLARE("savecopyin", offsetof(struct savearea *, save_sr_copyin));
546: DECLARE("savedar", offsetof(struct savearea *, save_dar));
547: DECLARE("savedsisr", offsetof(struct savearea *, save_dsisr));
548: DECLARE("saveexception", offsetof(struct savearea *, save_exception));
549: DECLARE("savevrsave", offsetof(struct savearea *, save_vrsave));
550:
551: DECLARE("saver0", offsetof(struct savearea *, save_r0));
552: DECLARE("saver1", offsetof(struct savearea *, save_r1));
553: DECLARE("saver2", offsetof(struct savearea *, save_r2));
554: DECLARE("saver3", offsetof(struct savearea *, save_r3));
555: DECLARE("saver4", offsetof(struct savearea *, save_r4));
556: DECLARE("saver5", offsetof(struct savearea *, save_r5));
557: DECLARE("saver6", offsetof(struct savearea *, save_r6));
558: DECLARE("saver7", offsetof(struct savearea *, save_r7));
559: DECLARE("saver8", offsetof(struct savearea *, save_r8));
560: DECLARE("saver9", offsetof(struct savearea *, save_r9));
561: DECLARE("saver10", offsetof(struct savearea *, save_r10));
562: DECLARE("saver11", offsetof(struct savearea *, save_r11));
563: DECLARE("saver12", offsetof(struct savearea *, save_r12));
564: DECLARE("saver13", offsetof(struct savearea *, save_r13));
565: DECLARE("saver14", offsetof(struct savearea *, save_r14));
566: DECLARE("saver15", offsetof(struct savearea *, save_r15));
567: DECLARE("saver16", offsetof(struct savearea *, save_r16));
568: DECLARE("saver17", offsetof(struct savearea *, save_r17));
569: DECLARE("saver18", offsetof(struct savearea *, save_r18));
570: DECLARE("saver19", offsetof(struct savearea *, save_r19));
571: DECLARE("saver20", offsetof(struct savearea *, save_r20));
572: DECLARE("saver21", offsetof(struct savearea *, save_r21));
573: DECLARE("saver22", offsetof(struct savearea *, save_r22));
574: DECLARE("saver23", offsetof(struct savearea *, save_r23));
575: DECLARE("saver24", offsetof(struct savearea *, save_r24));
576: DECLARE("saver25", offsetof(struct savearea *, save_r25));
577: DECLARE("saver26", offsetof(struct savearea *, save_r26));
578: DECLARE("saver27", offsetof(struct savearea *, save_r27));
579: DECLARE("saver28", offsetof(struct savearea *, save_r28));
580: DECLARE("saver29", offsetof(struct savearea *, save_r29));
581: DECLARE("saver30", offsetof(struct savearea *, save_r30));
582: DECLARE("saver31", offsetof(struct savearea *, save_r31));
583:
584: DECLARE("savefp0", offsetof(struct savearea *, save_fp0));
585: DECLARE("savefp1", offsetof(struct savearea *, save_fp1));
586: DECLARE("savefp2", offsetof(struct savearea *, save_fp2));
587: DECLARE("savefp3", offsetof(struct savearea *, save_fp3));
588: DECLARE("savefp4", offsetof(struct savearea *, save_fp4));
589: DECLARE("savefp5", offsetof(struct savearea *, save_fp5));
590: DECLARE("savefp6", offsetof(struct savearea *, save_fp6));
591: DECLARE("savefp7", offsetof(struct savearea *, save_fp7));
592: DECLARE("savefp8", offsetof(struct savearea *, save_fp8));
593: DECLARE("savefp9", offsetof(struct savearea *, save_fp9));
594: DECLARE("savefp10", offsetof(struct savearea *, save_fp10));
595: DECLARE("savefp11", offsetof(struct savearea *, save_fp11));
596: DECLARE("savefp12", offsetof(struct savearea *, save_fp12));
597: DECLARE("savefp13", offsetof(struct savearea *, save_fp13));
598: DECLARE("savefp14", offsetof(struct savearea *, save_fp14));
599: DECLARE("savefp15", offsetof(struct savearea *, save_fp15));
600: DECLARE("savefp16", offsetof(struct savearea *, save_fp16));
601: DECLARE("savefp17", offsetof(struct savearea *, save_fp17));
602: DECLARE("savefp18", offsetof(struct savearea *, save_fp18));
603: DECLARE("savefp19", offsetof(struct savearea *, save_fp19));
604: DECLARE("savefp20", offsetof(struct savearea *, save_fp20));
605: DECLARE("savefp21", offsetof(struct savearea *, save_fp21));
606: DECLARE("savefp22", offsetof(struct savearea *, save_fp22));
607: DECLARE("savefp23", offsetof(struct savearea *, save_fp23));
608: DECLARE("savefp24", offsetof(struct savearea *, save_fp24));
609: DECLARE("savefp25", offsetof(struct savearea *, save_fp25));
610: DECLARE("savefp26", offsetof(struct savearea *, save_fp26));
611: DECLARE("savefp27", offsetof(struct savearea *, save_fp27));
612: DECLARE("savefp28", offsetof(struct savearea *, save_fp28));
613: DECLARE("savefp29", offsetof(struct savearea *, save_fp29));
614: DECLARE("savefp30", offsetof(struct savearea *, save_fp30));
615: DECLARE("savefp31", offsetof(struct savearea *, save_fp31));
616: DECLARE("savefpscrpad", offsetof(struct savearea *, save_fpscr_pad));
617: DECLARE("savefpscr", offsetof(struct savearea *, save_fpscr));
618:
619: DECLARE("savesr0", offsetof(struct savearea *, save_sr0));
620: DECLARE("savesr1", offsetof(struct savearea *, save_sr1));
621: DECLARE("savesr2", offsetof(struct savearea *, save_sr2));
622: DECLARE("savesr3", offsetof(struct savearea *, save_sr3));
623: DECLARE("savesr4", offsetof(struct savearea *, save_sr4));
624: DECLARE("savesr5", offsetof(struct savearea *, save_sr5));
625: DECLARE("savesr6", offsetof(struct savearea *, save_sr6));
626: DECLARE("savesr7", offsetof(struct savearea *, save_sr7));
627: DECLARE("savesr8", offsetof(struct savearea *, save_sr8));
628: DECLARE("savesr9", offsetof(struct savearea *, save_sr9));
629: DECLARE("savesr10", offsetof(struct savearea *, save_sr10));
630: DECLARE("savesr11", offsetof(struct savearea *, save_sr11));
631: DECLARE("savesr12", offsetof(struct savearea *, save_sr12));
632: DECLARE("savesr13", offsetof(struct savearea *, save_sr13));
633: DECLARE("savesr14", offsetof(struct savearea *, save_sr14));
634: DECLARE("savesr15", offsetof(struct savearea *, save_sr15));
635:
636: DECLARE("savevr0", offsetof(struct savearea *, save_vr0));
637: DECLARE("savevr1", offsetof(struct savearea *, save_vr1));
638: DECLARE("savevr2", offsetof(struct savearea *, save_vr2));
639: DECLARE("savevr3", offsetof(struct savearea *, save_vr3));
640: DECLARE("savevr4", offsetof(struct savearea *, save_vr4));
641: DECLARE("savevr5", offsetof(struct savearea *, save_vr5));
642: DECLARE("savevr6", offsetof(struct savearea *, save_vr6));
643: DECLARE("savevr7", offsetof(struct savearea *, save_vr7));
644: DECLARE("savevr8", offsetof(struct savearea *, save_vr8));
645: DECLARE("savevr9", offsetof(struct savearea *, save_vr9));
646: DECLARE("savevr10", offsetof(struct savearea *, save_vr10));
647: DECLARE("savevr11", offsetof(struct savearea *, save_vr11));
648: DECLARE("savevr12", offsetof(struct savearea *, save_vr12));
649: DECLARE("savevr13", offsetof(struct savearea *, save_vr13));
650: DECLARE("savevr14", offsetof(struct savearea *, save_vr14));
651: DECLARE("savevr15", offsetof(struct savearea *, save_vr15));
652: DECLARE("savevr16", offsetof(struct savearea *, save_vr16));
653: DECLARE("savevr17", offsetof(struct savearea *, save_vr17));
654: DECLARE("savevr18", offsetof(struct savearea *, save_vr18));
655: DECLARE("savevr19", offsetof(struct savearea *, save_vr19));
656: DECLARE("savevr20", offsetof(struct savearea *, save_vr20));
657: DECLARE("savevr21", offsetof(struct savearea *, save_vr21));
658: DECLARE("savevr22", offsetof(struct savearea *, save_vr22));
659: DECLARE("savevr23", offsetof(struct savearea *, save_vr23));
660: DECLARE("savevr24", offsetof(struct savearea *, save_vr24));
661: DECLARE("savevr25", offsetof(struct savearea *, save_vr25));
662: DECLARE("savevr26", offsetof(struct savearea *, save_vr26));
663: DECLARE("savevr27", offsetof(struct savearea *, save_vr27));
664: DECLARE("savevr28", offsetof(struct savearea *, save_vr28));
665: DECLARE("savevr29", offsetof(struct savearea *, save_vr29));
666: DECLARE("savevr30", offsetof(struct savearea *, save_vr30));
667: DECLARE("savevr31", offsetof(struct savearea *, save_vr31));
668: DECLARE("savevscr", offsetof(struct savearea *, save_vscr));
669: DECLARE("savevrvalid", offsetof(struct savearea *, save_vrvalid));
670:
671: /* PseudoKernel Trap Descriptor info */
672: DECLARE("BDA_PKTD_PC", offsetof(PKTD_t *, pc));
673: DECLARE("BDA_PKTD_REG", offsetof(PKTD_t *, reg));
674: DECLARE("BDA_PKTD_MSR", offsetof(PKTD_t *, msr));
675: DECLARE("BDA_PKTD_NEWSTATE", offsetof(PKTD_t *, newState));
676:
677: /* PseudoKernel Interrupt Hold State info */
678: DECLARE("BDA_IHS_PC", offsetof(BDA_t *, ihs_pc));
679: DECLARE("BDA_IHS_GPR2", offsetof(BDA_t *, ihs_gpr2));
680:
681: /* PseudoKernel Interrupt Control Word */
682: DECLARE("BDA_INTCONTROLWORD", offsetof(BDA_t *, InterruptControlWord));
683: DECLARE("BDA_PKTD_INTPENDINGPC", offsetof(BDA_t *, InterruptPendingPC));
684:
685: /* PseudoKernel Test/Post Interrupt Mask */
686: DECLARE("BDA_TESTINTMASK", offsetof(BDA_t *, testIntMask));
687: DECLARE("BDA_POSTINTMASK", offsetof(BDA_t *, postIntMask));
688:
689: /* PseudoKernel Bits, Masks and misc */
690: DECLARE("SYSCONTEXTSTATE", kInSystemContext);
691: DECLARE("INTSTATEMASK_B", 12);
692: DECLARE("INTSTATEMASK_E", 15);
693: DECLARE("INTCR2MASK_B", 8);
694: DECLARE("INTCR2MASK_E", 11);
695: DECLARE("INTBACKUPCR2MASK_B", 28);
696: DECLARE("INTBACKUPCR2MASK_E", 31);
697: DECLARE("INTCR2TOBACKUPSHIFT", kCR2ToBackupShift);
698: DECLARE("BBMAXTRAP", bbMaxTrap);
699: DECLARE("BBEXITTRAP", bbExitTrap);
700: DECLARE("PKTDSIZE", sizeof(PKTD_t));
701: DECLARE("PKTDSHIFT", bbPKTDShift);
702:
703: return(0); /* For ANSI C :-) */
704:
705:
706:
707: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.