linux/include/linux/flat.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2002-2003  David McCullough <davidm@snapgear.com>
   3 * Copyright (C) 1998       Kenneth Albanowski <kjahds@kjahds.com>
   4 *                          The Silver Hammer Group, Ltd.
   5 *
   6 * This file provides the definitions and structures needed to
   7 * support uClinux flat-format executables.
   8 */
   9#ifndef _LINUX_FLAT_H
  10#define _LINUX_FLAT_H
  11
  12#include <asm/flat.h>
  13#include <uapi/linux/flat.h>
  14
  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
  31typedef 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
  52#endif /* _LINUX_FLAT_H */
  53