diff options
Diffstat (limited to '')
-rw-r--r-- | drivers/staging/tidspbridge/dynload/params.h | 226 |
1 files changed, 0 insertions, 226 deletions
diff --git a/drivers/staging/tidspbridge/dynload/params.h b/drivers/staging/tidspbridge/dynload/params.h deleted file mode 100644 index d797fcd3b662..000000000000 --- a/drivers/staging/tidspbridge/dynload/params.h +++ /dev/null @@ -1,226 +0,0 @@ -/* - * params.h - * - * DSP-BIOS Bridge driver support functions for TI OMAP processors. - * - * This file defines host and target properties for all machines - * supported by the dynamic loader. To be tedious... - * - * host: the machine on which the dynamic loader runs - * target: the machine that the dynamic loader is loading - * - * Host and target may or may not be the same, depending upon the particular - * use. - * - * Copyright (C) 2005-2006 Texas Instruments, Inc. - * - * This package is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. - */ - -/****************************************************************************** - * - * Host Properties - * - **************************************************************************** */ - -#define BITS_PER_BYTE 8 /* bits in the standard PC/SUN byte */ -#define LOG_BITS_PER_BYTE 3 /* log base 2 of same */ -#define BYTE_MASK ((1U<<BITS_PER_BYTE)-1) - -#if defined(__TMS320C55X__) || defined(_TMS320C5XX) -#define BITS_PER_AU 16 -#define LOG_BITS_PER_AU 4 - /* use this print string in error messages for uint32_t */ -#define FMT_UI32 "0x%lx" -#define FMT8_UI32 "%08lx" /* same but no 0x, fixed width field */ -#else -/* bits in the smallest addressable data storage unit */ -#define BITS_PER_AU 8 -/* log base 2 of the same; useful for shift counts */ -#define LOG_BITS_PER_AU 3 -#define FMT_UI32 "0x%x" -#define FMT8_UI32 "%08x" -#endif - -/* generic fastest method for swapping bytes and shorts */ -#define SWAP32BY16(zz) (((zz) << 16) | ((zz) >> 16)) -#define SWAP16BY8(zz) (((zz) << 8) | ((zz) >> 8)) - -/* !! don't be tempted to insert type definitions here; use <stdint.h> !! */ - -/****************************************************************************** - * - * Target Properties - * - **************************************************************************** */ - -/*-------------------------------------------------------------------------- */ -/* TMS320C6x Target Specific Parameters (byte-addressable) */ -/*-------------------------------------------------------------------------- */ -#if TMS32060 -#define MEMORG 0x0L /* Size of configured memory */ -#define MEMSIZE 0x0L /* (full address space) */ - -#define CINIT_ALIGN 8 /* alignment of cinit record in TDATA AUs */ -#define CINIT_COUNT 4 /* width of count field in TDATA AUs */ -#define CINIT_ADDRESS 4 /* width of address field in TDATA AUs */ -#define CINIT_PAGE_BITS 0 /* Number of LSBs of address that - * are page number */ - -#define LENIENT_SIGNED_RELEXPS 0 /* DOES SIGNED ALLOW MAX UNSIGNED */ - -#undef TARGET_ENDIANNESS /* may be big or little endian */ - -/* align a target address to a word boundary */ -#define TARGET_WORD_ALIGN(zz) (((zz) + 0x3) & -0x4) -#endif - -/*-------------------------------------------------------------------------- - * - * DEFAULT SETTINGS and DERIVED PROPERTIES - * - * This section establishes defaults for values not specified above - *-------------------------------------------------------------------------- */ -#ifndef TARGET_AU_BITS -#define TARGET_AU_BITS 8 /* width of the target addressable unit */ -#define LOG_TARGET_AU_BITS 3 /* log2 of same */ -#endif - -#ifndef CINIT_DEFAULT_PAGE -#define CINIT_DEFAULT_PAGE 0 /* default .cinit page number */ -#endif - -#ifndef DATA_RUN2LOAD -#define DATA_RUN2LOAD(zz) (zz) /* translate data run address to load address */ -#endif - -#ifndef DBG_LIST_PAGE -#define DBG_LIST_PAGE 0 /* page number for .dllview section */ -#endif - -#ifndef TARGET_WORD_ALIGN -/* align a target address to a word boundary */ -#define TARGET_WORD_ALIGN(zz) (zz) -#endif - -#ifndef TDATA_TO_TADDR -#define TDATA_TO_TADDR(zz) (zz) /* target data address to target AU address */ -#define TADDR_TO_TDATA(zz) (zz) /* target AU address to target data address */ -#define TDATA_AU_BITS TARGET_AU_BITS /* bits per data AU */ -#define LOG_TDATA_AU_BITS LOG_TARGET_AU_BITS -#endif - -/* - * - * Useful properties and conversions derived from the above - * - */ - -/* - * Conversions between host and target addresses - */ -#if LOG_BITS_PER_AU == LOG_TARGET_AU_BITS -/* translate target addressable unit to host address */ -#define TADDR_TO_HOST(x) (x) -/* translate host address to target addressable unit */ -#define HOST_TO_TADDR(x) (x) -#elif LOG_BITS_PER_AU > LOG_TARGET_AU_BITS -#define TADDR_TO_HOST(x) ((x) >> (LOG_BITS_PER_AU-LOG_TARGET_AU_BITS)) -#define HOST_TO_TADDR(x) ((x) << (LOG_BITS_PER_AU-LOG_TARGET_AU_BITS)) -#else -#define TADDR_TO_HOST(x) ((x) << (LOG_TARGET_AU_BITS-LOG_BITS_PER_AU)) -#define HOST_TO_TADDR(x) ((x) >> (LOG_TARGET_AU_BITS-LOG_BITS_PER_AU)) -#endif - -#if LOG_BITS_PER_AU == LOG_TDATA_AU_BITS -/* translate target addressable unit to host address */ -#define TDATA_TO_HOST(x) (x) -/* translate host address to target addressable unit */ -#define HOST_TO_TDATA(x) (x) -/* translate host address to target addressable unit, round up */ -#define HOST_TO_TDATA_ROUND(x) (x) -/* byte offset to host offset, rounded up for TDATA size */ -#define BYTE_TO_HOST_TDATA_ROUND(x) BYTE_TO_HOST_ROUND(x) -#elif LOG_BITS_PER_AU > LOG_TDATA_AU_BITS -#define TDATA_TO_HOST(x) ((x) >> (LOG_BITS_PER_AU-LOG_TDATA_AU_BITS)) -#define HOST_TO_TDATA(x) ((x) << (LOG_BITS_PER_AU-LOG_TDATA_AU_BITS)) -#define HOST_TO_TDATA_ROUND(x) ((x) << (LOG_BITS_PER_AU-LOG_TDATA_AU_BITS)) -#define BYTE_TO_HOST_TDATA_ROUND(x) BYTE_TO_HOST_ROUND(x) -#else -#define TDATA_TO_HOST(x) ((x) << (LOG_TDATA_AU_BITS-LOG_BITS_PER_AU)) -#define HOST_TO_TDATA(x) ((x) >> (LOG_TDATA_AU_BITS-LOG_BITS_PER_AU)) -#define HOST_TO_TDATA_ROUND(x) (((x) +\ - (1<<(LOG_TDATA_AU_BITS-LOG_BITS_PER_AU))-1) >>\ - (LOG_TDATA_AU_BITS-LOG_BITS_PER_AU)) -#define BYTE_TO_HOST_TDATA_ROUND(x) (BYTE_TO_HOST((x) +\ - (1<<(LOG_TDATA_AU_BITS-LOG_BITS_PER_BYTE))-1) &\ - -(TDATA_AU_BITS/BITS_PER_AU)) -#endif - -/* - * Input in DOFF format is always expresed in bytes, regardless of loading host - * so we wind up converting from bytes to target and host units even when the - * host is not a byte machine. - */ -#if LOG_BITS_PER_AU == LOG_BITS_PER_BYTE -#define BYTE_TO_HOST(x) (x) -#define BYTE_TO_HOST_ROUND(x) (x) -#define HOST_TO_BYTE(x) (x) -#elif LOG_BITS_PER_AU >= LOG_BITS_PER_BYTE -#define BYTE_TO_HOST(x) ((x) >> (LOG_BITS_PER_AU - LOG_BITS_PER_BYTE)) -#define BYTE_TO_HOST_ROUND(x) ((x + (BITS_PER_AU/BITS_PER_BYTE-1)) >>\ - (LOG_BITS_PER_AU - LOG_BITS_PER_BYTE)) -#define HOST_TO_BYTE(x) ((x) << (LOG_BITS_PER_AU - LOG_BITS_PER_BYTE)) -#else -/* lets not try to deal with sub-8-bit byte machines */ -#endif - -#if LOG_TARGET_AU_BITS == LOG_BITS_PER_BYTE -/* translate target addressable unit to byte address */ -#define TADDR_TO_BYTE(x) (x) -/* translate byte address to target addressable unit */ -#define BYTE_TO_TADDR(x) (x) -#elif LOG_TARGET_AU_BITS > LOG_BITS_PER_BYTE -#define TADDR_TO_BYTE(x) ((x) << (LOG_TARGET_AU_BITS-LOG_BITS_PER_BYTE)) -#define BYTE_TO_TADDR(x) ((x) >> (LOG_TARGET_AU_BITS-LOG_BITS_PER_BYTE)) -#else -/* lets not try to deal with sub-8-bit byte machines */ -#endif - -#ifdef _BIG_ENDIAN -#define HOST_ENDIANNESS 1 -#else -#define HOST_ENDIANNESS 0 -#endif - -#ifdef TARGET_ENDIANNESS -#define TARGET_ENDIANNESS_DIFFERS(rtend) (HOST_ENDIANNESS^TARGET_ENDIANNESS) -#elif HOST_ENDIANNESS -#define TARGET_ENDIANNESS_DIFFERS(rtend) (!(rtend)) -#else -#define TARGET_ENDIANNESS_DIFFERS(rtend) (rtend) -#endif - -/* the unit in which we process target image data */ -#if TARGET_AU_BITS <= 8 -typedef u8 tgt_au_t; -#elif TARGET_AU_BITS <= 16 -typedef u16 tgt_au_t; -#else -typedef u32 tgt_au_t; -#endif - -/* size of that unit */ -#if TARGET_AU_BITS < BITS_PER_AU -#define TGTAU_BITS BITS_PER_AU -#define LOG_TGTAU_BITS LOG_BITS_PER_AU -#else -#define TGTAU_BITS TARGET_AU_BITS -#define LOG_TGTAU_BITS LOG_TARGET_AU_BITS -#endif |