genassym.cf revision 1.46
11.46Sthorpej# $NetBSD: genassym.cf,v 1.46 2025/11/07 14:40:58 thorpej Exp $ 21.1Sscottr 31.1Sscottr# 41.1Sscottr# Copyright (c) 1990 The Regents of the University of California. 51.1Sscottr# All rights reserved. 61.1Sscottr# 71.1Sscottr# Redistribution and use in source and binary forms, with or without 81.1Sscottr# modification, are permitted provided that the following conditions 91.1Sscottr# are met: 101.1Sscottr# 1. Redistributions of source code must retain the above copyright 111.1Sscottr# notice, this list of conditions and the following disclaimer. 121.1Sscottr# 2. Redistributions in binary form must reproduce the above copyright 131.1Sscottr# notice, this list of conditions and the following disclaimer in the 141.1Sscottr# documentation and/or other materials provided with the distribution. 151.32Stsutsui# 3. Neither the name of the University nor the names of its contributors 161.1Sscottr# may be used to endorse or promote products derived from this software 171.1Sscottr# without specific prior written permission. 181.1Sscottr# 191.1Sscottr# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 201.1Sscottr# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 211.1Sscottr# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 221.1Sscottr# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 231.1Sscottr# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 241.1Sscottr# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 251.1Sscottr# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 261.1Sscottr# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 271.1Sscottr# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 281.1Sscottr# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 291.1Sscottr# SUCH DAMAGE. 301.1Sscottr# 311.1Sscottr# @(#)genassym.c 7.8 (Berkeley) 5/7/91 321.1Sscottr# 331.1Sscottr 341.1Sscottrinclude <sys/param.h> 351.1Sscottrinclude <sys/buf.h> 361.1Sscottrinclude <sys/mbuf.h> 371.1Sscottrinclude <sys/msgbuf.h> 381.8Sscottrinclude <sys/proc.h> 391.1Sscottrinclude <sys/syscall.h> 401.9Sscottr 411.9Sscottrinclude <uvm/uvm_extern.h> 421.1Sscottr 431.1Sscottrinclude <machine/cpu.h> 441.43Sthorpejinclude <machine/fcode.h> 451.1Sscottrinclude <machine/psl.h> 461.36Srmindinclude <machine/pcb.h> 471.1Sscottrinclude <machine/pte.h> 481.1Sscottr 491.8Sscottr# machine class 501.8Sscottrdefine CPUINFO_CLASS offsetof(struct cpu_model_info, class) 511.8Sscottrdefine MACH_CLASSAV MACH_CLASSAV 521.8Sscottr 531.8Sscottr# values for mmutype 541.8Sscottrdefine MMU_68851 MMU_68851 551.8Sscottrdefine MMU_68030 MMU_68030 561.8Sscottrdefine MMU_68040 MMU_68040 571.8Sscottr 581.8Sscottr# values for cputype 591.8Sscottrdefine CPU_68020 CPU_68020 601.8Sscottrdefine CPU_68030 CPU_68030 611.8Sscottrdefine CPU_68040 CPU_68040 621.8Sscottr 631.8Sscottr# values for fputype 641.8Sscottrdefine FPU_68881 FPU_68881 651.8Sscottrdefine FPU_68882 FPU_68882 661.8Sscottrdefine FPU_68040 FPU_68040 671.8Sscottr 681.8Sscottr# general constants 691.8Sscottrdefine UPAGES UPAGES 701.8Sscottrdefine USPACE USPACE 711.8Sscottrdefine P1PAGES P1PAGES 721.25Sthorpejdefine PAGE_SIZE PAGE_SIZE 731.8Sscottrdefine NPTEPG NPTEPG 741.8Sscottrdefine PGSHIFT PGSHIFT 751.46Sthorpejdefine PG_FRAME (~PGOFSET) 761.8Sscottrdefine USRIOSIZE USRIOSIZE 771.8Sscottrdefine USRSTACK USRSTACK 781.8Sscottr 791.42Sthorpej# MMU configuration constants (from pmap.h) 801.42Sthorpejexport MMU51_SRP_BITS 811.42Sthorpejexport MMU51_CRP_BITS 821.42Sthorpejexport MMU51_TCR_BITS 831.42Sthorpejexport MMU40_TCR_BITS 841.42Sthorpej 851.45Sthorpejdefine M68K_MMU_MOTOROLA 1 861.45Sthorpej 871.44Sthorpej# Transparent translation register values (from pmap.h) 881.44Sthorpejexport MAC68K_TT_GET_PTE 891.44Sthorpej 901.24Sthorpej# lwp & proc fields and values 911.34Srminddefine L_PCB offsetof(struct lwp, l_addr) 921.24Sthorpejdefine L_PROC offsetof(struct lwp, l_proc) 931.24Sthorpejdefine L_MD_REGS offsetof(struct lwp, l_md.md_regs) 941.24Sthorpejdefine L_MD_FLAGS offsetof(struct lwp, l_md.md_flags) 951.24Sthorpejdefine P_FLAG offsetof(struct proc, p_flag) 961.27Sdsldefine P_RASLIST offsetof(struct proc, p_raslist) 971.1Sscottrdefine P_VMSPACE offsetof(struct proc, p_vmspace) 981.24Sthorpej 991.8Sscottr# interrupt/fault metering 1001.35Smattdefine CI_NINTR offsetof(struct cpu_info, ci_data.cpu_nintr) 1011.1Sscottr 1021.24Sthorpej#mE PSL values (should just include psl.h?) 1031.1Sscottrdefine PSL_S PSL_S 1041.1Sscottrdefine PSL_IPL7 PSL_IPL7 1051.1Sscottrdefine PSL_LOWIPL PSL_LOWIPL 1061.1Sscottrdefine PSL_HIGHIPL PSL_HIGHIPL 1071.1Sscottrdefine PSL_USER PSL_USER 1081.16Sscottrdefine PSL_TS (PSL_T | PSL_S) 1091.1Sscottrdefine SPL1 (PSL_S | PSL_IPL1) 1101.1Sscottrdefine SPL2 (PSL_S | PSL_IPL2) 1111.1Sscottrdefine SPL3 (PSL_S | PSL_IPL3) 1121.1Sscottrdefine SPL4 (PSL_S | PSL_IPL4) 1131.1Sscottrdefine SPL5 (PSL_S | PSL_IPL5) 1141.1Sscottrdefine SPL6 (PSL_S | PSL_IPL6) 1151.29Stsutsuidefine IPL_CLOCK IPL_CLOCK 1161.1Sscottr 1171.8Sscottr# magic 1181.1Sscottrdefine FC_USERD FC_USERD 1191.1Sscottrdefine FC_SUPERD FC_SUPERD 1201.1Sscottrdefine CACHE_ON CACHE_ON 1211.1Sscottrdefine CACHE_OFF CACHE_OFF 1221.1Sscottrdefine CACHE_CLR CACHE_CLR 1231.1Sscottrdefine CACHE40_ON CACHE40_ON 1241.1Sscottrdefine CACHE40_OFF CACHE40_OFF 1251.1Sscottrdefine IC_CLEAR IC_CLEAR 1261.1Sscottrdefine DC_CLEAR DC_CLEAR 1271.1Sscottr 1281.8Sscottr# pcb fields 1291.1Sscottrdefine SIZEOF_PCB sizeof(struct pcb) 1301.1Sscottrdefine PCB_FLAGS offsetof(struct pcb, pcb_flags) 1311.1Sscottrdefine PCB_PS offsetof(struct pcb, pcb_ps) 1321.1Sscottrdefine PCB_USP offsetof(struct pcb, pcb_usp) 1331.1Sscottrdefine PCB_REGS offsetof(struct pcb, pcb_regs) 1341.1Sscottrdefine PCB_ONFAULT offsetof(struct pcb, pcb_onfault) 1351.1Sscottrdefine PCB_FPCTX offsetof(struct pcb, pcb_fpregs) 1361.1Sscottrdefine PCB_TRCB 5 1371.24Sthorpej 1381.24Sthorpej# frame offsets 1391.24Sthorpejdefine TF_PC offsetof(struct frame, f_pc) 1401.1Sscottr 1411.8Sscottr# exception frame offset/sizes 1421.1Sscottrdefine FR_SP offsetof(struct frame, f_regs[15]) 1431.1Sscottrdefine FR_HW offsetof(struct frame, f_sr) 1441.1Sscottrdefine FR_ADJ offsetof(struct frame, f_stackadj) 1451.8Sscottrdefine FR_SIZE sizeof(struct trapframe) 1461.20Stsutsui 1471.20Stsutsui# FP frame offsets 1481.20Stsutsuidefine FPF_REGS offsetof(struct fpframe, fpf_regs[0]) 1491.20Stsutsuidefine FPF_FPCR offsetof(struct fpframe, fpf_fpcr) 1501.1Sscottr 1511.8Sscottr# system calls 1521.8Sscottrdefine SYS_exit SYS_exit 1531.8Sscottrdefine SYS_execve SYS_execve 1541.26Scldefine SYS_compat_16___sigreturn14 SYS_compat_16___sigreturn14 1551.11Sthorpejdefine SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13 1561.1Sscottr 1571.8Sscottr# errno 1581.1Sscottrdefine ENOENT ENOENT 1591.1Sscottrdefine EFAULT EFAULT 1601.1Sscottrdefine ENAMETOOLONG ENAMETOOLONG 1611.13Skleink 1621.37Sjklos# machine ids 1631.37Sjklosdefine MACH_MACC610 MACH_MACC610 1641.37Sjklosdefine MACH_MACQ610 MACH_MACQ610 1651.37Sjklosdefine MACH_MACC650 MACH_MACC650 1661.37Sjklosdefine MACH_MACQ650 MACH_MACQ650 1671.37Sjklosdefine MACH_MACQ800 MACH_MACQ800 168