proc.h revision 1.9
11.9She/*	$NetBSD: proc.h,v 1.9 2006/03/13 10:50:16 he Exp $	*/
21.2Scgd
31.1Sragge/*
41.1Sragge * Copyright (c) 1991 Regents of the University of California.
51.1Sragge * All rights reserved.
61.1Sragge *
71.1Sragge * Redistribution and use in source and binary forms, with or without
81.1Sragge * modification, are permitted provided that the following conditions
91.1Sragge * are met:
101.1Sragge * 1. Redistributions of source code must retain the above copyright
111.1Sragge *    notice, this list of conditions and the following disclaimer.
121.1Sragge * 2. Redistributions in binary form must reproduce the above copyright
131.1Sragge *    notice, this list of conditions and the following disclaimer in the
141.1Sragge *    documentation and/or other materials provided with the distribution.
151.6Sagc * 3. Neither the name of the University nor the names of its contributors
161.1Sragge *    may be used to endorse or promote products derived from this software
171.1Sragge *    without specific prior written permission.
181.1Sragge *
191.1Sragge * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
201.1Sragge * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
211.1Sragge * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
221.1Sragge * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
231.1Sragge * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
241.1Sragge * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
251.1Sragge * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
261.1Sragge * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
271.1Sragge * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
281.1Sragge * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
291.1Sragge * SUCH DAMAGE.
301.1Sragge *
311.2Scgd *	@(#)proc.h	7.1 (Berkeley) 5/15/91
321.1Sragge */
331.1Sragge
341.4Sthorpej#ifndef _VAX_PROC_H_
351.4Sthorpej#define _VAX_PROC_H_
361.4Sthorpej
371.4Sthorpej/*
381.4Sthorpej * Machine-dependent lwp struct for vax,
391.4Sthorpej */
401.4Sthorpejstruct mdlwp {
411.4Sthorpej	int md_dummy;			/* Must be at least one field */
421.4Sthorpej};
431.4Sthorpej
441.9Shestruct trapframe;
451.1Sragge/*
461.4Sthorpej * Machine-dependent part of the proc structure for vax.
471.1Sragge */
481.1Sraggestruct mdproc {
491.8Schristos	/* Syscall handling function */
501.8Schristos	void    (*md_syscall)(struct trapframe *);
511.8Schristos
521.1Sragge};
531.1Sragge
541.1Sragge/* md_flags */
551.1Sragge#define	MDP_AST		0x0001	/* async trap pending */
561.3Syamt
571.3Syamt/* kernel stack params */
581.5Syamt#define	KSTACK_LOWEST_ADDR(l)	\
591.5Syamt	((caddr_t)(l)->l_addr + (REDZONEADDR + VAX_NBPG))
601.3Syamt#define	KSTACK_SIZE	\
611.3Syamt	(USPACE - (REDZONEADDR + VAX_NBPG))
621.4Sthorpej
631.4Sthorpej#endif /* _VAX_PROC_H_ */
64