Home | History | Annotate | Line # | Download | only in include
proc.h revision 1.12.2.3
      1  1.12.2.2       tls /*	$NetBSD: proc.h,v 1.12.2.3 2017/12/03 11:35:53 jdolecek Exp $	*/
      2       1.1   reinoud 
      3       1.1   reinoud /*
      4       1.1   reinoud  * Copyright (c) 1994 Mark Brinicombe.
      5       1.1   reinoud  * All rights reserved.
      6       1.1   reinoud  *
      7       1.1   reinoud  * Redistribution and use in source and binary forms, with or without
      8       1.1   reinoud  * modification, are permitted provided that the following conditions
      9       1.1   reinoud  * are met:
     10       1.1   reinoud  * 1. Redistributions of source code must retain the above copyright
     11       1.1   reinoud  *    notice, this list of conditions and the following disclaimer.
     12       1.1   reinoud  * 2. Redistributions in binary form must reproduce the above copyright
     13       1.1   reinoud  *    notice, this list of conditions and the following disclaimer in the
     14       1.1   reinoud  *    documentation and/or other materials provided with the distribution.
     15       1.1   reinoud  * 3. All advertising materials mentioning features or use of this software
     16       1.1   reinoud  *    must display the following acknowledgement:
     17       1.1   reinoud  *	This product includes software developed by the RiscBSD team.
     18       1.1   reinoud  * 4. The name "RiscBSD" nor the name of the author may be used to
     19       1.1   reinoud  *    endorse or promote products derived from this software without specific
     20       1.1   reinoud  *    prior written permission.
     21       1.1   reinoud  *
     22       1.1   reinoud  * THIS SOFTWARE IS PROVIDED BY RISCBSD ``AS IS'' AND ANY EXPRESS OR IMPLIED
     23       1.1   reinoud  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     24       1.1   reinoud  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     25       1.1   reinoud  * IN NO EVENT SHALL RISCBSD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
     26       1.1   reinoud  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     27       1.1   reinoud  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
     28       1.1   reinoud  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     29       1.1   reinoud  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     30       1.1   reinoud  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     31       1.1   reinoud  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     32       1.1   reinoud  * SUCH DAMAGE.
     33       1.1   reinoud  */
     34       1.1   reinoud 
     35  1.12.2.2       tls #ifndef _ARM_PROC_H_
     36  1.12.2.2       tls #define _ARM_PROC_H_
     37       1.1   reinoud 
     38       1.1   reinoud /*
     39       1.1   reinoud  * Machine-dependent part of the proc structure for arm.
     40       1.1   reinoud  */
     41       1.4   thorpej 
     42       1.5   thorpej struct trapframe;
     43       1.6       agc struct lwp;
     44       1.5   thorpej 
     45       1.4   thorpej struct mdlwp {
     46      1.12      matt 	struct trapframe *md_tf;
     47       1.7  rearnsha 	int	md_flags;
     48       1.4   thorpej };
     49       1.4   thorpej 
     50       1.7  rearnsha /* Flags setttings for md_flags */
     51      1.12      matt #define MDLWP_NOALIGNFLT	0x00000002	/* For EXEC_AOUT */
     52  1.12.2.1       tls #define MDLWP_VFPINTR		0x00000004	/* VFP used in intr */
     53       1.7  rearnsha 
     54       1.7  rearnsha 
     55       1.1   reinoud struct mdproc {
     56       1.8      matt 	void	(*md_syscall)(struct trapframe *, struct lwp *, uint32_t);
     57       1.4   thorpej 	int	pmc_enabled;		/* bitfield of enabled counters */
     58       1.4   thorpej 	void	*pmc_state;		/* port-specific pmc state */
     59  1.12.2.2       tls 	char	md_march[12];		/* machine arch of executable */
     60       1.1   reinoud };
     61       1.3    briggs 
     62  1.12.2.3  jdolecek #define	PROC_MACHINE_ARCH(P)	((P)->p_md.md_march)
     63  1.12.2.3  jdolecek #define	PROC0_MD_INITIALIZERS	.p_md = { .md_march = MACHINE_ARCH },
     64  1.12.2.2       tls 
     65  1.12.2.2       tls #endif /* _ARM_PROC_H_ */
     66