genassym.cf revision 1.42
11.42Sthorpej# $NetBSD: genassym.cf,v 1.42 2023/12/27 03:03:41 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.1Sscottrinclude <machine/psl.h> 451.36Srmindinclude <machine/pcb.h> 461.1Sscottrinclude <machine/pte.h> 471.1Sscottr 481.8Sscottr# machine class 491.8Sscottrdefine CPUINFO_CLASS offsetof(struct cpu_model_info, class) 501.8Sscottrdefine MACH_CLASSAV MACH_CLASSAV 511.8Sscottr 521.8Sscottr# values for mmutype 531.8Sscottrdefine MMU_68851 MMU_68851 541.8Sscottrdefine MMU_68030 MMU_68030 551.8Sscottrdefine MMU_68040 MMU_68040 561.8Sscottr 571.8Sscottr# values for cputype 581.8Sscottrdefine CPU_68020 CPU_68020 591.8Sscottrdefine CPU_68030 CPU_68030 601.8Sscottrdefine CPU_68040 CPU_68040 611.8Sscottr 621.8Sscottr# values for fputype 631.8Sscottrdefine FPU_68881 FPU_68881 641.8Sscottrdefine FPU_68882 FPU_68882 651.8Sscottrdefine FPU_68040 FPU_68040 661.8Sscottr 671.8Sscottr# general constants 681.8Sscottrdefine UPAGES UPAGES 691.8Sscottrdefine USPACE USPACE 701.8Sscottrdefine P1PAGES P1PAGES 711.25Sthorpejdefine PAGE_SIZE PAGE_SIZE 721.8Sscottrdefine NPTEPG NPTEPG 731.8Sscottrdefine PGSHIFT PGSHIFT 741.8Sscottrdefine USRIOSIZE USRIOSIZE 751.8Sscottrdefine USRSTACK USRSTACK 761.8Sscottr 771.42Sthorpej# MMU configuration constants (from pmap.h) 781.42Sthorpejexport MMU51_SRP_BITS 791.42Sthorpejexport MMU51_CRP_BITS 801.42Sthorpejexport MMU51_TCR_BITS 811.42Sthorpejexport MMU40_TCR_BITS 821.42Sthorpej 831.24Sthorpej# lwp & proc fields and values 841.34Srminddefine L_PCB offsetof(struct lwp, l_addr) 851.24Sthorpejdefine L_PROC offsetof(struct lwp, l_proc) 861.24Sthorpejdefine L_MD_REGS offsetof(struct lwp, l_md.md_regs) 871.24Sthorpejdefine L_MD_FLAGS offsetof(struct lwp, l_md.md_flags) 881.24Sthorpejdefine P_FLAG offsetof(struct proc, p_flag) 891.27Sdsldefine P_RASLIST offsetof(struct proc, p_raslist) 901.1Sscottrdefine P_VMSPACE offsetof(struct proc, p_vmspace) 911.24Sthorpej 921.8Sscottr# interrupt/fault metering 931.35Smattdefine CI_NINTR offsetof(struct cpu_info, ci_data.cpu_nintr) 941.1Sscottr 951.24Sthorpej#mE PSL values (should just include psl.h?) 961.1Sscottrdefine PSL_S PSL_S 971.1Sscottrdefine PSL_IPL7 PSL_IPL7 981.1Sscottrdefine PSL_LOWIPL PSL_LOWIPL 991.1Sscottrdefine PSL_HIGHIPL PSL_HIGHIPL 1001.1Sscottrdefine PSL_USER PSL_USER 1011.16Sscottrdefine PSL_TS (PSL_T | PSL_S) 1021.1Sscottrdefine SPL1 (PSL_S | PSL_IPL1) 1031.1Sscottrdefine SPL2 (PSL_S | PSL_IPL2) 1041.1Sscottrdefine SPL3 (PSL_S | PSL_IPL3) 1051.1Sscottrdefine SPL4 (PSL_S | PSL_IPL4) 1061.1Sscottrdefine SPL5 (PSL_S | PSL_IPL5) 1071.1Sscottrdefine SPL6 (PSL_S | PSL_IPL6) 1081.29Stsutsuidefine IPL_CLOCK IPL_CLOCK 1091.1Sscottr 1101.8Sscottr# magic 1111.1Sscottrdefine FC_USERD FC_USERD 1121.1Sscottrdefine FC_SUPERD FC_SUPERD 1131.1Sscottrdefine CACHE_ON CACHE_ON 1141.1Sscottrdefine CACHE_OFF CACHE_OFF 1151.1Sscottrdefine CACHE_CLR CACHE_CLR 1161.1Sscottrdefine CACHE40_ON CACHE40_ON 1171.1Sscottrdefine CACHE40_OFF CACHE40_OFF 1181.1Sscottrdefine IC_CLEAR IC_CLEAR 1191.1Sscottrdefine DC_CLEAR DC_CLEAR 1201.1Sscottr 1211.8Sscottr# pte/ste bits 1221.1Sscottrdefine PG_FRAME PG_FRAME 1231.1Sscottr 1241.8Sscottr# pcb fields 1251.1Sscottrdefine SIZEOF_PCB sizeof(struct pcb) 1261.1Sscottrdefine PCB_FLAGS offsetof(struct pcb, pcb_flags) 1271.1Sscottrdefine PCB_PS offsetof(struct pcb, pcb_ps) 1281.1Sscottrdefine PCB_USP offsetof(struct pcb, pcb_usp) 1291.1Sscottrdefine PCB_REGS offsetof(struct pcb, pcb_regs) 1301.1Sscottrdefine PCB_ONFAULT offsetof(struct pcb, pcb_onfault) 1311.1Sscottrdefine PCB_FPCTX offsetof(struct pcb, pcb_fpregs) 1321.1Sscottrdefine PCB_TRCB 5 1331.24Sthorpej 1341.24Sthorpej# frame offsets 1351.24Sthorpejdefine TF_PC offsetof(struct frame, f_pc) 1361.1Sscottr 1371.8Sscottr# exception frame offset/sizes 1381.1Sscottrdefine FR_SP offsetof(struct frame, f_regs[15]) 1391.1Sscottrdefine FR_HW offsetof(struct frame, f_sr) 1401.1Sscottrdefine FR_ADJ offsetof(struct frame, f_stackadj) 1411.8Sscottrdefine FR_SIZE sizeof(struct trapframe) 1421.20Stsutsui 1431.20Stsutsui# FP frame offsets 1441.20Stsutsuidefine FPF_REGS offsetof(struct fpframe, fpf_regs[0]) 1451.20Stsutsuidefine FPF_FPCR offsetof(struct fpframe, fpf_fpcr) 1461.1Sscottr 1471.8Sscottr# system calls 1481.8Sscottrdefine SYS_exit SYS_exit 1491.8Sscottrdefine SYS_execve SYS_execve 1501.26Scldefine SYS_compat_16___sigreturn14 SYS_compat_16___sigreturn14 1511.11Sthorpejdefine SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13 1521.1Sscottr 1531.8Sscottr# errno 1541.1Sscottrdefine ENOENT ENOENT 1551.1Sscottrdefine EFAULT EFAULT 1561.1Sscottrdefine ENAMETOOLONG ENAMETOOLONG 1571.13Skleink 1581.37Sjklos# machine ids 1591.37Sjklosdefine MACH_MACC610 MACH_MACC610 1601.37Sjklosdefine MACH_MACQ610 MACH_MACQ610 1611.37Sjklosdefine MACH_MACC650 MACH_MACC650 1621.37Sjklosdefine MACH_MACQ650 MACH_MACQ650 1631.37Sjklosdefine MACH_MACQ800 MACH_MACQ800 164