# $OpenBSD: genassym.cf,v 1.21 2005/09/27 22:05:37 miod Exp $
# $NetBSD: genassym.cf,v 1.11 1998/02/16 20:58:29 thorpej Exp $
#
# 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. 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 8.3 (Berkeley) 1/4/94
#
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/user.h>
include <uvm/uvm_extern.h>
include <machine/hp300spu.h>
include <machine/cpu.h>
include <machine/psl.h>
include <machine/reg.h>
include <machine/pte.h>
include <hp300/dev/frodoreg.h>
include <hp300/hp300/clockreg.h>
# values for machineid
export HP_320
export HP_330
export HP_340
export HP_345
export HP_350
export HP_360
export HP_362
export HP_370
export HP_375
export HP_380
export HP_382
export HP_385
export HP_400
export HP_425
export HP_433
# values for mmuid
export MMUID_345
export MMUID_375
export MMUID_382
export MMUID_385
export MMUID_425_T
export MMUID_425_S
export MMUID_433_T
export MMUID_433_S
export MMUID_425_E
export MMUID_SHIFT
export MMUID_MASK
# values for ectype
export EC_PHYS
export EC_NONE
export EC_VIRT
# general constants
export UPAGES
export USPACE
export PGSHIFT
export USRSTACK
export MAXADDR
# proc fields and values
struct proc
member P_MD_FLAGS p_md.md_flags
member P_MD_REGS p_md.md_regs
export SSLEEP
# PSL values
export PSL_S
export PSL_IPL7
export PSL_LOWIPL
export PSL_USER
define PSL_TS PSL_T | PSL_S
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
# magic
export FC_PURGE
export INTIOBASE
export MMUBASE
export MMUSTAT
export MMUCMD
export MMUSSTP
export MMUUSTP
export MMUTBINVAL
export MMU_BERR
export MMU_ENAB
export MMU_FAULT
export MMU_CEN
export MMU_IEN
export MMU_FPE
export CACHE_ON
export CACHE_OFF
export CACHE_CLR
export IC_CLEAR
export DC_CLEAR
# pte/ste bits
export PG_V
export PG_NV
export PG_RO
export PG_RW
export PG_CI
export PG_PROT
export PG_FRAME
export SG_V
export SG_NV
export SG_RW
export SG_FRAME
export SG_ISHIFT
# pcb fields
struct pcb
member pcb_ps
member pcb_usp
member pcb_regs
member PCB_FPCTX pcb_fpregs
define SIZEOF_PCB sizeof(struct pcb)
# exception frame size
define FR_SIZE sizeof(struct trapframe)
# system calls
export SYS_execve
# clock registers
export CLKSR
export CLKMSB1
export CLKMSB3
# frodo physical address
export FRODO_BASE