summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-05-10 22:03:45 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-05-10 22:03:45 +0000
commit209aa8eda5b5c7cecde65885e6beaf37c92ba622 (patch)
tree6beddeac6d9714732931b211c2d4cd84ce5db920 /apps
parentab15fa7e00a4d98685dba186125d0805d1deb22c (diff)
downloadrockbox-209aa8eda5b5c7cecde65885e6beaf37c92ba622.zip
rockbox-209aa8eda5b5c7cecde65885e6beaf37c92ba622.tar.gz
rockbox-209aa8eda5b5c7cecde65885e6beaf37c92ba622.tar.bz2
rockbox-209aa8eda5b5c7cecde65885e6beaf37c92ba622.tar.xz
Real fake IRAM by placing .i.... section in the analagous DRAM sections in the linker scripts that hasn't done this yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17449 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/codecs/libmad/mad_iram.h7
-rw-r--r--apps/plugins/plugin.lds22
2 files changed, 17 insertions, 12 deletions
diff --git a/apps/codecs/libmad/mad_iram.h b/apps/codecs/libmad/mad_iram.h
index ffa6be8..08d218a 100644
--- a/apps/codecs/libmad/mad_iram.h
+++ b/apps/codecs/libmad/mad_iram.h
@@ -30,8 +30,7 @@
/* 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) || (CONFIG_CPU==IMX31L)
+#if defined(CPU_PP502x) || (CONFIG_CPU == PP5002 && defined(MPEGPLAYER))
#define ICODE_SECTION_MPA_ARM .text
#define ICODE_ATTR_MPA_SYNTH
#else
@@ -39,11 +38,7 @@
#define ICODE_ATTR_MPA_SYNTH ICODE_ATTR
#endif
-#if CONFIG_CPU == S3C2440 || CONFIG_CPU == IMX31L
-#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
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds
index 92365c6..13a048a 100644
--- a/apps/plugins/plugin.lds
+++ b/apps/plugins/plugin.lds
@@ -63,14 +63,12 @@ OUTPUT_FORMAT(elf32-sh)
#define IRAMSIZE 0x9000
#elif CONFIG_CPU == S3C2440
#define DRAMORIG 0x0 + STUBOFFSET
-#define IRAMORIG DRAMORIG
-#define IRAMSIZE 4K
#define IRAM DRAM
+#define IRAMSIZE 0
#elif CONFIG_CPU == IMX31L
#define DRAMORIG 0x0 + STUBOFFSET
-#define IRAMORIG DRAMORIG
-#define IRAMSIZE 0x4000
#define IRAM DRAM
+#define IRAMSIZE 0
#elif CONFIG_CPU==DM320
#define DRAMORIG 0x00900000 + STUBOFFSET
#define IRAMORIG DRAMORIG
@@ -100,7 +98,7 @@ OUTPUT_FORMAT(elf32-sh)
MEMORY
{
PLUGIN_RAM : ORIGIN = THIS_ORIGIN, LENGTH = THIS_LENGTH
-#if defined(IRAMSIZE)
+#if defined(IRAMSIZE) && IRAMSIZE != 0
PLUGIN_IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
#endif
}
@@ -116,6 +114,9 @@ SECTIONS
.text :
{
*(.text*)
+#if defined(IRAMSIZE) && IRAMSIZE == 0
+ *(.icode)
+#endif
#ifdef CPU_ARM
*(.glue_7)
*(.glue_7t)
@@ -125,12 +126,18 @@ SECTIONS
.rodata :
{
*(.rodata*)
+#if defined(IRAMSIZE) && IRAMSIZE == 0
+ *(.irodata)
+#endif
. = ALIGN(0x4);
} > PLUGIN_RAM
.data :
{
*(.data*)
+#if defined(IRAMSIZE) && IRAMSIZE == 0
+ *(.idata)
+#endif
} > PLUGIN_RAM
#if NOCACHE_BASE != 0
@@ -151,7 +158,7 @@ SECTIONS
*(.eh_frame)
}
-#if defined(IRAMSIZE)
+#if defined(IRAMSIZE) && IRAMSIZE != 0
.iram IRAMORIG : AT ( iramcopy)
{
iramstart = .;
@@ -175,6 +182,9 @@ SECTIONS
{
plugin_bss_start = .;
*(.bss*)
+#if defined(IRAMSIZE) && IRAMSIZE == 0
+ *(.ibss)
+#endif
*(COMMON)
. = ALIGN(0x4);
} > PLUGIN_RAM