diff options
-rw-r--r-- | apps/plugins/plugin.lds | 2 | ||||
-rw-r--r-- | firmware/app.lds | 2 | ||||
-rw-r--r-- | firmware/crt0.S | 26 | ||||
-rw-r--r-- | firmware/export/gdb_api.h | 2 | ||||
-rw-r--r-- | gdb/linker.cfg | 4 |
5 files changed, 30 insertions, 6 deletions
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds index 0e1657c559..f9c2406893 100644 --- a/apps/plugins/plugin.lds +++ b/apps/plugins/plugin.lds | |||
@@ -33,7 +33,7 @@ OUTPUT_FORMAT(elf32-sh) | |||
33 | #define IRAMORIG 0x4000c000 | 33 | #define IRAMORIG 0x4000c000 |
34 | #define IRAMSIZE 0xc000 | 34 | #define IRAMSIZE 0xc000 |
35 | #elif CONFIG_CPU == PNX0101 | 35 | #elif CONFIG_CPU == PNX0101 |
36 | #define DRAMORIG 0x24000000 | 36 | #define DRAMORIG 0xc00000 + STUBOFFSET |
37 | #define IRAMORIG 0x408000 | 37 | #define IRAMORIG 0x408000 |
38 | #define IRAMSIZE 0x8000 | 38 | #define IRAMSIZE 0x8000 |
39 | #else | 39 | #else |
diff --git a/firmware/app.lds b/firmware/app.lds index e796f4a05b..74cca5a96a 100644 --- a/firmware/app.lds +++ b/firmware/app.lds | |||
@@ -127,7 +127,7 @@ _pluginbuf = 0; | |||
127 | #define IRAMORIG 0x40000000 | 127 | #define IRAMORIG 0x40000000 |
128 | #define IRAMSIZE 0xc000 | 128 | #define IRAMSIZE 0xc000 |
129 | #elif CONFIG_CPU==PNX0101 | 129 | #elif CONFIG_CPU==PNX0101 |
130 | #define DRAMORIG 0x24000000 + STUBOFFSET | 130 | #define DRAMORIG 0xc00000 + STUBOFFSET |
131 | #define IRAMORIG 0x400000 | 131 | #define IRAMORIG 0x400000 |
132 | #define IRAMSIZE 0x8000 | 132 | #define IRAMSIZE 0x8000 |
133 | #else | 133 | #else |
diff --git a/firmware/crt0.S b/firmware/crt0.S index 264b9c9fe7..a207006c32 100644 --- a/firmware/crt0.S +++ b/firmware/crt0.S | |||
@@ -80,7 +80,31 @@ remap_start: | |||
80 | mov pc, r0 | 80 | mov pc, r0 |
81 | L_post_remap: .word remap_end | 81 | L_post_remap: .word remap_end |
82 | remap_end: | 82 | remap_end: |
83 | #endif /* PP specific */ | 83 | |
84 | #elif CONFIG_CPU == PNX0101 | ||
85 | |||
86 | #ifndef DEBUG | ||
87 | ldr r0, =0x80105000 | ||
88 | mov r1, #1 | ||
89 | str r1, [r0, #4] | ||
90 | mov r1, #0 | ||
91 | str r1, [r0, #4] | ||
92 | 1: ldr r1, [r0] | ||
93 | cmp r1, #0 | ||
94 | bne 1b | ||
95 | mov r1, #0x74 | ||
96 | str r1, [r0, #8] | ||
97 | mov r1, #2 | ||
98 | str r1, [r0, #0x18] | ||
99 | mov r1, #0x120 | ||
100 | str r1, [r0, #0x30] | ||
101 | mov r1, #6 | ||
102 | str r1, [r0, #4] | ||
103 | ldr r0, =1f | ||
104 | mov r15, r0 | ||
105 | 1: | ||
106 | #endif /* !DEBUG */ | ||
107 | #endif /* chipset specific */ | ||
84 | 108 | ||
85 | #ifndef DEBUG | 109 | #ifndef DEBUG |
86 | /* Copy exception handler code to address 0 */ | 110 | /* Copy exception handler code to address 0 */ |
diff --git a/firmware/export/gdb_api.h b/firmware/export/gdb_api.h index 896c8d399d..a395baabec 100644 --- a/firmware/export/gdb_api.h +++ b/firmware/export/gdb_api.h | |||
@@ -24,7 +24,7 @@ | |||
24 | 24 | ||
25 | #define GDB_API_MAGIC 0x6db570b | 25 | #define GDB_API_MAGIC 0x6db570b |
26 | #ifdef IRIVER_IFP7XX_SERIES | 26 | #ifdef IRIVER_IFP7XX_SERIES |
27 | #define GDB_API_ADDRESS 0x24006000 | 27 | #define GDB_API_ADDRESS 0xc06000 |
28 | #endif | 28 | #endif |
29 | 29 | ||
30 | struct gdb_api | 30 | struct gdb_api |
diff --git a/gdb/linker.cfg b/gdb/linker.cfg index 46ec779817..af604e0379 100644 --- a/gdb/linker.cfg +++ b/gdb/linker.cfg | |||
@@ -13,8 +13,8 @@ OUTPUT_FORMAT(elf32-sh) | |||
13 | MEMORY | 13 | MEMORY |
14 | { | 14 | { |
15 | IRAM : ORIGIN = 0, LENGTH = 0x10000 | 15 | IRAM : ORIGIN = 0, LENGTH = 0x10000 |
16 | DRAM : ORIGIN = 0x24000000, LENGTH = 0x6000 | 16 | DRAM : ORIGIN = 0xc00000, LENGTH = 0x6000 |
17 | DRAM_API : ORIGIN = 0x24006000, LENGTH = 0x100 | 17 | DRAM_API : ORIGIN = 0xc06000, LENGTH = 0x100 |
18 | } | 18 | } |
19 | 19 | ||
20 | SECTIONS | 20 | SECTIONS |