diff --git a/build/nandfirm/menu-launcher/wram_regs/wram_regs.c b/build/nandfirm/menu-launcher/wram_regs/wram_regs.c index bafe67b4..2454b302 100644 --- a/build/nandfirm/menu-launcher/wram_regs/wram_regs.c +++ b/build/nandfirm/menu-launcher/wram_regs/wram_regs.c @@ -46,13 +46,13 @@ MIHeader_WramRegs wram_regs_init = REG_MI_MBK_C6_FIELD( 1, MI_WRAM_BC_OFFSET_192KB, MI_WRAM_ARM7 ), REG_MI_MBK_C7_FIELD( 1, MI_WRAM_BC_OFFSET_224KB, MI_WRAM_ARM7 ), }, - REG_MI_MBK6_FIELD( REG_WRAM_MAP_CONV_ADDR( 6, A, EADDR, HW_WRAM_AREA_HALF + 0x00040000 ), + REG_MI_MBK6_FIELD( REG_WRAM_MAP_CONV_ADDR( 6, A, EADDR, HW_WRAM_AREA_HALF ), MI_WRAM_IMAGE_256KB, - REG_WRAM_MAP_CONV_ADDR( 6, A, SADDR, HW_WRAM_AREA_HALF ) + REG_WRAM_MAP_CONV_ADDR( 6, A, SADDR, HW_WRAM_AREA_HALF - HW_WRAM_A_SIZE ) ), - REG_MI_MBK7_FIELD( REG_WRAM_MAP_CONV_ADDR( 7, B, EADDR, HW_WRAM_AREA_HALF + 0x00080000 ), + REG_MI_MBK7_FIELD( REG_WRAM_MAP_CONV_ADDR( 7, B, EADDR, HW_WRAM_AREA + HW_WRAM_B_SIZE ), MI_WRAM_IMAGE_256KB, - REG_WRAM_MAP_CONV_ADDR( 7, B, SADDR, HW_WRAM_AREA_HALF + 0x00040000 ) + REG_WRAM_MAP_CONV_ADDR( 7, B, SADDR, HW_WRAM_AREA ) ), REG_MI_MBK8_FIELD( REG_WRAM_MAP_CONV_ADDR( 8, C, EADDR, MI_WRAM_MAP_NULL ), MI_WRAM_IMAGE_256KB, @@ -64,13 +64,13 @@ MIHeader_WramRegs wram_regs_init = MI_WRAM_IMAGE_256KB, REG_WRAM_MAP_CONV_ADDR( 6, A, SADDR, MI_WRAM_MAP_NULL ) ), - REG_MI_MBK7_FIELD( REG_WRAM_MAP_CONV_ADDR( 7, B, EADDR, HW_WRAM_AREA_HALF + 0x00080000 ), + REG_MI_MBK7_FIELD( REG_WRAM_MAP_CONV_ADDR( 7, B, EADDR, HW_WRAM_AREA + HW_WRAM_B_SIZE ), MI_WRAM_IMAGE_256KB, - REG_WRAM_MAP_CONV_ADDR( 7, B, SADDR, HW_WRAM_AREA_HALF + 0x00040000 ) + REG_WRAM_MAP_CONV_ADDR( 7, B, SADDR, HW_WRAM_AREA ) ), - REG_MI_MBK8_FIELD( REG_WRAM_MAP_CONV_ADDR( 8, C, EADDR, HW_WRAM_AREA_HALF + 0x00040000 ), + REG_MI_MBK8_FIELD( REG_WRAM_MAP_CONV_ADDR( 8, C, EADDR, HW_WRAM_AREA_HALF - HW_WRAM_SIZE ), MI_WRAM_IMAGE_256KB, - REG_WRAM_MAP_CONV_ADDR( 8, C, SADDR, HW_WRAM_AREA_HALF ) + REG_WRAM_MAP_CONV_ADDR( 8, C, SADDR, HW_WRAM_AREA_HALF - HW_WRAM_SIZE - HW_WRAM_C_SIZE ) ), // WRAM Lock diff --git a/build/nandfirm/sdmc-launcher/wram_regs/wram_regs.c b/build/nandfirm/sdmc-launcher/wram_regs/wram_regs.c index bafe67b4..2454b302 100644 --- a/build/nandfirm/sdmc-launcher/wram_regs/wram_regs.c +++ b/build/nandfirm/sdmc-launcher/wram_regs/wram_regs.c @@ -46,13 +46,13 @@ MIHeader_WramRegs wram_regs_init = REG_MI_MBK_C6_FIELD( 1, MI_WRAM_BC_OFFSET_192KB, MI_WRAM_ARM7 ), REG_MI_MBK_C7_FIELD( 1, MI_WRAM_BC_OFFSET_224KB, MI_WRAM_ARM7 ), }, - REG_MI_MBK6_FIELD( REG_WRAM_MAP_CONV_ADDR( 6, A, EADDR, HW_WRAM_AREA_HALF + 0x00040000 ), + REG_MI_MBK6_FIELD( REG_WRAM_MAP_CONV_ADDR( 6, A, EADDR, HW_WRAM_AREA_HALF ), MI_WRAM_IMAGE_256KB, - REG_WRAM_MAP_CONV_ADDR( 6, A, SADDR, HW_WRAM_AREA_HALF ) + REG_WRAM_MAP_CONV_ADDR( 6, A, SADDR, HW_WRAM_AREA_HALF - HW_WRAM_A_SIZE ) ), - REG_MI_MBK7_FIELD( REG_WRAM_MAP_CONV_ADDR( 7, B, EADDR, HW_WRAM_AREA_HALF + 0x00080000 ), + REG_MI_MBK7_FIELD( REG_WRAM_MAP_CONV_ADDR( 7, B, EADDR, HW_WRAM_AREA + HW_WRAM_B_SIZE ), MI_WRAM_IMAGE_256KB, - REG_WRAM_MAP_CONV_ADDR( 7, B, SADDR, HW_WRAM_AREA_HALF + 0x00040000 ) + REG_WRAM_MAP_CONV_ADDR( 7, B, SADDR, HW_WRAM_AREA ) ), REG_MI_MBK8_FIELD( REG_WRAM_MAP_CONV_ADDR( 8, C, EADDR, MI_WRAM_MAP_NULL ), MI_WRAM_IMAGE_256KB, @@ -64,13 +64,13 @@ MIHeader_WramRegs wram_regs_init = MI_WRAM_IMAGE_256KB, REG_WRAM_MAP_CONV_ADDR( 6, A, SADDR, MI_WRAM_MAP_NULL ) ), - REG_MI_MBK7_FIELD( REG_WRAM_MAP_CONV_ADDR( 7, B, EADDR, HW_WRAM_AREA_HALF + 0x00080000 ), + REG_MI_MBK7_FIELD( REG_WRAM_MAP_CONV_ADDR( 7, B, EADDR, HW_WRAM_AREA + HW_WRAM_B_SIZE ), MI_WRAM_IMAGE_256KB, - REG_WRAM_MAP_CONV_ADDR( 7, B, SADDR, HW_WRAM_AREA_HALF + 0x00040000 ) + REG_WRAM_MAP_CONV_ADDR( 7, B, SADDR, HW_WRAM_AREA ) ), - REG_MI_MBK8_FIELD( REG_WRAM_MAP_CONV_ADDR( 8, C, EADDR, HW_WRAM_AREA_HALF + 0x00040000 ), + REG_MI_MBK8_FIELD( REG_WRAM_MAP_CONV_ADDR( 8, C, EADDR, HW_WRAM_AREA_HALF - HW_WRAM_SIZE ), MI_WRAM_IMAGE_256KB, - REG_WRAM_MAP_CONV_ADDR( 8, C, SADDR, HW_WRAM_AREA_HALF ) + REG_WRAM_MAP_CONV_ADDR( 8, C, SADDR, HW_WRAM_AREA_HALF - HW_WRAM_SIZE - HW_WRAM_C_SIZE ) ), // WRAM Lock diff --git a/include/firm/specfiles/ARM7-TS-FIRM.lcf.template b/include/firm/specfiles/ARM7-TS-FIRM.lcf.template index df9a85d3..b564f8cd 100644 --- a/include/firm/specfiles/ARM7-TS-FIRM.lcf.template +++ b/include/firm/specfiles/ARM7-TS-FIRM.lcf.template @@ -31,7 +31,7 @@ MEMORY arena.MAIN (RW) : ORIGIN = AFTER(,), LENGTH = 0x0 - check.WORKRAM (RWX) : ORIGIN = 0x037f8000, LENGTH = 0x48000 > workram.check + check.WORKRAM (RWX) : ORIGIN = 0x037b8000, LENGTH = 0x48000 > workram.check binary.LTDAUTOLOAD_TOP (RW) : ORIGIN = 0, LENGTH = 0x0 > diff --git a/include/firm/specfiles/ARM7-TS-FIRM.lsf b/include/firm/specfiles/ARM7-TS-FIRM.lsf index 10fc59e7..4d038ea9 100644 --- a/include/firm/specfiles/ARM7-TS-FIRM.lsf +++ b/include/firm/specfiles/ARM7-TS-FIRM.lsf @@ -20,7 +20,7 @@ Static $(TARGET_NAME) { - Address 0x037f8000 + Address 0x037b8000 Object $(OBJS_STATIC) Library $(LLIBS) $(GLIBS) $(CW_LIBS) Object * (.etable) diff --git a/include/firm/specfiles/ARM9-TS-FIRM.lcf.template b/include/firm/specfiles/ARM9-TS-FIRM.lcf.template index 3fbdad1a..11513dcd 100644 --- a/include/firm/specfiles/ARM9-TS-FIRM.lcf.template +++ b/include/firm/specfiles/ARM9-TS-FIRM.lcf.template @@ -38,6 +38,7 @@ MEMORY check.ITCM (RW) : ORIGIN = 0x0, LENGTH = 0x08000 > itcm.check check.DTCM (RW) : ORIGIN = 0x0, LENGTH = 0x04000 > dtcm.check + check.WORKRAM (RWX) : ORIGIN = 0x037c0000, LENGTH = 0x40000 > workram.check binary.LTDAUTOLOAD_TOP (RW) : ORIGIN = 0, LENGTH = 0x0 > @@ -358,6 +359,11 @@ SECTIONS . = . + 0x080 + SDK_IRQ_STACKSIZE + SDK_SYS_STACKSIZE * SDK_SYS_STACKSIZE_SIGN; } > check.DTCM + .check.WORKRAM: + { + . = SDK_STATIC_BSS_END; + } > check.WORKRAM + ########################### LTDAUTOLOADS ############################ SDK_LTDAUTOLOAD.LTDMAIN.START = SDK_STATIC_BSS_END; SDK_LTDAUTOLOAD.LTDMAIN.END = SDK_LTDAUTOLOAD.LTDMAIN.START; diff --git a/include/firm/specfiles/ARM9-TS-FIRM.lsf b/include/firm/specfiles/ARM9-TS-FIRM.lsf index 272005c4..3c937bfc 100644 --- a/include/firm/specfiles/ARM9-TS-FIRM.lsf +++ b/include/firm/specfiles/ARM9-TS-FIRM.lsf @@ -20,7 +20,7 @@ Static $(TARGET_NAME) { - Address 0x03800000 + Address 0x037c0000 Object $(OBJS_STATIC) Library $(LLIBS) $(GLIBS) $(CW_LIBS) Object * (.itcm)