genassym.cf revision 1.43
11.43Sthorpej# $NetBSD: genassym.cf,v 1.43 2023/12/27 17:35:35 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.8Sscottrdefine USRIOSIZE USRIOSIZE 761.8Sscottrdefine USRSTACK USRSTACK 771.8Sscottr 781.42Sthorpej# MMU configuration constants (from pmap.h) 791.42Sthorpejexport MMU51_SRP_BITS 801.42Sthorpejexport MMU51_CRP_BITS 811.42Sthorpejexport MMU51_TCR_BITS 821.42Sthorpejexport MMU40_TCR_BITS 831.42Sthorpej 841.24Sthorpej# lwp & proc fields and values 851.34Srminddefine L_PCB offsetof(struct lwp, l_addr) 861.24Sthorpejdefine L_PROC offsetof(struct lwp, l_proc) 871.24Sthorpejdefine L_MD_REGS offsetof(struct lwp, l_md.md_regs) 881.24Sthorpejdefine L_MD_FLAGS offsetof(struct lwp, l_md.md_flags) 891.24Sthorpejdefine P_FLAG offsetof(struct proc, p_flag) 901.27Sdsldefine P_RASLIST offsetof(struct proc, p_raslist) 911.1Sscottrdefine P_VMSPACE offsetof(struct proc, p_vmspace) 921.24Sthorpej 931.8Sscottr# interrupt/fault metering 941.35Smattdefine CI_NINTR offsetof(struct cpu_info, ci_data.cpu_nintr) 951.1Sscottr 961.24Sthorpej#mE PSL values (should just include psl.h?) 971.1Sscottrdefine PSL_S PSL_S 981.1Sscottrdefine PSL_IPL7 PSL_IPL7 991.1Sscottrdefine PSL_LOWIPL PSL_LOWIPL 1001.1Sscottrdefine PSL_HIGHIPL PSL_HIGHIPL 1011.1Sscottrdefine PSL_USER PSL_USER 1021.16Sscottrdefine PSL_TS (PSL_T | PSL_S) 1031.1Sscottrdefine SPL1 (PSL_S | PSL_IPL1) 1041.1Sscottrdefine SPL2 (PSL_S | PSL_IPL2) 1051.1Sscottrdefine SPL3 (PSL_S | PSL_IPL3) 1061.1Sscottrdefine SPL4 (PSL_S | PSL_IPL4) 1071.1Sscottrdefine SPL5 (PSL_S | PSL_IPL5) 1081.1Sscottrdefine SPL6 (PSL_S | PSL_IPL6) 1091.29Stsutsuidefine IPL_CLOCK IPL_CLOCK 1101.1Sscottr 1111.8Sscottr# magic 1121.1Sscottrdefine FC_USERD FC_USERD 1131.1Sscottrdefine FC_SUPERD FC_SUPERD 1141.1Sscottrdefine CACHE_ON CACHE_ON 1151.1Sscottrdefine CACHE_OFF CACHE_OFF 1161.1Sscottrdefine CACHE_CLR CACHE_CLR 1171.1Sscottrdefine CACHE40_ON CACHE40_ON 1181.1Sscottrdefine CACHE40_OFF CACHE40_OFF 1191.1Sscottrdefine IC_CLEAR IC_CLEAR 1201.1Sscottrdefine DC_CLEAR DC_CLEAR 1211.1Sscottr 1221.8Sscottr# pte/ste bits 1231.1Sscottrdefine PG_FRAME PG_FRAME 1241.1Sscottr 1251.8Sscottr# pcb fields 1261.1Sscottrdefine SIZEOF_PCB sizeof(struct pcb) 1271.1Sscottrdefine PCB_FLAGS offsetof(struct pcb, pcb_flags) 1281.1Sscottrdefine PCB_PS offsetof(struct pcb, pcb_ps) 1291.1Sscottrdefine PCB_USP offsetof(struct pcb, pcb_usp) 1301.1Sscottrdefine PCB_REGS offsetof(struct pcb, pcb_regs) 1311.1Sscottrdefine PCB_ONFAULT offsetof(struct pcb, pcb_onfault) 1321.1Sscottrdefine PCB_FPCTX offsetof(struct pcb, pcb_fpregs) 1331.1Sscottrdefine PCB_TRCB 5 1341.24Sthorpej 1351.24Sthorpej# frame offsets 1361.24Sthorpejdefine TF_PC offsetof(struct frame, f_pc) 1371.1Sscottr 1381.8Sscottr# exception frame offset/sizes 1391.1Sscottrdefine FR_SP offsetof(struct frame, f_regs[15]) 1401.1Sscottrdefine FR_HW offsetof(struct frame, f_sr) 1411.1Sscottrdefine FR_ADJ offsetof(struct frame, f_stackadj) 1421.8Sscottrdefine FR_SIZE sizeof(struct trapframe) 1431.20Stsutsui 1441.20Stsutsui# FP frame offsets 1451.20Stsutsuidefine FPF_REGS offsetof(struct fpframe, fpf_regs[0]) 1461.20Stsutsuidefine FPF_FPCR offsetof(struct fpframe, fpf_fpcr) 1471.1Sscottr 1481.8Sscottr# system calls 1491.8Sscottrdefine SYS_exit SYS_exit 1501.8Sscottrdefine SYS_execve SYS_execve 1511.26Scldefine SYS_compat_16___sigreturn14 SYS_compat_16___sigreturn14 1521.11Sthorpejdefine SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13 1531.1Sscottr 1541.8Sscottr# errno 1551.1Sscottrdefine ENOENT ENOENT 1561.1Sscottrdefine EFAULT EFAULT 1571.1Sscottrdefine ENAMETOOLONG ENAMETOOLONG 1581.13Skleink 1591.37Sjklos# machine ids 1601.37Sjklosdefine MACH_MACC610 MACH_MACC610 1611.37Sjklosdefine MACH_MACQ610 MACH_MACQ610 1621.37Sjklosdefine MACH_MACC650 MACH_MACC650 1631.37Sjklosdefine MACH_MACQ650 MACH_MACQ650 1641.37Sjklosdefine MACH_MACQ800 MACH_MACQ800 165