diff options
author | Dave Chapman <dave@dchapman.com> | 2007-07-29 16:40:11 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2007-07-29 16:40:11 +0000 |
commit | f52c17851738b201ebafa45a055b748e9db12f4a (patch) | |
tree | 68dc83b03e460d0143cd17aac78f0f04d00b746d /apps/codecs/libmad/mad_iram.h | |
parent | 3d45dfb4bdb9c6cb75d1d25f012e9b2179a1f11b (diff) |
Revert r14050 (apart from the non-related whitespace changes) and fix the S3C2440 (Gigabeat F/X) problems introduced by my r14041 commit in a slightly different way: Introduce a mad_iram.h file and centralise all IRAM-related decisions in there (similar to how Tremor does it). Now checks for CPU type (S3C2440) instead of target (TOSHIBA_GIGABEAT_F) and there is also a .ibss variable in syth_full_arm.S which shouldn't go in IRAM on S3C2440 targets. Closes FS#7500
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14057 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libmad/mad_iram.h')
-rw-r--r-- | apps/codecs/libmad/mad_iram.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/apps/codecs/libmad/mad_iram.h b/apps/codecs/libmad/mad_iram.h new file mode 100644 index 0000000000..b4dadd8a23 --- /dev/null +++ b/apps/codecs/libmad/mad_iram.h @@ -0,0 +1,52 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2007 Dave Chapman + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +/* Define how IRAM is used on the various targets. Note that this + file is included by both .c and .S files so must not contain any C + code. +*/ + +#ifndef _LIBMAD_IRAM_H +#define _LIBMAD_IRAM_H + +#include "config.h" + +/* Code performs slower in IRAM on PP502x and there is no space in + mpegplayer on the PP5002. S3C2440 doesn't have any IRAM available for + codecs */ +#if defined(CPU_PP502x) || (CONFIG_CPU == PP5002 && defined(MPEGPLAYER)) || \ + (CONFIG_CPU==S3C2440) +#define ICODE_SECTION_MPA_ARM .text +#define ICODE_ATTR_MPA_SYNTH +#else +#define ICODE_SECTION_MPA_ARM .icode +#define ICODE_ATTR_MPA_SYNTH ICODE_ATTR +#endif + +#if CONFIG_CPU == S3C2440 +#define IBSS_SECTION_MPA_ARM .bss +#else +#define IBSS_SECTION_MPA_ARM .ibss +#endif + +#ifndef ICONST_ATTR_MPA_HUFFMAN +#define ICONST_ATTR_MPA_HUFFMAN ICONST_ATTR +#endif + +#endif /* MAD_IRAM_H */ |