genassym.cf revision 1.24
11.24Sthorpej#	$NetBSD: genassym.cf,v 1.24 2003/01/17 23:21:40 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.1Sscottr# 3. All advertising materials mentioning features or use of this software
161.1Sscottr#    must display the following acknowledgement:
171.1Sscottr#	This product includes software developed by the University of
181.1Sscottr#	California, Berkeley and its contributors.
191.1Sscottr# 4. Neither the name of the University nor the names of its contributors
201.1Sscottr#    may be used to endorse or promote products derived from this software
211.1Sscottr#    without specific prior written permission.
221.1Sscottr#
231.1Sscottr# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
241.1Sscottr# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
251.1Sscottr# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
261.1Sscottr# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
271.1Sscottr# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
281.1Sscottr# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
291.1Sscottr# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
301.1Sscottr# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
311.1Sscottr# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
321.1Sscottr# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
331.1Sscottr# SUCH DAMAGE.
341.1Sscottr#
351.1Sscottr#	@(#)genassym.c	7.8 (Berkeley) 5/7/91
361.1Sscottr#
371.1Sscottr
381.22Sjdolecekif defined(_KERNEL_OPT)
391.13Skleinkinclude "opt_compat_svr4.h"
401.21Sjdolecekendif
411.13Skleink
421.1Sscottrinclude	<sys/param.h>
431.1Sscottrinclude	<sys/buf.h>
441.1Sscottrinclude	<sys/mbuf.h>
451.1Sscottrinclude	<sys/msgbuf.h>
461.8Sscottrinclude	<sys/proc.h>
471.1Sscottrinclude	<sys/syscall.h>
481.1Sscottrinclude	<sys/user.h>
491.9Sscottr
501.9Sscottrinclude <uvm/uvm_extern.h>
511.1Sscottr
521.13Skleinkifdef COMPAT_SVR4
531.14Skleinkinclude <compat/svr4/svr4_syscall.h>
541.13Skleinkinclude <compat/svr4/svr4_ucontext.h>
551.13Skleinkendif
561.13Skleink
571.1Sscottrinclude	<machine/cpu.h>
581.1Sscottrinclude	<machine/psl.h>
591.1Sscottrinclude	<machine/reg.h>
601.1Sscottrinclude	<machine/pte.h>
611.1Sscottr
621.8Sscottr# machine class
631.8Sscottrdefine	CPUINFO_CLASS		offsetof(struct cpu_model_info, class)
641.8Sscottrdefine	MACH_CLASSAV		MACH_CLASSAV
651.8Sscottr
661.8Sscottr# values for mmutype
671.8Sscottrdefine	MMU_68851		MMU_68851
681.8Sscottrdefine	MMU_68030		MMU_68030
691.8Sscottrdefine	MMU_68040		MMU_68040
701.8Sscottr
711.8Sscottr# values for cputype
721.8Sscottrdefine	CPU_68020		CPU_68020
731.8Sscottrdefine	CPU_68030		CPU_68030
741.8Sscottrdefine	CPU_68040		CPU_68040
751.8Sscottr
761.8Sscottr# values for fputype
771.8Sscottrdefine	FPU_68881		FPU_68881
781.8Sscottrdefine	FPU_68882		FPU_68882
791.8Sscottrdefine	FPU_68040		FPU_68040
801.8Sscottr
811.8Sscottr# general constants
821.8Sscottrdefine	UPAGES			UPAGES
831.8Sscottrdefine	USPACE			USPACE
841.8Sscottrdefine	P1PAGES 		P1PAGES
851.8Sscottrdefine	NBPG			NBPG
861.8Sscottrdefine	NPTEPG			NPTEPG
871.8Sscottrdefine	PGSHIFT 		PGSHIFT
881.8Sscottrdefine	SYSPTSIZE		SYSPTSIZE
891.8Sscottrdefine	USRPTSIZE		USRPTSIZE
901.8Sscottrdefine	USRIOSIZE		USRIOSIZE
911.8Sscottrdefine	USRSTACK		USRSTACK
921.8Sscottr
931.24Sthorpej# lwp & proc fields and values
941.24Sthorpejdefine	L_ADDR			offsetof(struct lwp, l_addr)
951.24Sthorpejdefine	L_BACK			offsetof(struct lwp, l_back)
961.24Sthorpejdefine	L_FORW			offsetof(struct lwp, l_forw)
971.24Sthorpejdefine	L_PRIORITY		offsetof(struct lwp, l_priority)
981.24Sthorpejdefine	L_STAT			offsetof(struct lwp, l_stat)
991.24Sthorpejdefine	L_WCHAN			offsetof(struct lwp, l_wchan)
1001.24Sthorpejdefine	L_PROC			offsetof(struct lwp, l_proc)
1011.24Sthorpejdefine	L_MD_REGS		offsetof(struct lwp, l_md.md_regs)
1021.24Sthorpejdefine	L_MD_FLAGS		offsetof(struct lwp, l_md.md_flags)
1031.24Sthorpejdefine	P_FLAG			offsetof(struct proc, p_flag)
1041.24Sthorpejdefine	P_NRAS			offsetof(struct proc, p_nras)
1051.1Sscottrdefine	P_VMSPACE		offsetof(struct proc, p_vmspace)
1061.24Sthorpej
1071.24Sthorpej# lwp fields and values
1081.24Sthorpej
1091.24Sthorpejdefine	LSSLEEP			LSSLEEP
1101.24Sthorpejdefine	LSRUN			LSRUN
1111.24Sthorpejdefine	LSONPROC		LSONPROC
1121.1Sscottr
1131.8Sscottr# interrupt/fault metering
1141.8Sscottrdefine	UVMEXP_INTRS		offsetof(struct uvmexp, intrs)
1151.1Sscottr
1161.24Sthorpej#mE PSL values (should just include psl.h?)
1171.1Sscottrdefine	PSL_S			PSL_S
1181.1Sscottrdefine	PSL_IPL7		PSL_IPL7
1191.1Sscottrdefine	PSL_LOWIPL		PSL_LOWIPL
1201.1Sscottrdefine	PSL_HIGHIPL		PSL_HIGHIPL
1211.1Sscottrdefine	PSL_USER		PSL_USER
1221.16Sscottrdefine	PSL_TS			(PSL_T | PSL_S)
1231.1Sscottrdefine	SPL1			(PSL_S | PSL_IPL1)
1241.1Sscottrdefine	SPL2			(PSL_S | PSL_IPL2)
1251.1Sscottrdefine	SPL3			(PSL_S | PSL_IPL3)
1261.1Sscottrdefine	SPL4			(PSL_S | PSL_IPL4)
1271.1Sscottrdefine	SPL5			(PSL_S | PSL_IPL5)
1281.1Sscottrdefine	SPL6			(PSL_S | PSL_IPL6)
1291.15Sbriggsdefine	MAC68K_IPL_CLOCK	MAC68K_IPL_CLOCK
1301.1Sscottr
1311.8Sscottr# magic
1321.1Sscottrdefine	FC_USERD		FC_USERD
1331.1Sscottrdefine	FC_SUPERD		FC_SUPERD
1341.1Sscottrdefine	CACHE_ON		CACHE_ON
1351.1Sscottrdefine	CACHE_OFF		CACHE_OFF
1361.1Sscottrdefine	CACHE_CLR		CACHE_CLR
1371.1Sscottrdefine	CACHE40_ON		CACHE40_ON
1381.1Sscottrdefine	CACHE40_OFF		CACHE40_OFF
1391.1Sscottrdefine	IC_CLEAR		IC_CLEAR
1401.1Sscottrdefine	DC_CLEAR		DC_CLEAR
1411.1Sscottr
1421.8Sscottr# pte/ste bits
1431.1Sscottrdefine	PG_FRAME		PG_FRAME
1441.1Sscottr
1451.8Sscottr# pcb fields
1461.1Sscottrdefine	SIZEOF_PCB		sizeof(struct pcb)
1471.1Sscottrdefine	PCB_FLAGS		offsetof(struct pcb, pcb_flags)
1481.1Sscottrdefine	PCB_PS			offsetof(struct pcb, pcb_ps)
1491.1Sscottrdefine	PCB_USP 		offsetof(struct pcb, pcb_usp)
1501.1Sscottrdefine	PCB_REGS		offsetof(struct pcb, pcb_regs)
1511.1Sscottrdefine	PCB_ONFAULT		offsetof(struct pcb, pcb_onfault)
1521.1Sscottrdefine	PCB_FPCTX		offsetof(struct pcb, pcb_fpregs)
1531.1Sscottrdefine	PCB_TRCB		5
1541.24Sthorpej
1551.24Sthorpej# frame offsets
1561.24Sthorpejdefine	TF_PC			offsetof(struct frame, f_pc)
1571.1Sscottr
1581.8Sscottr# exception frame offset/sizes
1591.1Sscottrdefine	FR_SP			offsetof(struct frame, f_regs[15])
1601.1Sscottrdefine	FR_HW			offsetof(struct frame, f_sr)
1611.1Sscottrdefine	FR_ADJ			offsetof(struct frame, f_stackadj)
1621.8Sscottrdefine	FR_SIZE			sizeof(struct trapframe)
1631.20Stsutsui
1641.20Stsutsui# FP frame offsets
1651.20Stsutsuidefine	FPF_REGS		offsetof(struct fpframe, fpf_regs[0])
1661.20Stsutsuidefine	FPF_FPCR		offsetof(struct fpframe, fpf_fpcr)
1671.1Sscottr
1681.8Sscottr# system calls
1691.8Sscottrdefine	SYS_exit		SYS_exit
1701.8Sscottrdefine	SYS_execve		SYS_execve
1711.10Sthorpejdefine	SYS___sigreturn14	SYS___sigreturn14
1721.11Sthorpejdefine	SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13
1731.1Sscottr
1741.8Sscottr# errno
1751.1Sscottrdefine	ENOENT			ENOENT
1761.1Sscottrdefine	EFAULT			EFAULT
1771.1Sscottrdefine	ENAMETOOLONG		ENAMETOOLONG
1781.13Skleink
1791.13Skleink# SVR4 binary compatibility
1801.13Skleinkifdef COMPAT_SVR4
1811.13Skleinkdefine SVR4_SIGF_HANDLER	offsetof(struct svr4_sigframe, sf_handler)
1821.13Skleinkdefine SVR4_SIGF_UC		offsetof(struct svr4_sigframe, sf_uc)
1831.13Skleinkdefine SVR4_SYS_context		SVR4_SYS_context
1841.13Skleinkdefine SVR4_SYS_exit		SVR4_SYS_exit
1851.13Skleinkdefine SVR4_SETCONTEXT		SVR4_SETCONTEXT
1861.13Skleinkendif
187