From 1e31ea5b8bcd03330899c2477157af6100a3b70e Mon Sep 17 00:00:00 2001 From: nakasima Date: Thu, 29 Jan 2009 06:45:19 +0000 Subject: [PATCH] =?UTF-8?q?NE1EMU=E3=81=A7=E3=81=AE=E3=83=96=E3=83=BC?= =?UTF-8?q?=E3=83=88ROM=E3=81=AE=E3=83=9F=E3=83=A9=E3=83=BC=E3=83=AA?= =?UTF-8?q?=E3=83=B3=E3=82=B0=E3=81=B8=E5=AF=BE=E5=BF=9C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@231 b871894f-2f95-9b40-918c-086798483c85 --- .../build/bootrom/teg-dev/ARM11/crt0_secure.c | 4 + .../build/bootrom/teg-dev/rom/Makefile | 4 + .../build/libraries/init/ARM11/crt0_secure.c | 4 + .../libraries/init/ARM9/crt0_secure_sp.c | 4 + trunk/include/ctr/hw/ARM11/mmap_global.h | 4 - trunk/tools/bootrom/ne1tb/ne1_dev.axf | Bin 0 -> 141252 bytes trunk/tools/bootrom/ne1tb/ne1_dev11.dasm | 1359 +++++++++++++++++ trunk/tools/bootrom/ne1tb/readme.txt | 2 +- trunk/tools/bootrom/ne1tb/realview.map | 329 ++-- trunk/tools/bootrom/ne1tb/teg_dev11.axf | Bin 44812 -> 0 bytes trunk/tools/bootrom/ne1tb/teg_dev11.txt | 1326 ---------------- trunk/tools/bootrom/ne1tb/thread11.axf | Bin 164560 -> 164896 bytes 12 files changed, 1541 insertions(+), 1495 deletions(-) create mode 100644 trunk/tools/bootrom/ne1tb/ne1_dev.axf create mode 100644 trunk/tools/bootrom/ne1tb/ne1_dev11.dasm delete mode 100644 trunk/tools/bootrom/ne1tb/teg_dev11.axf delete mode 100644 trunk/tools/bootrom/ne1tb/teg_dev11.txt diff --git a/trunk/bootrom/build/bootrom/teg-dev/ARM11/crt0_secure.c b/trunk/bootrom/build/bootrom/teg-dev/ARM11/crt0_secure.c index 038c7df..9cfc737 100644 --- a/trunk/bootrom/build/bootrom/teg-dev/ARM11/crt0_secure.c +++ b/trunk/bootrom/build/bootrom/teg-dev/ARM11/crt0_secure.c @@ -34,6 +34,10 @@ asm void i_stupStartHandler( void ) INASM_EXTERN( stupInitExceptions ) INASM_EXTERN( i_osFinalize ) + // jump from image address to physical address + ldr pc, =image_to_physical +image_to_physical + //---- initialize stack pointer // SVC mode mov r0, #HW_PSR_SVC_MODE | HW_PSR_IRQ_DISABLE | HW_PSR_FIQ_DISABLE diff --git a/trunk/bootrom/build/bootrom/teg-dev/rom/Makefile b/trunk/bootrom/build/bootrom/teg-dev/rom/Makefile index e5c9047..ed14dbf 100644 --- a/trunk/bootrom/build/bootrom/teg-dev/rom/Makefile +++ b/trunk/bootrom/build/bootrom/teg-dev/rom/Makefile @@ -24,7 +24,11 @@ LINCLUDES = ../include #---------------------------------------------------------------------------- +ifneq ($(BROM_PLATFORM),NE1EMU) TARGET_BIN = teg_dev.exo +else +TARGET_BIN = ne1_dev.exo +endif CRT0_O = diff --git a/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c b/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c index 1c35447..cf0d913 100644 --- a/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c +++ b/trunk/bootrom/build/libraries/init/ARM11/crt0_secure.c @@ -35,6 +35,10 @@ asm void i_stupStartHandler( void ) INASM_EXTERN( BromMain ) INASM_EXTERN( main ) + // jump from image address to physical address + ldr pc, =image_to_physical +image_to_physical + //---- initialize stack pointer // SVC mode mov r0, #HW_PSR_SVC_MODE | HW_PSR_IRQ_DISABLE | HW_PSR_FIQ_DISABLE diff --git a/trunk/bootrom/build/libraries/init/ARM9/crt0_secure_sp.c b/trunk/bootrom/build/libraries/init/ARM9/crt0_secure_sp.c index b900de7..c66ca69 100644 --- a/trunk/bootrom/build/libraries/init/ARM9/crt0_secure_sp.c +++ b/trunk/bootrom/build/libraries/init/ARM9/crt0_secure_sp.c @@ -39,6 +39,10 @@ asm void i_stupStartHandler( void ) INASM_EXTERN( BromSpMain ) INASM_EXTERN( main ) + // jump from image address to physical address + ldr pc, =image_to_physical +image_to_physical + #ifndef BROM_ENABLE_BOOTROM_WRITE ldr r3, =REG_ROM_ADDR diff --git a/trunk/include/ctr/hw/ARM11/mmap_global.h b/trunk/include/ctr/hw/ARM11/mmap_global.h index 9a58d25..16a0d14 100644 --- a/trunk/include/ctr/hw/ARM11/mmap_global.h +++ b/trunk/include/ctr/hw/ARM11/mmap_global.h @@ -123,11 +123,7 @@ extern "C" { #define HW_BIOS 0xffff0000 #else // include SDK_NE1EMU #define HW_BIOS_IMG 0x00000000 -#ifdef SDK_NE1EMU -#define HW_BIOS 0x00000000 -#else // SDK_NE1EMU #define HW_BIOS 0x00010000 -#endif // SDK_NE1EMU #endif // include SDK_NE1EMU #define HW_BIOS_END (HW_BIOS + HW_BIOS_SIZE) #define HW_BIOS_SIZE 0x8000 // 32KB diff --git a/trunk/tools/bootrom/ne1tb/ne1_dev.axf b/trunk/tools/bootrom/ne1tb/ne1_dev.axf new file mode 100644 index 0000000000000000000000000000000000000000..880abca29710200e506ed9ae87025b1c88f56bb9 GIT binary patch literal 141252 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 literal 0 HcmV?d00001 diff --git a/trunk/tools/bootrom/ne1tb/ne1_dev11.dasm b/trunk/tools/bootrom/ne1tb/ne1_dev11.dasm new file mode 100644 index 0000000..37fc5a3 --- /dev/null +++ b/trunk/tools/bootrom/ne1tb/ne1_dev11.dasm @@ -0,0 +1,1359 @@ + +======================================================================== + +** ELF Header Information + + File Name: bin/ARM11-NE1EMU.thumb/Release/teg_dev11.axf + + Machine class: ELFCLASS32 (32-bit) + Data encoding: ELFDATA2LSB (Little endian) + Header version: EV_CURRENT (Current version) + Operating System ABI: none + ABI Version: 0 + File Type: ET_EXEC (Executable) (2) + Machine: EM_ARM (ARM) + + Image Entry point: 0x00010000 + Flags: EF_ARM_HASENTRY (0x05000002) + + ABI conformance : ARM ELF Revision 5 (AAELF 2.0) + + Built with + ARM/Thumb C/C++ Compiler, RVCT3.0 [Build 441] + ARM/Thumb Macro Assembler, RVCT3.0 [Build 441] + ARM Linker, RVCT3.0 [Build 441] + + Header size: 52 bytes (0x34) + Program header entry size: 32 bytes (0x20) + Section header entry size: 40 bytes (0x28) + + Program header entries: 3 + Section header entries: 19 + + Program header offset: 44200 (0x0000aca8) + Section header offset: 44296 (0x0000ad08) + + Section header string table index: 18 + +======================================================================== + +** Program header #0 (PT_LOAD) [PF_X + PF_R + PF_ARM_ENTRY] + Size : 200 bytes + Virtual address: 0x00010000 + + +==================================== + +** Program header #1 (PT_LOAD) [PF_X + PF_R] + Size : 1180 bytes + Virtual address: 0x00011000 + + +==================================== + +** Program header #2 (PT_LOAD) [PF_X + PF_W + PF_R] + Size : 19012 bytes (2628 bytes in file) + Virtual address: 0x00018000 + + +======================================================================== + +** Section #1 'STUP_ENTRY' (SHT_PROGBITS) [SHF_ALLOC + SHF_EXECINSTR] + Size : 200 bytes (alignment 4) + Address: 0x00010000 + + _start + $a + $v0 + .emb_text + 0x00010000: ea000007 .... B 0x10024 ; 0x10024 + 0x00010004: ea000418 .... B i_stupUndefVeneer ; 0x1106c + 0x00010008: ea000415 .... B i_stupSwiVeneer ; 0x11064 + 0x0001000c: ea000418 .... B i_stupIAbtVeneer ; 0x11074 + 0x00010010: ea000419 .... B i_stupDAbtVeneer ; 0x1107c + 0x00010014: eafffffe .... B 0x10014 ; _start + 20 + 0x00010018: ea00040e .... B i_stupIrqVeneer ; 0x11058 + 0x0001001c: ea00040e .... B i_stupFiqVeneer ; 0x1105c + $d + 0x00010020: 000110ac .... DCD 69804 + $a + 0x00010024: e3a0c906 .... MOV r12,#0x18000 + 0x00010028: e59cc000 .... LDR r12,[r12,#0] + 0x0001002c: e35c0000 ..\. CMP r12,#0 + 0x00010030: 137c0001 ..|. CMNNE r12,#1 + 0x00010034: 0afffffe .... BEQ 0x10034 ; _start + 52 + 0x00010038: ee1f0f1c .... MRC p15,0x0,r0,c15,c12,0 + 0x0001003c: e59f1074 t... LDR r1,[pc,#116] ; [0x100b8] = 0xffff00f + 0x00010040: e1800001 .... ORR r0,r0,r1 + 0x00010044: ee0f0f1c .... MCR p15,0x0,r0,c15,c12,0 + 0x00010048: ee102fb0 ./.. MRC p15,0x0,r2,c0,c0,5 + 0x0001004c: e3120003 .... TST r2,#3 + 0x00010050: 0a000017 .... BEQ 0x100b4 ; _start + 180 + 0x00010054: e3520001 ..R. CMP r2,#1 + 0x00010058: 0a000002 .... BEQ 0x10068 ; _start + 104 + 0x0001005c: e320f003 .. . WFI + 0x00010060: e320f000 .. . NOP + 0x00010064: eafffffc .... B 0x1005c ; _start + 92 + 0x00010068: e10f0000 .... MRS r0,CPSR + 0x0001006c: e3800080 .... ORR r0,r0,#0x80 + 0x00010070: e121f000 ..!. MSR CPSR_c,r0 + 0x00010074: e59f3040 @0.. LDR r3,[pc,#64] ; [0x100bc] = 0xc0001000 + 0x00010078: e3a00001 .... MOV r0,#1 + 0x0001007c: e5830000 .... STR r0,[r3,#0] + 0x00010080: e59f3038 80.. LDR r3,[pc,#56] ; [0x100c0] = 0xc0001280 + 0x00010084: e3a01001 .... MOV r1,#1 + 0x00010088: e1a01211 .... LSL r1,r1,r2 + 0x0001008c: e3e00000 .... MVN r0,#0 + 0x00010090: e5830000 .... STR r0,[r3,#0] + 0x00010094: e320f003 .. . WFI + 0x00010098: e320f000 .. . NOP + 0x0001009c: e5930000 .... LDR r0,[r3,#0] + 0x000100a0: e1100001 .... TST r0,r1 + 0x000100a4: 0afffffa .... BEQ 0x10094 ; _start + 148 + 0x000100a8: e59fe014 .... LDR lr,[pc,#20] ; [0x100c4] = 0x8fffffdc + 0x000100ac: e59ee000 .... LDR lr,[lr,#0] + 0x000100b0: e12fff1e ../. BX lr + 0x000100b4: ea001fd1 .... B i_stupStartHandler ; 0x18000 + $d + 0x000100b8: 0ffff00f .... DCD 268431375 + 0x000100bc: c0001000 .... DCD 3221229568 + 0x000100c0: c0001280 .... DCD 3221230208 + 0x000100c4: 8fffffdc .... DCD 2415919068 + +** Section #2 'NML_RO' (SHT_PROGBITS) [SHF_ALLOC + SHF_EXECINSTR] + Size : 344 bytes (alignment 4) + Address: 0x00011000 + + stupInitExceptions + $a + $v0 + .emb_text + 0x00011000: e28f201c . .. ADR r2,{pc}+0x24 ; 0x11024 + 0x00011004: e59f3030 00.. LDR r3,[pc,#48] ; [0x1103c] = 0x8fffffa0 + 0x00011008: e283c030 0... ADD r12,r3,#0x30 + 0x0001100c: e4920004 .... LDR r0,[r2],#4 + 0x00011010: e8900003 .... LDM r0,{r0,r1} + 0x00011014: e8a30003 .... STM r3!,{r0,r1} + 0x00011018: e153000c ..S. CMP r3,r12 + 0x0001101c: bafffffa .... BLT 0x1100c ; stupInitExceptions + 12 + 0x00011020: e12fff1e ../. BX lr + $d + 0x00011024: 00011040 @... DCD 69696 + 0x00011028: 00011040 @... DCD 69696 + 0x0001102c: 00011050 P... DCD 69712 + 0x00011030: 00011040 @... DCD 69696 + 0x00011034: 00011048 H... DCD 69704 + 0x00011038: 00011040 @... DCD 69696 + 0x0001103c: 8fffffa0 .... DCD 2415919008 + i_stupExcpTerminateCode + $a + 0x00011040: e51ff004 .... LDR pc,[pc,#-4] ; [0x11044] = 0x11040 + $d + 0x00011044: 00011040 @... DCD 69696 + i_stupIAbtTerminateCode + $a + 0x00011048: e51ff004 .... LDR pc,[pc,#-4] ; [0x1104c] = 0x11048 + $d + 0x0001104c: 00011048 H... DCD 69704 + i_stupSwiVeneerCode + $a + 0x00011050: e51ff004 .... LDR pc,[pc,#-4] ; [0x11054] = 0x110ac + $d + 0x00011054: 000110ac .... DCD 69804 + i_stupIrqVeneer + $a + 0x00011058: e51ff024 $... LDR pc,[pc,#-36] ; [0x1103c] = 0x8fffffa0 + i_stupFiqVeneer + 0x0001105c: e51ff004 .... LDR pc,[pc,#-4] ; [0x11060] = 0x8fffffa8 + $d + 0x00011060: 8fffffa8 .... DCD 2415919016 + i_stupSwiVeneer + $a + 0x00011064: e51ff004 .... LDR pc,[pc,#-4] ; [0x11068] = 0x8fffffb0 + $d + 0x00011068: 8fffffb0 .... DCD 2415919024 + i_stupUndefVeneer + $a + 0x0001106c: e51ff004 .... LDR pc,[pc,#-4] ; [0x11070] = 0x8fffffb8 + $d + 0x00011070: 8fffffb8 .... DCD 2415919032 + i_stupIAbtVeneer + $a + 0x00011074: e51ff004 .... LDR pc,[pc,#-4] ; [0x11078] = 0x8fffffc0 + $d + 0x00011078: 8fffffc0 .... DCD 2415919040 + i_stupDAbtVeneer + $a + 0x0001107c: e51ff004 .... LDR pc,[pc,#-4] ; [0x11080] = 0x8fffffc8 + $d + 0x00011080: 8fffffc8 .... DCD 2415919048 + i_stupSwiSemihosting + $a + 0x00011084: e10f1000 .... MRS r1,CPSR + 0x00011088: e38110c0 .... ORR r1,r1,#0xc0 + 0x0001108c: e12ff001 ../. MSR CPSR_cxsf,r1 + 0x00011090: e8bd4003 .@.. POP {r0,r1,lr} + 0x00011094: e28dd00c .... ADD sp,sp,#0xc + 0x00011098: e32ff0d3 ../. MSR CPSR_cxsf,#0xd3 + 0x0001109c: e8bd4000 .@.. LDM sp!,{lr} + 0x000110a0: e16ff00e ..o. MSR SPSR_cxsf,lr + 0x000110a4: e8bd4000 .@.. LDM sp!,{lr} + 0x000110a8: e1b0f00e .... MOVS pc,lr + i_stupSwiHandler + 0x000110ac: e32ff0d3 ../. MSR CPSR_cxsf,#0xd3 + 0x000110b0: e14fd000 ..O. MRS sp,SPSR + 0x000110b4: e20dd01f .... AND sp,sp,#0x1f + 0x000110b8: e35d0010 ..]. CMP sp,#0x10 + 0x000110bc: 03a0d01f .... MOVEQ sp,#0x1f + 0x000110c0: e38dd0c0 .... ORR sp,sp,#0xc0 + 0x000110c4: e12ff00d ../. MSR CPSR_cxsf,sp + 0x000110c8: e24dd00c ..M. SUB sp,sp,#0xc + 0x000110cc: e92d4003 .@-. PUSH {r0,r1,lr} + 0x000110d0: e28d1018 .... ADD r1,sp,#0x18 + 0x000110d4: e32ff0d3 ../. MSR CPSR_cxsf,#0xd3 + 0x000110d8: e1a0d001 .... MOV sp,r1 + 0x000110dc: e1a0100e .... MOV r1,lr + 0x000110e0: e14f0000 ..O. MRS r0,SPSR + 0x000110e4: e92d4001 .@-. PUSH {r0,lr} + 0x000110e8: e20000df .... AND r0,r0,#0xdf + 0x000110ec: e310000f .... TST r0,#0xf + 0x000110f0: 0380001f .... ORREQ r0,r0,#0x1f + 0x000110f4: e12ff000 ../. MSR CPSR_cxsf,r0 + 0x000110f8: e15100b2 ..Q. LDRH r0,[r1,#-2] + 0x000110fc: e1a00080 .... LSL r0,r0,#1 + 0x00011100: e200007e ~... AND r0,r0,#0x7e + 0x00011104: e3500024 $.P. CMP r0,#0x24 + 0x00011108: 13500056 V.P. CMPNE r0,#0x56 + 0x0001110c: 0affffdc .... BEQ i_stupSwiSemihosting ; 0x11084 + 0x00011110: e28f1034 4... ADR r1,{pc}+0x3c ; 0x1114c + 0x00011114: e19100b0 .... LDRH r0,[r1,r0] + 0x00011118: e3a01801 .... MOV r1,#0x10000 + 0x0001111c: e1800001 .... ORR r0,r0,r1 + 0x00011120: e12fff30 0./. BLX r0 + 0x00011124: e10f1000 .... MRS r1,CPSR + 0x00011128: e38110c0 .... ORR r1,r1,#0xc0 + 0x0001112c: e12ff001 ../. MSR CPSR_cxsf,r1 + 0x00011130: e8bd4003 .@.. POP {r0,r1,lr} + 0x00011134: e28dd00c .... ADD sp,sp,#0xc + 0x00011138: e32ff0d3 ../. MSR CPSR_cxsf,#0xd3 + 0x0001113c: e8bd4000 .@.. LDM sp!,{lr} + 0x00011140: e16ff00e ..o. MSR SPSR_cxsf,lr + 0x00011144: e8bd4000 .@.. LDM sp!,{lr} + 0x00011148: e1b0f00e .... MOVS pc,lr + SWI_Table + $d + 0x0001114c: 0000 .. DCW 0 + SWI_TableEnd + osDisableInterrupts + $t + i.osDisableInterrupts + 0x0001114e: b510 .. PUSH {r4,lr} + 0x00011150: f007e95e ..^. BLX osDisableIrq ; 0x18410 + 0x00011154: bd10 .. POP {r4,pc} + 0x00011156: 0000 .. MOVS r0,r0 + +** Section #3 'RO' (SHT_PROGBITS) [SHF_ALLOC + SHF_EXECINSTR] + Size : 836 bytes (alignment 4) + Address: 0x00011158 + + memcpy + $a + .text + 0x00011158: e92d4001 .@-. PUSH {r0,lr} + 0x0001115c: eb00001e .... BL __aeabi_memcpy ; 0x111dc + 0x00011160: e8bd4001 .@.. POP {r0,lr} + 0x00011164: e12fff1e ../. BX lr + __aeabi_memcpy4 + __aeabi_memcpy8 + __rt_memcpy_w + $a + .text + 0x00011168: e92d47f0 .G-. PUSH {r4-r10,lr} + 0x0001116c: e2522020 R. SUBS r2,r2,#0x20 + 0x00011170: 3a000009 ...: BCC 0x1119c ; __aeabi_memcpy4 + 52 + 0x00011174: e8b10078 x... LDM r1!,{r3-r6} + 0x00011178: f5d1f040 @... PLD [r1,#0x40] + 0x0001117c: e8b10780 .... LDM r1!,{r7-r10} + 0x00011180: e8a00078 x... STM r0!,{r3-r6} + 0x00011184: e2522020 R. SUBS r2,r2,#0x20 + 0x00011188: e8a00780 .... STM r0!,{r7-r10} + 0x0001118c: 28b10078 x..( LDMCS r1!,{r3-r6} + 0x00011190: f5d1f040 @... PLD [r1,#0x40] + 0x00011194: 28b10780 ...( LDMCS r1!,{r7-r10} + 0x00011198: 2afffff8 ...* BCS 0x11180 ; __aeabi_memcpy4 + 24 + 0x0001119c: e1b0ce02 .... LSLS r12,r2,#28 + 0x000111a0: 28b15018 .P.( LDMCS r1!,{r3,r4,r12,lr} + 0x000111a4: 28a05018 .P.( STMCS r0!,{r3,r4,r12,lr} + 0x000111a8: 48b10018 ...H LDMMI r1!,{r3,r4} + 0x000111ac: 48a00018 ...H STMMI r0!,{r3,r4} + 0x000111b0: e8bd47f0 .G.. POP {r4-r10,lr} + 0x000111b4: e1b0cf02 .... LSLS r12,r2,#30 + 0x000111b8: 24913004 .0.$ LDRCS r3,[r1],#4 + 0x000111bc: 24803004 .0.$ STRCS r3,[r0],#4 + 0x000111c0: 012fff1e ../. BXEQ lr + _memcpy_lastbytes_aligned + 0x000111c4: e1b02f82 ./.. LSLS r2,r2,#31 + 0x000111c8: 20d130b2 .0. LDRHCS r3,[r1],#2 + 0x000111cc: 44d12001 . .D LDRBMI r2,[r1],#1 + 0x000111d0: 20c030b2 .0. STRHCS r3,[r0],#2 + 0x000111d4: 44c02001 . .D STRBMI r2,[r0],#1 + 0x000111d8: e12fff1e ../. BX lr + __aeabi_memcpy + __rt_memcpy + $a + .text + 0x000111dc: e3520003 ..R. CMP r2,#3 + 0x000111e0: 9a00002a *... BLS _memcpy_lastbytes ; 0x11290 + 0x000111e4: e210c003 .... ANDS r12,r0,#3 + 0x000111e8: 0a000008 .... BEQ 0x11210 ; __aeabi_memcpy + 52 + 0x000111ec: e4d13001 .0.. LDRB r3,[r1],#1 + 0x000111f0: e35c0002 ..\. CMP r12,#2 + 0x000111f4: e082200c . .. ADD r2,r2,r12 + 0x000111f8: 94d1c001 .... LDRBLS r12,[r1],#1 + 0x000111fc: e4c03001 .0.. STRB r3,[r0],#1 + 0x00011200: 34d13001 .0.4 LDRBCC r3,[r1],#1 + 0x00011204: 94c0c001 .... STRBLS r12,[r0],#1 + 0x00011208: e2422004 . B. SUB r2,r2,#4 + 0x0001120c: 34c03001 .0.4 STRBCC r3,[r0],#1 + 0x00011210: e2113003 .0.. ANDS r3,r1,#3 + 0x00011214: 0affffd3 .... BEQ __aeabi_memcpy4 ; 0x11168 + 0x00011218: e2522004 . R. SUBS r2,r2,#4 + 0x0001121c: 3a00001b ...: BCC _memcpy_lastbytes ; 0x11290 + 0x00011220: e731c003 ..1. LDR r12,[r1,-r3]! + 0x00011224: e3530002 ..S. CMP r3,#2 + 0x00011228: 0a000008 .... BEQ 0x11250 ; __aeabi_memcpy + 116 + 0x0001122c: 8a00000f .... BHI 0x11270 ; __aeabi_memcpy + 148 + 0x00011230: e1a0342c ,4.. LSR r3,r12,#8 + 0x00011234: e5b1c004 .... LDR r12,[r1,#4]! + 0x00011238: e2522004 . R. SUBS r2,r2,#4 + 0x0001123c: e1833c0c .<.. ORR r3,r3,r12,LSL #24 + 0x00011240: e4803004 .0.. STR r3,[r0],#4 + 0x00011244: 2afffff9 ...* BCS 0x11230 ; __aeabi_memcpy + 84 + 0x00011248: e2811001 .... ADD r1,r1,#1 + 0x0001124c: ea00000f .... B _memcpy_lastbytes ; 0x11290 + 0x00011250: e1a0382c ,8.. LSR r3,r12,#16 + 0x00011254: e5b1c004 .... LDR r12,[r1,#4]! + 0x00011258: e2522004 . R. SUBS r2,r2,#4 + 0x0001125c: e183380c .8.. ORR r3,r3,r12,LSL #16 + 0x00011260: e4803004 .0.. STR r3,[r0],#4 + 0x00011264: 2afffff9 ...* BCS 0x11250 ; __aeabi_memcpy + 116 + 0x00011268: e2811002 .... ADD r1,r1,#2 + 0x0001126c: ea000007 .... B _memcpy_lastbytes ; 0x11290 + 0x00011270: e1a03c2c ,<.. LSR r3,r12,#24 + 0x00011274: e5b1c004 .... LDR r12,[r1,#4]! + 0x00011278: e2522004 . R. SUBS r2,r2,#4 + 0x0001127c: e183340c .4.. ORR r3,r3,r12,LSL #8 + 0x00011280: e4803004 .0.. STR r3,[r0],#4 + 0x00011284: 2afffff9 ...* BCS 0x11270 ; __aeabi_memcpy + 148 + 0x00011288: e2811003 .... ADD r1,r1,#3 + 0x0001128c: e1a00000 .... MOV r0,r0 + _memcpy_lastbytes + 0x00011290: e1b02f82 ./.. LSLS r2,r2,#31 + 0x00011294: 24d13001 .0.$ LDRBCS r3,[r1],#1 + 0x00011298: 24d1c001 ...$ LDRBCS r12,[r1],#1 + 0x0001129c: 44d12001 . .D LDRBMI r2,[r1],#1 + 0x000112a0: 24c03001 .0.$ STRBCS r3,[r0],#1 + 0x000112a4: 24c0c001 ...$ STRBCS r12,[r0],#1 + 0x000112a8: 44c02001 . .D STRBMI r2,[r0],#1 + 0x000112ac: e12fff1e ../. BX lr + stupInitMMUTable + $a + i.stupInitMMUTable + 0x000112b0: e59f21b8 .!.. LDR r2,[pc,#440] ; [0x11470] = 0x10012 + 0x000112b4: e59f31b8 .1.. LDR r3,[pc,#440] ; [0x11474] = 0x8fff8000 + 0x000112b8: e92d4010 .@-. PUSH {r4,lr} + 0x000112bc: e1a04000 .@.. MOV r4,r0 + 0x000112c0: e1540003 ..T. CMP r4,r3 + 0x000112c4: 34842004 . .4 STRCC r2,[r4],#4 + 0x000112c8: 3afffffc ...: BCC 0x112c0 ; stupInitMMUTable + 16 + 0x000112cc: e59f41a4 .A.. LDR r4,[pc,#420] ; [0x11478] = 0x8fffa000 + 0x000112d0: e59f21a4 .!.. LDR r2,[pc,#420] ; [0x1147c] = 0x403 + 0x000112d4: e1a0e001 .... MOV lr,r1 + 0x000112d8: e15e0004 ..^. CMP lr,r4 + 0x000112dc: 348e2004 . .4 STRCC r2,[lr],#4 + 0x000112e0: 3afffffc ...: BCC 0x112d8 ; stupInitMMUTable + 40 + 0x000112e4: e59f3194 .1.. LDR r3,[pc,#404] ; [0x11480] = 0x54416 + 0x000112e8: e3a02102 .!.. MOV r2,#0x80000000 + 0x000112ec: e280ca02 .... ADD r12,r0,#0x2000 + 0x000112f0: e202e4ff .... AND lr,r2,#0xff000000 + 0x000112f4: e18ee003 .... ORR lr,lr,r3 + 0x000112f8: e2822601 .&.. ADD r2,r2,#0x100000 + 0x000112fc: e3520321 !.R. CMP r2,#0x84000000 + 0x00011300: e48ce004 .... STR lr,[r12],#4 + 0x00011304: 3afffff9 ...: BCC 0x112f0 ; stupInitMMUTable + 64 + 0x00011308: e59f3174 t1.. LDR r3,[pc,#372] ; [0x11484] = 0x54c16 + 0x0001130c: e3520322 ".R. CMP r2,#0x88000000 + 0x00011310: 3202e4ff ...2 ANDCC lr,r2,#0xff000000 + 0x00011314: 318ee003 ...1 ORRCC lr,lr,r3 + 0x00011318: 32822601 .&.2 ADDCC r2,r2,#0x100000 + 0x0001131c: 348ce004 ...4 STRCC lr,[r12],#4 + 0x00011320: 3afffff9 ...: BCC 0x1130c ; stupInitMMUTable + 92 + 0x00011324: e59f315c \1.. LDR r3,[pc,#348] ; [0x11488] = 0x50416 + 0x00011328: e3a02322 "#.. MOV r2,#0x88000000 + 0x0001132c: e280cc22 "... ADD r12,r0,#0x2200 + 0x00011330: e202e4ff .... AND lr,r2,#0xff000000 + 0x00011334: e18ee003 .... ORR lr,lr,r3 + 0x00011338: e2822601 .&.. ADD r2,r2,#0x100000 + 0x0001133c: e3520489 ..R. CMP r2,#0x89000000 + 0x00011340: e48ce004 .... STR lr,[r12],#4 + 0x00011344: 3afffff9 ...: BCC 0x11330 ; stupInitMMUTable + 128 + 0x00011348: e59f313c <1.. LDR r3,[pc,#316] ; [0x1148c] = 0xc0002412 + 0x0001134c: e3a02a03 .*.. MOV r2,#0x3000 + 0x00011350: e280cd89 .... ADD r12,r0,#0x2240 + 0x00011354: e7823000 .0.. STR r3,[r2,r0] + 0x00011358: e3a02489 .$.. MOV r2,#0x89000000 + 0x0001135c: e2823501 .5.. ADD r3,r2,#0x400000 + 0x00011360: e1a0ea22 "... LSR lr,r2,#20 + 0x00011364: e2822601 .&.. ADD r2,r2,#0x100000 + 0x00011368: e1a0ea0e .... LSL lr,lr,#20 + 0x0001136c: e38eeb51 Q... ORR lr,lr,#0x14400 + 0x00011370: e38ee016 .... ORR lr,lr,#0x16 + 0x00011374: e1520003 ..R. CMP r2,r3 + 0x00011378: e48ce004 .... STR lr,[r12],#4 + 0x0001137c: 3afffff7 ...: BCC 0x11360 ; stupInitMMUTable + 176 + 0x00011380: e59f3108 .1.. LDR r3,[pc,#264] ; [0x11490] = 0x18010416 + 0x00011384: e59f2108 .!.. LDR r2,[pc,#264] ; [0x11494] = 0x8ff00000 + 0x00011388: e1a0c521 !... LSR r12,r1,#10 + 0x0001138c: e5803600 .6.. STR r3,[r0,#0x600] + 0x00011390: e1a0c50c .... LSL r12,r12,#10 + 0x00011394: e1a03922 "9.. LSR r3,r2,#18 + 0x00011398: e38cc001 .... ORR r12,r12,#1 + 0x0001139c: e783c000 .... STR r12,[r3,r0] + 0x000113a0: e1a03001 .0.. MOV r3,r1 + 0x000113a4: e282c80f .... ADD r12,r2,#0xf0000 + 0x000113a8: e1a0e822 "... LSR lr,r2,#16 + 0x000113ac: e2822a01 .*.. ADD r2,r2,#0x1000 + 0x000113b0: e1a0e80e .... LSL lr,lr,#16 + 0x000113b4: e38eeb31 1... ORR lr,lr,#0xc400 + 0x000113b8: e38ee015 .... ORR lr,lr,#0x15 + 0x000113bc: e152000c ..R. CMP r2,r12 + 0x000113c0: e483e004 .... STR lr,[r3],#4 + 0x000113c4: 3afffff7 ...: BCC 0x113a8 ; stupInitMMUTable + 248 + 0x000113c8: e59fc0c8 .... LDR r12,[pc,#200] ; [0x11498] = 0x8fff4000 + 0x000113cc: e152000c ..R. CMP r2,r12 + 0x000113d0: 31a0e622 "..1 LSRCC lr,r2,#12 + 0x000113d4: 32822a01 .*.2 ADDCC r2,r2,#0x1000 + 0x000113d8: 31a0e60e ...1 LSLCC lr,lr,#12 + 0x000113dc: 338eec05 ...3 ORRCC lr,lr,#0x500 + 0x000113e0: 338ee017 ...3 ORRCC lr,lr,#0x17 + 0x000113e4: 3483e004 ...4 STRCC lr,[r3],#4 + 0x000113e8: 3afffff7 ...: BCC 0x113cc ; stupInitMMUTable + 284 + 0x000113ec: ea000005 .... B 0x11408 ; stupInitMMUTable + 344 + 0x000113f0: e1a0c622 "... LSR r12,r2,#12 + 0x000113f4: e2822a01 .*.. ADD r2,r2,#0x1000 + 0x000113f8: e1a0c60c .... LSL r12,r12,#12 + 0x000113fc: e38ccb01 .... ORR r12,r12,#0x400 + 0x00011400: e38cc017 .... ORR r12,r12,#0x17 + 0x00011404: e483c004 .... STR r12,[r3],#4 + 0x00011408: e1520004 ..R. CMP r2,r4 + 0x0001140c: 3afffff7 ...: BCC 0x113f0 ; stupInitMMUTable + 320 + 0x00011410: ea000005 .... B 0x1142c ; stupInitMMUTable + 380 + 0x00011414: e1a0c622 "... LSR r12,r2,#12 + 0x00011418: e2822a01 .*.. ADD r2,r2,#0x1000 + 0x0001141c: e1a0c60c .... LSL r12,r12,#12 + 0x00011420: e38ccb01 .... ORR r12,r12,#0x400 + 0x00011424: e38cc016 .... ORR r12,r12,#0x16 + 0x00011428: e483c004 .... STR r12,[r3],#4 + 0x0001142c: e3520209 ..R. CMP r2,#0x90000000 + 0x00011430: 3afffff7 ...: BCC 0x11414 ; stupInitMMUTable + 356 + 0x00011434: e2812b01 .+.. ADD r2,r1,#0x400 + 0x00011438: e3a01000 .... MOV r1,#0 + 0x0001143c: e1a03522 "5.. LSR r3,r2,#10 + 0x00011440: e1a03503 .5.. LSL r3,r3,#10 + 0x00011444: e3833001 .0.. ORR r3,r3,#1 + 0x00011448: e5803000 .0.. STR r3,[r0,#0] + 0x0001144c: e1a00821 !... LSR r0,r1,#16 + 0x00011450: e2811a01 .... ADD r1,r1,#0x1000 + 0x00011454: e1a00800 .... LSL r0,r0,#16 + 0x00011458: e3800b11 .... ORR r0,r0,#0x4400 + 0x0001145c: e3800015 .... ORR r0,r0,#0x15 + 0x00011460: e3510802 ..Q. CMP r1,#0x20000 + 0x00011464: e4820004 .... STR r0,[r2],#4 + 0x00011468: 1afffff7 .... BNE 0x1144c ; stupInitMMUTable + 412 + 0x0001146c: e8bd8010 .... POP {r4,pc} + $d + 0x00011470: 00010012 .... DCD 65554 + 0x00011474: 8fff8000 .... DCD 2415886336 + 0x00011478: 8fffa000 .... DCD 2415894528 + 0x0001147c: 00000403 .... DCD 1027 + 0x00011480: 00054416 .D.. DCD 345110 + 0x00011484: 00054c16 .L.. DCD 347158 + 0x00011488: 00050416 .... DCD 328726 + 0x0001148c: c0002412 .$.. DCD 3221234706 + 0x00011490: 18010416 .... DCD 402719766 + 0x00011494: 8ff00000 .... DCD 2414870528 + 0x00011498: 8fff4000 .@.. DCD 2415869952 + +** Section #4 'SEC_RO' (SHT_PROGBITS) [SHF_ALLOC + SHF_EXECINSTR] + Size : 2628 bytes (alignment 4) + Address: 0x00018000 + + i_stupStartHandler + $a + $v0 + .emb_text + 0x00018000: e59ff05c \... LDR pc,[pc,#92] ; [0x18064] = 0x18004 + image_to_physical + 0x00018004: e3a000d3 .... MOV r0,#0xd3 + 0x00018008: e12ff000 ../. MSR CPSR_cxsf,r0 + 0x0001800c: e59fd054 T... LDR sp,[pc,#84] ; [0x18068] = 0x8fff4000 + 0x00018010: e3a000d2 .... MOV r0,#0xd2 + 0x00018014: e12ff000 ../. MSR CPSR_cxsf,r0 + 0x00018018: e59f004c L... LDR r0,[pc,#76] ; [0x1806c] = 0x8fff3f00 + 0x0001801c: e1a0d000 .... MOV sp,r0 + 0x00018020: e3a000df .... MOV r0,#0xdf + 0x00018024: e12ff000 ../. MSR CPSR_cxsf,r0 + 0x00018028: e59f0040 @... LDR r0,[pc,#64] ; [0x18070] = 0x8fff3000 + 0x0001802c: e1a0d000 .... MOV sp,r0 + 0x00018030: eb000012 .... BL i_stupInitDDR2 ; 0x18080 + 0x00018034: ebffe3f1 .... BL stupInitExceptions ; 0x11000 + 0x00018038: eb00007d }... BL stupDisableCP15 ; 0x18234 + 0x0001803c: e3a00000 .... MOV r0,#0 + 0x00018040: e59f102c ,... LDR r1,[pc,#44] ; [0x18074] = 0x8fffe000 + 0x00018044: e59f202c , .. LDR r2,[pc,#44] ; [0x18078] = 0x8fffffa0 + 0x00018048: e0422001 . B. SUB r2,r2,r1 + 0x0001804c: eb0000ca .... BL i_stupCpuClear32 ; 0x1837c + 0x00018050: e59f1024 $... LDR r1,[pc,#36] ; [0x1807c] = 0x8fffffd0 + 0x00018054: e2612209 ."a. RSB r2,r1,#0x90000000 + 0x00018058: eb0000c7 .... BL i_stupCpuClear32 ; 0x1837c + 0x0001805c: fa00023a :... BLX i_osFinalize ; 0x1894c + 0x00018060: eafffffe .... B 0x18060 + $d + 0x00018064: 00018004 .... DCD 98308 + 0x00018068: 8fff4000 .@.. DCD 2415869952 + 0x0001806c: 8fff3f00 .?.. DCD 2415869696 + 0x00018070: 8fff3000 .0.. DCD 2415865856 + 0x00018074: 8fffe000 .... DCD 2415910912 + 0x00018078: 8fffffa0 .... DCD 2415919008 + 0x0001807c: 8fffffd0 .... DCD 2415919056 + i_stupInitDDR2 + $a + 0x00018080: e1a0300e .0.. MOV r3,lr + 0x00018084: e59f015c \... LDR r0,[pc,#348] ; [0x181e8] = 0x1801a000 + 0x00018088: e3a0104a J... MOV r1,#0x4a + 0x0001808c: e5801000 .... STR r1,[r0,#0] + 0x00018090: e59f1154 T... LDR r1,[pc,#340] ; [0x181ec] = 0x8000049 + 0x00018094: e5801004 .... STR r1,[r0,#4] + 0x00018098: e59f1150 P... LDR r1,[pc,#336] ; [0x181f0] = 0x600004e + 0x0001809c: e5801008 .... STR r1,[r0,#8] + 0x000180a0: e59f114c L... LDR r1,[pc,#332] ; [0x181f4] = 0x400004b + 0x000180a4: e580100c .... STR r1,[r0,#0xc] + 0x000180a8: e59f1148 H... LDR r1,[pc,#328] ; [0x181f8] = 0x1000004a + 0x000180ac: e5801010 .... STR r1,[r0,#0x10] + 0x000180b0: e59f1144 D... LDR r1,[pc,#324] ; [0x181fc] = 0x1400000a + 0x000180b4: e5801014 .... STR r1,[r0,#0x14] + 0x000180b8: e59f1140 @... LDR r1,[pc,#320] ; [0x18200] = 0x10388e7f + 0x000180bc: e5801020 ... STR r1,[r0,#0x20] + 0x000180c0: e59f113c <... LDR r1,[pc,#316] ; [0x18204] = 0x10388e7e + 0x000180c4: e5801024 $... STR r1,[r0,#0x24] + 0x000180c8: e59f1134 4... LDR r1,[pc,#308] ; [0x18204] = 0x10388e7e + 0x000180cc: e5801028 (... STR r1,[r0,#0x28] + 0x000180d0: e59f1128 (... LDR r1,[pc,#296] ; [0x18200] = 0x10388e7f + 0x000180d4: e580102c ,... STR r1,[r0,#0x2c] + 0x000180d8: e59f1124 $... LDR r1,[pc,#292] ; [0x18204] = 0x10388e7e + 0x000180dc: e5801030 0... STR r1,[r0,#0x30] + 0x000180e0: e59f111c .... LDR r1,[pc,#284] ; [0x18204] = 0x10388e7e + 0x000180e4: e5801034 4... STR r1,[r0,#0x34] + 0x000180e8: e59f0118 .... LDR r0,[pc,#280] ; [0x18208] = 0x18037c00 + 0x000180ec: e590101c .... LDR r1,[r0,#0x1c] + 0x000180f0: e3a02001 . .. MOV r2,#1 + 0x000180f4: e1510002 ..Q. CMP r1,r2 + 0x000180f8: 1a00000f .... BNE 0x1813c ; i_stupInitDDR2 + 188 + 0x000180fc: e590100c .... LDR r1,[r0,#0xc] + 0x00018100: e2011802 .... AND r1,r1,#0x20000 + 0x00018104: e3a02802 .(.. MOV r2,#0x20000 + 0x00018108: e1510002 ..Q. CMP r1,r2 + 0x0001810c: 0a00000a .... BEQ 0x1813c ; i_stupInitDDR2 + 188 + 0x00018110: e5901004 .... LDR r1,[r0,#4] + 0x00018114: e2011a01 .... AND r1,r1,#0x1000 + 0x00018118: e3a02a01 .*.. MOV r2,#0x1000 + 0x0001811c: e1510002 ..Q. CMP r1,r2 + 0x00018120: 1a000005 .... BNE 0x1813c ; i_stupInitDDR2 + 188 + 0x00018124: e590111c .... LDR r1,[r0,#0x11c] + 0x00018128: e3c11001 .... BIC r1,r1,#1 + 0x0001812c: e580111c .... STR r1,[r0,#0x11c] + 0x00018130: e3a01001 .... MOV r1,#1 + 0x00018134: e580100c .... STR r1,[r0,#0xc] + 0x00018138: eafffffe .... B 0x18138 ; i_stupInitDDR2 + 184 + 0x0001813c: e3a01802 .... MOV r1,#0x20000 + 0x00018140: e580100c .... STR r1,[r0,#0xc] + 0x00018144: e59f00c0 .... LDR r0,[pc,#192] ; [0x1820c] = 0x18021000 + 0x00018148: e59f10c0 .... LDR r1,[pc,#192] ; [0x18210] = 0x30022123 + 0x0001814c: e5801044 D... STR r1,[r0,#0x44] + 0x00018150: e3a01001 .... MOV r1,#1 + 0x00018154: e5801058 X... STR r1,[r0,#0x58] + 0x00018158: e3a01020 ... MOV r1,#0x20 + 0x0001815c: e5801008 .... STR r1,[r0,#8] + 0x00018160: e3a00e7d }... MOV r0,#0x7d0 + 0x00018164: eb00009c .... BL i_osWaitCpuCycles ; 0x183dc + 0x00018168: e59f009c .... LDR r0,[pc,#156] ; [0x1820c] = 0x18021000 + 0x0001816c: e3a01241 A... MOV r1,#0x10000004 + 0x00018170: e5801008 .... STR r1,[r0,#8] + 0x00018174: e59f1098 .... LDR r1,[pc,#152] ; [0x18214] = 0x10002 + 0x00018178: e5801008 .... STR r1,[r0,#8] + 0x0001817c: e59f1094 .... LDR r1,[pc,#148] ; [0x18218] = 0x18002 + 0x00018180: e5801008 .... STR r1,[r0,#8] + 0x00018184: e59f1090 .... LDR r1,[pc,#144] ; [0x1821c] = 0x8002 + 0x00018188: e5801008 .... STR r1,[r0,#8] + 0x0001818c: e59f108c .... LDR r1,[pc,#140] ; [0x18220] = 0x1d480002 + 0x00018190: e5801008 .... STR r1,[r0,#8] + 0x00018194: e3a01241 A... MOV r1,#0x10000004 + 0x00018198: e5801008 .... STR r1,[r0,#8] + 0x0001819c: e3a01001 .... MOV r1,#1 + 0x000181a0: e5801008 .... STR r1,[r0,#8] + 0x000181a4: e3a01001 .... MOV r1,#1 + 0x000181a8: e5801008 .... STR r1,[r0,#8] + 0x000181ac: e3a00e7d }... MOV r0,#0x7d0 + 0x000181b0: eb000089 .... BL i_osWaitCpuCycles ; 0x183dc + 0x000181b4: e59f0050 P... LDR r0,[pc,#80] ; [0x1820c] = 0x18021000 + 0x000181b8: e59f1064 d... LDR r1,[pc,#100] ; [0x18224] = 0x19480002 + 0x000181bc: e5801008 .... STR r1,[r0,#8] + 0x000181c0: e59f1060 `... LDR r1,[pc,#96] ; [0x18228] = 0x1308002 + 0x000181c4: e5801008 .... STR r1,[r0,#8] + 0x000181c8: e3a01c01 .... MOV r1,#0x100 + 0x000181cc: e5801008 .... STR r1,[r0,#8] + 0x000181d0: e59f1054 T... LDR r1,[pc,#84] ; [0x1822c] = 0x1485a912 + 0x000181d4: e5801040 @... STR r1,[r0,#0x40] + 0x000181d8: e59f1050 P... LDR r1,[pc,#80] ; [0x18230] = 0x121 + 0x000181dc: e5801034 4... STR r1,[r0,#0x34] + 0x000181e0: e1a0e003 .... MOV lr,r3 + 0x000181e4: e12fff1e ../. BX lr + $d + 0x000181e8: 1801a000 .... DCD 402759680 + 0x000181ec: 08000049 I... DCD 134217801 + 0x000181f0: 0600004e N... DCD 100663374 + 0x000181f4: 0400004b K... DCD 67108939 + 0x000181f8: 1000004a J... DCD 268435530 + 0x000181fc: 1400000a .... DCD 335544330 + 0x00018200: 10388e7f ..8. DCD 272141951 + 0x00018204: 10388e7e ~.8. DCD 272141950 + 0x00018208: 18037c00 .|.. DCD 402881536 + 0x0001820c: 18021000 .... DCD 402788352 + 0x00018210: 30022123 #!.0 DCD 805445923 + 0x00018214: 00010002 .... DCD 65538 + 0x00018218: 00018002 .... DCD 98306 + 0x0001821c: 00008002 .... DCD 32770 + 0x00018220: 1d480002 ..H. DCD 491257858 + 0x00018224: 19480002 ..H. DCD 424148994 + 0x00018228: 01308002 ..0. DCD 19955714 + 0x0001822c: 1485a912 .... DCD 344303890 + 0x00018230: 00000121 !... DCD 289 + stupDisableCP15 + $a + 0x00018234: ee110f10 .... MRC p15,0x0,r0,c1,c0,0 + 0x00018238: e59f102c ,... LDR r1,[pc,#44] ; [0x1826c] = 0x30409b07 + 0x0001823c: e3811a02 .... ORR r1,r1,#0x2000 + 0x00018240: e1c00001 .... BIC r0,r0,r1 + 0x00018244: ee010f10 .... MCR p15,0x0,r0,c1,c0,0 + 0x00018248: ee110f30 0... MRC p15,0x0,r0,c1,c0,1 + 0x0001824c: e3a0101f .... MOV r1,#0x1f + 0x00018250: e1c00001 .... BIC r0,r0,r1 + 0x00018254: ee010f30 0... MCR p15,0x0,r0,c1,c0,1 + 0x00018258: e3a00000 .... MOV r0,#0 + 0x0001825c: ee070f15 .... MCR p15,0x0,r0,c7,c5,0 + 0x00018260: ee070f16 .... MCR p15,0x0,r0,c7,c6,0 + 0x00018264: ee070f9a .... MCR p15,0x0,r0,c7,c10,4 + 0x00018268: e12fff1e ../. BX lr + $d + 0x0001826c: 30409b07 ..@0 DCD 809540359 + stupEnableCP15 + $a + 0x00018270: e3a03103 .1.. MOV r3,#0xc0000000 + 0x00018274: e5930000 .... LDR r0,[r3,#0] + 0x00018278: e3800001 .... ORR r0,r0,#1 + 0x0001827c: e5830000 .... STR r0,[r3,#0] + 0x00018280: ee110f30 0... MRC p15,0x0,r0,c1,c0,1 + 0x00018284: e3a0102f /... MOV r1,#0x2f + 0x00018288: e1800001 .... ORR r0,r0,r1 + 0x0001828c: ee010f30 0... MCR p15,0x0,r0,c1,c0,1 + 0x00018290: ee110f10 .... MRC p15,0x0,r0,c1,c0,0 + 0x00018294: e59f1018 .... LDR r1,[pc,#24] ; [0x182b4] = 0xc01805 + 0x00018298: e1800001 .... ORR r0,r0,r1 + 0x0001829c: ee010f10 .... MCR p15,0x0,r0,c1,c0,0 + 0x000182a0: e3a00000 .... MOV r0,#0 + 0x000182a4: ee070f15 .... MCR p15,0x0,r0,c7,c5,0 + 0x000182a8: ee070f16 .... MCR p15,0x0,r0,c7,c6,0 + 0x000182ac: ee070f9a .... MCR p15,0x0,r0,c7,c10,4 + 0x000182b0: e12fff1e ../. BX lr + $d + 0x000182b4: 00c01805 .... DCD 12589061 + stupInitMMU + $a + 0x000182b8: e92d4010 .@-. PUSH {r4,lr} + 0x000182bc: e3a03000 .0.. MOV r3,#0 + 0x000182c0: ee083f15 .?.. MCR p15,0x0,r3,c8,c5,0 + 0x000182c4: ee083f16 .?.. MCR p15,0x0,r3,c8,c6,0 + 0x000182c8: e3a02000 . .. MOV r2,#0 + 0x000182cc: e59f3038 80.. LDR r3,[pc,#56] ; [0x1830c] = 0xffffc000 + 0x000182d0: e1a03253 S2.. ASR r3,r3,r2 + 0x000182d4: e0033000 .0.. AND r3,r3,r0 + 0x000182d8: e3833002 .0.. ORR r3,r3,#2 + 0x000182dc: ee023f10 .?.. MCR p15,0x0,r3,c2,c0,0 + 0x000182e0: e59f3024 $0.. LDR r3,[pc,#36] ; [0x1830c] = 0xffffc000 + 0x000182e4: e0033000 .0.. AND r3,r3,r0 + 0x000182e8: e3833002 .0.. ORR r3,r3,#2 + 0x000182ec: ee023f30 0?.. MCR p15,0x0,r3,c2,c0,1 + 0x000182f0: ee022f50 P/.. MCR p15,0x0,r2,c2,c0,2 + 0x000182f4: e3a03001 .0.. MOV r3,#1 + 0x000182f8: ee033f10 .?.. MCR p15,0x0,r3,c3,c0,0 + 0x000182fc: e3a0360f .6.. MOV r3,#0xf00000 + 0x00018300: ee013f50 P?.. MCR p15,0x0,r3,c1,c0,2 + 0x00018304: ebffe3e9 .... BL stupInitMMUTable ; 0x112b0 + 0x00018308: e8bd8010 .... POP {r4,pc} + $d + 0x0001830c: ffffc000 .... DCD 4294950912 + __user_initial_stackheap + $a + 0x00018310: e12fff1e ../. BX lr + stupInitSections + 0x00018314: e1a00000 .... MOV r0,r0 + stupInitStaticSections + 0x00018318: e59f0034 4... LDR r0,[pc,#52] ; [0x18354] = 0x18a44 + 0x0001831c: e59f1034 4... LDR r1,[pc,#52] ; [0x18358] = 0x8ffe8000 + 0x00018320: e59f3034 40.. LDR r3,[pc,#52] ; [0x1835c] = 0x8ffe8000 + 0x00018324: e1500001 ..P. CMP r0,r1 + 0x00018328: 0a000003 .... BEQ 0x1833c ; stupInitStaticSections + 36 + 0x0001832c: e1510003 ..Q. CMP r1,r3 + 0x00018330: 34902004 . .4 LDRCC r2,[r0],#4 + 0x00018334: 34812004 . .4 STRCC r2,[r1],#4 + 0x00018338: 3afffffb ...: BCC 0x1832c ; stupInitStaticSections + 20 + 0x0001833c: e59f101c .... LDR r1,[pc,#28] ; [0x18360] = 0x8ffe8000 + 0x00018340: e3a02000 . .. MOV r2,#0 + 0x00018344: e1530001 ..S. CMP r3,r1 + 0x00018348: 34832004 . .4 STRCC r2,[r3],#4 + 0x0001834c: 3afffffc ...: BCC 0x18344 ; stupInitStaticSections + 44 + 0x00018350: e12fff1e ../. BX lr + $d + 0x00018354: 00018a44 D... DCD 100932 + 0x00018358: 8ffe8000 .... DCD 2415820800 + 0x0001835c: 8ffe8000 .... DCD 2415820800 + 0x00018360: 8ffe8000 .... DCD 2415820800 + i_stupCpuCopy32 + $a + 0x00018364: e081c002 .... ADD r12,r1,r2 + 0x00018368: e151000c ..Q. CMP r1,r12 + 0x0001836c: b8b00004 .... LDMLT r0!,{r2} + 0x00018370: b8a10004 .... STMLT r1!,{r2} + 0x00018374: bafffffb .... BLT 0x18368 ; i_stupCpuCopy32 + 4 + 0x00018378: e12fff1e ../. BX lr + i_stupCpuClear32 + 0x0001837c: e081c002 .... ADD r12,r1,r2 + 0x00018380: e151000c ..Q. CMP r1,r12 + 0x00018384: b8a10001 .... STMLT r1!,{r0} + 0x00018388: bafffffc .... BLT 0x18380 ; i_stupCpuClear32 + 4 + 0x0001838c: e12fff1e ../. BX lr + i_stupNotifyToARM9 + 0x00018390: e59f300c .0.. LDR r3,[pc,#12] ; [0x183a4] = 0x88141000 + 0x00018394: e1a00400 .... LSL r0,r0,#8 + 0x00018398: e2000cff .... AND r0,r0,#0xff00 + 0x0001839c: e5830000 .... STR r0,[r3,#0] + 0x000183a0: e12fff1e ../. BX lr + $d + 0x000183a4: 88141000 .... DCD 2283016192 + i_stupWaitARM9 + $a + 0x000183a8: e51f300c .0.. LDR r3,[pc,#-12] ; [0x183a4] = 0x88141000 + 0x000183ac: e5931000 .... LDR r1,[r3,#0] + 0x000183b0: e20110ff .... AND r1,r1,#0xff + 0x000183b4: e1500001 ..P. CMP r0,r1 + 0x000183b8: 1afffffb .... BNE 0x183ac ; i_stupWaitARM9 + 4 + 0x000183bc: e12fff1e ../. BX lr + i_stupWaitCpuCycles + 0x000183c0: e2400004 ..@. SUB r0,r0,#4 + 0x000183c4: e2500004 ..P. SUBS r0,r0,#4 + 0x000183c8: 2afffffd ...* BCS 0x183c4 ; i_stupWaitCpuCycles + 4 + 0x000183cc: e12fff1e ../. BX lr + osGetProcMode + $a + $v0 + .emb_text + 0x000183d0: e10f0000 .... MRS r0,CPSR + 0x000183d4: e200001f .... AND r0,r0,#0x1f + 0x000183d8: e12fff1e ../. BX lr + i_osWaitCpuCycles + 0x000183dc: e2400004 ..@. SUB r0,r0,#4 + 0x000183e0: e2500004 ..P. SUBS r0,r0,#4 + 0x000183e4: 2afffffd ...* BCS 0x183e0 + 0x000183e8: e12fff1e ../. BX lr + osHalt + 0x000183ec: e320f003 .. . WFI + 0x000183f0: e12fff1e ../. BX lr + osHaltUntilEvent + 0x000183f4: e320f002 .. . WFE + 0x000183f8: e12fff1e ../. BX lr + osEnableIrq + $a + $v0 + .emb_text + 0x000183fc: e10f0000 .... MRS r0,CPSR + 0x00018400: e3c01080 .... BIC r1,r0,#0x80 + 0x00018404: e121f001 ..!. MSR CPSR_c,r1 + 0x00018408: e2000080 .... AND r0,r0,#0x80 + 0x0001840c: e12fff1e ../. BX lr + osDisableIrq + 0x00018410: e10f0000 .... MRS r0,CPSR + 0x00018414: e3801080 .... ORR r1,r0,#0x80 + 0x00018418: e121f001 ..!. MSR CPSR_c,r1 + 0x0001841c: e2000080 .... AND r0,r0,#0x80 + 0x00018420: e12fff1e ../. BX lr + osRestoreIrq + 0x00018424: e10f1000 .... MRS r1,CPSR + 0x00018428: e3c12080 . .. BIC r2,r1,#0x80 + 0x0001842c: e1822000 . .. ORR r2,r2,r0 + 0x00018430: e121f002 ..!. MSR CPSR_c,r2 + 0x00018434: e2010080 .... AND r0,r1,#0x80 + 0x00018438: e12fff1e ../. BX lr + osEnableFiq + 0x0001843c: e10f0000 .... MRS r0,CPSR + 0x00018440: e3c01040 @... BIC r1,r0,#0x40 + 0x00018444: e121f001 ..!. MSR CPSR_c,r1 + 0x00018448: e2000040 @... AND r0,r0,#0x40 + 0x0001844c: e12fff1e ../. BX lr + osDisableFiq + 0x00018450: e10f0000 .... MRS r0,CPSR + 0x00018454: e3801040 @... ORR r1,r0,#0x40 + 0x00018458: e121f001 ..!. MSR CPSR_c,r1 + 0x0001845c: e2000040 @... AND r0,r0,#0x40 + 0x00018460: e12fff1e ../. BX lr + osRestoreFiq + 0x00018464: e10f1000 .... MRS r1,CPSR + 0x00018468: e3c12040 @ .. BIC r2,r1,#0x40 + 0x0001846c: e1822000 . .. ORR r2,r2,r0 + 0x00018470: e121f002 ..!. MSR CPSR_c,r2 + 0x00018474: e2010040 @... AND r0,r1,#0x40 + 0x00018478: e12fff1e ../. BX lr + osEnableIrqAndFiq + 0x0001847c: e10f0000 .... MRS r0,CPSR + 0x00018480: e3c010c0 .... BIC r1,r0,#0xc0 + 0x00018484: e121f001 ..!. MSR CPSR_c,r1 + 0x00018488: e20000c0 .... AND r0,r0,#0xc0 + 0x0001848c: e12fff1e ../. BX lr + osDisableIrqAndFiq + 0x00018490: e10f0000 .... MRS r0,CPSR + 0x00018494: e38010c0 .... ORR r1,r0,#0xc0 + 0x00018498: e121f001 ..!. MSR CPSR_c,r1 + 0x0001849c: e20000c0 .... AND r0,r0,#0xc0 + 0x000184a0: e12fff1e ../. BX lr + osRestoreIrqAndFiq + 0x000184a4: e10f1000 .... MRS r1,CPSR + 0x000184a8: e3c120c0 . .. BIC r2,r1,#0xc0 + 0x000184ac: e1822000 . .. ORR r2,r2,r0 + 0x000184b0: e121f002 ..!. MSR CPSR_c,r2 + 0x000184b4: e20100c0 .... AND r0,r1,#0xc0 + 0x000184b8: e12fff1e ../. BX lr + osEnableDCache + $a + $v0 + .emb_text + 0x000184bc: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 + 0x000184c0: e2010004 .... AND r0,r1,#4 + 0x000184c4: e1a00120 ... LSR r0,r0,#2 + 0x000184c8: e3811004 .... ORR r1,r1,#4 + 0x000184cc: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 + 0x000184d0: e12fff1e ../. BX lr + osDisableDCache + 0x000184d4: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 + 0x000184d8: e2010004 .... AND r0,r1,#4 + 0x000184dc: e1a00120 ... LSR r0,r0,#2 + 0x000184e0: e3c11004 .... BIC r1,r1,#4 + 0x000184e4: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 + 0x000184e8: e12fff1e ../. BX lr + osRestoreDCache + 0x000184ec: e3500000 ..P. CMP r0,#0 + 0x000184f0: 03a02000 . .. MOVEQ r2,#0 + 0x000184f4: 13a02004 . .. MOVNE r2,#4 + 0x000184f8: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 + 0x000184fc: e2010004 .... AND r0,r1,#4 + 0x00018500: e1a00120 ... LSR r0,r0,#2 + 0x00018504: e3c11004 .... BIC r1,r1,#4 + 0x00018508: e1811002 .... ORR r1,r1,r2 + 0x0001850c: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 + 0x00018510: e12fff1e ../. BX lr + osInvalidateDCacheAll + 0x00018514: e3a00000 .... MOV r0,#0 + 0x00018518: ee070f16 .... MCR p15,0x0,r0,c7,c6,0 + 0x0001851c: e12fff1e ../. BX lr + osStoreDCacheAll + 0x00018520: e3a01000 .... MOV r1,#0 + 0x00018524: e3a00000 .... MOV r0,#0 + 0x00018528: e1812000 . .. ORR r2,r1,r0 + 0x0001852c: ee072f5a Z/.. MCR p15,0x0,r2,c7,c10,2 + 0x00018530: e2800020 ... ADD r0,r0,#0x20 + 0x00018534: e3500a02 ..P. CMP r0,#0x2000 + 0x00018538: bafffffa .... BLT 0x18528 + 0x0001853c: e2811101 .... ADD r1,r1,#0x40000000 + 0x00018540: e3510000 ..Q. CMP r1,#0 + 0x00018544: 1afffff6 .... BNE 0x18524 + 0x00018548: e12fff1e ../. BX lr + osFlushDCacheAll + 0x0001854c: e3a0c000 .... MOV r12,#0 + 0x00018550: e3a01000 .... MOV r1,#0 + 0x00018554: e3a00000 .... MOV r0,#0 + 0x00018558: e1812000 . .. ORR r2,r1,r0 + 0x0001855c: ee07cf9a .... MCR p15,0x0,r12,c7,c10,4 + 0x00018560: ee072f5e ^/.. MCR p15,0x0,r2,c7,c14,2 + 0x00018564: e2800020 ... ADD r0,r0,#0x20 + 0x00018568: e3500a02 ..P. CMP r0,#0x2000 + 0x0001856c: bafffff9 .... BLT 0x18558 + 0x00018570: e2811101 .... ADD r1,r1,#0x40000000 + 0x00018574: e3510000 ..Q. CMP r1,#0 + 0x00018578: 1afffff5 .... BNE 0x18554 + 0x0001857c: e12fff1e ../. BX lr + osInvalidateDCacheRange + 0x00018580: e0811000 .... ADD r1,r1,r0 + 0x00018584: e3c0001f .... BIC r0,r0,#0x1f + 0x00018588: ee070f36 6... MCR p15,0x0,r0,c7,c6,1 + 0x0001858c: e2800020 ... ADD r0,r0,#0x20 + 0x00018590: e1500001 ..P. CMP r0,r1 + 0x00018594: bafffffb .... BLT 0x18588 + 0x00018598: e12fff1e ../. BX lr + osStoreDCacheRange + 0x0001859c: e0811000 .... ADD r1,r1,r0 + 0x000185a0: e3c0001f .... BIC r0,r0,#0x1f + 0x000185a4: ee070f3a :... MCR p15,0x0,r0,c7,c10,1 + 0x000185a8: e2800020 ... ADD r0,r0,#0x20 + 0x000185ac: e1500001 ..P. CMP r0,r1 + 0x000185b0: bafffffb .... BLT 0x185a4 + 0x000185b4: e12fff1e ../. BX lr + osFlushDCacheRange + 0x000185b8: e3a0c000 .... MOV r12,#0 + 0x000185bc: e0811000 .... ADD r1,r1,r0 + 0x000185c0: e3c0001f .... BIC r0,r0,#0x1f + 0x000185c4: ee07cf9a .... MCR p15,0x0,r12,c7,c10,4 + 0x000185c8: ee070f3e >... MCR p15,0x0,r0,c7,c14,1 + 0x000185cc: e2800020 ... ADD r0,r0,#0x20 + 0x000185d0: e1500001 ..P. CMP r0,r1 + 0x000185d4: bafffffa .... BLT 0x185c4 + 0x000185d8: e12fff1e ../. BX lr + osLockdownDCacheRange + osUnlockdownDCache + osUnlockdownDCacheAll + osWaitWriteBufferEmpty + 0x000185dc: e3a00000 .... MOV r0,#0 + 0x000185e0: ee070f9a .... MCR p15,0x0,r0,c7,c10,4 + 0x000185e4: e12fff1e ../. BX lr + osTouchDCacheRange + 0x000185e8: e0811000 .... ADD r1,r1,r0 + 0x000185ec: e3c0001f .... BIC r0,r0,#0x1f + 0x000185f0: f5d0f000 .... PLD [r0,#0] + 0x000185f4: e2800020 ... ADD r0,r0,#0x20 + 0x000185f8: e1500001 ..P. CMP r0,r1 + 0x000185fc: bafffffb .... BLT 0x185f0 + 0x00018600: e12fff1e ../. BX lr + osKeepDataAccessOrder + 0x00018604: e3a00000 .... MOV r0,#0 + 0x00018608: ee070fba .... MCR p15,0x0,r0,c7,c10,5 + 0x0001860c: e12fff1e ../. BX lr + osEnableICache + 0x00018610: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 + 0x00018614: e2010a01 .... AND r0,r1,#0x1000 + 0x00018618: e1a00620 ... LSR r0,r0,#12 + 0x0001861c: e3811a01 .... ORR r1,r1,#0x1000 + 0x00018620: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 + 0x00018624: e12fff1e ../. BX lr + osDisableICache + 0x00018628: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 + 0x0001862c: e2010a01 .... AND r0,r1,#0x1000 + 0x00018630: e1a00620 ... LSR r0,r0,#12 + 0x00018634: e3c11a01 .... BIC r1,r1,#0x1000 + 0x00018638: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 + 0x0001863c: e12fff1e ../. BX lr + osRestoreICache + 0x00018640: e3500000 ..P. CMP r0,#0 + 0x00018644: 03a02000 . .. MOVEQ r2,#0 + 0x00018648: 13a02a01 .*.. MOVNE r2,#0x1000 + 0x0001864c: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 + 0x00018650: e2010a01 .... AND r0,r1,#0x1000 + 0x00018654: e1a00620 ... LSR r0,r0,#12 + 0x00018658: e3c11a01 .... BIC r1,r1,#0x1000 + 0x0001865c: e1811002 .... ORR r1,r1,r2 + 0x00018660: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 + 0x00018664: e12fff1e ../. BX lr + osInvalidateICacheAll + 0x00018668: e3a00000 .... MOV r0,#0 + 0x0001866c: ee070f15 .... MCR p15,0x0,r0,c7,c5,0 + 0x00018670: e12fff1e ../. BX lr + osInvalidateICacheRange + 0x00018674: e0811000 .... ADD r1,r1,r0 + 0x00018678: e3c0001f .... BIC r0,r0,#0x1f + 0x0001867c: ee070f35 5... MCR p15,0x0,r0,c7,c5,1 + 0x00018680: e2800020 ... ADD r0,r0,#0x20 + 0x00018684: e1500001 ..P. CMP r0,r1 + 0x00018688: bafffffb .... BLT 0x1867c + 0x0001868c: e12fff1e ../. BX lr + osPrefetchICacheRange + 0x00018690: e0811000 .... ADD r1,r1,r0 + 0x00018694: e3c0001f .... BIC r0,r0,#0x1f + 0x00018698: ee070f3d =... MCR p15,0x0,r0,c7,c13,1 + 0x0001869c: e2800020 ... ADD r0,r0,#0x20 + 0x000186a0: e1500001 ..P. CMP r0,r1 + 0x000186a4: bafffffb .... BLT 0x18698 + 0x000186a8: e12fff1e ../. BX lr + osInvalidateInstPrefetchBuffer + 0x000186ac: e3a03000 .0.. MOV r3,#0 + 0x000186b0: ee073f95 .?.. MCR p15,0x0,r3,c7,c5,4 + 0x000186b4: e12fff1e ../. BX lr + osEnableBCache + 0x000186b8: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 + 0x000186bc: e201000f .... AND r0,r1,#0xf + 0x000186c0: e381100f .... ORR r1,r1,#0xf + 0x000186c4: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 + 0x000186c8: e12fff1e ../. BX lr + osDisableBCache + 0x000186cc: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 + 0x000186d0: e201000f .... AND r0,r1,#0xf + 0x000186d4: e3c1100f .... BIC r1,r1,#0xf + 0x000186d8: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 + 0x000186dc: e12fff1e ../. BX lr + osRestoreBCache + 0x000186e0: e3500000 ..P. CMP r0,#0 + 0x000186e4: 03a02000 . .. MOVEQ r2,#0 + 0x000186e8: 13a0200f . .. MOVNE r2,#0xf + 0x000186ec: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 + 0x000186f0: e201000f .... AND r0,r1,#0xf + 0x000186f4: e3c1100f .... BIC r1,r1,#0xf + 0x000186f8: e1811002 .... ORR r1,r1,r2 + 0x000186fc: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 + 0x00018700: e12fff1e ../. BX lr + osInvalidateBCacheAll + 0x00018704: e3a03000 .0.. MOV r3,#0 + 0x00018708: ee073fd5 .?.. MCR p15,0x0,r3,c7,c5,6 + 0x0001870c: e12fff1e ../. BX lr + osInvalidateBCacheRange + 0x00018710: e0811000 .... ADD r1,r1,r0 + 0x00018714: e3c00001 .... BIC r0,r0,#1 + 0x00018718: ee070ff5 .... MCR p15,0x0,r0,c7,c5,7 + 0x0001871c: e2800002 .... ADD r0,r0,#2 + 0x00018720: e1500001 ..P. CMP r0,r1 + 0x00018724: bafffffb .... BLT 0x18718 + 0x00018728: e12fff1e ../. BX lr + osEnableMMU + $a + $v0 + .emb_text + 0x0001872c: ee110f10 .... MRC p15,0x0,r0,c1,c0,0 + 0x00018730: e3800001 .... ORR r0,r0,#1 + 0x00018734: ee010f10 .... MCR p15,0x0,r0,c1,c0,0 + 0x00018738: e12fff1e ../. BX lr + osDisableMMU + 0x0001873c: ee110f10 .... MRC p15,0x0,r0,c1,c0,0 + 0x00018740: e3c00001 .... BIC r0,r0,#1 + 0x00018744: ee010f10 .... MCR p15,0x0,r0,c1,c0,0 + 0x00018748: e12fff1e ../. BX lr + osGetPhysicalAddr + 0x0001874c: e59f3024 $0.. LDR r3,[pc,#36] ; [0x18778] = 0xfffffc00 + 0x00018750: e0002003 . .. AND r2,r0,r3 + 0x00018754: e1c01003 .... BIC r1,r0,r3 + 0x00018758: ee072f38 8/.. MCR p15,0x0,r2,c7,c8,1 + 0x0001875c: ee170f14 .... MRC p15,0x0,r0,c7,c4,0 + 0x00018760: e3100001 .... TST r0,#1 + 0x00018764: 1afffffe .... BNE 0x18764 + 0x00018768: e59f300c .0.. LDR r3,[pc,#12] ; [0x1877c] = 0xfffff000 + 0x0001876c: e0000003 .... AND r0,r0,r3 + 0x00018770: e1800001 .... ORR r0,r0,r1 + 0x00018774: e12fff1e ../. BX lr + $d + 0x00018778: fffffc00 .... DCD 4294966272 + 0x0001877c: fffff000 .... DCD 4294963200 + osGetMemRegionType + $a + 0x00018780: e51f3010 .0.. LDR r3,[pc,#-16] ; [0x18778] = 0xfffffc00 + 0x00018784: e0002003 . .. AND r2,r0,r3 + 0x00018788: ee072f38 8/.. MCR p15,0x0,r2,c7,c8,1 + 0x0001878c: ee170f14 .... MRC p15,0x0,r0,c7,c4,0 + 0x00018790: e3100001 .... TST r0,#1 + 0x00018794: 1afffffe .... BNE 0x18794 ; osGetMemRegionType + 20 + 0x00018798: e20000c0 .... AND r0,r0,#0xc0 + 0x0001879c: e1a00320 ... LSR r0,r0,#6 + 0x000187a0: e12fff1e ../. BX lr + osGetMemRegionCacheAttr + 0x000187a4: e51f3034 40.. LDR r3,[pc,#-52] ; [0x18778] = 0xfffffc00 + 0x000187a8: e0002003 . .. AND r2,r0,r3 + 0x000187ac: ee072f38 8/.. MCR p15,0x0,r2,c7,c8,1 + 0x000187b0: ee170f14 .... MRC p15,0x0,r0,c7,c4,0 + 0x000187b4: e3100001 .... TST r0,#1 + 0x000187b8: 1afffffe .... BNE 0x187b8 ; osGetMemRegionCacheAttr + 20 + 0x000187bc: e2000030 0... AND r0,r0,#0x30 + 0x000187c0: e1a00220 ... LSR r0,r0,#4 + 0x000187c4: e12fff1e ../. BX lr + osIsMemRegionShareable + 0x000187c8: e51f3058 X0.. LDR r3,[pc,#-88] ; [0x18778] = 0xfffffc00 + 0x000187cc: e0002003 . .. AND r2,r0,r3 + 0x000187d0: ee072f38 8/.. MCR p15,0x0,r2,c7,c8,1 + 0x000187d4: ee170f14 .... MRC p15,0x0,r0,c7,c4,0 + 0x000187d8: e3100001 .... TST r0,#1 + 0x000187dc: 1afffffe .... BNE 0x187dc ; osIsMemRegionShareable + 20 + 0x000187e0: e2000c01 .... AND r0,r0,#0x100 + 0x000187e4: e1a00420 ... LSR r0,r0,#8 + 0x000187e8: e12fff1e ../. BX lr + osIsMemRegionAbort + 0x000187ec: e51f307c |0.. LDR r3,[pc,#-124] ; [0x18778] = 0xfffffc00 + 0x000187f0: e0002003 . .. AND r2,r0,r3 + 0x000187f4: ee072f38 8/.. MCR p15,0x0,r2,c7,c8,1 + 0x000187f8: ee170f14 .... MRC p15,0x0,r0,c7,c4,0 + 0x000187fc: e2000001 .... AND r0,r0,#1 + 0x00018800: e12fff1e ../. BX lr + osInvalidateTLBAll + 0x00018804: e3a00000 .... MOV r0,#0 + 0x00018808: ee080f17 .... MCR p15,0x0,r0,c8,c7,0 + 0x0001880c: e12fff1e ../. BX lr + osInvalidateITLBAll + 0x00018810: e3a00000 .... MOV r0,#0 + 0x00018814: ee080f15 .... MCR p15,0x0,r0,c8,c5,0 + 0x00018818: e12fff1e ../. BX lr + osInvalidateDTLBAll + 0x0001881c: e3a00000 .... MOV r0,#0 + 0x00018820: ee080f16 .... MCR p15,0x0,r0,c8,c6,0 + 0x00018824: e12fff1e ../. BX lr + osInvalidateTLBRange + 0x00018828: e0811000 .... ADD r1,r1,r0 + 0x0001882c: e51f30b8 .0.. LDR r3,[pc,#-184] ; [0x1877c] = 0xfffff000 + 0x00018830: e0000003 .... AND r0,r0,r3 + 0x00018834: ee080f77 w... MCR p15,0x0,r0,c8,c7,3 + 0x00018838: e2800a01 .... ADD r0,r0,#0x1000 + 0x0001883c: e1500001 ..P. CMP r0,r1 + 0x00018840: bafffffb .... BLT 0x18834 ; osInvalidateTLBRange + 12 + 0x00018844: e12fff1e ../. BX lr + osInvalidateITLBRange + 0x00018848: e0811000 .... ADD r1,r1,r0 + 0x0001884c: e51f30d8 .0.. LDR r3,[pc,#-216] ; [0x1877c] = 0xfffff000 + 0x00018850: e0000003 .... AND r0,r0,r3 + 0x00018854: ee080f75 u... MCR p15,0x0,r0,c8,c5,3 + 0x00018858: e2800a01 .... ADD r0,r0,#0x1000 + 0x0001885c: e1500001 ..P. CMP r0,r1 + 0x00018860: bafffffb .... BLT 0x18854 ; osInvalidateITLBRange + 12 + 0x00018864: e12fff1e ../. BX lr + osInvalidateDTLBRange + 0x00018868: e0811000 .... ADD r1,r1,r0 + 0x0001886c: e51f30f8 .0.. LDR r3,[pc,#-248] ; [0x1877c] = 0xfffff000 + 0x00018870: e0000003 .... AND r0,r0,r3 + 0x00018874: ee080f76 v... MCR p15,0x0,r0,c8,c6,3 + 0x00018878: e2800a01 .... ADD r0,r0,#0x1000 + 0x0001887c: e1500001 ..P. CMP r0,r1 + 0x00018880: bafffffb .... BLT 0x18874 ; osInvalidateDTLBRange + 12 + 0x00018884: e12fff1e ../. BX lr + osInvalidateTLBAllWithASID + 0x00018888: e20000ff .... AND r0,r0,#0xff + 0x0001888c: ee080f57 W... MCR p15,0x0,r0,c8,c7,2 + 0x00018890: e12fff1e ../. BX lr + osInvalidateITLBAllWithASID + 0x00018894: e20000ff .... AND r0,r0,#0xff + 0x00018898: ee080f55 U... MCR p15,0x0,r0,c8,c5,2 + 0x0001889c: e12fff1e ../. BX lr + osInvalidateDTLBAllWithASID + 0x000188a0: e20000ff .... AND r0,r0,#0xff + 0x000188a4: ee080f56 V... MCR p15,0x0,r0,c8,c6,2 + 0x000188a8: e12fff1e ../. BX lr + osInvalidateTLBRangeWithASID + 0x000188ac: e0811000 .... ADD r1,r1,r0 + 0x000188b0: e51f313c <1.. LDR r3,[pc,#-316] ; [0x1877c] = 0xfffff000 + 0x000188b4: e0000003 .... AND r0,r0,r3 + 0x000188b8: e20220ff . .. AND r2,r2,#0xff + 0x000188bc: e1800002 .... ORR r0,r0,r2 + 0x000188c0: ee080f35 5... MCR p15,0x0,r0,c8,c5,1 + 0x000188c4: ee080f36 6... MCR p15,0x0,r0,c8,c6,1 + 0x000188c8: ee080f37 7... MCR p15,0x0,r0,c8,c7,1 + 0x000188cc: e2800a01 .... ADD r0,r0,#0x1000 + 0x000188d0: e1500001 ..P. CMP r0,r1 + 0x000188d4: bafffff9 .... BLT 0x188c0 ; osInvalidateTLBRangeWithASID + 20 + 0x000188d8: e12fff1e ../. BX lr + osInvalidateITLBRangeWithASID + 0x000188dc: e0811000 .... ADD r1,r1,r0 + 0x000188e0: e51f316c l1.. LDR r3,[pc,#-364] ; [0x1877c] = 0xfffff000 + 0x000188e4: e0000003 .... AND r0,r0,r3 + 0x000188e8: e20220ff . .. AND r2,r2,#0xff + 0x000188ec: e1800002 .... ORR r0,r0,r2 + 0x000188f0: ee080f35 5... MCR p15,0x0,r0,c8,c5,1 + 0x000188f4: e2800a01 .... ADD r0,r0,#0x1000 + 0x000188f8: e1500001 ..P. CMP r0,r1 + 0x000188fc: bafffffb .... BLT 0x188f0 ; osInvalidateITLBRangeWithASID + 20 + 0x00018900: e12fff1e ../. BX lr + osInvalidateDTLBRangeWithASID + 0x00018904: e0811000 .... ADD r1,r1,r0 + 0x00018908: e51f3194 .1.. LDR r3,[pc,#-404] ; [0x1877c] = 0xfffff000 + 0x0001890c: e0000003 .... AND r0,r0,r3 + 0x00018910: e20220ff . .. AND r2,r2,#0xff + 0x00018914: e1800002 .... ORR r0,r0,r2 + 0x00018918: ee080f36 6... MCR p15,0x0,r0,c8,c6,1 + 0x0001891c: e2800a01 .... ADD r0,r0,#0x1000 + 0x00018920: e1500001 ..P. CMP r0,r1 + 0x00018924: bafffffb .... BLT 0x18918 ; osInvalidateDTLBRangeWithASID + 20 + 0x00018928: e12fff1e ../. BX lr + osStartTLBLockDown + 0x0001892c: e1a00d00 .... LSL r0,r0,#26 + 0x00018930: e2000307 .... AND r0,r0,#0x1c000000 + 0x00018934: e2000001 .... AND r0,r0,#1 + 0x00018938: ee0a0f10 .... MCR p15,0x0,r0,c10,c0,0 + 0x0001893c: e12fff1e ../. BX lr + osEndTLBLockDown + 0x00018940: e3a00000 .... MOV r0,#0 + 0x00018944: ee0a0f10 .... MCR p15,0x0,r0,c10,c0,0 + 0x00018948: e12fff1e ../. BX lr + i_osFinalize + $t + i.i_osFinalize + 0x0001894c: b510 .. PUSH {r4,lr} + 0x0001894e: b08a .. SUB sp,sp,#0x28 + 0x00018950: f7f8fbfd .... BL SWI_TableEnd ; 0x1114e + 0x00018954: f7ffedbe .... BLX osDisableDCache ; 0x184d4 + 0x00018958: f7ffedf8 .... BLX osFlushDCacheAll ; 0x1854c + 0x0001895c: f7ffee3e ..>. BLX osLockdownDCacheRange ; 0x185dc + 0x00018960: f7ffee62 ..b. BLX osDisableICache ; 0x18628 + 0x00018964: f7ffee80 .... BLX osInvalidateICacheAll ; 0x18668 + 0x00018968: 4911 .I LDR r1,[pc,#68] ; [0x189b0] = 0x18a34 + 0x0001896a: 2210 ." MOVS r2,#0x10 + 0x0001896c: a806 .. ADD r0,sp,#0x18 + 0x0001896e: f7f8ebfc .... BLX __aeabi_memcpy4 ; 0x11168 + 0x00018972: a909 .. ADD r1,sp,#0x24 + 0x00018974: 2204 ." MOVS r2,#4 + 0x00018976: 460c .F MOV r4,r1 + 0x00018978: 4668 hF MOV r0,sp + 0x0001897a: f7f8ebee .... BLX memcpy ; 0x11158 + 0x0001897e: a906 .. ADD r1,sp,#0x18 + 0x00018980: a802 .. ADD r0,sp,#8 + 0x00018982: c90e .. LDM r1,{r1-r3} + 0x00018984: f000f836 ..6. BL osDisableInterruptMask ; 0x189f4 + 0x00018988: 2204 ." MOVS r2,#4 + 0x0001898a: 4621 !F MOV r1,r4 + 0x0001898c: 4668 hF MOV r0,sp + 0x0001898e: f7f8ebe4 .... BLX memcpy ; 0x11158 + 0x00018992: a906 .. ADD r1,sp,#0x18 + 0x00018994: a802 .. ADD r0,sp,#8 + 0x00018996: c90e .. LDM r1,{r1-r3} + 0x00018998: f000f80c .... BL osClearInterruptPendingMask ; 0x189b4 + 0x0001899c: f7ffee96 .... BLX osDisableBCache ; 0x186cc + 0x000189a0: f7ffee84 .... BLX osInvalidateInstPrefetchBuffer ; 0x186ac + 0x000189a4: f7ffeeae .... BLX osInvalidateBCacheAll ; 0x18704 + 0x000189a8: f7ffeec8 .... BLX osDisableMMU ; 0x1873c + 0x000189ac: b00a .. ADD sp,sp,#0x28 + 0x000189ae: bd10 .. POP {r4,pc} + $d + 0x000189b0: 00018a34 4... DCD 100916 + osClearInterruptPendingMask + $t + i.osClearInterruptPendingMask + 0x000189b4: b40f .. PUSH {r0-r3} + 0x000189b6: b57f .. PUSH {r0-r6,lr} + 0x000189b8: 4605 .F MOV r5,r0 + 0x000189ba: f7ffed2a ..*. BLX osDisableIrq ; 0x18410 + 0x000189be: 4604 .F MOV r4,r0 + 0x000189c0: 490b .I LDR r1,[pc,#44] ; [0x189f0] = 0xc0001200 + 0x000189c2: 2210 ." MOVS r2,#0x10 + 0x000189c4: 4668 hF MOV r0,sp + 0x000189c6: f7f8ebc8 .... BLX memcpy ; 0x11158 + 0x000189ca: 4809 .H LDR r0,[pc,#36] ; [0x189f0] = 0xc0001200 + 0x000189cc: a909 .. ADD r1,sp,#0x24 + 0x000189ce: 3080 .0 ADDS r0,r0,#0x80 + 0x000189d0: 2210 ." MOVS r2,#0x10 + 0x000189d2: f7f8ebc2 .... BLX memcpy ; 0x11158 + 0x000189d6: 4620 F MOV r0,r4 + 0x000189d8: f7ffed24 ..$. BLX osRestoreIrq ; 0x18424 + 0x000189dc: 2210 ." MOVS r2,#0x10 + 0x000189de: 4669 iF MOV r1,sp + 0x000189e0: 4628 (F MOV r0,r5 + 0x000189e2: f7f8ebba .... BLX memcpy ; 0x11158 + 0x000189e6: bc7f .. POP {r0-r6} + 0x000189e8: bc08 .. POP {r3} + 0x000189ea: b004 .. ADD sp,sp,#0x10 + 0x000189ec: 4718 .G BX r3 + $d + 0x000189ee: 0000 .. DCW 0 + 0x000189f0: c0001200 .... DCD 3221230080 + osDisableInterruptMask + $t + i.osDisableInterruptMask + 0x000189f4: b40f .. PUSH {r0-r3} + 0x000189f6: b57f .. PUSH {r0-r6,lr} + 0x000189f8: 4605 .F MOV r5,r0 + 0x000189fa: f7ffed0a .... BLX osDisableIrq ; 0x18410 + 0x000189fe: 4604 .F MOV r4,r0 + 0x00018a00: 490b .I LDR r1,[pc,#44] ; [0x18a30] = 0xc0001100 + 0x00018a02: 2210 ." MOVS r2,#0x10 + 0x00018a04: 4668 hF MOV r0,sp + 0x00018a06: f7f8eba8 .... BLX memcpy ; 0x11158 + 0x00018a0a: 4809 .H LDR r0,[pc,#36] ; [0x18a30] = 0xc0001100 + 0x00018a0c: a909 .. ADD r1,sp,#0x24 + 0x00018a0e: 3080 .0 ADDS r0,r0,#0x80 + 0x00018a10: 2210 ." MOVS r2,#0x10 + 0x00018a12: f7f8eba2 .... BLX memcpy ; 0x11158 + 0x00018a16: 4620 F MOV r0,r4 + 0x00018a18: f7ffed04 .... BLX osRestoreIrq ; 0x18424 + 0x00018a1c: 2210 ." MOVS r2,#0x10 + 0x00018a1e: 4669 iF MOV r1,sp + 0x00018a20: 4628 (F MOV r0,r5 + 0x00018a22: f7f8eb9a .... BLX memcpy ; 0x11158 + 0x00018a26: bc7f .. POP {r0-r6} + 0x00018a28: bc08 .. POP {r3} + 0x00018a2a: b004 .. ADD sp,sp,#0x10 + 0x00018a2c: 4718 .G BX r3 + $d + 0x00018a2e: 0000 .. DCW 0 + 0x00018a30: c0001100 .... DCD 3221229824 + .constdata$1 + $d.realdata + .constdata + 0x00018a34: ffffffff .... DCD 4294967295 + 0x00018a38: ffffffff .... DCD 4294967295 + 0x00018a3c: ffffffff .... DCD 4294967295 + 0x00018a40: ffffffff .... DCD 4294967295 + +** Section #5 'BUF_OVER_BARRIER' (SHT_NOBITS) [SHF_ALLOC + SHF_WRITE] + Size : 0 bytes + Address: 0x8fff0000 + + +** Section #6 'TO_FIRM' (SHT_NOBITS) [SHF_ALLOC + SHF_WRITE] + Size : 16384 bytes + Address: 0x8fffa000 + + +** Section #7 '.debug_abbrev' (SHT_PROGBITS) + Size : 1256 bytes + + +** Section #8 '.debug_frame' (SHT_PROGBITS) + Size : 2088 bytes + + +** Section #9 '.debug_info' (SHT_PROGBITS) + Size : 5516 bytes + + +** Section #10 '.debug_line' (SHT_PROGBITS) + Size : 3384 bytes + + +** Section #11 '.debug_loc' (SHT_PROGBITS) + Size : 440 bytes + + +** Section #12 '.debug_macinfo' (SHT_PROGBITS) + Size : 1356 bytes + + +** Section #13 '.debug_pubnames' (SHT_PROGBITS) + Size : 364 bytes + + +** Section #14 '.symtab' (SHT_SYMTAB) + Size : 3456 bytes (alignment 4) + String table '.strtab' + Last local symbol no. 108 + + +** Section #15 '.strtab' (SHT_STRTAB) + Size : 3572 bytes + + +** Section #16 '.note' (SHT_NOTE) + Size : 40 bytes (alignment 4) + + +** Section #17 '.comment' (SHT_PROGBITS) + Size : 18472 bytes + + +** Section #18 '.shstrtab' (SHT_STRTAB) + Size : 196 bytes + + diff --git a/trunk/tools/bootrom/ne1tb/readme.txt b/trunk/tools/bootrom/ne1tb/readme.txt index c678a56..986b9f2 100644 --- a/trunk/tools/bootrom/ne1tb/readme.txt +++ b/trunk/tools/bootrom/ne1tb/readme.txt @@ -3,7 +3,7 @@ NE1 Etools/partner_mlt/ne1tb/ARM11_Core[0|1]/JETCTR.CFGAJETCTR.JPX ‚ð PARTNER ‚̃vƒƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚Ì core[0|1] ‚Öã‘‚«‚µ‚ĉº‚³‚¢B -EPARTNER‚ðŽg‚Á‚ÄNE1ƒ{[ƒh‚Öteg_dev11.axf‚ðƒ[ƒh‚µ‚ÄŽÀs‚·‚邯A +EPARTNER‚ðŽg‚Á‚ÄNE1ƒ{[ƒh‚Öne1_dev.axf‚ðƒ[ƒh‚µ‚ÄŽÀs‚·‚邯A NORƒtƒ‰ƒbƒVƒ…ã‚̃u[ƒgROM‚ªXV‚³‚ê‚Ü‚·B o‰×Žž‚É‘‚«ž‚Ü‚ê‚Ä‚¢‚½S-bootƒvƒƒOƒ‰ƒ€‚Ö–ß‚·‚É‚ÍS-boot.axf‚ðŽÀs‚µ‚ĉº‚³‚¢B Ethread11.axf‚ÍDDR2ã‚Å“®ì‚·‚éƒfƒ‚‚Å‚·B diff --git a/trunk/tools/bootrom/ne1tb/realview.map b/trunk/tools/bootrom/ne1tb/realview.map index 68dee95..14221fd 100644 --- a/trunk/tools/bootrom/ne1tb/realview.map +++ b/trunk/tools/bootrom/ne1tb/realview.map @@ -8,10 +8,9 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) - $v0 0x00000000 ARM Code 0 crt0.o(.emb_text) ../../memcpset.s 0x00000000 Number 0 rt_memcpy.o ABSOLUTE - ../../memcpset.s 0x00000000 Number 0 memcpy.o ABSOLUTE ../../memcpset.s 0x00000000 Number 0 rt_memcpy_w_mpc.o ABSOLUTE + ../../memcpset.s 0x00000000 Number 0 memcpy.o ABSOLUTE c:\\nctr\\ctr_firmware_bak\\bootrom\\build\\libraries\\init\\ARM11\\crt0.c 0x00000000 Number 0 crt0.o ABSOLUTE c:\\nctr\\ctr_firmware_bak\\bootrom\\build\\libraries\\init\\common\\crt0_excp.c 0x00000000 Number 0 crt0_excp.o ABSOLUTE c:\\nctr\\ctr_firmware_bak\\bootrom\\build\\libraries\\mi\\common\\mi_memory.c 0x00000000 Number 0 mi_memory.o ABSOLUTE @@ -32,138 +31,140 @@ Image Symbol Table crt0_secure.c 0x00000000 Number 0 crt0_secure.o ABSOLUTE os_mmu.c 0x00000000 Number 0 os_mmu.o ABSOLUTE os_mmu.c 0x00000000 Number 0 os_mmu.o ABSOLUTE - .emb_text 0x00000000 Section 180 crt0.o(.emb_text) - $v0 0x00001000 ARM Code 0 crt0_excp.o(.emb_text) - .emb_text 0x00001000 Section 242 crt0_excp.o(.emb_text) - i.osDisableInterrupts 0x000010f2 Section 8 os_interrupt.o(i.osDisableInterrupts) - .text 0x000010fc Section 16 memcpy.o(.text) - .text 0x0000110c Section 116 rt_memcpy_w_mpc.o(.text) - .text 0x00001180 Section 212 rt_memcpy.o(.text) - i.stupInitMMUTable 0x00001254 Section 496 crt0_secure.o(i.stupInitMMUTable) - $v0 0x00008000 ARM Code 0 crt0_secure.o(.emb_text) - .emb_text 0x00008000 Section 960 crt0_secure.o(.emb_text) - $v0 0x000083c0 ARM Code 0 os_system.o(.emb_text) - .emb_text 0x000083c0 Section 44 os_system.o(.emb_text) - $v0 0x000083ec ARM Code 0 os_interrupt.o(.emb_text) - .emb_text 0x000083ec Section 192 os_interrupt.o(.emb_text) - $v0 0x000084ac ARM Code 0 os_cache.o(.emb_text) - .emb_text 0x000084ac Section 624 os_cache.o(.emb_text) - $v0 0x0000871c ARM Code 0 os_mmu.o(.emb_text) - .emb_text 0x0000871c Section 544 os_mmu.o(.emb_text) - i.i_osFinalize 0x0000893c Section 104 os_boot.o(i.i_osFinalize) - i.osClearInterruptPendingMask 0x000089a4 Section 64 os_interrupt.o(i.osClearInterruptPendingMask) - i.osDisableInterruptMask 0x000089e4 Section 64 os_interrupt.o(i.osDisableInterruptMask) - .constdata$1 0x00008a24 Data 0 os_boot.o(.constdata) - .constdata 0x00008a24 Section 16 os_boot.o(.constdata) + $v0 0x00010000 ARM Code 0 crt0.o(.emb_text) + .emb_text 0x00010000 Section 200 crt0.o(.emb_text) + $v0 0x00011000 ARM Code 0 crt0_excp.o(.emb_text) + .emb_text 0x00011000 Section 334 crt0_excp.o(.emb_text) + i.osDisableInterrupts 0x0001114e Section 8 os_interrupt.o(i.osDisableInterrupts) + .text 0x00011158 Section 16 memcpy.o(.text) + .text 0x00011168 Section 116 rt_memcpy_w_mpc.o(.text) + .text 0x000111dc Section 212 rt_memcpy.o(.text) + i.stupInitMMUTable 0x000112b0 Section 492 crt0_secure.o(i.stupInitMMUTable) + $v0 0x00018000 ARM Code 0 crt0_secure.o(.emb_text) + .emb_text 0x00018000 Section 976 crt0_secure.o(.emb_text) + image_to_physical 0x00018004 ARM Code 0 crt0_secure.o(.emb_text) + $v0 0x000183d0 ARM Code 0 os_system.o(.emb_text) + .emb_text 0x000183d0 Section 44 os_system.o(.emb_text) + $v0 0x000183fc ARM Code 0 os_interrupt.o(.emb_text) + .emb_text 0x000183fc Section 192 os_interrupt.o(.emb_text) + $v0 0x000184bc ARM Code 0 os_cache.o(.emb_text) + .emb_text 0x000184bc Section 624 os_cache.o(.emb_text) + $v0 0x0001872c ARM Code 0 os_mmu.o(.emb_text) + .emb_text 0x0001872c Section 544 os_mmu.o(.emb_text) + i.i_osFinalize 0x0001894c Section 104 os_boot.o(i.i_osFinalize) + i.osClearInterruptPendingMask 0x000189b4 Section 64 os_interrupt.o(i.osClearInterruptPendingMask) + i.osDisableInterruptMask 0x000189f4 Section 64 os_interrupt.o(i.osDisableInterruptMask) + .constdata$1 0x00018a34 Data 0 os_boot.o(.constdata) + .constdata 0x00018a34 Section 16 os_boot.o(.constdata) Global Symbols Symbol Name Value Ov Type Size Object(Section) BuildAttributes$$THUMB_ISAv3$ARM_ISAv6$M$E$P$VFPv2$PE$FZ_POSZERO$PLD1$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$EBA8$REQ8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE - _start 0x00000000 ARM Code 180 crt0.o(.emb_text) - stupInitExceptions 0x00001000 ARM Code 64 crt0_excp.o(.emb_text) - i_stupExcpTerminateCode 0x00001040 ARM Code 8 crt0_excp.o(.emb_text) - i_stupIAbtTerminateCode 0x00001048 ARM Code 8 crt0_excp.o(.emb_text) - i_stupSwiVeneerCode 0x00001050 ARM Code 8 crt0_excp.o(.emb_text) - i_stupIrqVeneer 0x00001058 ARM Code 4 crt0_excp.o(.emb_text) - i_stupFiqVeneer 0x0000105c ARM Code 8 crt0_excp.o(.emb_text) - i_stupSwiVeneer 0x00001064 ARM Code 8 crt0_excp.o(.emb_text) - i_stupUndefVeneer 0x0000106c ARM Code 8 crt0_excp.o(.emb_text) - i_stupIAbtVeneer 0x00001074 ARM Code 8 crt0_excp.o(.emb_text) - i_stupDAbtVeneer 0x0000107c ARM Code 8 crt0_excp.o(.emb_text) - i_stupSwiSemihosting 0x00001084 ARM Code 8 crt0_excp.o(.emb_text) - i_stupSwiHandler 0x0000108c ARM Code 102 crt0_excp.o(.emb_text) - SWI_Table 0x000010f0 Data 0 crt0_excp.o(.emb_text) - SWI_TableEnd 0x000010f3 Thumb Code 0 crt0_excp.o(.emb_text) - osDisableInterrupts 0x000010f3 Thumb Code 8 os_interrupt.o(i.osDisableInterrupts) - memcpy 0x000010fc ARM Code 16 memcpy.o(.text) - __aeabi_memcpy4 0x0000110c ARM Code 0 rt_memcpy_w_mpc.o(.text) - __aeabi_memcpy8 0x0000110c ARM Code 0 rt_memcpy_w_mpc.o(.text) - __rt_memcpy_w 0x0000110c ARM Code 116 rt_memcpy_w_mpc.o(.text) - _memcpy_lastbytes_aligned 0x00001168 ARM Code 0 rt_memcpy_w_mpc.o(.text) - __aeabi_memcpy 0x00001180 ARM Code 0 rt_memcpy.o(.text) - __rt_memcpy 0x00001180 ARM Code 212 rt_memcpy.o(.text) - _memcpy_lastbytes 0x00001234 ARM Code 0 rt_memcpy.o(.text) - stupInitMMUTable 0x00001254 ARM Code 456 crt0_secure.o(i.stupInitMMUTable) - i_stupStartHandler 0x00008000 ARM Code 96 crt0_secure.o(.emb_text) - stupInitMMU 0x00008078 ARM Code 88 crt0_secure.o(.emb_text) - i_stupInitDDR2 0x000080d4 ARM Code 360 crt0_secure.o(.emb_text) - stupDisableCP15 0x0000828c ARM Code 56 crt0_secure.o(.emb_text) - stupEnableCP15 0x000082c8 ARM Code 52 crt0_secure.o(.emb_text) - __user_initial_stackheap 0x00008300 ARM Code 4 crt0_secure.o(.emb_text) - stupInitSections 0x00008304 ARM Code 4 crt0_secure.o(.emb_text) - stupInitStaticSections 0x00008308 ARM Code 60 crt0_secure.o(.emb_text) - i_stupCpuCopy32 0x00008354 ARM Code 24 crt0_secure.o(.emb_text) - i_stupCpuClear32 0x0000836c ARM Code 20 crt0_secure.o(.emb_text) - i_stupNotifyToARM9 0x00008380 ARM Code 20 crt0_secure.o(.emb_text) - i_stupWaitARM9 0x00008398 ARM Code 24 crt0_secure.o(.emb_text) - i_stupWaitCpuCycles 0x000083b0 ARM Code 16 crt0_secure.o(.emb_text) - osGetProcMode 0x000083c0 ARM Code 12 os_system.o(.emb_text) - i_osWaitCpuCycles 0x000083cc ARM Code 16 os_system.o(.emb_text) - osHalt 0x000083dc ARM Code 8 os_system.o(.emb_text) - osHaltUntilEvent 0x000083e4 ARM Code 8 os_system.o(.emb_text) - osEnableIrq 0x000083ec ARM Code 20 os_interrupt.o(.emb_text) - osDisableIrq 0x00008400 ARM Code 20 os_interrupt.o(.emb_text) - osRestoreIrq 0x00008414 ARM Code 24 os_interrupt.o(.emb_text) - osEnableFiq 0x0000842c ARM Code 20 os_interrupt.o(.emb_text) - osDisableFiq 0x00008440 ARM Code 20 os_interrupt.o(.emb_text) - osRestoreFiq 0x00008454 ARM Code 24 os_interrupt.o(.emb_text) - osEnableIrqAndFiq 0x0000846c ARM Code 20 os_interrupt.o(.emb_text) - osDisableIrqAndFiq 0x00008480 ARM Code 20 os_interrupt.o(.emb_text) - osRestoreIrqAndFiq 0x00008494 ARM Code 24 os_interrupt.o(.emb_text) - osEnableDCache 0x000084ac ARM Code 24 os_cache.o(.emb_text) - osDisableDCache 0x000084c4 ARM Code 24 os_cache.o(.emb_text) - osRestoreDCache 0x000084dc ARM Code 40 os_cache.o(.emb_text) - osInvalidateDCacheAll 0x00008504 ARM Code 12 os_cache.o(.emb_text) - osStoreDCacheAll 0x00008510 ARM Code 44 os_cache.o(.emb_text) - osFlushDCacheAll 0x0000853c ARM Code 52 os_cache.o(.emb_text) - osInvalidateDCacheRange 0x00008570 ARM Code 28 os_cache.o(.emb_text) - osStoreDCacheRange 0x0000858c ARM Code 28 os_cache.o(.emb_text) - osFlushDCacheRange 0x000085a8 ARM Code 36 os_cache.o(.emb_text) - osLockdownDCacheRange 0x000085cc ARM Code 0 os_cache.o(.emb_text) - osUnlockdownDCache 0x000085cc ARM Code 0 os_cache.o(.emb_text) - osUnlockdownDCacheAll 0x000085cc ARM Code 0 os_cache.o(.emb_text) - osWaitWriteBufferEmpty 0x000085cc ARM Code 12 os_cache.o(.emb_text) - osTouchDCacheRange 0x000085d8 ARM Code 28 os_cache.o(.emb_text) - osKeepDataAccessOrder 0x000085f4 ARM Code 12 os_cache.o(.emb_text) - osEnableICache 0x00008600 ARM Code 24 os_cache.o(.emb_text) - osDisableICache 0x00008618 ARM Code 24 os_cache.o(.emb_text) - osRestoreICache 0x00008630 ARM Code 40 os_cache.o(.emb_text) - osInvalidateICacheAll 0x00008658 ARM Code 12 os_cache.o(.emb_text) - osInvalidateICacheRange 0x00008664 ARM Code 28 os_cache.o(.emb_text) - osPrefetchICacheRange 0x00008680 ARM Code 28 os_cache.o(.emb_text) - osInvalidateInstPrefetchBuffer 0x0000869c ARM Code 12 os_cache.o(.emb_text) - osEnableBCache 0x000086a8 ARM Code 20 os_cache.o(.emb_text) - osDisableBCache 0x000086bc ARM Code 20 os_cache.o(.emb_text) - osRestoreBCache 0x000086d0 ARM Code 36 os_cache.o(.emb_text) - osInvalidateBCacheAll 0x000086f4 ARM Code 12 os_cache.o(.emb_text) - osInvalidateBCacheRange 0x00008700 ARM Code 28 os_cache.o(.emb_text) - osEnableMMU 0x0000871c ARM Code 16 os_mmu.o(.emb_text) - osDisableMMU 0x0000872c ARM Code 16 os_mmu.o(.emb_text) - osGetPhysicalAddr 0x0000873c ARM Code 44 os_mmu.o(.emb_text) - osGetMemRegionType 0x00008770 ARM Code 36 os_mmu.o(.emb_text) - osGetMemRegionCacheAttr 0x00008794 ARM Code 36 os_mmu.o(.emb_text) - osIsMemRegionShareable 0x000087b8 ARM Code 36 os_mmu.o(.emb_text) - osIsMemRegionAbort 0x000087dc ARM Code 24 os_mmu.o(.emb_text) - osInvalidateTLBAll 0x000087f4 ARM Code 12 os_mmu.o(.emb_text) - osInvalidateITLBAll 0x00008800 ARM Code 12 os_mmu.o(.emb_text) - osInvalidateDTLBAll 0x0000880c ARM Code 12 os_mmu.o(.emb_text) - osInvalidateTLBRange 0x00008818 ARM Code 32 os_mmu.o(.emb_text) - osInvalidateITLBRange 0x00008838 ARM Code 32 os_mmu.o(.emb_text) - osInvalidateDTLBRange 0x00008858 ARM Code 32 os_mmu.o(.emb_text) - osInvalidateTLBAllWithASID 0x00008878 ARM Code 12 os_mmu.o(.emb_text) - osInvalidateITLBAllWithASID 0x00008884 ARM Code 12 os_mmu.o(.emb_text) - osInvalidateDTLBAllWithASID 0x00008890 ARM Code 12 os_mmu.o(.emb_text) - osInvalidateTLBRangeWithASID 0x0000889c ARM Code 48 os_mmu.o(.emb_text) - osInvalidateITLBRangeWithASID 0x000088cc ARM Code 40 os_mmu.o(.emb_text) - osInvalidateDTLBRangeWithASID 0x000088f4 ARM Code 40 os_mmu.o(.emb_text) - osStartTLBLockDown 0x0000891c ARM Code 20 os_mmu.o(.emb_text) - osEndTLBLockDown 0x00008930 ARM Code 12 os_mmu.o(.emb_text) - i_osFinalize 0x0000893d Thumb Code 100 os_boot.o(i.i_osFinalize) - osClearInterruptPendingMask 0x000089a5 Thumb Code 58 os_interrupt.o(i.osClearInterruptPendingMask) - osDisableInterruptMask 0x000089e5 Thumb Code 58 os_interrupt.o(i.osDisableInterruptMask) - Image$$SEC_RO$$Limit 0x00008a34 Number 0 anon$$obj.o(linker$$defined$$symbols) + _start 0x00010000 ARM Code 200 crt0.o(.emb_text) + stupInitExceptions 0x00011000 ARM Code 64 crt0_excp.o(.emb_text) + i_stupExcpTerminateCode 0x00011040 ARM Code 8 crt0_excp.o(.emb_text) + i_stupIAbtTerminateCode 0x00011048 ARM Code 8 crt0_excp.o(.emb_text) + i_stupSwiVeneerCode 0x00011050 ARM Code 8 crt0_excp.o(.emb_text) + i_stupIrqVeneer 0x00011058 ARM Code 4 crt0_excp.o(.emb_text) + i_stupFiqVeneer 0x0001105c ARM Code 8 crt0_excp.o(.emb_text) + i_stupSwiVeneer 0x00011064 ARM Code 8 crt0_excp.o(.emb_text) + i_stupUndefVeneer 0x0001106c ARM Code 8 crt0_excp.o(.emb_text) + i_stupIAbtVeneer 0x00011074 ARM Code 8 crt0_excp.o(.emb_text) + i_stupDAbtVeneer 0x0001107c ARM Code 8 crt0_excp.o(.emb_text) + i_stupSwiSemihosting 0x00011084 ARM Code 40 crt0_excp.o(.emb_text) + i_stupSwiHandler 0x000110ac ARM Code 162 crt0_excp.o(.emb_text) + SWI_Table 0x0001114c Data 0 crt0_excp.o(.emb_text) + SWI_TableEnd 0x0001114f Thumb Code 0 crt0_excp.o(.emb_text) + osDisableInterrupts 0x0001114f Thumb Code 8 os_interrupt.o(i.osDisableInterrupts) + memcpy 0x00011158 ARM Code 16 memcpy.o(.text) + __aeabi_memcpy4 0x00011168 ARM Code 0 rt_memcpy_w_mpc.o(.text) + __aeabi_memcpy8 0x00011168 ARM Code 0 rt_memcpy_w_mpc.o(.text) + __rt_memcpy_w 0x00011168 ARM Code 116 rt_memcpy_w_mpc.o(.text) + _memcpy_lastbytes_aligned 0x000111c4 ARM Code 0 rt_memcpy_w_mpc.o(.text) + __aeabi_memcpy 0x000111dc ARM Code 0 rt_memcpy.o(.text) + __rt_memcpy 0x000111dc ARM Code 212 rt_memcpy.o(.text) + _memcpy_lastbytes 0x00011290 ARM Code 0 rt_memcpy.o(.text) + stupInitMMUTable 0x000112b0 ARM Code 448 crt0_secure.o(i.stupInitMMUTable) + i_stupStartHandler 0x00018000 ARM Code 100 crt0_secure.o(.emb_text) + i_stupInitDDR2 0x00018080 ARM Code 360 crt0_secure.o(.emb_text) + stupDisableCP15 0x00018234 ARM Code 56 crt0_secure.o(.emb_text) + stupEnableCP15 0x00018270 ARM Code 68 crt0_secure.o(.emb_text) + stupInitMMU 0x000182b8 ARM Code 84 crt0_secure.o(.emb_text) + __user_initial_stackheap 0x00018310 ARM Code 4 crt0_secure.o(.emb_text) + stupInitSections 0x00018314 ARM Code 4 crt0_secure.o(.emb_text) + stupInitStaticSections 0x00018318 ARM Code 60 crt0_secure.o(.emb_text) + i_stupCpuCopy32 0x00018364 ARM Code 24 crt0_secure.o(.emb_text) + i_stupCpuClear32 0x0001837c ARM Code 20 crt0_secure.o(.emb_text) + i_stupNotifyToARM9 0x00018390 ARM Code 20 crt0_secure.o(.emb_text) + i_stupWaitARM9 0x000183a8 ARM Code 24 crt0_secure.o(.emb_text) + i_stupWaitCpuCycles 0x000183c0 ARM Code 16 crt0_secure.o(.emb_text) + osGetProcMode 0x000183d0 ARM Code 12 os_system.o(.emb_text) + i_osWaitCpuCycles 0x000183dc ARM Code 16 os_system.o(.emb_text) + osHalt 0x000183ec ARM Code 8 os_system.o(.emb_text) + osHaltUntilEvent 0x000183f4 ARM Code 8 os_system.o(.emb_text) + osEnableIrq 0x000183fc ARM Code 20 os_interrupt.o(.emb_text) + osDisableIrq 0x00018410 ARM Code 20 os_interrupt.o(.emb_text) + osRestoreIrq 0x00018424 ARM Code 24 os_interrupt.o(.emb_text) + osEnableFiq 0x0001843c ARM Code 20 os_interrupt.o(.emb_text) + osDisableFiq 0x00018450 ARM Code 20 os_interrupt.o(.emb_text) + osRestoreFiq 0x00018464 ARM Code 24 os_interrupt.o(.emb_text) + osEnableIrqAndFiq 0x0001847c ARM Code 20 os_interrupt.o(.emb_text) + osDisableIrqAndFiq 0x00018490 ARM Code 20 os_interrupt.o(.emb_text) + osRestoreIrqAndFiq 0x000184a4 ARM Code 24 os_interrupt.o(.emb_text) + osEnableDCache 0x000184bc ARM Code 24 os_cache.o(.emb_text) + osDisableDCache 0x000184d4 ARM Code 24 os_cache.o(.emb_text) + osRestoreDCache 0x000184ec ARM Code 40 os_cache.o(.emb_text) + osInvalidateDCacheAll 0x00018514 ARM Code 12 os_cache.o(.emb_text) + osStoreDCacheAll 0x00018520 ARM Code 44 os_cache.o(.emb_text) + osFlushDCacheAll 0x0001854c ARM Code 52 os_cache.o(.emb_text) + osInvalidateDCacheRange 0x00018580 ARM Code 28 os_cache.o(.emb_text) + osStoreDCacheRange 0x0001859c ARM Code 28 os_cache.o(.emb_text) + osFlushDCacheRange 0x000185b8 ARM Code 36 os_cache.o(.emb_text) + osLockdownDCacheRange 0x000185dc ARM Code 0 os_cache.o(.emb_text) + osUnlockdownDCache 0x000185dc ARM Code 0 os_cache.o(.emb_text) + osUnlockdownDCacheAll 0x000185dc ARM Code 0 os_cache.o(.emb_text) + osWaitWriteBufferEmpty 0x000185dc ARM Code 12 os_cache.o(.emb_text) + osTouchDCacheRange 0x000185e8 ARM Code 28 os_cache.o(.emb_text) + osKeepDataAccessOrder 0x00018604 ARM Code 12 os_cache.o(.emb_text) + osEnableICache 0x00018610 ARM Code 24 os_cache.o(.emb_text) + osDisableICache 0x00018628 ARM Code 24 os_cache.o(.emb_text) + osRestoreICache 0x00018640 ARM Code 40 os_cache.o(.emb_text) + osInvalidateICacheAll 0x00018668 ARM Code 12 os_cache.o(.emb_text) + osInvalidateICacheRange 0x00018674 ARM Code 28 os_cache.o(.emb_text) + osPrefetchICacheRange 0x00018690 ARM Code 28 os_cache.o(.emb_text) + osInvalidateInstPrefetchBuffer 0x000186ac ARM Code 12 os_cache.o(.emb_text) + osEnableBCache 0x000186b8 ARM Code 20 os_cache.o(.emb_text) + osDisableBCache 0x000186cc ARM Code 20 os_cache.o(.emb_text) + osRestoreBCache 0x000186e0 ARM Code 36 os_cache.o(.emb_text) + osInvalidateBCacheAll 0x00018704 ARM Code 12 os_cache.o(.emb_text) + osInvalidateBCacheRange 0x00018710 ARM Code 28 os_cache.o(.emb_text) + osEnableMMU 0x0001872c ARM Code 16 os_mmu.o(.emb_text) + osDisableMMU 0x0001873c ARM Code 16 os_mmu.o(.emb_text) + osGetPhysicalAddr 0x0001874c ARM Code 44 os_mmu.o(.emb_text) + osGetMemRegionType 0x00018780 ARM Code 36 os_mmu.o(.emb_text) + osGetMemRegionCacheAttr 0x000187a4 ARM Code 36 os_mmu.o(.emb_text) + osIsMemRegionShareable 0x000187c8 ARM Code 36 os_mmu.o(.emb_text) + osIsMemRegionAbort 0x000187ec ARM Code 24 os_mmu.o(.emb_text) + osInvalidateTLBAll 0x00018804 ARM Code 12 os_mmu.o(.emb_text) + osInvalidateITLBAll 0x00018810 ARM Code 12 os_mmu.o(.emb_text) + osInvalidateDTLBAll 0x0001881c ARM Code 12 os_mmu.o(.emb_text) + osInvalidateTLBRange 0x00018828 ARM Code 32 os_mmu.o(.emb_text) + osInvalidateITLBRange 0x00018848 ARM Code 32 os_mmu.o(.emb_text) + osInvalidateDTLBRange 0x00018868 ARM Code 32 os_mmu.o(.emb_text) + osInvalidateTLBAllWithASID 0x00018888 ARM Code 12 os_mmu.o(.emb_text) + osInvalidateITLBAllWithASID 0x00018894 ARM Code 12 os_mmu.o(.emb_text) + osInvalidateDTLBAllWithASID 0x000188a0 ARM Code 12 os_mmu.o(.emb_text) + osInvalidateTLBRangeWithASID 0x000188ac ARM Code 48 os_mmu.o(.emb_text) + osInvalidateITLBRangeWithASID 0x000188dc ARM Code 40 os_mmu.o(.emb_text) + osInvalidateDTLBRangeWithASID 0x00018904 ARM Code 40 os_mmu.o(.emb_text) + osStartTLBLockDown 0x0001892c ARM Code 20 os_mmu.o(.emb_text) + osEndTLBLockDown 0x00018940 ARM Code 12 os_mmu.o(.emb_text) + i_osFinalize 0x0001894d Thumb Code 100 os_boot.o(i.i_osFinalize) + osClearInterruptPendingMask 0x000189b5 Thumb Code 58 os_interrupt.o(i.osClearInterruptPendingMask) + osDisableInterruptMask 0x000189f5 Thumb Code 58 os_interrupt.o(i.osDisableInterruptMask) + Image$$SEC_RO$$Limit 0x00018a44 Number 0 anon$$obj.o(linker$$defined$$symbols) Image$$RW$$Base 0x8ffe8000 Number 0 anon$$obj.o(linker$$defined$$symbols) Image$$ZI$$ZI$$Base 0x8ffe8000 Number 0 anon$$obj.o(linker$$defined$$symbols) Image$$ZI$$ZI$$Limit 0x8ffe8000 Number 0 anon$$obj.o(linker$$defined$$symbols) @@ -173,54 +174,54 @@ Image Symbol Table Memory Map of the image - Image Entry point : 0x00000000 + Image Entry point : 0x00010000 - Load Region LOAD_NORMAL (Base: 0x00000000, Size: 0x000000b4, Max: 0x00001000, ABSOLUTE) + Load Region LOAD_NORMAL (Base: 0x00010000, Size: 0x000000c8, Max: 0x00001000, ABSOLUTE) - Execution Region STUP_ENTRY (Base: 0x00000000, Size: 0x000000b4, Max: 0xffffffff, ABSOLUTE) + Execution Region STUP_ENTRY (Base: 0x00010000, Size: 0x000000c8, Max: 0xffffffff, ABSOLUTE) Base Addr Size Type Attr Idx E Section Name Object - 0x00000000 0x000000b4 Code RO 3 * .emb_text crt0.o + 0x00010000 0x000000c8 Code RO 3 * .emb_text crt0.o - Load Region LOAD_UNABORT (Base: 0x00001000, Size: 0x00000444, Max: 0x00007000, ABSOLUTE) + Load Region LOAD_UNABORT (Base: 0x00011000, Size: 0x0000049c, Max: 0x00007000, ABSOLUTE) - Execution Region NML_RO (Base: 0x00001000, Size: 0x000000fc, Max: 0xffffffff, ABSOLUTE) + Execution Region NML_RO (Base: 0x00011000, Size: 0x00000158, Max: 0xffffffff, ABSOLUTE) Base Addr Size Type Attr Idx E Section Name Object - 0x00001000 0x000000f2 Code RO 244 .emb_text crt0_excp.o - 0x000010f2 0x00000008 Code RO 321 i.osDisableInterrupts os_interrupt.o(Release\libos.brom.thumb.a) + 0x00011000 0x0000014e Code RO 256 .emb_text crt0_excp.o + 0x0001114e 0x00000008 Code RO 322 i.osDisableInterrupts os_interrupt.o(Release\libos.brom.thumb.a) - Execution Region RO (Base: 0x000010fc, Size: 0x00000348, Max: 0xffffffff, ABSOLUTE) + Execution Region RO (Base: 0x00011158, Size: 0x00000344, Max: 0xffffffff, ABSOLUTE) Base Addr Size Type Attr Idx E Section Name Object - 0x000010fc 0x00000010 Code RO 623 .text memcpy.o(c_t__un.l) - 0x0000110c 0x00000074 Code RO 625 .text rt_memcpy_w_mpc.o(c_t__un.l) - 0x00001180 0x000000d4 Code RO 627 .text rt_memcpy.o(c_t__un.l) - 0x00001254 0x000001f0 Code RO 223 i.stupInitMMUTable crt0_secure.o + 0x00011158 0x00000010 Code RO 626 .text memcpy.o(c_t__un.l) + 0x00011168 0x00000074 Code RO 628 .text rt_memcpy_w_mpc.o(c_t__un.l) + 0x000111dc 0x000000d4 Code RO 630 .text rt_memcpy.o(c_t__un.l) + 0x000112b0 0x000001ec Code RO 229 i.stupInitMMUTable crt0_secure.o - Load Region LOAD_SECURE (Base: 0x00008000, Size: 0x00000a34, Max: 0x00008000, ABSOLUTE) + Load Region LOAD_SECURE (Base: 0x00018000, Size: 0x00000a44, Max: 0x00008000, ABSOLUTE) - Execution Region SEC_RO (Base: 0x00008000, Size: 0x00000a34, Max: 0xffffffff, ABSOLUTE) + Execution Region SEC_RO (Base: 0x00018000, Size: 0x00000a44, Max: 0xffffffff, ABSOLUTE) Base Addr Size Type Attr Idx E Section Name Object - 0x00008000 0x000003c0 Code RO 222 .emb_text crt0_secure.o - 0x000083c0 0x0000002c Code RO 257 .emb_text os_system.o(Release\libos.brom.thumb.a) - 0x000083ec 0x000000c0 Code RO 315 .emb_text os_interrupt.o(Release\libos.brom.thumb.a) - 0x000084ac 0x00000270 Code RO 543 .emb_text os_cache.o(Release\libos.brom.thumb.a) - 0x0000871c 0x00000220 Code RO 591 .emb_text os_mmu.o(Release\libos.brom.thumb.a) - 0x0000893c 0x00000068 Code RO 298 i.i_osFinalize os_boot.o(Release\libos.brom.thumb.a) - 0x000089a4 0x00000040 Code RO 333 i.osClearInterruptPendingMask os_interrupt.o(Release\libos.brom.thumb.a) - 0x000089e4 0x00000040 Code RO 329 i.osDisableInterruptMask os_interrupt.o(Release\libos.brom.thumb.a) - 0x00008a24 0x00000010 Data RO 299 .constdata os_boot.o(Release\libos.brom.thumb.a) + 0x00018000 0x000003d0 Code RO 228 .emb_text crt0_secure.o + 0x000183d0 0x0000002c Code RO 269 .emb_text os_system.o(Release\libos.brom.thumb.a) + 0x000183fc 0x000000c0 Code RO 319 .emb_text os_interrupt.o(Release\libos.brom.thumb.a) + 0x000184bc 0x00000270 Code RO 546 .emb_text os_cache.o(Release\libos.brom.thumb.a) + 0x0001872c 0x00000220 Code RO 594 .emb_text os_mmu.o(Release\libos.brom.thumb.a) + 0x0001894c 0x00000068 Code RO 302 i.i_osFinalize os_boot.o(Release\libos.brom.thumb.a) + 0x000189b4 0x00000040 Code RO 337 i.osClearInterruptPendingMask os_interrupt.o(Release\libos.brom.thumb.a) + 0x000189f4 0x00000040 Code RO 333 i.osDisableInterruptMask os_interrupt.o(Release\libos.brom.thumb.a) + 0x00018a34 0x00000010 Data RO 303 .constdata os_boot.o(Release\libos.brom.thumb.a) Execution Region RW (Base: 0x8ffe8000, Size: 0x00000000, Max: 0x00008000, ABSOLUTE) @@ -254,12 +255,12 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 180 24 0 0 0 7356 crt0.o - 242 62 0 0 0 500 crt0_excp.o - 1456 176 0 0 0 1236 crt0_secure.o + 200 20 0 0 0 7356 crt0.o + 334 62 0 0 0 524 crt0_excp.o + 1468 180 0 0 0 1336 crt0_secure.o ------------------------------------------------------------------------ - 1878 262 0 0 16384 9092 Object Totals + 2002 262 0 0 16384 9216 Object Totals 0 0 0 0 16384 0 (incl. Generated) 0 0 0 0 0 0 (incl. Padding) @@ -270,25 +271,25 @@ Image component sizes 16 0 0 0 0 0 memcpy.o 104 4 16 0 0 576 os_boot.o 624 0 0 0 0 536 os_cache.o - 328 12 0 0 0 3252 os_interrupt.o + 328 12 0 0 0 3352 os_interrupt.o 544 8 0 0 0 368 os_mmu.o 44 0 0 0 0 356 os_system.o 212 0 0 0 0 0 rt_memcpy.o 116 0 0 0 0 0 rt_memcpy_w_mpc.o ------------------------------------------------------------------------ - 1990 24 16 0 0 5088 Library Totals + 1990 24 16 0 0 5188 Library Totals 2 0 0 0 0 0 (incl. Padding) ------------------------------------------------------------------------ Code (inc. data) RO Data RW Data ZI Data Debug Library Name - 1644 24 16 0 0 5088 Release\libos.brom.thumb.a + 1644 24 16 0 0 5188 Release\libos.brom.thumb.a 344 0 0 0 0 0 c_t__un.l ------------------------------------------------------------------------ - 1990 24 16 0 0 5088 Library Totals + 1990 24 16 0 0 5188 Library Totals ------------------------------------------------------------------------ @@ -297,14 +298,14 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 3868 286 16 0 16384 14180 Grand Totals - 3868 286 16 0 16384 14180 Image Totals + 3992 286 16 0 16384 14404 Grand Totals + 3992 286 16 0 16384 14404 Image Totals ================================================================================ - Total RO Size (Code + RO Data) 3884 ( 3.79kB) + Total RO Size (Code + RO Data) 4008 ( 3.91kB) Total RW Size (RW Data + ZI Data) 16384 ( 16.00kB) - Total ROM Size (Code + RO Data + RW Data) 3884 ( 3.79kB) + Total ROM Size (Code + RO Data + RW Data) 4008 ( 3.91kB) ================================================================================ diff --git a/trunk/tools/bootrom/ne1tb/teg_dev11.axf b/trunk/tools/bootrom/ne1tb/teg_dev11.axf deleted file mode 100644 index 172ff9d1fca4bd754aa1cbb3b6b573859b1ec9ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44812 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 hk^cn... MCR p15,0x0,r0,c7,c14,1 - 0x000085bc: e2800020 ... ADD r0,r0,#0x20 - 0x000085c0: e1500001 ..P. CMP r0,r1 - 0x000085c4: bafffffa .... BLT 0x85b4 - 0x000085c8: e12fff1e ../. BX lr - osLockdownDCacheRange - osUnlockdownDCache - osUnlockdownDCacheAll - osWaitWriteBufferEmpty - 0x000085cc: e3a00000 .... MOV r0,#0 - 0x000085d0: ee070f9a .... MCR p15,0x0,r0,c7,c10,4 - 0x000085d4: e12fff1e ../. BX lr - osTouchDCacheRange - 0x000085d8: e0811000 .... ADD r1,r1,r0 - 0x000085dc: e3c0001f .... BIC r0,r0,#0x1f - 0x000085e0: f5d0f000 .... PLD [r0,#0] - 0x000085e4: e2800020 ... ADD r0,r0,#0x20 - 0x000085e8: e1500001 ..P. CMP r0,r1 - 0x000085ec: bafffffb .... BLT 0x85e0 - 0x000085f0: e12fff1e ../. BX lr - osKeepDataAccessOrder - 0x000085f4: e3a00000 .... MOV r0,#0 - 0x000085f8: ee070fba .... MCR p15,0x0,r0,c7,c10,5 - 0x000085fc: e12fff1e ../. BX lr - osEnableICache - 0x00008600: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 - 0x00008604: e2010a01 .... AND r0,r1,#0x1000 - 0x00008608: e1a00620 ... LSR r0,r0,#12 - 0x0000860c: e3811a01 .... ORR r1,r1,#0x1000 - 0x00008610: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 - 0x00008614: e12fff1e ../. BX lr - osDisableICache - 0x00008618: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 - 0x0000861c: e2010a01 .... AND r0,r1,#0x1000 - 0x00008620: e1a00620 ... LSR r0,r0,#12 - 0x00008624: e3c11a01 .... BIC r1,r1,#0x1000 - 0x00008628: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 - 0x0000862c: e12fff1e ../. BX lr - osRestoreICache - 0x00008630: e3500000 ..P. CMP r0,#0 - 0x00008634: 03a02000 . .. MOVEQ r2,#0 - 0x00008638: 13a02a01 .*.. MOVNE r2,#0x1000 - 0x0000863c: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 - 0x00008640: e2010a01 .... AND r0,r1,#0x1000 - 0x00008644: e1a00620 ... LSR r0,r0,#12 - 0x00008648: e3c11a01 .... BIC r1,r1,#0x1000 - 0x0000864c: e1811002 .... ORR r1,r1,r2 - 0x00008650: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 - 0x00008654: e12fff1e ../. BX lr - osInvalidateICacheAll - 0x00008658: e3a00000 .... MOV r0,#0 - 0x0000865c: ee070f15 .... MCR p15,0x0,r0,c7,c5,0 - 0x00008660: e12fff1e ../. BX lr - osInvalidateICacheRange - 0x00008664: e0811000 .... ADD r1,r1,r0 - 0x00008668: e3c0001f .... BIC r0,r0,#0x1f - 0x0000866c: ee070f35 5... MCR p15,0x0,r0,c7,c5,1 - 0x00008670: e2800020 ... ADD r0,r0,#0x20 - 0x00008674: e1500001 ..P. CMP r0,r1 - 0x00008678: bafffffb .... BLT 0x866c - 0x0000867c: e12fff1e ../. BX lr - osPrefetchICacheRange - 0x00008680: e0811000 .... ADD r1,r1,r0 - 0x00008684: e3c0001f .... BIC r0,r0,#0x1f - 0x00008688: ee070f3d =... MCR p15,0x0,r0,c7,c13,1 - 0x0000868c: e2800020 ... ADD r0,r0,#0x20 - 0x00008690: e1500001 ..P. CMP r0,r1 - 0x00008694: bafffffb .... BLT 0x8688 - 0x00008698: e12fff1e ../. BX lr - osInvalidateInstPrefetchBuffer - 0x0000869c: e3a03000 .0.. MOV r3,#0 - 0x000086a0: ee073f95 .?.. MCR p15,0x0,r3,c7,c5,4 - 0x000086a4: e12fff1e ../. BX lr - osEnableBCache - 0x000086a8: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 - 0x000086ac: e201000f .... AND r0,r1,#0xf - 0x000086b0: e381100f .... ORR r1,r1,#0xf - 0x000086b4: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 - 0x000086b8: e12fff1e ../. BX lr - osDisableBCache - 0x000086bc: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 - 0x000086c0: e201000f .... AND r0,r1,#0xf - 0x000086c4: e3c1100f .... BIC r1,r1,#0xf - 0x000086c8: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 - 0x000086cc: e12fff1e ../. BX lr - osRestoreBCache - 0x000086d0: e3500000 ..P. CMP r0,#0 - 0x000086d4: 03a02000 . .. MOVEQ r2,#0 - 0x000086d8: 13a0200f . .. MOVNE r2,#0xf - 0x000086dc: ee111f10 .... MRC p15,0x0,r1,c1,c0,0 - 0x000086e0: e201000f .... AND r0,r1,#0xf - 0x000086e4: e3c1100f .... BIC r1,r1,#0xf - 0x000086e8: e1811002 .... ORR r1,r1,r2 - 0x000086ec: ee011f10 .... MCR p15,0x0,r1,c1,c0,0 - 0x000086f0: e12fff1e ../. BX lr - osInvalidateBCacheAll - 0x000086f4: e3a03000 .0.. MOV r3,#0 - 0x000086f8: ee073fd5 .?.. MCR p15,0x0,r3,c7,c5,6 - 0x000086fc: e12fff1e ../. BX lr - osInvalidateBCacheRange - 0x00008700: e0811000 .... ADD r1,r1,r0 - 0x00008704: e3c00001 .... BIC r0,r0,#1 - 0x00008708: ee070ff5 .... MCR p15,0x0,r0,c7,c5,7 - 0x0000870c: e2800002 .... ADD r0,r0,#2 - 0x00008710: e1500001 ..P. CMP r0,r1 - 0x00008714: bafffffb .... BLT 0x8708 - 0x00008718: e12fff1e ../. BX lr - osEnableMMU - $a - $v0 - .emb_text - 0x0000871c: ee110f10 .... MRC p15,0x0,r0,c1,c0,0 - 0x00008720: e3800001 .... ORR r0,r0,#1 - 0x00008724: ee010f10 .... MCR p15,0x0,r0,c1,c0,0 - 0x00008728: e12fff1e ../. BX lr - osDisableMMU - 0x0000872c: ee110f10 .... MRC p15,0x0,r0,c1,c0,0 - 0x00008730: e3c00001 .... BIC r0,r0,#1 - 0x00008734: ee010f10 .... MCR p15,0x0,r0,c1,c0,0 - 0x00008738: e12fff1e ../. BX lr - osGetPhysicalAddr - 0x0000873c: e59f3024 $0.. LDR r3,[pc,#36] ; [0x8768] = 0xfffffc00 - 0x00008740: e0002003 . .. AND r2,r0,r3 - 0x00008744: e1c01003 .... BIC r1,r0,r3 - 0x00008748: ee072f38 8/.. MCR p15,0x0,r2,c7,c8,1 - 0x0000874c: ee170f14 .... MRC p15,0x0,r0,c7,c4,0 - 0x00008750: e3100001 .... TST r0,#1 - 0x00008754: 1afffffe .... BNE 0x8754 - 0x00008758: e59f300c .0.. LDR r3,[pc,#12] ; [0x876c] = 0xfffff000 - 0x0000875c: e0000003 .... AND r0,r0,r3 - 0x00008760: e1800001 .... ORR r0,r0,r1 - 0x00008764: e12fff1e ../. BX lr - $d - 0x00008768: fffffc00 .... DCD 4294966272 - 0x0000876c: fffff000 .... DCD 4294963200 - osGetMemRegionType - $a - 0x00008770: e51f3010 .0.. LDR r3,[pc,#-16] ; [0x8768] = 0xfffffc00 - 0x00008774: e0002003 . .. AND r2,r0,r3 - 0x00008778: ee072f38 8/.. MCR p15,0x0,r2,c7,c8,1 - 0x0000877c: ee170f14 .... MRC p15,0x0,r0,c7,c4,0 - 0x00008780: e3100001 .... TST r0,#1 - 0x00008784: 1afffffe .... BNE 0x8784 ; osGetMemRegionType + 20 - 0x00008788: e20000c0 .... AND r0,r0,#0xc0 - 0x0000878c: e1a00320 ... LSR r0,r0,#6 - 0x00008790: e12fff1e ../. BX lr - osGetMemRegionCacheAttr - 0x00008794: e51f3034 40.. LDR r3,[pc,#-52] ; [0x8768] = 0xfffffc00 - 0x00008798: e0002003 . .. AND r2,r0,r3 - 0x0000879c: ee072f38 8/.. MCR p15,0x0,r2,c7,c8,1 - 0x000087a0: ee170f14 .... MRC p15,0x0,r0,c7,c4,0 - 0x000087a4: e3100001 .... TST r0,#1 - 0x000087a8: 1afffffe .... BNE 0x87a8 ; osGetMemRegionCacheAttr + 20 - 0x000087ac: e2000030 0... AND r0,r0,#0x30 - 0x000087b0: e1a00220 ... LSR r0,r0,#4 - 0x000087b4: e12fff1e ../. BX lr - osIsMemRegionShareable - 0x000087b8: e51f3058 X0.. LDR r3,[pc,#-88] ; [0x8768] = 0xfffffc00 - 0x000087bc: e0002003 . .. AND r2,r0,r3 - 0x000087c0: ee072f38 8/.. MCR p15,0x0,r2,c7,c8,1 - 0x000087c4: ee170f14 .... MRC p15,0x0,r0,c7,c4,0 - 0x000087c8: e3100001 .... TST r0,#1 - 0x000087cc: 1afffffe .... BNE 0x87cc ; osIsMemRegionShareable + 20 - 0x000087d0: e2000c01 .... AND r0,r0,#0x100 - 0x000087d4: e1a00420 ... LSR r0,r0,#8 - 0x000087d8: e12fff1e ../. BX lr - osIsMemRegionAbort - 0x000087dc: e51f307c |0.. LDR r3,[pc,#-124] ; [0x8768] = 0xfffffc00 - 0x000087e0: e0002003 . .. AND r2,r0,r3 - 0x000087e4: ee072f38 8/.. MCR p15,0x0,r2,c7,c8,1 - 0x000087e8: ee170f14 .... MRC p15,0x0,r0,c7,c4,0 - 0x000087ec: e2000001 .... AND r0,r0,#1 - 0x000087f0: e12fff1e ../. BX lr - osInvalidateTLBAll - 0x000087f4: e3a00000 .... MOV r0,#0 - 0x000087f8: ee080f17 .... MCR p15,0x0,r0,c8,c7,0 - 0x000087fc: e12fff1e ../. BX lr - osInvalidateITLBAll - 0x00008800: e3a00000 .... MOV r0,#0 - 0x00008804: ee080f15 .... MCR p15,0x0,r0,c8,c5,0 - 0x00008808: e12fff1e ../. BX lr - osInvalidateDTLBAll - 0x0000880c: e3a00000 .... MOV r0,#0 - 0x00008810: ee080f16 .... MCR p15,0x0,r0,c8,c6,0 - 0x00008814: e12fff1e ../. BX lr - osInvalidateTLBRange - 0x00008818: e0811000 .... ADD r1,r1,r0 - 0x0000881c: e51f30b8 .0.. LDR r3,[pc,#-184] ; [0x876c] = 0xfffff000 - 0x00008820: e0000003 .... AND r0,r0,r3 - 0x00008824: ee080f77 w... MCR p15,0x0,r0,c8,c7,3 - 0x00008828: e2800a01 .... ADD r0,r0,#0x1000 - 0x0000882c: e1500001 ..P. CMP r0,r1 - 0x00008830: bafffffb .... BLT 0x8824 ; osInvalidateTLBRange + 12 - 0x00008834: e12fff1e ../. BX lr - osInvalidateITLBRange - 0x00008838: e0811000 .... ADD r1,r1,r0 - 0x0000883c: e51f30d8 .0.. LDR r3,[pc,#-216] ; [0x876c] = 0xfffff000 - 0x00008840: e0000003 .... AND r0,r0,r3 - 0x00008844: ee080f75 u... MCR p15,0x0,r0,c8,c5,3 - 0x00008848: e2800a01 .... ADD r0,r0,#0x1000 - 0x0000884c: e1500001 ..P. CMP r0,r1 - 0x00008850: bafffffb .... BLT 0x8844 ; osInvalidateITLBRange + 12 - 0x00008854: e12fff1e ../. BX lr - osInvalidateDTLBRange - 0x00008858: e0811000 .... ADD r1,r1,r0 - 0x0000885c: e51f30f8 .0.. LDR r3,[pc,#-248] ; [0x876c] = 0xfffff000 - 0x00008860: e0000003 .... AND r0,r0,r3 - 0x00008864: ee080f76 v... MCR p15,0x0,r0,c8,c6,3 - 0x00008868: e2800a01 .... ADD r0,r0,#0x1000 - 0x0000886c: e1500001 ..P. CMP r0,r1 - 0x00008870: bafffffb .... BLT 0x8864 ; osInvalidateDTLBRange + 12 - 0x00008874: e12fff1e ../. BX lr - osInvalidateTLBAllWithASID - 0x00008878: e20000ff .... AND r0,r0,#0xff - 0x0000887c: ee080f57 W... MCR p15,0x0,r0,c8,c7,2 - 0x00008880: e12fff1e ../. BX lr - osInvalidateITLBAllWithASID - 0x00008884: e20000ff .... AND r0,r0,#0xff - 0x00008888: ee080f55 U... MCR p15,0x0,r0,c8,c5,2 - 0x0000888c: e12fff1e ../. BX lr - osInvalidateDTLBAllWithASID - 0x00008890: e20000ff .... AND r0,r0,#0xff - 0x00008894: ee080f56 V... MCR p15,0x0,r0,c8,c6,2 - 0x00008898: e12fff1e ../. BX lr - osInvalidateTLBRangeWithASID - 0x0000889c: e0811000 .... ADD r1,r1,r0 - 0x000088a0: e51f313c <1.. LDR r3,[pc,#-316] ; [0x876c] = 0xfffff000 - 0x000088a4: e0000003 .... AND r0,r0,r3 - 0x000088a8: e20220ff . .. AND r2,r2,#0xff - 0x000088ac: e1800002 .... ORR r0,r0,r2 - 0x000088b0: ee080f35 5... MCR p15,0x0,r0,c8,c5,1 - 0x000088b4: ee080f36 6... MCR p15,0x0,r0,c8,c6,1 - 0x000088b8: ee080f37 7... MCR p15,0x0,r0,c8,c7,1 - 0x000088bc: e2800a01 .... ADD r0,r0,#0x1000 - 0x000088c0: e1500001 ..P. CMP r0,r1 - 0x000088c4: bafffff9 .... BLT 0x88b0 ; osInvalidateTLBRangeWithASID + 20 - 0x000088c8: e12fff1e ../. BX lr - osInvalidateITLBRangeWithASID - 0x000088cc: e0811000 .... ADD r1,r1,r0 - 0x000088d0: e51f316c l1.. LDR r3,[pc,#-364] ; [0x876c] = 0xfffff000 - 0x000088d4: e0000003 .... AND r0,r0,r3 - 0x000088d8: e20220ff . .. AND r2,r2,#0xff - 0x000088dc: e1800002 .... ORR r0,r0,r2 - 0x000088e0: ee080f35 5... MCR p15,0x0,r0,c8,c5,1 - 0x000088e4: e2800a01 .... ADD r0,r0,#0x1000 - 0x000088e8: e1500001 ..P. CMP r0,r1 - 0x000088ec: bafffffb .... BLT 0x88e0 ; osInvalidateITLBRangeWithASID + 20 - 0x000088f0: e12fff1e ../. BX lr - osInvalidateDTLBRangeWithASID - 0x000088f4: e0811000 .... ADD r1,r1,r0 - 0x000088f8: e51f3194 .1.. LDR r3,[pc,#-404] ; [0x876c] = 0xfffff000 - 0x000088fc: e0000003 .... AND r0,r0,r3 - 0x00008900: e20220ff . .. AND r2,r2,#0xff - 0x00008904: e1800002 .... ORR r0,r0,r2 - 0x00008908: ee080f36 6... MCR p15,0x0,r0,c8,c6,1 - 0x0000890c: e2800a01 .... ADD r0,r0,#0x1000 - 0x00008910: e1500001 ..P. CMP r0,r1 - 0x00008914: bafffffb .... BLT 0x8908 ; osInvalidateDTLBRangeWithASID + 20 - 0x00008918: e12fff1e ../. BX lr - osStartTLBLockDown - 0x0000891c: e1a00d00 .... LSL r0,r0,#26 - 0x00008920: e2000307 .... AND r0,r0,#0x1c000000 - 0x00008924: e2000001 .... AND r0,r0,#1 - 0x00008928: ee0a0f10 .... MCR p15,0x0,r0,c10,c0,0 - 0x0000892c: e12fff1e ../. BX lr - osEndTLBLockDown - 0x00008930: e3a00000 .... MOV r0,#0 - 0x00008934: ee0a0f10 .... MCR p15,0x0,r0,c10,c0,0 - 0x00008938: e12fff1e ../. BX lr - i_osFinalize - $t - i.i_osFinalize - 0x0000893c: b510 .. PUSH {r4,lr} - 0x0000893e: b08a .. SUB sp,sp,#0x28 - 0x00008940: f7f8fbd7 .... BL SWI_TableEnd ; 0x10f2 - 0x00008944: f7ffedbe .... BLX osDisableDCache ; 0x84c4 - 0x00008948: f7ffedf8 .... BLX osFlushDCacheAll ; 0x853c - 0x0000894c: f7ffee3e ..>. BLX osLockdownDCacheRange ; 0x85cc - 0x00008950: f7ffee62 ..b. BLX osDisableICache ; 0x8618 - 0x00008954: f7ffee80 .... BLX osInvalidateICacheAll ; 0x8658 - 0x00008958: 4911 .I LDR r1,[pc,#68] ; [0x89a0] = 0x8a24 - 0x0000895a: 2210 ." MOVS r2,#0x10 - 0x0000895c: a806 .. ADD r0,sp,#0x18 - 0x0000895e: f7f8ebd6 .... BLX __aeabi_memcpy4 ; 0x110c - 0x00008962: a909 .. ADD r1,sp,#0x24 - 0x00008964: 2204 ." MOVS r2,#4 - 0x00008966: 460c .F MOV r4,r1 - 0x00008968: 4668 hF MOV r0,sp - 0x0000896a: f7f8ebc8 .... BLX memcpy ; 0x10fc - 0x0000896e: a906 .. ADD r1,sp,#0x18 - 0x00008970: a802 .. ADD r0,sp,#8 - 0x00008972: c90e .. LDM r1,{r1-r3} - 0x00008974: f000f836 ..6. BL osDisableInterruptMask ; 0x89e4 - 0x00008978: 2204 ." MOVS r2,#4 - 0x0000897a: 4621 !F MOV r1,r4 - 0x0000897c: 4668 hF MOV r0,sp - 0x0000897e: f7f8ebbe .... BLX memcpy ; 0x10fc - 0x00008982: a906 .. ADD r1,sp,#0x18 - 0x00008984: a802 .. ADD r0,sp,#8 - 0x00008986: c90e .. LDM r1,{r1-r3} - 0x00008988: f000f80c .... BL osClearInterruptPendingMask ; 0x89a4 - 0x0000898c: f7ffee96 .... BLX osDisableBCache ; 0x86bc - 0x00008990: f7ffee84 .... BLX osInvalidateInstPrefetchBuffer ; 0x869c - 0x00008994: f7ffeeae .... BLX osInvalidateBCacheAll ; 0x86f4 - 0x00008998: f7ffeec8 .... BLX osDisableMMU ; 0x872c - 0x0000899c: b00a .. ADD sp,sp,#0x28 - 0x0000899e: bd10 .. POP {r4,pc} - $d - 0x000089a0: 00008a24 $... DCD 35364 - osClearInterruptPendingMask - $t - i.osClearInterruptPendingMask - 0x000089a4: b40f .. PUSH {r0-r3} - 0x000089a6: b57f .. PUSH {r0-r6,lr} - 0x000089a8: 4605 .F MOV r5,r0 - 0x000089aa: f7ffed2a ..*. BLX osDisableIrq ; 0x8400 - 0x000089ae: 4604 .F MOV r4,r0 - 0x000089b0: 490b .I LDR r1,[pc,#44] ; [0x89e0] = 0xc0001200 - 0x000089b2: 2210 ." MOVS r2,#0x10 - 0x000089b4: 4668 hF MOV r0,sp - 0x000089b6: f7f8eba2 .... BLX memcpy ; 0x10fc - 0x000089ba: 4809 .H LDR r0,[pc,#36] ; [0x89e0] = 0xc0001200 - 0x000089bc: a909 .. ADD r1,sp,#0x24 - 0x000089be: 3080 .0 ADDS r0,r0,#0x80 - 0x000089c0: 2210 ." MOVS r2,#0x10 - 0x000089c2: f7f8eb9c .... BLX memcpy ; 0x10fc - 0x000089c6: 4620 F MOV r0,r4 - 0x000089c8: f7ffed24 ..$. BLX osRestoreIrq ; 0x8414 - 0x000089cc: 2210 ." MOVS r2,#0x10 - 0x000089ce: 4669 iF MOV r1,sp - 0x000089d0: 4628 (F MOV r0,r5 - 0x000089d2: f7f8eb94 .... BLX memcpy ; 0x10fc - 0x000089d6: bc7f .. POP {r0-r6} - 0x000089d8: bc08 .. POP {r3} - 0x000089da: b004 .. ADD sp,sp,#0x10 - 0x000089dc: 4718 .G BX r3 - $d - 0x000089de: 0000 .. DCW 0 - 0x000089e0: c0001200 .... DCD 3221230080 - osDisableInterruptMask - $t - i.osDisableInterruptMask - 0x000089e4: b40f .. PUSH {r0-r3} - 0x000089e6: b57f .. PUSH {r0-r6,lr} - 0x000089e8: 4605 .F MOV r5,r0 - 0x000089ea: f7ffed0a .... BLX osDisableIrq ; 0x8400 - 0x000089ee: 4604 .F MOV r4,r0 - 0x000089f0: 490b .I LDR r1,[pc,#44] ; [0x8a20] = 0xc0001100 - 0x000089f2: 2210 ." MOVS r2,#0x10 - 0x000089f4: 4668 hF MOV r0,sp - 0x000089f6: f7f8eb82 .... BLX memcpy ; 0x10fc - 0x000089fa: 4809 .H LDR r0,[pc,#36] ; [0x8a20] = 0xc0001100 - 0x000089fc: a909 .. ADD r1,sp,#0x24 - 0x000089fe: 3080 .0 ADDS r0,r0,#0x80 - 0x00008a00: 2210 ." MOVS r2,#0x10 - 0x00008a02: f7f8eb7c ..|. BLX memcpy ; 0x10fc - 0x00008a06: 4620 F MOV r0,r4 - 0x00008a08: f7ffed04 .... BLX osRestoreIrq ; 0x8414 - 0x00008a0c: 2210 ." MOVS r2,#0x10 - 0x00008a0e: 4669 iF MOV r1,sp - 0x00008a10: 4628 (F MOV r0,r5 - 0x00008a12: f7f8eb74 ..t. BLX memcpy ; 0x10fc - 0x00008a16: bc7f .. POP {r0-r6} - 0x00008a18: bc08 .. POP {r3} - 0x00008a1a: b004 .. ADD sp,sp,#0x10 - 0x00008a1c: 4718 .G BX r3 - $d - 0x00008a1e: 0000 .. DCW 0 - 0x00008a20: c0001100 .... DCD 3221229824 - .constdata$1 - $d.realdata - .constdata - 0x00008a24: ffffffff .... DCD 4294967295 - 0x00008a28: ffffffff .... DCD 4294967295 - 0x00008a2c: ffffffff .... DCD 4294967295 - 0x00008a30: ffffffff .... DCD 4294967295 - -** Section #5 'BUF_OVER_BARRIER' (SHT_NOBITS) [SHF_ALLOC + SHF_WRITE] - Size : 0 bytes - Address: 0x8fff0000 - - -** Section #6 'TO_FIRM' (SHT_NOBITS) [SHF_ALLOC + SHF_WRITE] - Size : 16384 bytes - Address: 0x8fffa000 - - -** Section #7 '.debug_abbrev' (SHT_PROGBITS) - Size : 1256 bytes - - -** Section #8 '.debug_frame' (SHT_PROGBITS) - Size : 2092 bytes - - -** Section #9 '.debug_info' (SHT_PROGBITS) - Size : 5404 bytes - - -** Section #10 '.debug_line' (SHT_PROGBITS) - Size : 3296 bytes - - -** Section #11 '.debug_loc' (SHT_PROGBITS) - Size : 440 bytes - - -** Section #12 '.debug_macinfo' (SHT_PROGBITS) - Size : 1356 bytes - - -** Section #13 '.debug_pubnames' (SHT_PROGBITS) - Size : 336 bytes - - -** Section #14 '.symtab' (SHT_SYMTAB) - Size : 3440 bytes (alignment 4) - String table '.strtab' - Last local symbol no. 107 - - -** Section #15 '.strtab' (SHT_STRTAB) - Size : 3552 bytes - - -** Section #16 '.note' (SHT_NOTE) - Size : 40 bytes (alignment 4) - - -** Section #17 '.comment' (SHT_PROGBITS) - Size : 18476 bytes - - -** Section #18 '.shstrtab' (SHT_STRTAB) - Size : 196 bytes - - diff --git a/trunk/tools/bootrom/ne1tb/thread11.axf b/trunk/tools/bootrom/ne1tb/thread11.axf index 807b55eed20128c292603677e7aa251498e78b05..d2be5c36622a4fd6816f7ef0b77300ff2bdc1853 100644 GIT binary patch delta 22532 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 bFXQDn^~HrsbkJg#BDQhM(*Mvzw7>rcZbH7e delta 22325 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 nRDzCZ&+>K8Pujb