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

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

1.1       nbrk        1: /*     $OpenBSD: exec.h,v 1.9 2003/11/07 16:41: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           32
                     35:
                     36: #define ELF_TARG_CLASS          ELFCLASS32
                     37: #define ELF_TARG_DATA           ELFDATA2MSB
                     38: #define ELF_TARG_MACH           EM_PARISC
                     39:
                     40: #define _NLIST_DO_ELF
                     41: #define        _KERN_DO_ELF
                     42:
                     43: /*
                     44:  * the following MD ELF values defenitions are from the:
                     45:  * "Processor-Specific ELF Supplement for PA-RISC.
                     46:  *  Including HP and HP-UX Extensions. Version 1.43. October 6, 1997"
                     47:  *     http://devrsrc1.external.hp.com/STK/partner/elf-pa.pdf
                     48:  *
                     49:  */
                     50:
                     51: /* parisc-specific elf flags */
                     52: #define        EF_PARISC_TRAPNIL       0x00010000      /* trap on NULL derefs */
                     53: #define        EF_PARISC_EXT           0x00020000      /* program uses arch exts */
                     54: #define        EF_PARISC_LSB           0x00040000      /* program expects LSB mode */
                     55: #define        EF_PARISC_WIDE          0x00080000      /* program expects wide mode */
                     56: #define        EF_PARISC_NO_KABP       0x00100000      /* don't allow kernel assisted
                     57:                                                   branch prediction */
                     58: #define        EF_PARISC_LAZYSWAP      0x00200000      /* allow lazy swap allocation
                     59:                                                   for dynamically allocated
                     60:                                                   program segments */
                     61: #define        EF_PARISC_ARCH          0x0000ffff      /* architecture version */
                     62: #define                EFA_PARISC_1_0  0x020B
                     63: #define                EFA_PARISC_1_1  0x0210
                     64: #define                EFA_PARISC_2_0  0x0214
                     65:
                     66: /* legend: 0 - pa7000, 1 - pa7100, 2 - pa7200, 3 - pa7100LC, 4 - pa8000 */
                     67: #define        PARISC_AE_QWSI  0x00000001      /* 0  : enable quadword stores */
                     68: #define        PARISC_AE_FPLSU 0x00000002      /*   1: fp load/store to I/O space */
                     69: #define        PARISC_AE_RSQRT 0x00000004      /* 0  : reciprocal sqrt */
                     70: #define        PARISC_AE_FDCG  0x00000008      /* 0,1: fdc includes graph flushes */
                     71: #define        PARISC_AE_HPAR  0x00000010      /* 3,4: half-word add/sub/av */
                     72: #define        PARISC_AE_BSW   0x00000020      /* 3,4: half-word shift-add */
                     73: #define        PARISC_AE_HPSA  0x00000040      /* 3  : byte-swapping stores */
                     74: #define        PARISC_AE_DPR0  0x00000080      /* 2,4: data prefetch via ld to r0 */
                     75:
                     76: #define        SHN_PARISC_ANSI_COMMON  0xff00
                     77: #define        SHN_PARISC_HUGE_COMMON  0xff01
                     78:
                     79: /* sh_type */
                     80: #define        SHT_PARISC_EXT          0x70000000      /* contains product-specific
                     81:                                                   extension bits */
                     82: #define        SHT_PARISC_UNWIND       0x70000001      /* contains unwind table enries
                     83:                                                   sh_info contains index of
                     84:                                                   the code section to which
                     85:                                                   unwind entries apply */
                     86: #define        SHT_PARISC_DOC          0x70000002      /* contains debug info for -O */
                     87: #define        SHT_PARISC_ANNOT        0x70000003      /* contains code annotations */
                     88:
                     89: /* sh_flags */
                     90: #define        SHF_PARISC_SBP  0x80000000      /* contains code compiled for
                     91:                                           static branch prediction */
                     92: #define        SHF_PARISC_HUGE 0x40000000      /* should be allocated far from gp */
                     93: #define        SHF_PARISC_SHORT 0x20000000     /* should be allocated near from gp */
                     94:
                     95: #define        ELF_PARISC_ARCHEXT      ".PARISC.archext"
                     96: #define        ELF_PARISC_MILLI        ".PARISC.milli"
                     97: #define        ELF_PARISC_UNWIND       ".PARISC.unwind"
                     98: #define        ELF_PARISC_UNWIND_INFO  ".PARISC.unwind_info"
                     99: #define        ELF_PARISC_SDATA        ".sdata"
                    100: #define        ELF_PARISC_NOBITS       ".sbss"
                    101:
                    102: #define        STT_PARISC_MILLI        13      /* entry point of a millicode routine */
                    103:
                    104: #define        PT_PARISC_ARCHEXT       0x70000000      /* segment contains
                    105:                                                   .PARISC.archext section */
                    106: #define        PT_PARISC_UNWIND        0x70000001      /* segment contains
                    107:                                                   .unwind section */
                    108:
                    109: #define        PF_PARISC_SBP           0x08000000      /* segment contains code
                    110:                                        compiled for static branch prediction */
                    111:
                    112: #endif /* _MACHINE_EXEC_H_ */

CVSweb