Use genassym.sh to facilitate cross-compiling.

This commit is contained in:
scottr 1997-04-15 06:11:38 +00:00
parent bfba04e072
commit 00631be59a
3 changed files with 193 additions and 213 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.mac68k,v 1.52 1997/03/14 23:27:30 mycroft Exp $
# $NetBSD: Makefile.mac68k,v 1.53 1997/04/15 06:11:38 scottr Exp $
# Makefile for NetBSD
#
@ -104,14 +104,10 @@ LINKFLAGS+= -S
%LOAD
assym.h: genassym
./genassym >assym.h
genassym: genassym.o
${CC} -o $@ genassym.o
genassym.o: ${MAC68K}/mac68k/genassym.c
${HOSTED_C}
assym.h: $S/kern/genassym.sh ${MAC68K}/mac68k/genassym.cf
sh $S/kern/genassym.sh ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} \
< ${MAC68K}/mac68k/genassym.cf > assym.h.tmp && \
mv -f assym.h.tmp assym.h
param.c: $S/conf/param.c
rm -f param.c
@ -131,7 +127,7 @@ newvers: ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP}
clean: cleankernel
cleankernel:
rm -f eddep *netbsd netbsd.gdb tags *.[io] [a-z]*.s \
[Ee]rrs linterrs makelinks genassym genassym.o assym.h
[Ee]rrs linterrs makelinks assym.h.tmp assym.h
lint:
@lint -hbxncez -Dvolatile= ${CPPFLAGS} -UKGDB \
@ -157,8 +153,9 @@ depend: .depend
${MKDEP} ${AFLAGS} ${CPPFLAGS} ${MAC68K}/mac68k/locore.s
${MKDEP} -a ${CFLAGS} ${CPPFLAGS} param.c ioconf.c ${CFILES}
${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${SFILES}
${MKDEP} -a ${HOSTED_CFLAGS} ${HOSTED_CPPFLAGS} \
${MAC68K}/mac68k/genassym.c
-if test -n "${SFILES}"; then \
${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${SFILES}; \
fi
# depend on root or device configuration

View File

@ -1,201 +0,0 @@
/* $NetBSD: genassym.c,v 1.22 1997/01/09 07:14:17 scottr Exp $ */
/*
* Copyright (c) 1990 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.
*
* @(#)genassym.c 7.8 (Berkeley) 5/7/91
*/
#include <sys/param.h>
#include <sys/buf.h>
#include <sys/proc.h>
#include <sys/mbuf.h>
#include <sys/msgbuf.h>
#include <sys/syscall.h>
#include <sys/systm.h>
#include <sys/types.h>
#include <sys/user.h>
#include <vm/vm.h>
#include <machine/cpu.h>
#include <machine/trap.h>
#include <machine/psl.h>
#include <machine/reg.h>
#include <machine/pte.h>
#include "clockreg.h"
int
main(void)
{
register struct proc *p = (struct proc *)0;
register struct mdproc *mdproc = (struct mdproc *)0;
register struct vmmeter *vm = (struct vmmeter *)0;
register struct user *up = (struct user *)0;
register struct rusage *rup = (struct rusage *)0;
register struct frame *frame = (struct frame *)0;
struct vmspace *vms = (struct vmspace *)0;
pmap_t pmap = (pmap_t)0;
struct pcb *pcb = (struct pcb *)0;
printf("#define\tP_FORW %p\n", &p->p_forw);
printf("#define\tP_BACK %p\n", &p->p_back);
printf("#define\tP_VMSPACE %p\n", &p->p_vmspace);
printf("#define\tP_ADDR %p\n", &p->p_addr);
printf("#define\tP_MD %p\n", &p->p_md);
printf("#define\tP_PID %p\n", &p->p_pid);
printf("#define\tP_PRIORITY %p\n", &p->p_priority);
printf("#define\tP_STAT %p\n", &p->p_stat);
printf("#define\tP_WCHAN %p\n", &p->p_wchan);
printf("#define\tP_FLAG %p\n", &p->p_flag);
printf("#define\tP_MD_REGS %p\n", &p->p_md.md_regs);
printf("#define\tP_MD_FLAGS %p\n", &p->p_md.md_flags);
printf("#define\tSSLEEP %d\n", SSLEEP);
printf("#define\tSRUN %d\n", SRUN);
printf("#define\tMD_REGS %p\n", &mdproc->md_regs);
printf("#define\tPM_STCHG %p\n", &pmap->pm_stchanged);
printf("#define\tVM_PMAP %p\n", &vms->vm_pmap);
printf("#define\tV_SWTCH %p\n", &vm->v_swtch);
printf("#define\tV_TRAP %p\n", &vm->v_trap);
printf("#define\tV_SYSCALL %p\n", &vm->v_syscall);
printf("#define\tV_INTR %p\n", &vm->v_intr);
printf("#define\tV_SOFT %p\n", &vm->v_soft);
printf("#define\tUPAGES %d\n", UPAGES);
printf("#define\tUSPACE %d\n", USPACE);
printf("#define\tP1PAGES %d\n", P1PAGES);
printf("#define\tCLSIZE %d\n", CLSIZE);
printf("#define\tNBPG %d\n", NBPG);
printf("#define\tNPTEPG %d\n", NPTEPG);
printf("#define\tPGSHIFT %d\n", PGSHIFT);
printf("#define\tSYSPTSIZE %d\n", SYSPTSIZE);
printf("#define\tUSRPTSIZE %d\n", USRPTSIZE);
printf("#define\tUSRIOSIZE %d\n", USRIOSIZE);
printf("#define\tUSRSTACK %d\n", USRSTACK);
printf("#define\tMSGBUFPTECNT %d\n", btoc(sizeof (struct msgbuf)));
printf("#define\tNMBCLUSTERS %d\n", NMBCLUSTERS);
printf("#define\tMCLBYTES %d\n", MCLBYTES);
printf("#define\tNKMEMCLUSTERS %d\n", NKMEMCLUSTERS);
#ifdef SYSVSHM
printf("#define\tSHMMAXPGS %d\n", SHMMAXPGS);
#endif
printf("#define\tU_PROF %p\n", &up->u_stats.p_prof);
printf("#define\tU_PROFSCALE %p\n", &up->u_stats.p_prof.pr_scale);
printf("#define\tRU_MINFLT %p\n", &rup->ru_minflt);
printf("#define\tT_BUSERR %d\n", T_BUSERR);
printf("#define\tT_ADDRERR %d\n", T_ADDRERR);
printf("#define\tT_ILLINST %d\n", T_ILLINST);
printf("#define\tT_ZERODIV %d\n", T_ZERODIV);
printf("#define\tT_CHKINST %d\n", T_CHKINST);
printf("#define\tT_TRAPVINST %d\n", T_TRAPVINST);
printf("#define\tT_PRIVINST %d\n", T_PRIVINST);
printf("#define\tT_TRACE %d\n", T_TRACE);
printf("#define\tT_MMUFLT %d\n", T_MMUFLT);
printf("#define\tT_SSIR %d\n", T_SSIR);
printf("#define\tT_FMTERR %d\n", T_FMTERR);
printf("#define\tT_COPERR %d\n", T_COPERR);
printf("#define\tT_FPERR %d\n", T_FPERR);
printf("#define\tT_ASTFLT %d\n", T_ASTFLT);
printf("#define\tT_TRAP15 %d\n", T_TRAP15);
printf("#define\tT_FPEMULI %d\n", T_FPEMULI);
printf("#define\tT_FPEMULD %d\n", T_FPEMULD);
printf("#define\tPSL_S %d\n", PSL_S);
printf("#define\tPSL_IPL7 %d\n", PSL_IPL7);
printf("#define\tPSL_LOWIPL %d\n", PSL_LOWIPL);
printf("#define\tPSL_HIGHIPL %d\n", PSL_HIGHIPL);
printf("#define\tPSL_USER %d\n", PSL_USER);
printf("#define\tSPL1 %d\n", PSL_S | PSL_IPL1);
printf("#define\tSPL2 %d\n", PSL_S | PSL_IPL2);
printf("#define\tSPL3 %d\n", PSL_S | PSL_IPL3);
printf("#define\tSPL4 %d\n", PSL_S | PSL_IPL4);
printf("#define\tSPL5 %d\n", PSL_S | PSL_IPL5);
printf("#define\tSPL6 %d\n", PSL_S | PSL_IPL6);
printf("#define\tFC_USERD %d\n", FC_USERD);
printf("#define\tFC_SUPERD %d\n", FC_SUPERD);
printf("#define\tCACHE_ON %d\n", CACHE_ON);
printf("#define\tCACHE_OFF %d\n", CACHE_OFF);
printf("#define\tCACHE_CLR %d\n", CACHE_CLR);
printf("#define\tCACHE40_ON %d\n", CACHE40_ON);
printf("#define\tCACHE40_OFF %d\n", CACHE40_OFF);
printf("#define\tIC_CLEAR %d\n", IC_CLEAR);
printf("#define\tDC_CLEAR %d\n", DC_CLEAR);
printf("#define\tPG_FRAME %d\n", PG_FRAME);
printf("#define\tSIZEOF_PCB %d\n", sizeof(struct pcb));
printf("#define\tPCB_FLAGS %p\n", &pcb->pcb_flags);
printf("#define\tPCB_PS %p\n", &pcb->pcb_ps);
printf("#define\tPCB_USTP %p\n", &pcb->pcb_ustp);
printf("#define\tPCB_USP %p\n", &pcb->pcb_usp);
printf("#define\tPCB_REGS %p\n", pcb->pcb_regs);
printf("#define\tPCB_ONFAULT %p\n", &pcb->pcb_onfault);
printf("#define\tPCB_FPCTX %p\n", &pcb->pcb_fpregs);
printf("#define\tPCB_TRCB %d\n", 5);
printf("#define\tFR_SP %p\n", &frame->f_regs[15]);
printf("#define\tFR_HW %p\n", &frame->f_sr);
printf("#define\tFR_ADJ %p\n", &frame->f_stackadj);
printf("#define\tB_READ %d\n", B_READ);
printf("#define\tENOENT %d\n", ENOENT);
printf("#define\tEFAULT %d\n", EFAULT);
printf("#define\tENAMETOOLONG %d\n", ENAMETOOLONG);
printf("#define\tSYS_exit %d\n", SYS_exit);
printf("#define\tSYS_execve %d\n", SYS_execve);
printf("#define\tSYS_sigreturn %d\n", SYS_sigreturn);
printf("#define\tCPU_68020 %d\n", CPU_68020);
printf("#define\tCPU_68030 %d\n", CPU_68030);
printf("#define\tCPU_68040 %d\n", CPU_68040);
printf("#define\tMMU_68851 %d\n", MMU_68851);
printf("#define\tMMU_68030 %d\n", MMU_68030);
printf("#define\tMMU_68040 %d\n", MMU_68040);
printf("#define\tFPU_68881 %d\n", FPU_68881);
printf("#define\tFPU_68882 %d\n", FPU_68882);
printf("#define\tFPU_68040 %d\n", FPU_68040);
exit(0);
}

View File

@ -0,0 +1,184 @@
# $NetBSD: genassym.cf,v 1.1 1997/04/15 06:11:40 scottr Exp $
#
# Copyright (c) 1990 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.
#
# @(#)genassym.c 7.8 (Berkeley) 5/7/91
#
include <sys/param.h>
include <sys/buf.h>
include <sys/proc.h>
include <sys/mbuf.h>
include <sys/msgbuf.h>
include <sys/syscall.h>
include <sys/systm.h>
include <sys/types.h>
include <sys/user.h>
include <vm/vm.h>
include <machine/cpu.h>
include <machine/trap.h>
include <machine/psl.h>
include <machine/reg.h>
include <machine/pte.h>
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_MD offsetof(struct proc, p_md)
define P_PID offsetof(struct proc, p_pid)
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_REGS offsetof(struct proc, p_md.md_regs)
define P_MD_FLAGS offsetof(struct proc, p_md.md_flags)
define SSLEEP SSLEEP
define SRUN SRUN
define MD_REGS offsetof(struct mdproc, md_regs)
define PM_STCHG offsetof(struct pmap, pm_stchanged)
define VM_PMAP offsetof(struct vmspace, vm_pmap)
define V_SWTCH offsetof(struct vmmeter, v_swtch)
define V_TRAP offsetof(struct vmmeter, v_trap)
define V_SYSCALL offsetof(struct vmmeter, v_syscall)
define V_INTR offsetof(struct vmmeter, v_intr)
define V_SOFT offsetof(struct vmmeter, v_soft)
define UPAGES UPAGES
define USPACE USPACE
define P1PAGES P1PAGES
define CLSIZE CLSIZE
define NBPG NBPG
define NPTEPG NPTEPG
define PGSHIFT PGSHIFT
define SYSPTSIZE SYSPTSIZE
define USRPTSIZE USRPTSIZE
define USRIOSIZE USRIOSIZE
define USRSTACK USRSTACK
define MSGBUFPTECNT btoc(sizeof (struct msgbuf))
define NMBCLUSTERS NMBCLUSTERS
define MCLBYTES MCLBYTES
define NKMEMCLUSTERS NKMEMCLUSTERS
quote #ifdef SYSVSHM
define SHMMAXPGS SHMMAXPGS
quote #endif
define U_PROF offsetof(struct user, u_stats.p_prof)
define U_PROFSCALE offsetof(struct user, u_stats.p_prof.pr_scale)
define RU_MINFLT offsetof(struct rusage, ru_minflt)
define T_BUSERR T_BUSERR
define T_ADDRERR T_ADDRERR
define T_ILLINST T_ILLINST
define T_ZERODIV T_ZERODIV
define T_CHKINST T_CHKINST
define T_TRAPVINST T_TRAPVINST
define T_PRIVINST T_PRIVINST
define T_TRACE T_TRACE
define T_MMUFLT T_MMUFLT
define T_SSIR T_SSIR
define T_FMTERR T_FMTERR
define T_COPERR T_COPERR
define T_FPERR T_FPERR
define T_ASTFLT T_ASTFLT
define T_TRAP15 T_TRAP15
define T_FPEMULI T_FPEMULI
define T_FPEMULD T_FPEMULD
define PSL_S PSL_S
define PSL_IPL7 PSL_IPL7
define PSL_LOWIPL PSL_LOWIPL
define PSL_HIGHIPL PSL_HIGHIPL
define PSL_USER PSL_USER
define SPL1 (PSL_S | PSL_IPL1)
define SPL2 (PSL_S | PSL_IPL2)
define SPL3 (PSL_S | PSL_IPL3)
define SPL4 (PSL_S | PSL_IPL4)
define SPL5 (PSL_S | PSL_IPL5)
define SPL6 (PSL_S | PSL_IPL6)
define FC_USERD FC_USERD
define FC_SUPERD FC_SUPERD
define CACHE_ON CACHE_ON
define CACHE_OFF CACHE_OFF
define CACHE_CLR CACHE_CLR
define CACHE40_ON CACHE40_ON
define CACHE40_OFF CACHE40_OFF
define IC_CLEAR IC_CLEAR
define DC_CLEAR DC_CLEAR
define PG_FRAME PG_FRAME
define SIZEOF_PCB sizeof(struct pcb)
define PCB_FLAGS offsetof(struct pcb, pcb_flags)
define PCB_PS offsetof(struct pcb, pcb_ps)
define PCB_USTP offsetof(struct pcb, pcb_ustp)
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 PCB_TRCB 5
define FR_SP offsetof(struct frame, f_regs[15])
define FR_HW offsetof(struct frame, f_sr)
define FR_ADJ offsetof(struct frame, f_stackadj)
define B_READ B_READ
define ENOENT ENOENT
define EFAULT EFAULT
define ENAMETOOLONG ENAMETOOLONG
define SYS_exit SYS_exit
define SYS_execve SYS_execve
define SYS_sigreturn SYS_sigreturn
define CPU_68020 CPU_68020
define CPU_68030 CPU_68030
define CPU_68040 CPU_68040
define MMU_68851 MMU_68851
define MMU_68030 MMU_68030
define MMU_68040 MMU_68040
define FPU_68881 FPU_68881
define FPU_68882 FPU_68882
define FPU_68040 FPU_68040