diff options
-rw-r--r-- | apps/codecs/libFLAC/coldfire.c | 1 | ||||
-rw-r--r-- | apps/plugins/flac2wav.c | 4 | ||||
-rw-r--r-- | apps/plugins/plugin.lds | 18 | ||||
-rw-r--r-- | firmware/app.lds | 2 |
4 files changed, 24 insertions, 1 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 | ||
4 | void 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"))); | ||
4 | void 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 | void 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 | ||
158 | extern char iramcopy[]; | ||
159 | extern char iramstart[]; | ||
160 | extern char iramend[]; | ||
158 | 161 | ||
159 | /* this is the plugin entry point */ | 162 | /* this is the plugin entry point */ |
160 | enum plugin_status plugin_start(struct plugin_api* api, void* file) | 163 | enum 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) | |||
31 | MEMORY | 33 | MEMORY |
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 | ||
36 | SECTIONS | 41 | SECTIONS |
@@ -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 | } |
diff --git a/firmware/app.lds b/firmware/app.lds index 22acdb86ba..8cf965dfeb 100644 --- a/firmware/app.lds +++ b/firmware/app.lds | |||
@@ -117,7 +117,7 @@ _pluginbuf = 0; | |||
117 | #ifdef IRIVER_H100 | 117 | #ifdef IRIVER_H100 |
118 | #define DRAMORIG 0x30000000 + STUBOFFSET | 118 | #define DRAMORIG 0x30000000 + STUBOFFSET |
119 | #define IRAMORIG 0x10000000 | 119 | #define IRAMORIG 0x10000000 |
120 | #define IRAMSIZE 0x18000 | 120 | #define IRAMSIZE 0x10000 |
121 | #else | 121 | #else |
122 | #define DRAMORIG 0x09000000 + STUBOFFSET | 122 | #define DRAMORIG 0x09000000 + STUBOFFSET |
123 | #define IRAMORIG 0x0f000000 | 123 | #define IRAMORIG 0x0f000000 |