genassym.cf revision 1.8
1# $NetBSD: genassym.cf,v 1.8 1998/04/20 05:40:28 scottr Exp $ 2 3# 4# Copyright (c) 1990 The Regents of the University of California. 5# All rights reserved. 6# 7# Redistribution and use in source and binary forms, with or without 8# modification, are permitted provided that the following conditions 9# are met: 10# 1. Redistributions of source code must retain the above copyright 11# notice, this list of conditions and the following disclaimer. 12# 2. Redistributions in binary form must reproduce the above copyright 13# notice, this list of conditions and the following disclaimer in the 14# documentation and/or other materials provided with the distribution. 15# 3. All advertising materials mentioning features or use of this software 16# must display the following acknowledgement: 17# This product includes software developed by the University of 18# California, Berkeley and its contributors. 19# 4. Neither the name of the University nor the names of its contributors 20# may be used to endorse or promote products derived from this software 21# without specific prior written permission. 22# 23# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 24# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 26# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 27# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33# SUCH DAMAGE. 34# 35# @(#)genassym.c 7.8 (Berkeley) 5/7/91 36# 37 38include <sys/param.h> 39include <sys/buf.h> 40include <sys/map.h> 41include <sys/mbuf.h> 42include <sys/msgbuf.h> 43include <sys/proc.h> 44include <sys/syscall.h> 45include <sys/user.h> 46 47include <vm/vm.h> 48 49include <machine/cpu.h> 50include <machine/psl.h> 51include <machine/reg.h> 52include <machine/pte.h> 53 54# machine class 55define CPUINFO_CLASS offsetof(struct cpu_model_info, class) 56define MACH_CLASSAV MACH_CLASSAV 57 58# values for mmutype 59define MMU_68851 MMU_68851 60define MMU_68030 MMU_68030 61define MMU_68040 MMU_68040 62 63# values for cputype 64define CPU_68020 CPU_68020 65define CPU_68030 CPU_68030 66define CPU_68040 CPU_68040 67 68# values for fputype 69define FPU_68881 FPU_68881 70define FPU_68882 FPU_68882 71define FPU_68040 FPU_68040 72 73# general constants 74define UPAGES UPAGES 75define USPACE USPACE 76define P1PAGES P1PAGES 77define CLSIZE CLSIZE 78define NBPG NBPG 79define NPTEPG NPTEPG 80define PGSHIFT PGSHIFT 81define SYSPTSIZE SYSPTSIZE 82define USRPTSIZE USRPTSIZE 83define USRIOSIZE USRIOSIZE 84define USRSTACK USRSTACK 85 86# proc fields and values 87define P_FORW offsetof(struct proc, p_forw) 88define P_BACK offsetof(struct proc, p_back) 89define P_VMSPACE offsetof(struct proc, p_vmspace) 90define P_ADDR offsetof(struct proc, p_addr) 91define P_MD offsetof(struct proc, p_md) 92define P_PID offsetof(struct proc, p_pid) 93define P_PRIORITY offsetof(struct proc, p_priority) 94define P_STAT offsetof(struct proc, p_stat) 95define P_WCHAN offsetof(struct proc, p_wchan) 96define P_FLAG offsetof(struct proc, p_flag) 97define P_MD_REGS offsetof(struct proc, p_md.md_regs) 98define P_MD_FLAGS offsetof(struct proc, p_md.md_flags) 99define SSLEEP SSLEEP 100define SRUN SRUN 101 102# interrupt/fault metering 103ifdef UVM 104define UVMEXP_INTRS offsetof(struct uvmexp, intrs) 105else 106define V_SWTCH offsetof(struct vmmeter, v_swtch) 107define V_TRAP offsetof(struct vmmeter, v_trap) 108define V_SYSCALL offsetof(struct vmmeter, v_syscall) 109define V_INTR offsetof(struct vmmeter, v_intr) 110define V_SOFT offsetof(struct vmmeter, v_soft) 111endif 112 113# PSL values (should just include psl.h?) 114define PSL_S PSL_S 115define PSL_IPL7 PSL_IPL7 116define PSL_LOWIPL PSL_LOWIPL 117define PSL_HIGHIPL PSL_HIGHIPL 118define PSL_USER PSL_USER 119define SPL1 (PSL_S | PSL_IPL1) 120define SPL2 (PSL_S | PSL_IPL2) 121define SPL3 (PSL_S | PSL_IPL3) 122define SPL4 (PSL_S | PSL_IPL4) 123define SPL5 (PSL_S | PSL_IPL5) 124define SPL6 (PSL_S | PSL_IPL6) 125 126# magic 127define FC_USERD FC_USERD 128define FC_SUPERD FC_SUPERD 129define CACHE_ON CACHE_ON 130define CACHE_OFF CACHE_OFF 131define CACHE_CLR CACHE_CLR 132define CACHE40_ON CACHE40_ON 133define CACHE40_OFF CACHE40_OFF 134define IC_CLEAR IC_CLEAR 135define DC_CLEAR DC_CLEAR 136 137# pte/ste bits 138define PG_FRAME PG_FRAME 139 140# pcb fields 141define SIZEOF_PCB sizeof(struct pcb) 142define PCB_FLAGS offsetof(struct pcb, pcb_flags) 143define PCB_PS offsetof(struct pcb, pcb_ps) 144define PCB_USP offsetof(struct pcb, pcb_usp) 145define PCB_REGS offsetof(struct pcb, pcb_regs) 146define PCB_ONFAULT offsetof(struct pcb, pcb_onfault) 147define PCB_FPCTX offsetof(struct pcb, pcb_fpregs) 148define PCB_TRCB 5 149 150# exception frame offset/sizes 151define FR_SP offsetof(struct frame, f_regs[15]) 152define FR_HW offsetof(struct frame, f_sr) 153define FR_ADJ offsetof(struct frame, f_stackadj) 154define FR_SIZE sizeof(struct trapframe) 155 156# system calls 157define SYS_exit SYS_exit 158define SYS_execve SYS_execve 159define SYS_sigreturn SYS_sigreturn 160 161# errno 162define ENOENT ENOENT 163define EFAULT EFAULT 164define ENAMETOOLONG ENAMETOOLONG 165