Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
[gem5.git] / arch / alpha / aout_machdep.h
1 /* $Id$ */
2
3 #ifndef __AOUT_MACHDEP_H__
4 #define __AOUT_MACHDEP_H__
5
6 ///
7 /// Funky Alpha 64-bit a.out header used for PAL code.
8 ///
9 struct aout_exechdr {
10 uint16_t magic;
11 uint16_t vstamp;
12 uint16_t bldrev;
13 uint16_t padcell;
14 uint64_t tsize; // text segment size
15 uint64_t dsize; // data segment size
16 uint64_t bsize; // bss segment size
17 uint64_t entry; // entry point
18 uint64_t text_start; // text base address
19 uint64_t data_start; // data base address
20 uint64_t bss_start; // bss base address
21 uint32_t gprmask;
22 uint32_t fprmask;
23 uint64_t gp_value;
24 };
25
26 #define AOUT_LDPGSZ 8192
27
28 #define N_GETMAGIC(ex) ((ex).magic)
29
30 #define N_BADMAX
31
32 #define N_TXTADDR(ex) ((ex).text_start)
33 #define N_DATADDR(ex) ((ex).data_start)
34 #define N_BSSADDR(ex) ((ex).bss_start)
35
36 #define N_TXTOFF(ex) \
37 (N_GETMAGIC(ex) == ZMAGIC ? 0 : sizeof(struct aout_exechdr))
38
39 #define N_DATOFF(ex) N_ALIGN(ex, N_TXTOFF(ex) + (ex).tsize)
40
41 #endif /* !__AOUT_MACHDEP_H__*/