summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/debug_menu.c34
1 files changed, 33 insertions, 1 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c
index ad20fe029f..b332d5d821 100644
--- a/apps/debug_menu.c
+++ b/apps/debug_menu.c
@@ -1805,6 +1805,38 @@ static bool dbg_save_roms(void)
1805 1805
1806 return false; 1806 return false;
1807} 1807}
1808#elif CONFIG_CPU == RK27XX
1809static bool dbg_save_roms(void)
1810{
1811 char buf[0x200];
1812
1813 int fd = creat("/rom.bin", 0666);
1814 if(fd < 0)
1815 return false;
1816
1817 for(int addr = 0; addr < 0x2000; addr += sizeof(buf))
1818 {
1819 int old_irq = disable_irq_save();
1820
1821 /* map rom at 0 */
1822 SCU_REMAP = 0;
1823 commit_discard_idcache();
1824
1825 /* copy rom */
1826 memcpy((void *)buf, (void *)addr, sizeof(buf));
1827
1828 /* map iram back at 0 */
1829 SCU_REMAP = 0xdeadbeef;
1830 commit_discard_idcache();
1831
1832 restore_irq(old_irq);
1833
1834 write(fd, (void *)buf, sizeof(buf));
1835 }
1836 close(fd);
1837
1838 return false;
1839}
1808#endif /* CPU */ 1840#endif /* CPU */
1809 1841
1810#ifndef SIMULATOR 1842#ifndef SIMULATOR
@@ -2162,7 +2194,7 @@ static const struct {
2162#if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || \ 2194#if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || \
2163 (defined(CPU_PP) && !(CONFIG_STORAGE & STORAGE_SD)) || \ 2195 (defined(CPU_PP) && !(CONFIG_STORAGE & STORAGE_SD)) || \
2164 CONFIG_CPU == IMX31L || defined(CPU_TCC780X) || CONFIG_CPU == AS3525v2 || \ 2196 CONFIG_CPU == IMX31L || defined(CPU_TCC780X) || CONFIG_CPU == AS3525v2 || \
2165 CONFIG_CPU == AS3525 2197 CONFIG_CPU == AS3525 || CONFIG_CPU == RK27XX
2166 { "Dump ROM contents", dbg_save_roms }, 2198 { "Dump ROM contents", dbg_save_roms },
2167#endif 2199#endif
2168#if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || defined(CPU_PP) \ 2200#if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || defined(CPU_PP) \