Annotation of qemu/roms/openbios/include/arch/common/xcoff.h, revision 1.1

1.1     ! root        1: #ifndef XCOFF_H
        !             2: #define XCOFF_H
        !             3: 
        !             4: /* XCOFF executable loader */
        !             5: 
        !             6: typedef struct COFF_filehdr_t {
        !             7:        uint16_t f_magic;       /* magic number                 */
        !             8:        uint16_t f_nscns;       /* number of sections           */
        !             9:        uint32_t f_timdat;      /* time & date stamp            */
        !            10:        uint32_t f_symptr;      /* file pointer to symtab       */
        !            11:        uint32_t f_nsyms;       /* number of symtab entries     */
        !            12:        uint16_t f_opthdr;      /* sizeof(optional hdr)         */
        !            13:        uint16_t f_flags;       /* flags                        */
        !            14: } COFF_filehdr_t;
        !            15: 
        !            16: /* IBM RS/6000 */
        !            17: 
        !            18: #define U802WRMAGIC     0x02DA /* writeable text segments **chh**        */
        !            19: #define U802ROMAGIC     0x02DF /* readonly sharable text segments        */
        !            20: #define U802TOCMAGIC    0x02E1 /* readonly text segments and TOC          */
        !            21: #define U802TOMAGIC     0x01DF
        !            22: 
        !            23: /*
        !            24:  *   Bits for f_flags:
        !            25:  *
        !            26:  *     F_RELFLG        relocation info stripped from file
        !            27:  *     F_EXEC          file is executable  (i.e. no unresolved external
        !            28:  *                     references)
        !            29:  *     F_LNNO          line numbers stripped from file
        !            30:  *     F_LSYMS         local symbols stripped from file
        !            31:  *     F_MINMAL        this is a minimal object file (".m") output of fextract
        !            32:  *     F_UPDATE        this is a fully bound update file, output of ogen
        !            33:  *     F_SWABD         this file has had its bytes swabbed (in names)
        !            34:  *     F_AR16WR        this file has the byte ordering of an AR16WR
        !            35:  *                     (e.g. 11/70) machine
        !            36:  *     F_AR32WR        this file has the byte ordering of an AR32WR machine
        !            37:  *                     (e.g. vax and iNTEL 386)
        !            38:  *     F_AR32W         this file has the byte ordering of an AR32W machine
        !            39:  *                     (e.g. 3b,maxi)
        !            40:  *     F_PATCH         file contains "patch" list in optional header
        !            41:  *     F_NODF          (minimal file only) no decision functions for
        !            42:  *                     replaced functions
        !            43:  */
        !            44: 
        !            45: #define        COFF_F_RELFLG           0000001
        !            46: #define        COFF_F_EXEC             0000002
        !            47: #define        COFF_F_LNNO             0000004
        !            48: #define        COFF_F_LSYMS            0000010
        !            49: #define        COFF_F_MINMAL           0000020
        !            50: #define        COFF_F_UPDATE           0000040
        !            51: #define        COFF_F_SWABD            0000100
        !            52: #define        COFF_F_AR16WR           0000200
        !            53: #define        COFF_F_AR32WR           0000400
        !            54: #define        COFF_F_AR32W            0001000
        !            55: #define        COFF_F_PATCH            0002000
        !            56: #define        COFF_F_NODF             0002000
        !            57: 
        !            58: typedef struct COFF_aouthdr_t {
        !            59:        uint16_t magic;      /* type of file                          */
        !            60:        uint16_t vstamp;     /* version stamp                         */
        !            61:        uint32_t tsize;      /* text size in bytes, padded to FW bdry */
        !            62:        uint32_t dsize;      /* initialized data "  "                 */
        !            63:        uint32_t bsize;      /* uninitialized data "   "              */
        !            64:        uint32_t entry;      /* entry pt.                             */
        !            65:        uint32_t text_start; /* base of text used for this file       */
        !            66:        uint32_t data_start; /* base of data used for this file       */
        !            67:        uint32_t o_toc;      /* address of TOC                        */
        !            68:        uint16_t o_snentry;  /* section number of entry point         */
        !            69:        uint16_t o_sntext;   /* section number of .text section       */
        !            70:        uint16_t o_sndata;   /* section number of .data section       */
        !            71:        uint16_t o_sntoc;    /* section number of TOC                 */
        !            72:        uint16_t o_snloader; /* section number of .loader section     */
        !            73:        uint16_t o_snbss;    /* section number of .bss section        */
        !            74:        uint16_t o_algntext; /* .text alignment                       */
        !            75:        uint16_t o_algndata; /* .data alignment                       */
        !            76:        uint16_t o_modtype;  /* module type (??)                      */
        !            77:        uint16_t o_cputype;  /* cpu type                              */
        !            78:        uint32_t o_maxstack; /* max stack size (??)                   */
        !            79:        uint32_t o_maxdata;  /* max data size (??)                    */
        !            80:        char o_resv2[12];    /* reserved                              */
        !            81: } COFF_aouthdr_t;
        !            82: 
        !            83: #define AOUT_MAGIC     0x010b
        !            84: 
        !            85: typedef struct COFF_scnhdr_t {
        !            86:        char s_name[8];         /* section name                         */
        !            87:        uint32_t s_paddr;       /* physical address, aliased s_nlib     */
        !            88:        uint32_t s_vaddr;       /* virtual address                      */
        !            89:        uint32_t s_size;        /* section size                         */
        !            90:        uint32_t s_scnptr;      /* file ptr to raw data for section     */
        !            91:        uint32_t s_relptr;      /* file ptr to relocation               */
        !            92:        uint32_t s_lnnoptr;     /* file ptr to line numbers             */
        !            93:        uint16_t s_nreloc;      /* number of relocation entries         */
        !            94:        uint16_t s_nlnno;       /* number of line number entries        */
        !            95:        uint32_t s_flags;       /* flags                                */
        !            96: } COFF_scnhdr_t;
        !            97: 
        !            98: #endif /* XCOFF_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.