genassym.cf revision 1.27
11.27Sdsl#	$NetBSD: genassym.cf,v 1.27 2003/11/04 10:33:16 dsl 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.25Sthorpejdefine	PAGE_SIZE		PAGE_SIZE
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.27Sdsldefine	P_RASLIST		offsetof(struct proc, p_raslist)
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.26Scldefine	SYS_compat_16___sigreturn14	SYS_compat_16___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