[BACK]Return to exec.h CVS log [TXT][DIR] Up to [local] / sys / arch / hppa64 / include

Annotation of sys/arch/hppa64/include/exec.h, Revision 1.1.1.1

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

CVSweb