1*800148fbSthorpej# $NetBSD: genassym.cf,v 1.29 2021/02/24 16:42:38 thorpej Exp $ 22b0e97a5Smatt 32b0e97a5Smatt# 42b0e97a5Smatt# Copyright (C) 1995, 1996 Wolfgang Solfrank. 52b0e97a5Smatt# Copyright (C) 1995, 1996 TooLs GmbH. 62b0e97a5Smatt# All rights reserved. 72b0e97a5Smatt# 82b0e97a5Smatt# Redistribution and use in source and binary forms, with or without 92b0e97a5Smatt# modification, are permitted provided that the following conditions 102b0e97a5Smatt# are met: 112b0e97a5Smatt# 1. Redistributions of source code must retain the above copyright 122b0e97a5Smatt# notice, this list of conditions and the following disclaimer. 132b0e97a5Smatt# 2. Redistributions in binary form must reproduce the above copyright 142b0e97a5Smatt# notice, this list of conditions and the following disclaimer in the 152b0e97a5Smatt# documentation and/or other materials provided with the distribution. 162b0e97a5Smatt# 3. All advertising materials mentioning features or use of this software 172b0e97a5Smatt# must display the following acknowledgement: 182b0e97a5Smatt# This product includes software developed by TooLs GmbH. 192b0e97a5Smatt# 4. The name of TooLs GmbH may not be used to endorse or promote products 202b0e97a5Smatt# derived from this software without specific prior written permission. 212b0e97a5Smatt# 222b0e97a5Smatt# THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR 232b0e97a5Smatt# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 242b0e97a5Smatt# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 252b0e97a5Smatt# IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 262b0e97a5Smatt# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 272b0e97a5Smatt# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 282b0e97a5Smatt# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 292b0e97a5Smatt# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 302b0e97a5Smatt# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 312b0e97a5Smatt# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 322b0e97a5Smatt# 332b0e97a5Smatt 3445cb1d76Srin#ifdef _KERNEL_OPT 3542382e46Smattinclude "opt_ppcarch.h" 3645cb1d76Srin#endif 3742382e46Smatt 382b0e97a5Smattinclude <sys/param.h> 392b0e97a5Smattinclude <sys/time.h> 40c6f7e7c6Smattinclude <sys/mutex.h> 41c6f7e7c6Smattinclude <sys/rwlock.h> 422b0e97a5Smattinclude <sys/proc.h> 4320e2c495Smattinclude <sys/bitops.h> 442b0e97a5Smatt 452b0e97a5Smattinclude <uvm/uvm_extern.h> 462b0e97a5Smatt 472b0e97a5Smattinclude <machine/pcb.h> 482b0e97a5Smattinclude <machine/pmap.h> 492b0e97a5Smatt 502b0e97a5Smattinclude <powerpc/cpu.h> 515b9b59adSmattinclude <powerpc/oea/bat.h> 524b513a99Sgarbledinclude <powerpc/oea/cpufeat.h> 532b0e97a5Smatt 54a685c6b4Smattdefine FRAME_DAR offsetof(struct ktrapframe, ktf_tf.tf_dar) 55a685c6b4Smattdefine FRAME_DSISR offsetof(struct ktrapframe, ktf_tf.tf_dsisr) 56a685c6b4Smattdefine FRAME_VRSAVE offsetof(struct ktrapframe, ktf_tf.tf_vrsave) 57a685c6b4Smattdefine FRAME_MQ offsetof(struct ktrapframe, ktf_tf.tf_mq) 582b0e97a5Smatt 5942382e46Smattifdef PPC_OEA64 6042382e46Smattdefine PM_STEG offsetof(struct pmap, pm_steg_table) 6142382e46Smattelse 62a2c12836Smattdefine USER_SR USER_SR 63a2c12836Smattdefine KERNEL_SR KERNEL_SR 642b0e97a5Smattdefine PM_SR offsetof(struct pmap, pm_sr[0]) 652b0e97a5Smattdefine PM_USRSR offsetof(struct pmap, pm_sr[USER_SR]) 662b0e97a5Smattdefine PM_KERNELSR offsetof(struct pmap, pm_sr[KERNEL_SR]) 6742382e46Smattendif 682b0e97a5Smatt 69*800148fbSthorpejdefine CI_BATTABLE offsetof(struct cpu_info, ci_battable) 70e7b49f60Smattdefine CI_TEMPSAVE offsetof(struct cpu_info, ci_savearea[CI_SAVETEMP]) 71e7b49f60Smattdefine CI_DDBSAVE offsetof(struct cpu_info, ci_savearea[CI_SAVEDDB]) 72e7b49f60Smattdefine CI_DISISAVE offsetof(struct cpu_info, ci_savearea[CI_SAVEMMU]) 732b0e97a5Smatt 74a2c12836Smattdefine CPUSAVE_R28 CPUSAVE_R28*sizeof(register_t) 75a2c12836Smattdefine CPUSAVE_R29 CPUSAVE_R29*sizeof(register_t) 76a2c12836Smattdefine CPUSAVE_R30 CPUSAVE_R30*sizeof(register_t) 77a2c12836Smattdefine CPUSAVE_R31 CPUSAVE_R31*sizeof(register_t) 78a2c12836Smattdefine CPUSAVE_DAR CPUSAVE_DAR*sizeof(register_t) 79a2c12836Smattdefine CPUSAVE_DSISR CPUSAVE_DSISR*sizeof(register_t) 80a2c12836Smattdefine CPUSAVE_SRR0 CPUSAVE_SRR0*sizeof(register_t) 81a2c12836Smattdefine CPUSAVE_SRR1 CPUSAVE_SRR1*sizeof(register_t) 822b0e97a5Smatt 83a2c12836Smattdefine OEACPU_64 OEACPU_64 84a2c12836Smattdefine OEACPU_64_BRIDGE OEACPU_64_BRIDGE 85a2c12836Smattdefine OEACPU_NOBAT OEACPU_NOBAT 86a2c12836Smattdefine OEACPU_HIGHBAT OEACPU_HIGHBAT 87a2c12836Smattdefine OEACPU_601 OEACPU_601 88a2c12836Smattdefine OEACPU_HIGHSPRG OEACPU_HIGHSPRG 89a2c12836Smattdefine OEACPU_ALTIVEC OEACPU_ALTIVEC 902b0e97a5Smatt 915b9b59adSmattdefine BAT_ADDR_SHIFT ilog2(BAT_IDX2VA(1)) 925b9b59adSmatt 934517d72dSmattdefine PTE_REF PTE_REF 944517d72dSmattdefine PTE_CHG PTE_CHG 954517d72dSmattdefine PTE_HID PTE_HID 964517d72dSmattdefine PTE_G PTE_G 974517d72dSmatt 98a685c6b4Smattdefine FPREG_F0 offsetof(struct fpreg, fpreg[0]) 99a685c6b4Smattdefine FPREG_F1 offsetof(struct fpreg, fpreg[1]) 100a685c6b4Smattdefine FPREG_F2 offsetof(struct fpreg, fpreg[2]) 101a685c6b4Smattdefine FPREG_F3 offsetof(struct fpreg, fpreg[3]) 102a685c6b4Smattdefine FPREG_F4 offsetof(struct fpreg, fpreg[4]) 103a685c6b4Smattdefine FPREG_F5 offsetof(struct fpreg, fpreg[5]) 104a685c6b4Smattdefine FPREG_F6 offsetof(struct fpreg, fpreg[6]) 105a685c6b4Smattdefine FPREG_F7 offsetof(struct fpreg, fpreg[7]) 106a685c6b4Smattdefine FPREG_F8 offsetof(struct fpreg, fpreg[8]) 107a685c6b4Smattdefine FPREG_F9 offsetof(struct fpreg, fpreg[9]) 108a685c6b4Smattdefine FPREG_F10 offsetof(struct fpreg, fpreg[10]) 109a685c6b4Smattdefine FPREG_F11 offsetof(struct fpreg, fpreg[11]) 110a685c6b4Smattdefine FPREG_F12 offsetof(struct fpreg, fpreg[12]) 111a685c6b4Smattdefine FPREG_F13 offsetof(struct fpreg, fpreg[13]) 112a685c6b4Smattdefine FPREG_F14 offsetof(struct fpreg, fpreg[14]) 113a685c6b4Smattdefine FPREG_F15 offsetof(struct fpreg, fpreg[15]) 114a685c6b4Smattdefine FPREG_F16 offsetof(struct fpreg, fpreg[16]) 115a685c6b4Smattdefine FPREG_F17 offsetof(struct fpreg, fpreg[17]) 116a685c6b4Smattdefine FPREG_F18 offsetof(struct fpreg, fpreg[18]) 117a685c6b4Smattdefine FPREG_F19 offsetof(struct fpreg, fpreg[19]) 118a685c6b4Smattdefine FPREG_F20 offsetof(struct fpreg, fpreg[20]) 119a685c6b4Smattdefine FPREG_F21 offsetof(struct fpreg, fpreg[21]) 120a685c6b4Smattdefine FPREG_F22 offsetof(struct fpreg, fpreg[22]) 121a685c6b4Smattdefine FPREG_F23 offsetof(struct fpreg, fpreg[23]) 122a685c6b4Smattdefine FPREG_F24 offsetof(struct fpreg, fpreg[24]) 123a685c6b4Smattdefine FPREG_F25 offsetof(struct fpreg, fpreg[25]) 124a685c6b4Smattdefine FPREG_F26 offsetof(struct fpreg, fpreg[26]) 125a685c6b4Smattdefine FPREG_F27 offsetof(struct fpreg, fpreg[27]) 126a685c6b4Smattdefine FPREG_F28 offsetof(struct fpreg, fpreg[28]) 127a685c6b4Smattdefine FPREG_F29 offsetof(struct fpreg, fpreg[29]) 128a685c6b4Smattdefine FPREG_F30 offsetof(struct fpreg, fpreg[30]) 129a685c6b4Smattdefine FPREG_F31 offsetof(struct fpreg, fpreg[31]) 130a685c6b4Smattdefine FPREG_FPSCR offsetof(struct fpreg, fpscr) 131a685c6b4Smatt 132a685c6b4Smattdefine VREG_V0 offsetof(struct vreg, vreg[0][0]) 133a685c6b4Smattdefine VREG_V1 offsetof(struct vreg, vreg[1][0]) 134a685c6b4Smattdefine VREG_V2 offsetof(struct vreg, vreg[2][0]) 135a685c6b4Smattdefine VREG_V3 offsetof(struct vreg, vreg[3][0]) 136a685c6b4Smattdefine VREG_V4 offsetof(struct vreg, vreg[4][0]) 137a685c6b4Smattdefine VREG_V5 offsetof(struct vreg, vreg[5][0]) 138a685c6b4Smattdefine VREG_V6 offsetof(struct vreg, vreg[6][0]) 139a685c6b4Smattdefine VREG_V7 offsetof(struct vreg, vreg[7][0]) 140a685c6b4Smattdefine VREG_V8 offsetof(struct vreg, vreg[8][0]) 141a685c6b4Smattdefine VREG_V9 offsetof(struct vreg, vreg[9][0]) 142a685c6b4Smattdefine VREG_V10 offsetof(struct vreg, vreg[10][0]) 143a685c6b4Smattdefine VREG_V11 offsetof(struct vreg, vreg[11][0]) 144a685c6b4Smattdefine VREG_V12 offsetof(struct vreg, vreg[12][0]) 145a685c6b4Smattdefine VREG_V13 offsetof(struct vreg, vreg[13][0]) 146a685c6b4Smattdefine VREG_V14 offsetof(struct vreg, vreg[14][0]) 147a685c6b4Smattdefine VREG_V15 offsetof(struct vreg, vreg[15][0]) 148a685c6b4Smattdefine VREG_V16 offsetof(struct vreg, vreg[16][0]) 149a685c6b4Smattdefine VREG_V17 offsetof(struct vreg, vreg[17][0]) 150a685c6b4Smattdefine VREG_V18 offsetof(struct vreg, vreg[18][0]) 151a685c6b4Smattdefine VREG_V19 offsetof(struct vreg, vreg[19][0]) 152a685c6b4Smattdefine VREG_V20 offsetof(struct vreg, vreg[20][0]) 153a685c6b4Smattdefine VREG_V21 offsetof(struct vreg, vreg[21][0]) 154a685c6b4Smattdefine VREG_V22 offsetof(struct vreg, vreg[22][0]) 155a685c6b4Smattdefine VREG_V23 offsetof(struct vreg, vreg[23][0]) 156a685c6b4Smattdefine VREG_V24 offsetof(struct vreg, vreg[24][0]) 157a685c6b4Smattdefine VREG_V25 offsetof(struct vreg, vreg[25][0]) 158a685c6b4Smattdefine VREG_V26 offsetof(struct vreg, vreg[26][0]) 159a685c6b4Smattdefine VREG_V27 offsetof(struct vreg, vreg[27][0]) 160a685c6b4Smattdefine VREG_V28 offsetof(struct vreg, vreg[28][0]) 161a685c6b4Smattdefine VREG_V29 offsetof(struct vreg, vreg[29][0]) 162a685c6b4Smattdefine VREG_V30 offsetof(struct vreg, vreg[30][0]) 163a685c6b4Smattdefine VREG_V31 offsetof(struct vreg, vreg[31][0]) 164a685c6b4Smattdefine VREG_VRSAVE offsetof(struct vreg, vrsave) 165a685c6b4Smattdefine VREG_VSCR offsetof(struct vreg, vscr) 166