genassym.cf revision 1.32
11.32Stsutsui#	$NetBSD: genassym.cf,v 1.32 2008/09/20 18:29:05 tsutsui 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.22Sjdolecekif defined(_KERNEL_OPT)
351.13Skleinkinclude "opt_compat_svr4.h"
361.21Sjdolecekendif
371.13Skleink
381.1Sscottrinclude	<sys/param.h>
391.1Sscottrinclude	<sys/buf.h>
401.1Sscottrinclude	<sys/mbuf.h>
411.1Sscottrinclude	<sys/msgbuf.h>
421.8Sscottrinclude	<sys/proc.h>
431.1Sscottrinclude	<sys/syscall.h>
441.1Sscottrinclude	<sys/user.h>
451.9Sscottr
461.9Sscottrinclude <uvm/uvm_extern.h>
471.1Sscottr
481.13Skleinkifdef COMPAT_SVR4
491.14Skleinkinclude <compat/svr4/svr4_syscall.h>
501.13Skleinkinclude <compat/svr4/svr4_ucontext.h>
511.13Skleinkendif
521.13Skleink
531.1Sscottrinclude	<machine/cpu.h>
541.1Sscottrinclude	<machine/psl.h>
551.1Sscottrinclude	<machine/reg.h>
561.1Sscottrinclude	<machine/pte.h>
571.1Sscottr
581.8Sscottr# machine class
591.8Sscottrdefine	CPUINFO_CLASS		offsetof(struct cpu_model_info, class)
601.8Sscottrdefine	MACH_CLASSAV		MACH_CLASSAV
611.8Sscottr
621.8Sscottr# values for mmutype
631.8Sscottrdefine	MMU_68851		MMU_68851
641.8Sscottrdefine	MMU_68030		MMU_68030
651.8Sscottrdefine	MMU_68040		MMU_68040
661.8Sscottr
671.8Sscottr# values for cputype
681.8Sscottrdefine	CPU_68020		CPU_68020
691.8Sscottrdefine	CPU_68030		CPU_68030
701.8Sscottrdefine	CPU_68040		CPU_68040
711.8Sscottr
721.8Sscottr# values for fputype
731.8Sscottrdefine	FPU_68881		FPU_68881
741.8Sscottrdefine	FPU_68882		FPU_68882
751.8Sscottrdefine	FPU_68040		FPU_68040
761.8Sscottr
771.8Sscottr# general constants
781.8Sscottrdefine	UPAGES			UPAGES
791.8Sscottrdefine	USPACE			USPACE
801.8Sscottrdefine	P1PAGES 		P1PAGES
811.25Sthorpejdefine	PAGE_SIZE		PAGE_SIZE
821.8Sscottrdefine	NPTEPG			NPTEPG
831.8Sscottrdefine	PGSHIFT 		PGSHIFT
841.8Sscottrdefine	SYSPTSIZE		SYSPTSIZE
851.8Sscottrdefine	USRPTSIZE		USRPTSIZE
861.8Sscottrdefine	USRIOSIZE		USRIOSIZE
871.8Sscottrdefine	USRSTACK		USRSTACK
881.8Sscottr
891.24Sthorpej# lwp & proc fields and values
901.24Sthorpejdefine	L_ADDR			offsetof(struct lwp, l_addr)
911.24Sthorpejdefine	L_PRIORITY		offsetof(struct lwp, l_priority)
921.24Sthorpejdefine	L_STAT			offsetof(struct lwp, l_stat)
931.24Sthorpejdefine	L_WCHAN			offsetof(struct lwp, l_wchan)
941.24Sthorpejdefine	L_PROC			offsetof(struct lwp, l_proc)
951.24Sthorpejdefine	L_MD_REGS		offsetof(struct lwp, l_md.md_regs)
961.24Sthorpejdefine	L_MD_FLAGS		offsetof(struct lwp, l_md.md_flags)
971.24Sthorpejdefine	P_FLAG			offsetof(struct proc, p_flag)
981.27Sdsldefine	P_RASLIST		offsetof(struct proc, p_raslist)
991.1Sscottrdefine	P_VMSPACE		offsetof(struct proc, p_vmspace)
1001.24Sthorpej
1011.24Sthorpej# lwp fields and values
1021.24Sthorpej
1031.24Sthorpejdefine	LSSLEEP			LSSLEEP
1041.24Sthorpejdefine	LSRUN			LSRUN
1051.24Sthorpejdefine	LSONPROC		LSONPROC
1061.1Sscottr
1071.8Sscottr# interrupt/fault metering
1081.8Sscottrdefine	UVMEXP_INTRS		offsetof(struct uvmexp, intrs)
1091.1Sscottr
1101.24Sthorpej#mE PSL values (should just include psl.h?)
1111.1Sscottrdefine	PSL_S			PSL_S
1121.1Sscottrdefine	PSL_IPL7		PSL_IPL7
1131.1Sscottrdefine	PSL_LOWIPL		PSL_LOWIPL
1141.1Sscottrdefine	PSL_HIGHIPL		PSL_HIGHIPL
1151.1Sscottrdefine	PSL_USER		PSL_USER
1161.16Sscottrdefine	PSL_TS			(PSL_T | PSL_S)
1171.1Sscottrdefine	SPL1			(PSL_S | PSL_IPL1)
1181.1Sscottrdefine	SPL2			(PSL_S | PSL_IPL2)
1191.1Sscottrdefine	SPL3			(PSL_S | PSL_IPL3)
1201.1Sscottrdefine	SPL4			(PSL_S | PSL_IPL4)
1211.1Sscottrdefine	SPL5			(PSL_S | PSL_IPL5)
1221.1Sscottrdefine	SPL6			(PSL_S | PSL_IPL6)
1231.29Stsutsuidefine	IPL_CLOCK		IPL_CLOCK
1241.1Sscottr
1251.8Sscottr# magic
1261.1Sscottrdefine	FC_USERD		FC_USERD
1271.1Sscottrdefine	FC_SUPERD		FC_SUPERD
1281.1Sscottrdefine	CACHE_ON		CACHE_ON
1291.1Sscottrdefine	CACHE_OFF		CACHE_OFF
1301.1Sscottrdefine	CACHE_CLR		CACHE_CLR
1311.1Sscottrdefine	CACHE40_ON		CACHE40_ON
1321.1Sscottrdefine	CACHE40_OFF		CACHE40_OFF
1331.1Sscottrdefine	IC_CLEAR		IC_CLEAR
1341.1Sscottrdefine	DC_CLEAR		DC_CLEAR
1351.1Sscottr
1361.8Sscottr# pte/ste bits
1371.1Sscottrdefine	PG_FRAME		PG_FRAME
1381.1Sscottr
1391.8Sscottr# pcb fields
1401.1Sscottrdefine	SIZEOF_PCB		sizeof(struct pcb)
1411.1Sscottrdefine	PCB_FLAGS		offsetof(struct pcb, pcb_flags)
1421.1Sscottrdefine	PCB_PS			offsetof(struct pcb, pcb_ps)
1431.1Sscottrdefine	PCB_USP 		offsetof(struct pcb, pcb_usp)
1441.1Sscottrdefine	PCB_REGS		offsetof(struct pcb, pcb_regs)
1451.1Sscottrdefine	PCB_ONFAULT		offsetof(struct pcb, pcb_onfault)
1461.1Sscottrdefine	PCB_FPCTX		offsetof(struct pcb, pcb_fpregs)
1471.1Sscottrdefine	PCB_TRCB		5
1481.24Sthorpej
1491.24Sthorpej# frame offsets
1501.24Sthorpejdefine	TF_PC			offsetof(struct frame, f_pc)
1511.1Sscottr
1521.8Sscottr# exception frame offset/sizes
1531.1Sscottrdefine	FR_SP			offsetof(struct frame, f_regs[15])
1541.1Sscottrdefine	FR_HW			offsetof(struct frame, f_sr)
1551.1Sscottrdefine	FR_ADJ			offsetof(struct frame, f_stackadj)
1561.8Sscottrdefine	FR_SIZE			sizeof(struct trapframe)
1571.20Stsutsui
1581.20Stsutsui# FP frame offsets
1591.20Stsutsuidefine	FPF_REGS		offsetof(struct fpframe, fpf_regs[0])
1601.20Stsutsuidefine	FPF_FPCR		offsetof(struct fpframe, fpf_fpcr)
1611.1Sscottr
1621.8Sscottr# system calls
1631.8Sscottrdefine	SYS_exit		SYS_exit
1641.8Sscottrdefine	SYS_execve		SYS_execve
1651.26Scldefine	SYS_compat_16___sigreturn14	SYS_compat_16___sigreturn14
1661.11Sthorpejdefine	SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13
1671.1Sscottr
1681.8Sscottr# errno
1691.1Sscottrdefine	ENOENT			ENOENT
1701.1Sscottrdefine	EFAULT			EFAULT
1711.1Sscottrdefine	ENAMETOOLONG		ENAMETOOLONG
1721.13Skleink
1731.13Skleink# SVR4 binary compatibility
1741.13Skleinkifdef COMPAT_SVR4
1751.13Skleinkdefine SVR4_SIGF_HANDLER	offsetof(struct svr4_sigframe, sf_handler)
1761.13Skleinkdefine SVR4_SIGF_UC		offsetof(struct svr4_sigframe, sf_uc)
1771.13Skleinkdefine SVR4_SYS_context		SVR4_SYS_context
1781.13Skleinkdefine SVR4_SYS_exit		SVR4_SYS_exit
1791.13Skleinkdefine SVR4_SETCONTEXT		SVR4_SETCONTEXT
1801.13Skleinkendif
181