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