exec.h revision 1.3 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