Home | History | Annotate | Line # | Download | only in include
aout_machdep.h revision 1.7
      1  1.1      cgd /*
      2  1.1      cgd  * Copyright (c) 1993 Christopher G. Demetriou
      3  1.1      cgd  * All rights reserved.
      4  1.1      cgd  *
      5  1.1      cgd  * Redistribution and use in source and binary forms, with or without
      6  1.1      cgd  * modification, are permitted provided that the following conditions
      7  1.1      cgd  * are met:
      8  1.1      cgd  * 1. Redistributions of source code must retain the above copyright
      9  1.1      cgd  *    notice, this list of conditions and the following disclaimer.
     10  1.1      cgd  * 2. Redistributions in binary form must reproduce the above copyright
     11  1.1      cgd  *    notice, this list of conditions and the following disclaimer in the
     12  1.1      cgd  *    documentation and/or other materials provided with the distribution.
     13  1.1      cgd  * 3. The name of the author may not be used to endorse or promote products
     14  1.6      jtc  *    derived from this software without specific prior written permission
     15  1.1      cgd  *
     16  1.1      cgd  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     17  1.1      cgd  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     18  1.1      cgd  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     19  1.1      cgd  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     20  1.1      cgd  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     21  1.1      cgd  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     22  1.1      cgd  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     23  1.1      cgd  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     24  1.1      cgd  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     25  1.1      cgd  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     26  1.1      cgd  *
     27  1.7  mycroft  *	$Id: aout_machdep.h,v 1.7 1994/05/04 04:10:28 mycroft Exp $
     28  1.1      cgd  */
     29  1.1      cgd 
     30  1.1      cgd #ifndef _HP300_EXEC_H_
     31  1.1      cgd #define _HP300_EXEC_H_
     32  1.1      cgd 
     33  1.4  mycroft #ifdef KERNEL
     34  1.4  mycroft 
     35  1.7  mycroft #ifdef COMPAT_HPUX
     36  1.1      cgd #include "user.h"			/* for pcb */
     37  1.1      cgd #include "hp300/hpux/hpux_exec.h"
     38  1.1      cgd #endif
     39  1.1      cgd 
     40  1.1      cgd /*
     41  1.1      cgd  * the following, if defined, prepares a set of vmspace commands for
     42  1.1      cgd  * a given exectable package defined by epp.
     43  1.1      cgd  * The standard executable formats are taken care of automatically;
     44  1.1      cgd  * machine-specific ones can be defined using this function.
     45  1.1      cgd  */
     46  1.4  mycroft int cpu_exec_makecmds __P((struct proc *p, struct exec_package *epp));
     47  1.2      cgd 
     48  1.2      cgd /*
     49  1.2      cgd  * the following function/macro checks to see if a given machine
     50  1.2      cgd  * type (a_mid) field is valid for this architecture
     51  1.2      cgd  * a non-zero return value indicates that the machine type is correct.
     52  1.2      cgd  */
     53  1.7  mycroft #ifdef COMPAT_HPUX
     54  1.3      cgd #define cpu_exec_checkmid(mid) ((mid == MID_HP200) || (mid == MID_HP300) || \
     55  1.2      cgd 				(mid == MID_HPUX))
     56  1.2      cgd #else
     57  1.2      cgd #define cpu_exec_checkmid(mid) ((mid == MID_HP200) || (mid == MID_HP300)))
     58  1.2      cgd #endif
     59  1.4  mycroft 
     60  1.4  mycroft #endif /* KERNEL */
     61  1.5       pk 
     62  1.5       pk #define __LDPGSZ	4096
     63  1.5       pk 
     64  1.5       pk /* Relocation format. */
     65  1.5       pk struct relocation_info_hp300 {
     66  1.5       pk 	int r_address;			/* offset in text or data segment */
     67  1.5       pk 	unsigned int r_symbolnum : 24,	/* ordinal number of add symbol */
     68  1.5       pk 			 r_pcrel :  1,	/* 1 if value should be pc-relative */
     69  1.5       pk 			r_length :  2,	/* log base 2 of value's width */
     70  1.5       pk 			r_extern :  1,	/* 1 if need to add symbol to value */
     71  1.5       pk 		       r_baserel :  1,	/* linkage table relative */
     72  1.5       pk 		      r_jmptable :  1,	/* relocate to jump table */
     73  1.5       pk 		      r_relative :  1,	/* load address relative */
     74  1.5       pk 			  r_copy :  1;	/* run time copy */
     75  1.5       pk };
     76  1.5       pk #define relocation_info	relocation_info_hp300
     77  1.1      cgd 
     78  1.1      cgd #endif  /* _HP300_EXEC_H_ */
     79