]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * Copyright (C) 2002-2003 David McCullough <[email protected]> | |
3 | * Copyright (C) 1998 Kenneth Albanowski <[email protected]> | |
4 | * The Silver Hammer Group, Ltd. | |
5 | * | |
6 | * This file provides the definitions and structures needed to | |
7 | * support uClinux flat-format executables. | |
8 | */ | |
1da177e4 LT |
9 | #ifndef _LINUX_FLAT_H |
10 | #define _LINUX_FLAT_H | |
11 | ||
1da177e4 | 12 | #include <asm/flat.h> |
607ca46e | 13 | #include <uapi/linux/flat.h> |
1da177e4 | 14 | |
1da177e4 LT |
15 | /* |
16 | * While it would be nice to keep this header clean, users of older | |
17 | * tools still need this support in the kernel. So this section is | |
18 | * purely for compatibility with old tool chains. | |
19 | * | |
20 | * DO NOT make changes or enhancements to the old format please, just work | |
21 | * with the format above, except to fix bugs with old format support. | |
22 | */ | |
23 | ||
24 | #include <asm/byteorder.h> | |
25 | ||
26 | #define OLD_FLAT_VERSION 0x00000002L | |
27 | #define OLD_FLAT_RELOC_TYPE_TEXT 0 | |
28 | #define OLD_FLAT_RELOC_TYPE_DATA 1 | |
29 | #define OLD_FLAT_RELOC_TYPE_BSS 2 | |
30 | ||
31 | typedef union { | |
32 | unsigned long value; | |
33 | struct { | |
34 | # if defined(mc68000) && !defined(CONFIG_COLDFIRE) | |
35 | signed long offset : 30; | |
36 | unsigned long type : 2; | |
37 | # define OLD_FLAT_FLAG_RAM 0x1 /* load program entirely into RAM */ | |
38 | # elif defined(__BIG_ENDIAN_BITFIELD) | |
39 | unsigned long type : 2; | |
40 | signed long offset : 30; | |
41 | # define OLD_FLAT_FLAG_RAM 0x1 /* load program entirely into RAM */ | |
42 | # elif defined(__LITTLE_ENDIAN_BITFIELD) | |
43 | signed long offset : 30; | |
44 | unsigned long type : 2; | |
45 | # define OLD_FLAT_FLAG_RAM 0x1 /* load program entirely into RAM */ | |
46 | # else | |
47 | # error "Unknown bitfield order for flat files." | |
48 | # endif | |
49 | } reloc; | |
50 | } flat_v2_reloc_t; | |
51 | ||
1da177e4 | 52 | #endif /* _LINUX_FLAT_H */ |