genassym.cf revision 1.44
11.44Sthorpej#	$NetBSD: genassym.cf,v 1.44 2023/12/27 19:26:29 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.43Sthorpejinclude <machine/fcode.h>
451.1Sscottrinclude	<machine/psl.h>
461.36Srmindinclude	<machine/pcb.h>
471.1Sscottrinclude	<machine/pte.h>
481.1Sscottr
491.8Sscottr# machine class
501.8Sscottrdefine	CPUINFO_CLASS		offsetof(struct cpu_model_info, class)
511.8Sscottrdefine	MACH_CLASSAV		MACH_CLASSAV
521.8Sscottr
531.8Sscottr# values for mmutype
541.8Sscottrdefine	MMU_68851		MMU_68851
551.8Sscottrdefine	MMU_68030		MMU_68030
561.8Sscottrdefine	MMU_68040		MMU_68040
571.8Sscottr
581.8Sscottr# values for cputype
591.8Sscottrdefine	CPU_68020		CPU_68020
601.8Sscottrdefine	CPU_68030		CPU_68030
611.8Sscottrdefine	CPU_68040		CPU_68040
621.8Sscottr
631.8Sscottr# values for fputype
641.8Sscottrdefine	FPU_68881		FPU_68881
651.8Sscottrdefine	FPU_68882		FPU_68882
661.8Sscottrdefine	FPU_68040		FPU_68040
671.8Sscottr
681.8Sscottr# general constants
691.8Sscottrdefine	UPAGES			UPAGES
701.8Sscottrdefine	USPACE			USPACE
711.8Sscottrdefine	P1PAGES 		P1PAGES
721.25Sthorpejdefine	PAGE_SIZE		PAGE_SIZE
731.8Sscottrdefine	NPTEPG			NPTEPG
741.8Sscottrdefine	PGSHIFT 		PGSHIFT
751.8Sscottrdefine	USRIOSIZE		USRIOSIZE
761.8Sscottrdefine	USRSTACK		USRSTACK
771.8Sscottr
781.42Sthorpej# MMU configuration constants (from pmap.h)
791.42Sthorpejexport	MMU51_SRP_BITS
801.42Sthorpejexport	MMU51_CRP_BITS
811.42Sthorpejexport	MMU51_TCR_BITS
821.42Sthorpejexport	MMU40_TCR_BITS
831.42Sthorpej
841.44Sthorpej# Transparent translation register values (from pmap.h)
851.44Sthorpejexport	MAC68K_TT_GET_PTE
861.44Sthorpej
871.24Sthorpej# lwp & proc fields and values
881.34Srminddefine	L_PCB			offsetof(struct lwp, l_addr)
891.24Sthorpejdefine	L_PROC			offsetof(struct lwp, l_proc)
901.24Sthorpejdefine	L_MD_REGS		offsetof(struct lwp, l_md.md_regs)
911.24Sthorpejdefine	L_MD_FLAGS		offsetof(struct lwp, l_md.md_flags)
921.24Sthorpejdefine	P_FLAG			offsetof(struct proc, p_flag)
931.27Sdsldefine	P_RASLIST		offsetof(struct proc, p_raslist)
941.1Sscottrdefine	P_VMSPACE		offsetof(struct proc, p_vmspace)
951.24Sthorpej
961.8Sscottr# interrupt/fault metering
971.35Smattdefine	CI_NINTR		offsetof(struct cpu_info, ci_data.cpu_nintr)
981.1Sscottr
991.24Sthorpej#mE PSL values (should just include psl.h?)
1001.1Sscottrdefine	PSL_S			PSL_S
1011.1Sscottrdefine	PSL_IPL7		PSL_IPL7
1021.1Sscottrdefine	PSL_LOWIPL		PSL_LOWIPL
1031.1Sscottrdefine	PSL_HIGHIPL		PSL_HIGHIPL
1041.1Sscottrdefine	PSL_USER		PSL_USER
1051.16Sscottrdefine	PSL_TS			(PSL_T | PSL_S)
1061.1Sscottrdefine	SPL1			(PSL_S | PSL_IPL1)
1071.1Sscottrdefine	SPL2			(PSL_S | PSL_IPL2)
1081.1Sscottrdefine	SPL3			(PSL_S | PSL_IPL3)
1091.1Sscottrdefine	SPL4			(PSL_S | PSL_IPL4)
1101.1Sscottrdefine	SPL5			(PSL_S | PSL_IPL5)
1111.1Sscottrdefine	SPL6			(PSL_S | PSL_IPL6)
1121.29Stsutsuidefine	IPL_CLOCK		IPL_CLOCK
1131.1Sscottr
1141.8Sscottr# magic
1151.1Sscottrdefine	FC_USERD		FC_USERD
1161.1Sscottrdefine	FC_SUPERD		FC_SUPERD
1171.1Sscottrdefine	CACHE_ON		CACHE_ON
1181.1Sscottrdefine	CACHE_OFF		CACHE_OFF
1191.1Sscottrdefine	CACHE_CLR		CACHE_CLR
1201.1Sscottrdefine	CACHE40_ON		CACHE40_ON
1211.1Sscottrdefine	CACHE40_OFF		CACHE40_OFF
1221.1Sscottrdefine	IC_CLEAR		IC_CLEAR
1231.1Sscottrdefine	DC_CLEAR		DC_CLEAR
1241.1Sscottr
1251.8Sscottr# pte/ste bits
1261.1Sscottrdefine	PG_FRAME		PG_FRAME
1271.1Sscottr
1281.8Sscottr# pcb fields
1291.1Sscottrdefine	SIZEOF_PCB		sizeof(struct pcb)
1301.1Sscottrdefine	PCB_FLAGS		offsetof(struct pcb, pcb_flags)
1311.1Sscottrdefine	PCB_PS			offsetof(struct pcb, pcb_ps)
1321.1Sscottrdefine	PCB_USP 		offsetof(struct pcb, pcb_usp)
1331.1Sscottrdefine	PCB_REGS		offsetof(struct pcb, pcb_regs)
1341.1Sscottrdefine	PCB_ONFAULT		offsetof(struct pcb, pcb_onfault)
1351.1Sscottrdefine	PCB_FPCTX		offsetof(struct pcb, pcb_fpregs)
1361.1Sscottrdefine	PCB_TRCB		5
1371.24Sthorpej
1381.24Sthorpej# frame offsets
1391.24Sthorpejdefine	TF_PC			offsetof(struct frame, f_pc)
1401.1Sscottr
1411.8Sscottr# exception frame offset/sizes
1421.1Sscottrdefine	FR_SP			offsetof(struct frame, f_regs[15])
1431.1Sscottrdefine	FR_HW			offsetof(struct frame, f_sr)
1441.1Sscottrdefine	FR_ADJ			offsetof(struct frame, f_stackadj)
1451.8Sscottrdefine	FR_SIZE			sizeof(struct trapframe)
1461.20Stsutsui
1471.20Stsutsui# FP frame offsets
1481.20Stsutsuidefine	FPF_REGS		offsetof(struct fpframe, fpf_regs[0])
1491.20Stsutsuidefine	FPF_FPCR		offsetof(struct fpframe, fpf_fpcr)
1501.1Sscottr
1511.8Sscottr# system calls
1521.8Sscottrdefine	SYS_exit		SYS_exit
1531.8Sscottrdefine	SYS_execve		SYS_execve
1541.26Scldefine	SYS_compat_16___sigreturn14	SYS_compat_16___sigreturn14
1551.11Sthorpejdefine	SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13
1561.1Sscottr
1571.8Sscottr# errno
1581.1Sscottrdefine	ENOENT			ENOENT
1591.1Sscottrdefine	EFAULT			EFAULT
1601.1Sscottrdefine	ENAMETOOLONG		ENAMETOOLONG
1611.13Skleink
1621.37Sjklos# machine ids
1631.37Sjklosdefine MACH_MACC610		MACH_MACC610
1641.37Sjklosdefine MACH_MACQ610		MACH_MACQ610
1651.37Sjklosdefine MACH_MACC650		MACH_MACC650
1661.37Sjklosdefine MACH_MACQ650		MACH_MACQ650
1671.37Sjklosdefine MACH_MACQ800		MACH_MACQ800
168