summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/codecs/libFLAC/coldfire.c1
-rw-r--r--apps/plugins/flac2wav.c4
-rw-r--r--apps/plugins/plugin.lds18
3 files changed, 23 insertions, 0 deletions
diff --git a/apps/codecs/libFLAC/coldfire.c b/apps/codecs/libFLAC/coldfire.c
index c763c2001f..1d50038195 100644
--- a/apps/codecs/libFLAC/coldfire.c
+++ b/apps/codecs/libFLAC/coldfire.c
@@ -1,6 +1,7 @@
1#ifndef SIMULATOR 1#ifndef SIMULATOR
2#include <private/coldfire.h> 2#include <private/coldfire.h>
3 3
4void FLAC__lpc_restore_signal_order8_mac(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]) __attribute__ ((section (".icode")));
4void FLAC__lpc_restore_signal_order8_mac(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]) 5void FLAC__lpc_restore_signal_order8_mac(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[])
5{ 6{
6 register const FLAC__int32 *qlp0 = &qlp_coeff[(order-1)]; 7 register const FLAC__int32 *qlp0 = &qlp_coeff[(order-1)];
diff --git a/apps/plugins/flac2wav.c b/apps/plugins/flac2wav.c
index c90cf0d633..74e69e75ac 100644
--- a/apps/plugins/flac2wav.c
+++ b/apps/plugins/flac2wav.c
@@ -155,6 +155,9 @@ FLAC__bool flac_eof_handler (const FLAC__SeekableStreamDecoder *decoder,
155 } 155 }
156} 156}
157 157
158extern char iramcopy[];
159extern char iramstart[];
160extern char iramend[];
158 161
159/* this is the plugin entry point */ 162/* this is the plugin entry point */
160enum plugin_status plugin_start(struct plugin_api* api, void* file) 163enum plugin_status plugin_start(struct plugin_api* api, void* file)
@@ -168,6 +171,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* file)
168 otherwise you will get lovely "I04: IllInstr" errors... :-) */ 171 otherwise you will get lovely "I04: IllInstr" errors... :-) */
169 rb = api; 172 rb = api;
170 173
174 rb->memcpy(iramstart, iramcopy, iramend-iramstart);
171 175
172 /* This function sets up the buffers and reads the file into RAM */ 176 /* This function sets up the buffers and reads the file into RAM */
173 177
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds
index acbeb52652..867084efa5 100644
--- a/apps/plugins/plugin.lds
+++ b/apps/plugins/plugin.lds
@@ -16,6 +16,8 @@ OUTPUT_FORMAT(elf32-sh)
16 16
17#ifdef IRIVER_H100 17#ifdef IRIVER_H100
18#define DRAMORIG 0x30000000 18#define DRAMORIG 0x30000000
19#define IRAMORIG 0x10010000
20#define IRAMSIZE 0x8000
19#else 21#else
20#define DRAMORIG 0x09000000 + STUBOFFSET 22#define DRAMORIG 0x09000000 + STUBOFFSET
21#endif 23#endif
@@ -31,6 +33,9 @@ OUTPUT_FORMAT(elf32-sh)
31MEMORY 33MEMORY
32{ 34{
33 PLUGIN_RAM : ORIGIN = PLUGIN_ORIGIN, LENGTH = PLUGIN_LENGTH 35 PLUGIN_RAM : ORIGIN = PLUGIN_ORIGIN, LENGTH = PLUGIN_LENGTH
36#ifdef IRIVER_H100
37 PLUGIN_IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
38#endif
34} 39}
35 40
36SECTIONS 41SECTIONS
@@ -57,5 +62,18 @@ SECTIONS
57 *(.rodata.str1.1) 62 *(.rodata.str1.1)
58 *(.rodata.str1.4) 63 *(.rodata.str1.4)
59 . = ALIGN(0x4); 64 . = ALIGN(0x4);
65#ifdef IRIVER_H100
66 iramcopy = .;
67#endif
60 } > PLUGIN_RAM 68 } > PLUGIN_RAM
69
70#ifdef IRIVER_H100
71 .iram IRAMORIG : AT ( iramcopy)
72 {
73 iramstart = .;
74 *(.icode)
75 *(.idata)
76 iramend = .;
77 } > PLUGIN_IRAM
78#endif
61} 79}