|
|
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.