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