summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/sun3/sun3/genassym.c204
-rw-r--r--sys/arch/sun3/sun3/genassym.cf148
2 files changed, 148 insertions, 204 deletions
diff --git a/sys/arch/sun3/sun3/genassym.c b/sys/arch/sun3/sun3/genassym.c
deleted file mode 100644
index 8b4b14aa423..00000000000
--- a/sys/arch/sun3/sun3/genassym.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/* $OpenBSD: genassym.c,v 1.10 2000/11/09 01:27:38 miod Exp $ */
-/* $NetBSD: genassym.c,v 1.32 1996/10/23 16:39:27 gwr Exp $ */
-
-/*
- * Copyright (c) 1994, 1995 Gordon W. Ross
- * Copyright (c) 1993 Adam Glass
- * Copyright (c) 1982, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * from: @(#)genassym.c 8.3 (Berkeley) 1/4/94
- * from: genassym.c,v 1.9 1994/05/23 06:14:19 mycroft
- */
-
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/cdefs.h>
-#include <sys/errno.h>
-#include <sys/proc.h>
-#include <sys/syscall.h>
-
-#include <vm/vm.h>
-
-#include <machine/control.h>
-#include <machine/cpu.h>
-#include <machine/dvma.h>
-#include <machine/pcb.h>
-#include <machine/psl.h>
-#include <machine/pte.h>
-#include <machine/machdep.h>
-#include <machine/mon.h>
-#include <machine/vmparam.h>
-
-#include "intersil7170.h"
-#include "interreg.h"
-#include "buserr.h"
-
-#if 1 /* XXX - Temporary hack... */
-/*
- * Make this work correctly on a SPARC!
- * Should be able to fix this by adding:
- * __attribute__((packed)) where needed.
- */
-struct mytrapframe {
- int tf_regs[16];
- short tf_pad;
- short tf_stackadj;
- u_short tf_sr;
- u_short tf_pc[2]; /* XXX was: u_int tf_pc; */
- u_short tf_format:4,
- tf_vector:12;
-};
-#define trapframe mytrapframe
-#endif /* XXX */
-
-#ifdef __STDC__
-#define def1(name) def(#name, name)
-#else
-#define def1(name) def("name", name)
-#endif
-
-extern void printf __P((char *fmt, ...));
-extern void exit __P((int));
-
-void
-def(what, val)
- char *what;
- int val;
-{
- printf("#define\t%s\t", what);
- /* This just makes the output easier to verify. */
- printf(((val > 999) ? "0x%x\n" : "%d\n"), val);
-}
-
-int
-main()
-{
- struct pcb *pcb = (struct pcb *) 0;
- struct proc *p = (struct proc *) 0;
- struct vmspace *vms = (struct vmspace *) 0;
- struct intersil7170 *intersil_addr = (struct intersil7170 *) 0;
- struct trapframe *tf = (struct trapframe *) 0;
- struct fpframe *fpf = (struct fpframe *) 0;
-
- /* intersil clock internals */
- def("IREG_CLOCK_ENAB_5", IREG_CLOCK_ENAB_5);
- def("INTERSIL_INTR_OFFSET", &intersil_addr->clk_intr_reg);
- def1(INTERSIL_INTER_CSECONDS);
-
- /* bus error stuff */
- def1(BUSERR_REG);
- def1(BUSERR_MMU);
-
- /* 68k isms */
- def1(PSL_LOWIPL);
- def1(PSL_HIGHIPL);
- def1(PSL_USER);
- def1(PSL_S);
- def1(PSL_IPL7);
- def1(FC_CONTROL);
- def1(FC_SUPERD);
- def1(FC_USERD);
- def1(IC_CLEAR);
-
- /* sun3 control space isms */
- def1(CONTEXT_0);
- def1(CONTEXT_REG);
- def1(CONTEXT_NUM);
- def1(SYSTEM_ENAB);
- def1(SYSTEM_ENAB_FPP);
- def1(SEGMAP_BASE);
- def1(NBPG);
- def1(NBSG);
-
- /* sun3 memory map */
- def1(DVMA_SPACE_START);
- def1(MONSTART);
- def1(PROM_BASE);
- def1(USRSTACK);
-
- /* kernel-isms */
- def1(KERNBASE);
- def1(USPACE);
-
- /* system calls */
- def1(SYS_sigreturn);
-
- /* errno-isms */
- def1(EFAULT);
- def1(ENAMETOOLONG);
-
- /* trap types: locore.s includes trap.h */
-
- /*
- * unix structure-isms
- */
-
- /* proc fields and values */
- def("P_FORW", &p->p_forw);
- def("P_BACK", &p->p_back);
- def("P_VMSPACE", &p->p_vmspace);
- def("P_ADDR", &p->p_addr);
- def("P_PRIORITY", &p->p_priority);
- def("P_STAT", &p->p_stat);
- def("P_WCHAN", &p->p_wchan);
- def("P_FLAG", &p->p_flag);
- def("P_MDFLAG", &p->p_md.md_flags);
- def("P_MDREGS", &p->p_md.md_regs);
- def1(SRUN);
-
- /* HP-UX trace bit */
- def("MDP_TRCB", ffs(MDP_HPUXTRACE) - 1);
-
- /* VM structure fields */
- def("VM_PMAP", &vms->vm_map.pmap);
-
- /* pcb offsets */
- def("PCB_FLAGS", &pcb->pcb_flags);
- def("PCB_PS", &pcb->pcb_ps);
- def("PCB_USP", &pcb->pcb_usp);
- def("PCB_REGS", pcb->pcb_regs);
- def("PCB_ONFAULT", &pcb->pcb_onfault);
- def("PCB_FPCTX", &pcb->pcb_fpregs);
- def("SIZEOF_PCB", sizeof(*pcb));
-
- /* exception frame offset/sizes */
- def("FR_SP", &tf->tf_regs[15]);
- def("FR_ADJ", &tf->tf_stackadj);
- def("FR_HW", &tf->tf_sr);
- def("FR_SIZE", sizeof(*tf));
-
- /* FP frame offsets */
- def("FPF_REGS", &fpf->fpf_regs[0]);
- def("FPF_FPCR", &fpf->fpf_fpcr);
-
- exit(0);
-}
diff --git a/sys/arch/sun3/sun3/genassym.cf b/sys/arch/sun3/sun3/genassym.cf
new file mode 100644
index 00000000000..abc95789adc
--- /dev/null
+++ b/sys/arch/sun3/sun3/genassym.cf
@@ -0,0 +1,148 @@
+# $OpenBSD: genassym.cf,v 1.1 2001/01/04 22:41:22 miod Exp $
+# $NetBSD: genassym.c,v 1.32 1996/10/23 16:39:27 gwr Exp $
+
+#
+# Copyright (c) 1994, 1995 Gordon W. Ross
+# Copyright (c) 1993 Adam Glass
+# Copyright (c) 1982, 1990, 1993
+# The Regents of the University of California. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. All advertising materials mentioning features or use of this software
+# must display the following acknowledgement:
+# This product includes software developed by the University of
+# California, Berkeley and its contributors.
+# 4. Neither the name of the University nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# from: @(#)genassym.c 8.3 (Berkeley) 1/4/94
+# from: genassym.c,v 1.9 1994/05/23 06:14:19 mycroft
+#
+
+include <sys/param.h>
+include <sys/types.h>
+include <sys/cdefs.h>
+include <sys/errno.h>
+include <sys/proc.h>
+include <sys/syscall.h>
+
+include <vm/vm.h>
+
+include <machine/control.h>
+include <machine/cpu.h>
+include <machine/dvma.h>
+include <machine/pcb.h>
+include <machine/psl.h>
+include <machine/pte.h>
+include <machine/machdep.h>
+include <machine/mon.h>
+include <machine/vmparam.h>
+
+include <sun3/sun3/intersil7170.h>
+include <sun3/sun3/interreg.h>
+include <sun3/sun3/buserr.h>
+
+# general constants
+define NBPG NBPG
+define NBSG NBSG
+define KERNBASE KERNBASE
+define USPACE USPACE
+define USRSTACK USRSTACK
+
+# intersil clock internals
+define IREG_CLOCK_ENAB_5 IREG_CLOCK_ENAB_5
+define INTERSIL_INTR_OFFSET offsetof(struct intersil7170, clk_intr_reg)
+define INTERSIL_INTER_CSECONDS INTERSIL_INTER_CSECONDS
+
+# bus error
+define BUSERR_REG BUSERR_REG
+define BUSERR_MMU BUSERR_MMU
+
+# PSL values
+define PSL_LOWIPL PSL_LOWIPL
+define PSL_HIGHIPL PSL_HIGHIPL
+define PSL_USER PSL_USER
+define PSL_S PSL_S
+define PSL_IPL7 PSL_IPL7
+
+# magic
+define FC_CONTROL FC_CONTROL
+define FC_SUPERD FC_SUPERD
+define FC_USERD FC_USERD
+define IC_CLEAR IC_CLEAR
+
+# sun3 control space
+define CONTEXT_0 CONTEXT_0
+define CONTEXT_REG CONTEXT_REG
+define CONTEXT_NUM CONTEXT_NUM
+define SYSTEM_ENAB SYSTEM_ENAB
+define SYSTEM_ENAB_FPP SYSTEM_ENAB_FPP
+define SEGMAP_BASE SEGMAP_BASE
+
+# sun3 memory map
+define DVMA_SPACE_START DVMA_SPACE_START
+define MONSTART MONSTART
+define PROM_BASE PROM_BASE
+
+# system calls
+define SYS_sigreturn SYS_sigreturn
+
+# errno
+define EFAULT EFAULT
+define ENAMETOOLONG ENAMETOOLONG
+
+# proc fields and values
+define P_FORW offsetof(struct proc, p_forw)
+define P_BACK offsetof(struct proc, p_back)
+define P_VMSPACE offsetof(struct proc, p_vmspace)
+define P_ADDR offsetof(struct proc, p_addr)
+define P_PRIORITY offsetof(struct proc, p_priority)
+define P_STAT offsetof(struct proc, p_stat)
+define P_WCHAN offsetof(struct proc, p_wchan)
+define P_FLAG offsetof(struct proc, p_flag)
+define P_MD_FLAGS offsetof(struct proc, p_md.md_flags)
+define P_MD_REGS offsetof(struct proc, p_md.md_regs)
+
+define SRUN SRUN
+
+# VM structure fields
+define VM_PMAP offsetof(struct vmspace, vm_map.pmap)
+
+# pcb fields
+define PCB_FLAGS offsetof(struct pcb, pcb_flags)
+define PCB_PS offsetof(struct pcb, pcb_ps)
+define PCB_USP offsetof(struct pcb, pcb_usp)
+define PCB_REGS offsetof(struct pcb, pcb_regs)
+define PCB_ONFAULT offsetof(struct pcb, pcb_onfault)
+define PCB_FPCTX offsetof(struct pcb, pcb_fpregs)
+define SIZEOF_PCB sizeof(struct pcb)
+
+# exception frame offset/sizes
+define FR_SP offsetof(struct trapframe, tf_regs[15])
+define FR_HW offsetof(struct trapframe, tf_sr)
+define FR_ADJ offsetof(struct trapframe, tf_stackadj)
+define CFSIZE CFSIZE
+
+# FP frame offset
+define FPF_REGS offsetof(struct fpframe, fpf_regs[0])
+define FPF_FPCR offsetof(struct fpframe, fpf_fpcr)