NetBSD-5.0.2/sys/arch/hp700/hp700/genassym.cf

#	$NetBSD: genassym.cf,v 1.16 2008/09/20 18:29:05 tsutsui Exp $

#	$OpenBSD: genassym.cf,v 1.18 2001/09/20 18:31:14 mickey 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
#

quote #define __MUTEX_PRIVATE
quote #define __RWLOCK_PRIVATE

include <sys/param.h>
include <sys/systm.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 <sys/mutex.h>
include <sys/rwlock.h>

include <uvm/uvm.h>

include	<machine/types.h>
include <machine/cpu.h>
include <machine/psl.h>
include <machine/reg.h>
include <machine/pte.h>
include <machine/frame.h>
include <machine/pmap.h>
include <machine/iomod.h>
include <machine/lock.h>

include <hp700/hp700/intr.h>

include <hppa/hppa/hpt.h>

# general constants
export	PGSHIFT
export	USRSTACK
export	HPPA_PID_KERNEL
export	HPPA_SID_KERNEL
export	VM_MAXUSER_ADDRESS
export	HPPA_LDCW_ALIGN

# `break' entry points
export	HPPA_BREAK_KERNEL
export	HPPA_BREAK_GET_PSW
export	HPPA_BREAK_SET_PSW

# hp700_int_reg fields
struct	hp700_int_reg
member	INT_REG_REQ	int_reg_req
member	INT_REG_BITS_MAP int_reg_bits_map
export	INT_REG_BIT_REG

# pte things
export	TLB_REF_POS
export	TLB_NO_RW_ALIAS_POS
export	TLB_DIRTY_POS
export	TLB_UNMANAGED_POS

# hpt_table fields
struct	hpt_entry
member	HPT_TLBPROT	hpt_tlbprot
member	HPT_TLBPAGE	hpt_tlbpage
member	HPT_ENTRY	hpt_entry
define	HPT_TAG		0

# pv_entry fields
struct	pv_entry
member	PV_HASH	pv_hash
member	PV_SPACE	pv_space
member	PV_VA		pv_va
member	PV_TLBPAGE	pv_tlbpage
member	PV_TLBPROT	pv_tlbprot
member	PV_NEXT		pv_next
member	PV_HPT		pv_hpt

# pv_head fields
struct	pv_head
member	PV_HEAD_PVS	pv_head_pvs
member	PV_HEAD_WRITABLE_DIRTY_REF pv_head_writable_dirty_ref
export	PV_HEAD_DIRTY_POS
export	PV_HEAD_REF_POS
export	PV_HEAD_WRITABLE_POS

define	MTX_IPL			offsetof(struct kmutex, mtx_ipl)
define	MTX_LOCK		offsetof(struct kmutex, mtx_lock)
define	MTX_OWNER		offsetof(struct kmutex, mtx_owner)
define	MTX_WAITERS		offsetof(struct kmutex, mtx_waiters)

define	RW_OWNER		offsetof(struct krwlock, rw_owner)
define	RW_WRITE_LOCKED		RW_WRITE_LOCKED
define	RW_WRITE_WANTED		RW_WRITE_WANTED
define	RW_READ_INCR		RW_READ_INCR
define	RW_HAS_WAITERS		RW_HAS_WAITERS
define	RW_THREAD		RW_THREAD
define	RW_READER		RW_READER
define	RW_WRITER		RW_WRITER

# saved state fields
struct	trapframe
member	TF_FLAGS	tf_flags
member	TF_PHYS		tf_sar
member	TF_R1		tf_r1
member	TF_R2		tf_rp
member	TF_R3		tf_r3
member	TF_R4		tf_r4
member	TF_R5		tf_r5
member	TF_R6		tf_r6
member	TF_R7		tf_r7
member	TF_R8		tf_r8
member	TF_R9		tf_r9
member	TF_R10		tf_r10
member	TF_R11		tf_r11
member	TF_R12		tf_r12
member	TF_R13		tf_r13
member	TF_R14		tf_r14
member	TF_R15		tf_r15
member	TF_R16		tf_r16
member	TF_R17		tf_r17
member	TF_R18		tf_r18
member	TF_R19		tf_t4
member	TF_R20		tf_t3
member	TF_R21		tf_t2
member	TF_R22		tf_t1
member	TF_R23		tf_arg3
member	TF_R24		tf_arg2
member	TF_R25		tf_arg1
member	TF_R26		tf_arg0
member	TF_R27		tf_dp
member	TF_R28		tf_ret0
member	TF_R29		tf_ret1
member	TF_R30		tf_sp
member	TF_R31		tf_r31
member	TF_SR0		tf_sr0
member	TF_SR1		tf_sr1
member	TF_SR2		tf_sr2
member	TF_SR3		tf_sr3
member	TF_SR4		tf_sr4
member	TF_SR5		tf_sr5
member	TF_SR6		tf_sr6
member	TF_SR7		tf_sr7
member	TF_CR0		tf_rctr
member	TF_IIOQH	tf_iioq_head
member	TF_IIOQT	tf_iioq_tail
member	TF_IISQH	tf_iisq_head
member	TF_IISQT	tf_iisq_tail
member	TF_CR8		tf_pidr1
member	TF_CR9		tf_pidr2
member	TF_CR11		tf_sar
member	TF_CR12		tf_pidr3
member	TF_CR13		tf_pidr4
member	TF_CR15		tf_eiem
member	TF_CR19		tf_iir
member	TF_CR20		tf_isr
member	TF_CR21		tf_ior
member	TF_CR22		tf_ipsw
member	TF_CR23		tf_eirr
member	TF_CR24		tf_hptm
member	TF_CR25		tf_vtop
member	TF_CR28		tf_cr28
member	TF_CR30		tf_cr30

# proc fields and values
struct	proc
member	P_RASLIST	p_raslist
member	P_MD		p_md

struct	lwp
member	L_PROC		l_proc
member	L_ADDR		l_addr
member	L_PRIORITY	l_priority
member	L_STAT		l_stat
member	L_WCHAN		l_wchan
member	L_MD		l_md
member	L_MD_REGS	l_md.md_regs

struct	pcb
member	PCB_FPREGS	pcb_fpregs
member	PCB_ONFAULT	pcb_onfault
member	PCB_SPACE	pcb_space
member	PCB_UVA		pcb_uva
member	PCB_KSP		pcb_ksp

struct	user
member	U_PCB		u_pcb

# system calls
export	SYSCALLGATE
export	SYS_exit
export	SYS_execve
export	SYS_compat_16___sigreturn14