]> git.lizzy.rs Git - plan9front.git/blob - sys/include/bootexec.h
acid: fix dumptree() acid function to work in kernel debug, update malloc.acid and...
[plan9front.git] / sys / include / bootexec.h
1 struct coffsect
2 {
3         char    name[8];
4         ulong   phys;
5         ulong   virt;
6         ulong   size;
7         ulong   fptr;
8         ulong   fptrreloc;
9         ulong   fptrlineno;
10         ulong   nrelocnlineno;
11         ulong   flags;
12 };
13
14 /*
15  * proprietary exec headers, needed to bootstrap various machines
16  */
17 struct mipsexec
18 {
19         short   mmagic;         /* (0x160) mips magic number */
20         short   nscns;          /* (unused) number of sections */
21         long    timdat;         /* (unused) time & date stamp */
22         long    symptr;         /* offset to symbol table */
23         long    nsyms;          /* size of symbol table */
24         short   opthdr;         /* (0x38) sizeof(optional hdr) */
25         short   pcszs;          /* flags */
26         short   amagic;         /* see above */
27         short   vstamp;         /* version stamp */
28         long    tsize;          /* text size in bytes */
29         long    dsize;          /* initialized data */
30         long    bsize;          /* uninitialized data */
31         long    mentry;         /* entry pt.                            */
32         long    text_start;     /* base of text used for this file      */
33         long    data_start;     /* base of data used for this file      */
34         long    bss_start;      /* base of bss used for this file       */
35         long    gprmask;        /* general purpose register mask        */
36 union{
37         long    cprmask[4];     /* co-processor register masks          */
38         long    pcsize;
39 };
40         long    gp_value;       /* the gp value used for this object    */
41 };
42
43 struct mips4kexec
44 {
45         struct mipsexec h;
46         struct coffsect itexts;
47         struct coffsect idatas;
48         struct coffsect ibsss;
49 };
50
51 struct sparcexec
52 {
53         short   sjunk;          /* dynamic bit and version number */
54         short   smagic;         /* 0407 */
55         ulong   stext;
56         ulong   sdata;
57         ulong   sbss;
58         ulong   ssyms;
59         ulong   sentry;
60         ulong   strsize;
61         ulong   sdrsize;
62 };
63
64 struct nextexec
65 {
66         struct  nexthdr{
67                 ulong   nmagic;
68                 ulong   ncputype;
69                 ulong   ncpusubtype;
70                 ulong   nfiletype;
71                 ulong   ncmds;
72                 ulong   nsizeofcmds;
73                 ulong   nflags;
74         };
75
76         struct nextcmd{
77                 ulong   cmd;
78                 ulong   cmdsize;
79                 uchar   segname[16];
80                 ulong   vmaddr;
81                 ulong   vmsize;
82                 ulong   fileoff;
83                 ulong   filesize;
84                 ulong   maxprot;
85                 ulong   initprot;
86                 ulong   nsects;
87                 ulong   flags;
88         }textc;
89         struct nextsect{
90                 char    sectname[16];
91                 char    segname[16];
92                 ulong   addr;
93                 ulong   size;
94                 ulong   offset;
95                 ulong   align;
96                 ulong   reloff;
97                 ulong   nreloc;
98                 ulong   flags;
99                 ulong   reserved1;
100                 ulong   reserved2;
101         }texts;
102         struct nextcmd  datac;
103         struct nextsect datas;
104         struct nextsect bsss;
105         struct nextsym{
106                 ulong   cmd;
107                 ulong   cmdsize;
108                 ulong   symoff;
109                 ulong   nsyms;
110                 ulong   spoff;
111                 ulong   pcoff;
112         }symc;
113 };
114
115 struct i386exec
116 {
117         struct  i386coff{
118                 ulong   isectmagic;
119                 ulong   itime;
120                 ulong   isyms;
121                 ulong   insyms;
122                 ulong   iflags;
123         };
124         struct  i386hdr{
125                 ulong   imagic;
126                 ulong   itextsize;
127                 ulong   idatasize;
128                 ulong   ibsssize;
129                 ulong   ientry;
130                 ulong   itextstart;
131                 ulong   idatastart;
132         };
133         struct coffsect itexts;
134         struct coffsect idatas;
135         struct coffsect ibsss;
136         struct coffsect icomments;
137 };