1/* 2 * header.h 3 * 4 * DSP-BIOS Bridge driver support functions for TI OMAP processors. 5 * 6 * Copyright (C) 2005-2006 Texas Instruments, Inc. 7 * 8 * This package is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License version 2 as 10 * published by the Free Software Foundation. 11 * 12 * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 13 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 14 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 15 */ 16 17#include <linux/string.h> 18#define DL_STRCMP strcmp 19 20/* maximum parenthesis nesting in relocation stack expressions */ 21#define STATIC_EXPR_STK_SIZE 10 22 23#include <linux/types.h> 24 25#include "doff.h" 26#include <dspbridge/dynamic_loader.h> 27#include "params.h" 28#include "dload_internal.h" 29#include "reloc_table.h" 30 31/* 32 * Plausibility limits 33 * 34 * These limits are imposed upon the input DOFF file as a check for validity. 35 * They are hard limits, in that the load will fail if they are exceeded. 36 * The numbers selected are arbitrary, in that the loader implementation does 37 * not require these limits. 38 */ 39 40/* maximum number of bytes in string table */ 41#define MAX_REASONABLE_STRINGTAB (0x100000) 42/* maximum number of code,data,etc. sections */ 43#define MAX_REASONABLE_SECTIONS (200) 44/* maximum number of linker symbols */ 45#define MAX_REASONABLE_SYMBOLS (100000) 46 47/* shift count to align F_BIG with DLOAD_LITTLE */ 48#define ALIGN_COFF_ENDIANNESS 7 49#define ENDIANNESS_MASK (DF_BYTE_ORDER >> ALIGN_COFF_ENDIANNESS) 50