Home | History | Annotate | Line # | Download | only in include
      1  1.3     skrll /*	$NetBSD: exec.h,v 1.3 2019/04/16 12:25:17 skrll Exp $	*/
      2  1.1  fredette 
      3  1.1  fredette /*	$OpenBSD: exec.h,v 1.6 2001/01/22 14:51:03 art Exp $	*/
      4  1.1  fredette 
      5  1.3     skrll /*
      6  1.1  fredette  * Copyright (c) 1994, The University of Utah and
      7  1.1  fredette  * the Computer Systems Laboratory at the University of Utah (CSL).
      8  1.1  fredette  * All rights reserved.
      9  1.1  fredette  *
     10  1.1  fredette  * Permission to use, copy, modify and distribute this software is hereby
     11  1.1  fredette  * granted provided that (1) source code retains these copyright, permission,
     12  1.1  fredette  * and disclaimer notices, and (2) redistributions including binaries
     13  1.1  fredette  * reproduce the notices in supporting documentation, and (3) all advertising
     14  1.1  fredette  * materials mentioning features or use of this software display the following
     15  1.1  fredette  * acknowledgement: ``This product includes software developed by the
     16  1.1  fredette  * Computer Systems Laboratory at the University of Utah.''
     17  1.1  fredette  *
     18  1.1  fredette  * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
     19  1.1  fredette  * IS" CONDITION.  THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
     20  1.1  fredette  * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
     21  1.1  fredette  *
     22  1.1  fredette  * CSL requests users of this software to return to csl-dist (at) cs.utah.edu any
     23  1.1  fredette  * improvements that they make and grant CSL redistribution rights.
     24  1.1  fredette  *
     25  1.1  fredette  * 	Utah $Hdr: exec.h 1.3 94/12/16$
     26  1.1  fredette  */
     27  1.1  fredette 
     28  1.1  fredette #ifndef	_HPPA_EXEC_H_
     29  1.1  fredette #define	_HPPA_EXEC_H_
     30  1.1  fredette 
     31  1.1  fredette #define cpu_exec_aout_makecmds(p, epp)  ENOEXEC
     32  1.1  fredette 
     33  1.1  fredette /* Size of a page in an object file. */
     34  1.2   thorpej #define	AOUT_LDPGSZ	4096
     35  1.1  fredette 
     36  1.1  fredette #define ARCH_ELFSIZE		32
     37  1.1  fredette 
     38  1.1  fredette #define ELF_TARG_CLASS          ELFCLASS32
     39  1.1  fredette #define ELF_TARG_DATA           ELFDATA2MSB
     40  1.3     skrll #define ELF_TARG_MACH           EM_PARISC
     41  1.1  fredette 
     42  1.1  fredette /* #define _NLIST_DO_AOUT */
     43  1.1  fredette /* #define _NLIST_DO_ECOFF */
     44  1.1  fredette #define _NLIST_DO_ELF
     45  1.1  fredette #define _NLIST_DO_SOM
     46  1.1  fredette 
     47  1.1  fredette /* #define	_KERN_DO_AOUT */
     48  1.1  fredette /* #define	_KERN_DO_ECOFF */
     49  1.1  fredette #define	_KERN_DO_ELF
     50  1.1  fredette #define	_KERN_DO_SOM
     51  1.1  fredette 
     52  1.1  fredette /*
     53  1.1  fredette  * the following MD ELF values defenitions are from the:
     54  1.1  fredette  * "Processor-Specific ELF Supplement for PA-RISC.
     55  1.1  fredette  *  Including HP and HP-UX Extensions. Version 1.43. October 6, 1998"
     56  1.1  fredette  *	http://www.software.hp.com/STK/partner/elf-pa.pdf
     57  1.1  fredette  *
     58  1.1  fredette  */
     59  1.1  fredette 
     60  1.1  fredette /* parisc-specific elf flags */
     61  1.1  fredette #define	EF_PARISC_TRAPNIL	0x00010000	/* trap on NULL derefs */
     62  1.1  fredette #define	EF_PARISC_EXT		0x00020000	/* program uses arch exts */
     63  1.1  fredette #define	EF_PARISC_LSB		0x00040000	/* program expects LSB mode */
     64  1.1  fredette #define	EF_PARISC_WIDE		0x00080000	/* program expects wide mode */
     65  1.1  fredette #define	EF_PARISC_NO_KABP	0x00100000	/* don't allow kernel assisted
     66  1.1  fredette 						   branch prediction */
     67  1.1  fredette #define	EF_PARISC_LAZYSWAP	0x00200000	/* allow lazy swap allocation
     68  1.1  fredette 						   for dynamically allocated
     69  1.1  fredette 						   program segments */
     70  1.1  fredette #define	EF_PARISC_ARCH		0x0000ffff	/* architecture version */
     71  1.1  fredette #define		EFA_PARISC_1_0	0x020B
     72  1.1  fredette #define		EFA_PARISC_1_1	0x0210
     73  1.1  fredette #define		EFA_PARISC_2_0	0x0214
     74  1.1  fredette 
     75  1.1  fredette /* legend: 0 - pa7000, 1 - pa7100, 2 - pa7200, 3 - pa7100LC, 4 - pa8000 */
     76  1.1  fredette #define	PARISC_AE_QWSI	0x00000001	/* 0  : enable quadword stores */
     77  1.1  fredette #define	PARISC_AE_FPLSU	0x00000002	/*   1: fp load/store to I/O space */
     78  1.1  fredette #define	PARISC_AE_RSQRT	0x00000004	/* 0  : reciprocal sqrt */
     79  1.1  fredette #define	PARISC_AE_FDCG	0x00000008	/* 0,1: fdc includes graph flushes */
     80  1.1  fredette #define	PARISC_AE_HPAR	0x00000010	/* 3,4: half-word add/sub/av */
     81  1.1  fredette #define	PARISC_AE_BSW	0x00000020	/* 3,4: half-word shift-add */
     82  1.1  fredette #define	PARISC_AE_HPSA	0x00000040	/* 3  : byte-swapping stores */
     83  1.1  fredette #define	PARISC_AE_DPR0	0x00000080	/* 2,4: data prefetch via ld to r0 */
     84  1.1  fredette 
     85  1.1  fredette #define	SHN_PARISC_ANSI_COMMON	0xff00
     86  1.1  fredette #define	SHN_PARISC_HUGE_COMMON	0xff01
     87  1.1  fredette 
     88  1.1  fredette /* sh_type */
     89  1.1  fredette #define	SHT_PARISC_EXT		0x70000000	/* contains product-specific
     90  1.1  fredette 						   extension bits */
     91  1.1  fredette #define	SHT_PARISC_UNWIND	0x70000001	/* contains unwind table enries
     92  1.1  fredette 						   sh_info contains index of
     93  1.1  fredette 						   the code section to which
     94  1.1  fredette 						   unwind entries apply */
     95  1.1  fredette #define	SHT_PARISC_DOC		0x70000002	/* contains debug info for -O */
     96  1.1  fredette #define	SHT_PARISC_ANNOT	0x70000003	/* contains code annotations */
     97  1.1  fredette 
     98  1.1  fredette /* sh_flags */
     99  1.1  fredette #define	SHF_PARISC_SBP	0x80000000	/* contains code compiled for
    100  1.1  fredette 					   static branch prediction */
    101  1.1  fredette #define	SHF_PARISC_HUGE	0x40000000	/* should be allocated far from gp */
    102  1.1  fredette #define	SHF_PARISC_SHORT 0x20000000	/* should be allocated near from gp */
    103  1.1  fredette 
    104  1.1  fredette #define	ELF_PARISC_ARCHEXT	".PARISC.archext"
    105  1.1  fredette #define	ELF_PARISC_MILLI	".PARISC.milli"
    106  1.1  fredette #define	ELF_PARISC_UNWIND	".PARISC.unwind"
    107  1.1  fredette #define	ELF_PARISC_UNWIND_INFO	".PARISC.unwind_info"
    108  1.1  fredette #define	ELF_PARISC_SDATA	".sdata"
    109  1.1  fredette #define	ELF_PARISC_NOBITS	".sbss"
    110  1.1  fredette 
    111  1.1  fredette #define	STT_PARISC_MILLI	13	/* entry point of a millicode routine */
    112  1.1  fredette 
    113  1.1  fredette #define	PT_PARISC_ARCHEXT	0x70000000	/* segment contains
    114  1.1  fredette 						   .PARISC.archext section */
    115  1.1  fredette #define	PT_PARISC_UNWIND	0x70000001	/* segment contains
    116  1.1  fredette 						   .unwind section */
    117  1.1  fredette 
    118  1.1  fredette #define	PF_PARISC_SBP		0x08000000	/* segment contains code
    119  1.1  fredette 					compiled for static branch prediction */
    120  1.1  fredette 
    121  1.1  fredette #endif	/* _HPPA_EXEC_H_ */
    122