# $NetBSD: genassym.cf,v 1.18 2011/01/18 01:02:54 matt Exp $ # # Copyright (C) 1995, 1996 Wolfgang Solfrank. # Copyright (C) 1995, 1996 TooLs GmbH. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by TooLs GmbH. # 4. The name of TooLs GmbH may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # quote #define __MUTEX_PRIVATE quote #define __RWLOCK_PRIVATE include include include include include include include define FRAMELEN FRAMELEN define FRAME_TF offsetof(struct ktrapframe, ktf_tf) define FRAME_R0 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[0]) define FRAME_R1 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[1]) define FRAME_R2 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[2]) define FRAME_R3 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[3]) define FRAME_R4 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[4]) define FRAME_R5 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[5]) define FRAME_R6 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[6]) define FRAME_R7 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[7]) define FRAME_R8 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[8]) define FRAME_R9 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[9]) define FRAME_R10 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[10]) define FRAME_R11 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[11]) define FRAME_R12 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[12]) define FRAME_R13 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[13]) define FRAME_R14 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[14]) define FRAME_R15 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[15]) define FRAME_R16 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[16]) define FRAME_R17 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[17]) define FRAME_R18 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[18]) define FRAME_R19 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[19]) define FRAME_R20 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[20]) define FRAME_R21 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[21]) define FRAME_R22 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[22]) define FRAME_R23 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[23]) define FRAME_R24 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[24]) define FRAME_R25 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[25]) define FRAME_R26 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[26]) define FRAME_R27 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[27]) define FRAME_R28 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[28]) define FRAME_R29 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[29]) define FRAME_R30 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[30]) define FRAME_R31 offsetof(struct ktrapframe, ktf_tf.tf_fixreg[31]) define FRAME_LR offsetof(struct ktrapframe, ktf_tf.tf_lr) define FRAME_CR offsetof(struct ktrapframe, ktf_tf.tf_cr) define FRAME_CTR offsetof(struct ktrapframe, ktf_tf.tf_ctr) define FRAME_XER offsetof(struct ktrapframe, ktf_tf.tf_xer) define FRAME_CF offsetof(struct ktrapframe, ktf_tf.tf_cf) define FRAME_IDEPTH offsetof(struct ktrapframe, ktf_tf.tf_idepth) define FRAME_SRR0 offsetof(struct ktrapframe, ktf_tf.tf_srr0) define FRAME_SRR1 offsetof(struct ktrapframe, ktf_tf.tf_srr1) define FRAME_DEAR offsetof(struct ktrapframe, ktf_tf.tf_dear) define FRAME_EXC offsetof(struct ktrapframe, ktf_tf.tf_exc) define FRAME_ESR offsetof(struct ktrapframe, ktf_tf.tf_esr) define FRAME_PID offsetof(struct ktrapframe, ktf_tf.tf_pid) define CALLFRAMELEN CALLFRAMELEN define CFRAME_SP offsetof(struct callframe, cf_sp) define CFRAME_LR offsetof(struct callframe, cf_lr) define CFRAME_R30 offsetof(struct callframe, cf_r30) define CFRAME_R31 offsetof(struct callframe, cf_r31) define SFRAMELEN SFRAMELEN define SFRAME_SP offsetof(struct switchframe, sf_sp) define SFRAME_LR offsetof(struct switchframe, sf_lr) define SFRAME_USER_SR offsetof(struct switchframe, sf_user_sr) define SFRAME_CR offsetof(struct switchframe, sf_cr) define SFRAME_R2 offsetof(struct switchframe, sf_fixreg2) define SFRAME_R13 offsetof(struct switchframe, sf_fixreg[0]) define SFRAME_R14 offsetof(struct switchframe, sf_fixreg[1]) define SFRAME_R15 offsetof(struct switchframe, sf_fixreg[2]) define SFRAME_R16 offsetof(struct switchframe, sf_fixreg[3]) define SFRAME_R17 offsetof(struct switchframe, sf_fixreg[4]) define SFRAME_R18 offsetof(struct switchframe, sf_fixreg[5]) define SFRAME_R19 offsetof(struct switchframe, sf_fixreg[6]) define SFRAME_R20 offsetof(struct switchframe, sf_fixreg[7]) define SFRAME_R21 offsetof(struct switchframe, sf_fixreg[8]) define SFRAME_R22 offsetof(struct switchframe, sf_fixreg[9]) define SFRAME_R23 offsetof(struct switchframe, sf_fixreg[10]) define SFRAME_R24 offsetof(struct switchframe, sf_fixreg[11]) define SFRAME_R25 offsetof(struct switchframe, sf_fixreg[12]) define SFRAME_R26 offsetof(struct switchframe, sf_fixreg[13]) define SFRAME_R27 offsetof(struct switchframe, sf_fixreg[14]) define SFRAME_R28 offsetof(struct switchframe, sf_fixreg[15]) define SFRAME_R29 offsetof(struct switchframe, sf_fixreg[16]) define SFRAME_R30 offsetof(struct switchframe, sf_fixreg[17]) define SFRAME_R31 offsetof(struct switchframe, sf_fixreg[18]) define PCB_PM offsetof(struct pcb, pcb_pm) define PCB_SP offsetof(struct pcb, pcb_sp) define PCB_ONFAULT offsetof(struct pcb, pcb_onfault) define PM_CTX offsetof(struct pmap, pm_ctx) define MSR_PR 31-ilog2(PSL_PR) define L_CPU offsetof(struct lwp, l_cpu) define L_MD_UTF offsetof(struct lwp, l_md.md_utf) define L_PCB offsetof(struct lwp, l_addr) define L_PROC offsetof(struct lwp, l_proc) define P_MD_SYSCALL offsetof(struct proc, p_md.md_syscall) define CI_SIZE sizeof(struct cpu_info) define CI_CURLWP offsetof(struct cpu_info, ci_curlwp) define CI_CURPCB offsetof(struct cpu_info, ci_curpcb) define CI_CURPM offsetof(struct cpu_info, ci_curpm) define CI_ASTPENDING offsetof(struct cpu_info, ci_astpending) define CI_WANT_RESCHED offsetof(struct cpu_info, ci_want_resched) define CI_CPL offsetof(struct cpu_info, ci_cpl) define CI_IDEPTH offsetof(struct cpu_info, ci_idepth) define CI_INTSTK offsetof(struct cpu_info, ci_intstk) define CI_TEMPSAVE offsetof(struct cpu_info, ci_tempsave) define CI_DDBSAVE offsetof(struct cpu_info, ci_ddbsave) define CI_IPKDBSAVE offsetof(struct cpu_info, ci_ipkdbsave) define CI_TLBMISSSAVE offsetof(struct cpu_info, ci_tlbmisssave) define CI_IDLESPIN offsetof(struct cpu_info, ci_idlespin) define CI_NINTR offsetof(struct cpu_info, ci_data.cpu_nintr) define CPUSAVE_R28 CPUSAVE_R28*sizeof(register_t) define CPUSAVE_R29 CPUSAVE_R29*sizeof(register_t) define CPUSAVE_R30 CPUSAVE_R30*sizeof(register_t) define CPUSAVE_R31 CPUSAVE_R31*sizeof(register_t) define CPUSAVE_DEAR CPUSAVE_DEAR*sizeof(register_t) define CPUSAVE_ESR CPUSAVE_ESR*sizeof(register_t) define CPUSAVE_SRR0 CPUSAVE_SRR0*sizeof(register_t) define CPUSAVE_SRR1 CPUSAVE_SRR1*sizeof(register_t) define FB_PC offsetof(struct faultbuf, fb_pc) define FB_SP offsetof(struct faultbuf, fb_sp) define FB_R2 offsetof(struct faultbuf, fb_r2) define FB_CR offsetof(struct faultbuf, fb_cr) define FB_R13 offsetof(struct faultbuf, fb_fixreg[0]) define FB_R14 offsetof(struct faultbuf, fb_fixreg[1]) define FB_R15 offsetof(struct faultbuf, fb_fixreg[2]) define FB_R16 offsetof(struct faultbuf, fb_fixreg[3]) define FB_R17 offsetof(struct faultbuf, fb_fixreg[4]) define FB_R18 offsetof(struct faultbuf, fb_fixreg[5]) define FB_R19 offsetof(struct faultbuf, fb_fixreg[6]) define FB_R20 offsetof(struct faultbuf, fb_fixreg[7]) define FB_R21 offsetof(struct faultbuf, fb_fixreg[8]) define FB_R22 offsetof(struct faultbuf, fb_fixreg[9]) define FB_R23 offsetof(struct faultbuf, fb_fixreg[10]) define FB_R24 offsetof(struct faultbuf, fb_fixreg[11]) define FB_R25 offsetof(struct faultbuf, fb_fixreg[12]) define FB_R26 offsetof(struct faultbuf, fb_fixreg[13]) define FB_R27 offsetof(struct faultbuf, fb_fixreg[14]) define FB_R28 offsetof(struct faultbuf, fb_fixreg[15]) define FB_R29 offsetof(struct faultbuf, fb_fixreg[16]) define FB_R30 offsetof(struct faultbuf, fb_fixreg[17]) define FB_R31 offsetof(struct faultbuf, fb_fixreg[18]) define PAGE_SIZE PAGE_SIZE define PAGE_MASK PAGE_MASK define CACHELINESIZE CACHELINESIZE define CPU_CI offsetof(struct cpu_info, ci_ci) ifdef __HAVE_MUTEX_STUBS define __HAVE_MUTEX_STUBS __HAVE_MUTEX_STUBS endif ifdef __HAVE_MUTEX_SPIN_STUBS define __HAVE_MUTEX_SPIN_STUBS __HAVE_MUTEX_SPIN_STUBS endif define MTX_OWNER offsetof(struct kmutex, mtx_owner) define MTX_LOCK offsetof(struct kmutex, mtx_lock) define MTX_IPL offsetof(struct kmutex, mtx_ipl) ifdef __HAVE_RW_STUBS define __HAVE_RW_STUBS __HAVE_RW_STUBS endif define RW_OWNER offsetof(struct krwlock, rw_owner) define RW_WRITE_LOCKED RW_WRITE_LOCKED define RW_READ_INCR RW_READ_INCR define RW_READER RW_READER