Skip to content

Instantly share code, notes, and snippets.

@revasm
Last active January 4, 2016 05:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save revasm/8572927 to your computer and use it in GitHub Desktop.
Save revasm/8572927 to your computer and use it in GitHub Desktop.
Samsung Galaxy S III (Verizon) ML1-MDK disassembly comparison for Loki compatibility

MDK (S4)

ROM:00000000 load_index      DCD 5
ROM:00000004 flash_partition_version DCD 3
ROM:00000008 image_source_pointer DCD 0
ROM:0000000C image_dest_pointer DCD 0x88E00000
ROM:00000010 image_size      DCD 0x12BD90
ROM:00000014 code_size       DCD 0x128C90
ROM:00000018 signature_addr  DCD 0x88F28C90
ROM:0000001C signature_size  DCD 0x100
ROM:00000020 cert_chain_addr DCD 0x88F28D90
ROM:00000024 cert_chain_size DCD 0x3000

ML1 (S3)

ROM:00000000 load_index      DCD 5
ROM:00000004 flash_partition_version DCD 3
ROM:00000008 image_source_pointer DCD 0
ROM:0000000C image_dest_pointer DCD 0x88E00000
ROM:00000010 image_size      DCD 0x123C3C
ROM:00000014 code_size       DCD 0x12233C
ROM:00000018 signature_addr  DCD 0x88F2233C
ROM:0000001C signature_size  DCD 0x100
ROM:00000020 cert_chain_addr DCD 0x88F2243C
ROM:00000024 cert_chain_size DCD 0x1800

MDK (S4)

boot_linux_from_mmc ROM 0000000088E13B28 00000704
check_sig ROM 0000000088E0FE98 000000BA
hdr 0000000088F372FC

ML1 (S3)

boot_linux_from_mmc ROM 0000000088E12BF8 00000720
check_sig_new ROM 0000000088E0EC64 000000A0
hdr 0000000088F2F314
ROM:88E13B28 ; =============== S U B R O U T I N E =======================================
ROM:88E13B28
ROM:88E13B28
ROM:88E13B28 boot_linux_from_mmc ; CODE XREF: sub_88E15380+108p
ROM:88E13B28
ROM:88E13B28 var_1B8 = -0x1B8
ROM:88E13B28 var_1B4 = -0x1B4
ROM:88E13B28 var_1A4 = -0x1A4
ROM:88E13B28 var_19D = -0x19D
ROM:88E13B28 var_19C = -0x19C
ROM:88E13B28 var_184 = -0x184
ROM:88E13B28 var_17C = -0x17C
ROM:88E13B28 var_174 = -0x174
ROM:88E13B28 var_170 = -0x170
ROM:88E13B28 var_16C = -0x16C
ROM:88E13B28 var_128 = -0x128
ROM:88E13B28
ROM:88E13B28 MOV.W R0, #0xF000
ROM:88E13B2C LDR R1, =aAndroid ; "ANDROID!"
ROM:88E13B2E PUSH.W {R4-R11,LR}
ROM:88E13B32 MOVT.W R0, #0x88EF
ROM:88E13B36 SUB SP, SP, #0x194
ROM:88E13B38 MOVS R2, #8
ROM:88E13B3A BL sub_88E1C3BC
ROM:88E13B3E CMP R0, #0
ROM:88E13B40 BEQ.W loc_88E13FA4
ROM:88E13B44 LDR.W R8, =dword_88F39310
ROM:88E13B48 LDR.W R3, [R8]
ROM:88E13B4C CMP R3, #0
ROM:88E13B4E BEQ.W loc_88E13F58
ROM:88E13B52 LDR R1, =aRecoveryBootin ; "RECOVERY BOOTING....."
ROM:88E13B54 MOVS R0, #0xFF
ROM:88E13B56 BL print_console
ROM:88E13B5A LDR R0, =aRecovery ; "recovery"
ROM:88E13B5C BL sub_88E0711C
ROM:88E13B60 BL sub_88E071A0
ROM:88E13B64 ORRS.W R3, R0, R1
ROM:88E13B68 STRD.W R0, R1, [SP,#8]
ROM:88E13B6C BEQ.W loc_88E14096
ROM:88E13B70
ROM:88E13B70 loc_88E13B70 ; CODE XREF: boot_linux_from_mmc+442j
ROM:88E13B70 LDR R5, =dword_88F38300
ROM:88E13B72 LDR R4, =hdr
ROM:88E13B74 LDRD.W R0, R1, [SP,#8]
ROM:88E13B78 LDR R3, [R5]
ROM:88E13B7A MOV R2, R4
ROM:88E13B7C BL mmc_read
ROM:88E13B80 CMP R0, #0
ROM:88E13B82 BNE.W loc_88E141FA
ROM:88E13B86 MOV R0, R4
ROM:88E13B88 LDR R1, =aAndroid ; "ANDROID!"
ROM:88E13B8A MOVS R2, #8
ROM:88E13B8C BL sub_88E1C3BC
ROM:88E13B90 CMP R0, #0
ROM:88E13B92 BNE.W loc_88E141EE
ROM:88E13B96 LDR R3, [R4,#(dword_88F37320 - 0x88F372FC)]
ROM:88E13B98 LDR R7, =dword_88F372F0
ROM:88E13B9A CBZ R3, loc_88E13BAA
ROM:88E13B9C LDR R2, [R5]
ROM:88E13B9E LDR R7, =dword_88F372F0
ROM:88E13BA0 CMP R3, R2
ROM:88E13BA2 BEQ loc_88E13BAA
ROM:88E13BA4 SUBS R2, R3, #1
ROM:88E13BA6 STR R3, [R5]
ROM:88E13BA8 STR R2, [R7]
ROM:88E13BAA
ROM:88E13BAA loc_88E13BAA ; CODE XREF: boot_linux_from_mmc+72j
ROM:88E13BAA ; boot_linux_from_mmc+7Aj
ROM:88E13BAA BL sub_88E0E33C
ROM:88E13BAE CBZ R0, loc_88E13BBE
ROM:88E13BB0 LDR R6, =unk_88F284B8
ROM:88E13BB2 LDR R3, [R6,#(dword_88F284C8 - 0x88F284B8)]
ROM:88E13BB4 CBNZ R3, loc_88E13BBE
ROM:88E13BB6 LDR R3, [R6,#(dword_88F284CC - 0x88F284B8)]
ROM:88E13BB8 CMP R3, #0
ROM:88E13BBA BEQ.W loc_88E14150
ROM:88E13BBE
ROM:88E13BBE loc_88E13BBE ; CODE XREF: boot_linux_from_mmc+86j
ROM:88E13BBE ; boot_linux_from_mmc+8Cj
ROM:88E13BBE BL sub_88E00AE0
ROM:88E13BC2 LDR R6, =hdr
ROM:88E13BC4 LDR R2, [R5]
ROM:88E13BC6 MOV R1, R6
ROM:88E13BC8 MOV R9, R0
ROM:88E13BCA BLX memcpy
ROM:88E13BCE LDR R3, [R7]
ROM:88E13BD0 LDR R2, [R4,#8]
ROM:88E13BD2 LDR R7, [R5]
ROM:88E13BD4 LDRD.W R0, R1, [SP,#8]
ROM:88E13BD8 ADDS R5, R3, R2
ROM:88E13BDA BIC.W R5, R5, R3
ROM:88E13BDE LDR R2, [R4,#0xC]
ROM:88E13BE0 ADDS R0, R0, R7
ROM:88E13BE2 MOV R3, R5
ROM:88E13BE4 ADC.W R1, R1, #0
ROM:88E13BE8 BL mmc_read
ROM:88E13BEC CMP R0, #0
ROM:88E13BEE BNE.W loc_88E140AE
ROM:88E13BF2 ADD.W R0, R9, R7
ROM:88E13BF6 MOV R2, R5
ROM:88E13BF8 LDR R1, [R6,#(dword_88F37308 - 0x88F372FC)]
ROM:88E13BFA ADDS R5, R5, R7
ROM:88E13BFC BLX memcpy
ROM:88E13C00 LDR R3, =dword_88F372F0
ROM:88E13C02 LDR R7, [R6,#(dword_88F3730C - 0x88F372FC)]
ROM:88E13C04 LDR R3, [R3]
ROM:88E13C06 ADDS R7, R3, R7
ROM:88E13C08 BIC.W R7, R7, R3
ROM:88E13C0C ADDS.W R7, R7, #0x200
ROM:88E13C10 BEQ loc_88E13C2A
ROM:88E13C12 LDRD.W R0, R1, [SP,#8]
ROM:88E13C16 MOV R3, R7
ROM:88E13C18 LDR R2, [R6,#(dword_88F37310 - 0x88F372FC)]
ROM:88E13C1A ADDS R0, R0, R5
ROM:88E13C1C ADC.W R1, R1, #0
ROM:88E13C20 BL mmc_read
ROM:88E13C24 CMP R0, #0
ROM:88E13C26 BNE.W loc_88E140A2
ROM:88E13C2A
ROM:88E13C2A loc_88E13C2A ; CODE XREF: boot_linux_from_mmc+E8j
ROM:88E13C2A LDR R1, [R4,#0x14]
ROM:88E13C2C ADD.W R0, R9, R5
ROM:88E13C30 MOV R2, R7
ROM:88E13C32 BLX memcpy
ROM:88E13C36
ROM:88E13C36 loc_88E13C36 ; CODE XREF: boot_linux_from_mmc+6BAj
ROM:88E13C36 ; boot_linux_from_mmc+6C4j
ROM:88E13C36 LDR.W R0, [R8]
ROM:88E13C3A ADD R7, SP, #0x1B8+var_19C
ROM:88E13C3C BL check_sig
ROM:88E13C40 CBZ R0, loc_88E13C56
ROM:88E13C42 MOVS R3, #0
ROM:88E13C44 STRB.W R3, [R7,#-1]
ROM:88E13C48 BL is_engineering_device
ROM:88E13C4C CMP R0, #0
ROM:88E13C4E BEQ.W loc_88E13FEC
ROM:88E13C52 BL sub_88E0B864
ROM:88E13C56
ROM:88E13C56 loc_88E13C56 ; CODE XREF: boot_linux_from_mmc+118j
ROM:88E13C56 LDR.W R0, [R8]
ROM:88E13C5A BL check_sig
ROM:88E13C5E LDR R6, =hdr
ROM:88E13C60 CMP R0, #0
ROM:88E13C62 BEQ.W loc_88E13FE6
ROM:88E13C66 LDR R3, =dword_88F38304
ROM:88E13C68 MOVS R2, #1
ROM:88E13C6A STR R2, [R3]
ROM:88E13C6C
ROM:88E13C6C loc_88E13C6C ; CODE XREF: boot_linux_from_mmc+490j
ROM:88E13C6C ; boot_linux_from_mmc+4C2j
ROM:88E13C6C LDR R1, [R6,#(dword_88F37308 - 0x88F372FC)]
ROM:88E13C6E ADD.W R5, R6, #0x40
ROM:88E13C72 LDR R2, [R6,#(dword_88F37304 - 0x88F372FC)]
ROM:88E13C74 LDR R0, =aKernelXDBytes ; "\nkernel @ %x (%d bytes)\n"
ROM:88E13C76 BL dprintf
ROM:88E13C7A LDR R1, [R6,#(dword_88F37310 - 0x88F372FC)]
ROM:88E13C7C LDR R2, [R6,#(dword_88F3730C - 0x88F372FC)]
ROM:88E13C7E LDR R0, =aRamdiskXDBytes ; "ramdisk @ %x (%d bytes)\n"
ROM:88E13C80 BL dprintf
ROM:88E13C84 LDRB.W R3, [R6,#(byte_88F3733C - 0x88F372FC)]
ROM:88E13C88 CMP R3, #0
ROM:88E13C8A BEQ.W loc_88E13FC2
ROM:88E13C8E
ROM:88E13C8E loc_88E13C8E ; CODE XREF: boot_linux_from_mmc+4A4j
ROM:88E13C8E LDR R3, =dword_88F372F8
ROM:88E13C90 LDR R3, [R3]
ROM:88E13C92 CMP.W R3, #0x400
ROM:88E13C96 BEQ.W loc_88E13F7A
ROM:88E13C9A
ROM:88E13C9A loc_88E13C9A ; CODE XREF: boot_linux_from_mmc+45Cj
ROM:88E13C9A ADD R4, SP, #0x1B8+var_128
ROM:88E13C9C
ROM:88E13C9C loc_88E13C9C ; CODE XREF: boot_linux_from_mmc+47Aj
ROM:88E13C9C LDR.W R9, =dword_88E544F4
ROM:88E13CA0 MOV.W R2, #0x100000
ROM:88E13CA4 LDR R1, =aSec_log0xX0xX ; " sec_log=0x%x@0x%x"
ROM:88E13CA6 MOV R0, R4
ROM:88E13CA8 LDR.W R3, [R9]
ROM:88E13CAC ADDS R3, #8
ROM:88E13CAE BL sub_88E1C164
ROM:88E13CB2 MOV R1, R4
ROM:88E13CB4 MOV R0, R5
ROM:88E13CB6 BL sub_88E1C3E8
ROM:88E13CBA LDR.W R3, [R9]
ROM:88E13CBE MOV.W R2, #0x80000
ROM:88E13CC2 LDR R1, =aSec_dbg0xX0xX ; " sec_dbg=0x%x@0x%x"
ROM:88E13CC4 ADD.W R3, R3, #0x100000
ROM:88E13CC8 MOV R0, R4
ROM:88E13CCA ADDS R3, #8
ROM:88E13CCC BL sub_88E1C164
ROM:88E13CD0 MOV R1, R4
ROM:88E13CD2 MOV R0, R5
ROM:88E13CD4 BL sub_88E1C3E8
ROM:88E13CD8 LDR R3, =dword_88F382FC
ROM:88E13CDA LDR R1, =aSec_debug_rese ; " sec_debug.reset_reason=0x%x"
ROM:88E13CDC MOV R0, R4
ROM:88E13CDE LDR R2, [R3]
ROM:88E13CE0 BL sub_88E1C164
ROM:88E13CE4 MOV R1, R4
ROM:88E13CE6 MOV R0, R5
ROM:88E13CE8 BL sub_88E1C3E8
ROM:88E13CEC BL sub_88E0CBE8
ROM:88E13CF0 CMP R0, #1
ROM:88E13CF2 BLS loc_88E13D20
ROM:88E13CF4 BL sub_88E0A448
ROM:88E13CF8 LDR R1, =aLcd_attached_0 ; " lcd_attached=%d"
ROM:88E13CFA MOV R2, R0
ROM:88E13CFC MOV R0, R4
ROM:88E13CFE BL sub_88E1C164
ROM:88E13D02 MOV R1, R4
ROM:88E13D04 MOV R0, R5
ROM:88E13D06 BL sub_88E1C3E8
ROM:88E13D0A BL sub_88E0A43C
ROM:88E13D0E LDR R1, =aLcd_id0xX ; " lcd_id=0x%x"
ROM:88E13D10 MOV R2, R0
ROM:88E13D12 MOV R0, R4
ROM:88E13D14 BL sub_88E1C164
ROM:88E13D18 MOV R0, R5
ROM:88E13D1A MOV R1, R4
ROM:88E13D1C BL sub_88E1C3E8
ROM:88E13D20
ROM:88E13D20 loc_88E13D20 ; CODE XREF: boot_linux_from_mmc+1CAj
ROM:88E13D20 MOVS R2, #0x18
ROM:88E13D22 MOVS R1, #0
ROM:88E13D24 MOV R0, R7
ROM:88E13D26 BLX sub_88E1C2FC
ROM:88E13D2A MOV R0, R7
ROM:88E13D2C BL sub_88E159C0
ROM:88E13D30 MOVW R2, #0x4844
ROM:88E13D34 LDR R3, [R7]
ROM:88E13D36 MOVT.W R2, #0x4749
ROM:88E13D3A CMP R3, R2
ROM:88E13D3C BEQ.W loc_88E1406E
ROM:88E13D40 MOV R2, 0x44494D44
ROM:88E13D48 CMP R3, R2
ROM:88E13D4A BEQ.W loc_88E1405E
ROM:88E13D4E MOV R2, 0x574F4C44
ROM:88E13D56 CMP R3, R2
ROM:88E13D58 BEQ.W loc_88E1403E
ROM:88E13D5C LDR R3, =dword_88F3BFF8
ROM:88E13D5E MOVS R2, #1
ROM:88E13D60 STR R2, [R3]
ROM:88E13D62
ROM:88E13D62 loc_88E13D62 ; CODE XREF: boot_linux_from_mmc+544j
ROM:88E13D62 LDR R1, =aSec_debug_enab ; " sec_debug.enable=1"
ROM:88E13D64 MOV R0, R5
ROM:88E13D66 BL sub_88E1C3E8
ROM:88E13D6A MOV R0, R5
ROM:88E13D6C LDR R1, =aSec_debug_en_0 ; " sec_debug.enable_user=0"
ROM:88E13D6E BL sub_88E1C3E8
ROM:88E13D72
ROM:88E13D72 loc_88E13D72 ; CODE XREF: boot_linux_from_mmc+534j
ROM:88E13D72 ; boot_linux_from_mmc+56Cj
ROM:88E13D72 LDR R3, [R7,#0x14]
ROM:88E13D74 MOV R0, R5
ROM:88E13D76 CMP.W R3, #0x5500
ROM:88E13D7A BEQ.W loc_88E1402E
ROM:88E13D7E LDR R1, =aAndroidboot_cp ; " androidboot.cp_debug_level=0x55FF"
ROM:88E13D80 BL sub_88E1C3E8
ROM:88E13D84 MOV R0, R5
ROM:88E13D86 LDR R1, =aSec_debug_en_1 ; " sec_debug.enable_cp_debug=0"
ROM:88E13D88 BL sub_88E1C3E8
ROM:88E13D8C
ROM:88E13D8C loc_88E13D8C ; CODE XREF: boot_linux_from_mmc+514j
ROM:88E13D8C BL sub_88E08150
ROM:88E13D90 LDR R1, =aCordonS ; " cordon=%s"
ROM:88E13D92 MOV R2, R0
ROM:88E13D94 MOV R0, R4
ROM:88E13D96 BL sub_88E1C164
ROM:88E13D9A MOV R1, R4
ROM:88E13D9C MOV R0, R5
ROM:88E13D9E BL sub_88E1C3E8
ROM:88E13DA2 MOVS R3, #1
ROM:88E13DA4 LDR R1, =aVzw ; "VZW"
ROM:88E13DA6 MOV.W LR, #0x13
ROM:88E13DAA LDR R2, =aUsa ; "USA"
ROM:88E13DAC LDR R0, =aSchI545 ; "SCH-I545"
ROM:88E13DAE STR.W LR, [SP,#0x1B8+var_1B8]
ROM:88E13DB2 BL sub_88E07E58
ROM:88E13DB6 BL sub_88E07EDC
ROM:88E13DBA LDR R1, =aConnieS ; " connie=%s"
ROM:88E13DBC MOV R2, R0
ROM:88E13DBE MOV R0, R4
ROM:88E13DC0 BL sub_88E1C164
ROM:88E13DC4 MOV R0, R5
ROM:88E13DC6 MOV R1, R4
ROM:88E13DC8 BL sub_88E1C3E8
ROM:88E13DCC LDR.W R3, [R8]
ROM:88E13DD0 CMP R3, #0
ROM:88E13DD2 BNE.W loc_88E13FCE
ROM:88E13DD6
ROM:88E13DD6 loc_88E13DD6 ; CODE XREF: boot_linux_from_mmc+4BCj
ROM:88E13DD6 LDR R1, =aLpj67678 ; " lpj=67678"
ROM:88E13DD8 MOV R0, R5
ROM:88E13DDA BL sub_88E1C3E8
ROM:88E13DDE LDR R1, =aLoglevel4 ; " loglevel=4"
ROM:88E13DE0 MOV R0, R5
ROM:88E13DE2 BL sub_88E1C3E8
ROM:88E13DE6 LDR R2, =aSchI545 ; "SCH-I545"
ROM:88E13DE8 LDR R1, =aSamsung_hardwa ; " samsung.hardware=%s"
ROM:88E13DEA MOV R0, R4
ROM:88E13DEC BL sub_88E1C164
ROM:88E13DF0 MOV R1, R4
ROM:88E13DF2 MOV R0, R5
ROM:88E13DF4 BL sub_88E1C3E8
ROM:88E13DF8 B loc_88E13E7C
ROM:88E13DF8 ; ---------------------------------------------------------------------------
ROM:88E13DFA DCB 0
ROM:88E13DFB DCB 0xBF ; +
ROM:88E13DFC off_88E13DFC DCD aAndroid ; DATA XREF: boot_linux_from_mmc+4r
ROM:88E13DFC ; boot_linux_from_mmc+60r
ROM:88E13DFC ; "ANDROID!"
ROM:88E13E00 off_88E13E00 DCD aRecoveryBootin ; DATA XREF: boot_linux_from_mmc+2Ar
ROM:88E13E00 ; "RECOVERY BOOTING....."
ROM:88E13E04 off_88E13E04 DCD aRecovery ; DATA XREF: boot_linux_from_mmc+32r
ROM:88E13E04 ; "recovery"
ROM:88E13E08 off_88E13E08 DCD dword_88F38300 ; DATA XREF: boot_linux_from_mmc:loc_88E13B70r
ROM:88E13E0C off_88E13E0C DCD hdr ; DATA XREF: boot_linux_from_mmc+4Ar
ROM:88E13E0C ; boot_linux_from_mmc+9Ar ...
ROM:88E13E10 off_88E13E10 DCD dword_88F372F0 ; DATA XREF: boot_linux_from_mmc+70r
ROM:88E13E10 ; boot_linux_from_mmc+76r ...
ROM:88E13E14 off_88E13E14 DCD unk_88F284B8 ; DATA XREF: boot_linux_from_mmc+88r
ROM:88E13E18 off_88E13E18 DCD dword_88F38304 ; DATA XREF: boot_linux_from_mmc+13Er
ROM:88E13E1C off_88E13E1C DCD aKernelXDBytes ; DATA XREF: boot_linux_from_mmc+14Cr
ROM:88E13E1C ; "\nkernel @ %x (%d bytes)\n"
ROM:88E13E20 off_88E13E20 DCD aRamdiskXDBytes ; DATA XREF: boot_linux_from_mmc+156r
ROM:88E13E20 ; "ramdisk @ %x (%d bytes)\n"
ROM:88E13E24 off_88E13E24 DCD dword_88F372F8 ; DATA XREF: boot_linux_from_mmc:loc_88E13C8Er
ROM:88E13E28 off_88E13E28 DCD aSec_log0xX0xX ; DATA XREF: boot_linux_from_mmc+17Cr
ROM:88E13E28 ; " sec_log=0x%x@0x%x"
ROM:88E13E2C off_88E13E2C DCD aSec_dbg0xX0xX ; DATA XREF: boot_linux_from_mmc+19Ar
ROM:88E13E2C ; " sec_dbg=0x%x@0x%x"
ROM:88E13E30 off_88E13E30 DCD dword_88F382FC ; DATA XREF: boot_linux_from_mmc+1B0r
ROM:88E13E34 off_88E13E34 DCD aSec_debug_rese ; DATA XREF: boot_linux_from_mmc+1B2r
ROM:88E13E34 ; " sec_debug.reset_reason=0x%x"
ROM:88E13E38 off_88E13E38 DCD aLcd_attached_0 ; DATA XREF: boot_linux_from_mmc+1D0r
ROM:88E13E38 ; " lcd_attached=%d"
ROM:88E13E3C off_88E13E3C DCD aLcd_id0xX ; DATA XREF: boot_linux_from_mmc+1E6r
ROM:88E13E3C ; " lcd_id=0x%x"
ROM:88E13E40 off_88E13E40 DCD dword_88F3BFF8 ; DATA XREF: boot_linux_from_mmc+234r
ROM:88E13E44 off_88E13E44 DCD aSec_debug_enab ; DATA XREF: boot_linux_from_mmc:loc_88E13D62r
ROM:88E13E44 ; " sec_debug.enable=1"
ROM:88E13E48 off_88E13E48 DCD aSec_debug_en_0 ; DATA XREF: boot_linux_from_mmc+244r
ROM:88E13E48 ; " sec_debug.enable_user=0"
ROM:88E13E4C off_88E13E4C DCD aAndroidboot_cp ; DATA XREF: boot_linux_from_mmc+256r
ROM:88E13E4C ; " androidboot.cp_debug_level=0x55FF"
ROM:88E13E50 off_88E13E50 DCD aSec_debug_en_1 ; DATA XREF: boot_linux_from_mmc+25Er
ROM:88E13E50 ; " sec_debug.enable_cp_debug=0"
ROM:88E13E54 off_88E13E54 DCD aCordonS ; DATA XREF: boot_linux_from_mmc+268r
ROM:88E13E54 ; " cordon=%s"
ROM:88E13E58 off_88E13E58 DCD aVzw ; DATA XREF: boot_linux_from_mmc+27Cr
ROM:88E13E58 ; "VZW"
ROM:88E13E5C off_88E13E5C DCD aUsa ; DATA XREF: boot_linux_from_mmc+282r
ROM:88E13E5C ; "USA"
ROM:88E13E60 off_88E13E60 DCD aSchI545 ; DATA XREF: boot_linux_from_mmc+284r
ROM:88E13E60 ; boot_linux_from_mmc+2BEr
ROM:88E13E60 ; "SCH-I545"
ROM:88E13E64 off_88E13E64 DCD aConnieS ; DATA XREF: boot_linux_from_mmc+292r
ROM:88E13E64 ; " connie=%s"
ROM:88E13E68 off_88E13E68 DCD aLpj67678 ; DATA XREF: boot_linux_from_mmc:loc_88E13DD6r
ROM:88E13E68 ; " lpj=67678"
ROM:88E13E6C off_88E13E6C DCD aLoglevel4 ; DATA XREF: boot_linux_from_mmc+2B6r
ROM:88E13E6C ; " loglevel=4"
ROM:88E13E70 off_88E13E70 DCD aSamsung_hardwa ; DATA XREF: boot_linux_from_mmc+2C0r
ROM:88E13E70 ; " samsung.hardware=%s"
ROM:88E13E74 off_88E13E74 DCD dword_88F39310 ; DATA XREF: boot_linux_from_mmc+1Cr
ROM:88E13E78 off_88E13E78 DCD dword_88E544F4 ; DATA XREF: boot_linux_from_mmc:loc_88E13C9Cr
ROM:88E13E7C ; ---------------------------------------------------------------------------
ROM:88E13E7C
ROM:88E13E7C loc_88E13E7C ; CODE XREF: boot_linux_from_mmc+2D0j
ROM:88E13E7C ADD R0, SP, #0x1B8+var_184
ROM:88E13E7E BL sub_88E158C8
ROM:88E13E82 LDR R2, [SP,#0x1B8+var_174]
ROM:88E13E84 LDR R3, [SP,#0x1B8+var_170]
ROM:88E13E86 MOV R0, R4
ROM:88E13E88 LDR R1, =aAndroidboot__5 ; " androidboot.emmc_checksum=%d"
ROM:88E13E8A ORR.W R2, R3, R2,LSL#1
ROM:88E13E8E BL sub_88E1C164
ROM:88E13E92 MOV R1, R4
ROM:88E13E94 MOV R0, R5
ROM:88E13E96 BL sub_88E1C3E8
ROM:88E13E9A LDR R2, =aI545vruamdk ; "I545VRUAMDK"
ROM:88E13E9C LDR R1, =aAndroidboot__6 ; " androidboot.bootloader=%s"
ROM:88E13E9E MOV R0, R4
ROM:88E13EA0 BL sub_88E1C164
ROM:88E13EA4 MOV R1, R4
ROM:88E13EA6 MOV R0, R5
ROM:88E13EA8 BL sub_88E1C3E8
ROM:88E13EAC LDR R2, [SP,#0x1B8+var_16C]
ROM:88E13EAE LDR R1, =aAndroidboot_nv ; " androidboot.nvdata_backup=%d"
ROM:88E13EB0 MOV R0, R4
ROM:88E13EB2 BL sub_88E1C164
ROM:88E13EB6 MOV R1, R4
ROM:88E13EB8 MOV R0, R5
ROM:88E13EBA BL sub_88E1C3E8
ROM:88E13EBE LDR.W R2, [R8]
ROM:88E13EC2 LDR R1, =aAndroidboot__7 ; " androidboot.boot_recovery=%d"
ROM:88E13EC4 MOV R0, R4
ROM:88E13EC6 BL sub_88E1C164
ROM:88E13ECA MOV R1, R4
ROM:88E13ECC MOV R0, R5
ROM:88E13ECE BL sub_88E1C3E8
ROM:88E13ED2 LDR.W R2, [R8]
ROM:88E13ED6 LDR R1, =aAndroidboot_ch ; " androidboot.check_recovery_condition=0"...
ROM:88E13ED8 MOV R0, R4
ROM:88E13EDA BL sub_88E1C164
ROM:88E13EDE MOV R1, R4
ROM:88E13EE0 MOV R0, R5
ROM:88E13EE2 BL sub_88E1C3E8
ROM:88E13EE6 LDR R2, [R7]
ROM:88E13EE8 LDR R1, =aLevel0xX ; " level=0x%x"
ROM:88E13EEA MOV R0, R4
ROM:88E13EEC BL sub_88E1C164
ROM:88E13EF0 MOV R1, R4
ROM:88E13EF2 MOV R0, R5
ROM:88E13EF4 BL sub_88E1C3E8
ROM:88E13EF8 LDR R1, =aVmalloc450m ; " vmalloc=450m"
ROM:88E13EFA MOV R0, R4
ROM:88E13EFC BL sub_88E1C164
ROM:88E13F00 MOV R0, R5
ROM:88E13F02 MOV R1, R4
ROM:88E13F04 BL sub_88E1C3E8
ROM:88E13F08 LDR R2, [SP,#0x1B8+var_17C]
ROM:88E13F0A MOV R0, R4
ROM:88E13F0C CMP R2, #0
ROM:88E13F0E BEQ loc_88E13FBA
ROM:88E13F10 LDR R1, =aSec_pvs0xX ; " sec_pvs=0x%x"
ROM:88E13F12 BL sub_88E1C164
ROM:88E13F16
ROM:88E13F16 loc_88E13F16 ; CODE XREF: boot_linux_from_mmc+498j
ROM:88E13F16 MOV R1, R4
ROM:88E13F18 MOV R0, R5
ROM:88E13F1A BL sub_88E1C3E8
ROM:88E13F1E LDR R3, =dword_88F39518
ROM:88E13F20 MOV R0, R4
ROM:88E13F22 LDR R1, =aBatt_id_valueD ; " batt_id_value=%d"
ROM:88E13F24 LDR R2, [R3]
ROM:88E13F26 BL sub_88E1C164
ROM:88E13F2A MOV R1, R4
ROM:88E13F2C MOV R0, R5
ROM:88E13F2E BL sub_88E1C3E8
ROM:88E13F32 LDR.W R8, [R6,#0xC]
ROM:88E13F36 LDR R7, [R6,#0x20]
ROM:88E13F38 BL sub_88E002EC
ROM:88E13F3C LDR R4, [R6,#0x14]
ROM:88E13F3E MOV R2, R5
ROM:88E13F40 MOV R1, R7
ROM:88E13F42 STR R4, [SP,#0x1B8+var_1B8]
ROM:88E13F44 LDR R4, [R6,#0x10]
ROM:88E13F46 STR R4, [SP,#0x1B8+var_1B4]
ROM:88E13F48 MOV R3, R0
ROM:88E13F4A MOV R0, R8
ROM:88E13F4C BL sub_88E13668
ROM:88E13F50 MOVS R0, #0
ROM:88E13F52
ROM:88E13F52 loc_88E13F52 ; CODE XREF: boot_linux_from_mmc+450j
ROM:88E13F52 ; boot_linux_from_mmc+578j ...
ROM:88E13F52 ADD SP, SP, #0x194
ROM:88E13F54 POP.W {R4-R11,PC}
ROM:88E13F58 ; ---------------------------------------------------------------------------
ROM:88E13F58
ROM:88E13F58 loc_88E13F58 ; CODE XREF: boot_linux_from_mmc+26j
ROM:88E13F58 LDR R0, =aBoot ; "boot"
ROM:88E13F5A BL sub_88E0711C
ROM:88E13F5E BL sub_88E071A0
ROM:88E13F62 ORRS.W R2, R0, R1
ROM:88E13F66 STRD.W R0, R1, [SP,#8]
ROM:88E13F6A BNE.W loc_88E13B70
ROM:88E13F6E LDR R0, =aErrorNoBootPar ; "ERROR: No boot partition found\n"
ROM:88E13F70 BL dprintf
ROM:88E13F74 MOV.W R0, #0xFFFFFFFF
ROM:88E13F78 B loc_88E13F52
ROM:88E13F7A ; ---------------------------------------------------------------------------
ROM:88E13F7A
ROM:88E13F7A loc_88E13F7A ; CODE XREF: boot_linux_from_mmc+16Ej
ROM:88E13F7A MOV R0, R5
ROM:88E13F7C LDR R1, =aConsole ; "console="
ROM:88E13F7E BL sub_88E1C564
ROM:88E13F82 CMP R0, #0
ROM:88E13F84 BEQ.W loc_88E13C9A
ROM:88E13F88 MOVS R1, #0x20
ROM:88E13F8A ADD R4, SP, #0x1B8+var_128
ROM:88E13F8C BL sub_88E1C410
ROM:88E13F90 LDR R1, =aConsoleTtyhsl0 ; "console=ttyHSL0,115200,n8%s"
ROM:88E13F92 MOV R2, R0
ROM:88E13F94 MOV R0, R4
ROM:88E13F96 BL sub_88E1C164
ROM:88E13F9A MOV R0, R5
ROM:88E13F9C MOV R1, R4
ROM:88E13F9E BL sub_88E1C450
ROM:88E13FA2 B loc_88E13C9C
ROM:88E13FA4 ; ---------------------------------------------------------------------------
ROM:88E13FA4
ROM:88E13FA4 loc_88E13FA4 ; CODE XREF: boot_linux_from_mmc+18j
ROM:88E13FA4 LDR R0, =aUnifiedBootMet ; "Unified boot method!\n"
ROM:88E13FA6 MOV.W R6, #0xF000
ROM:88E13FAA BL dprintf
ROM:88E13FAE MOVT.W R6, #0x88EF
ROM:88E13FB2 LDR.W R8, =dword_88F39310
ROM:88E13FB6 ADD R7, SP, #0x1B8+var_19C
ROM:88E13FB8 B loc_88E13C6C
ROM:88E13FBA ; ---------------------------------------------------------------------------
ROM:88E13FBA
ROM:88E13FBA loc_88E13FBA ; CODE XREF: boot_linux_from_mmc+3E6j
ROM:88E13FBA LDR R1, =aSec_pvs0 ; " sec_pvs=0"
ROM:88E13FBC BL sub_88E1C164
ROM:88E13FC0 B loc_88E13F16
ROM:88E13FC2 ; ---------------------------------------------------------------------------
ROM:88E13FC2
ROM:88E13FC2 loc_88E13FC2 ; CODE XREF: boot_linux_from_mmc+162j
ROM:88E13FC2 MOV R0, R5
ROM:88E13FC4 LDR R1, =aMem100mConsole ; "mem=100M console=null"
ROM:88E13FC6 MOVS R2, #0x16
ROM:88E13FC8 BLX memcpy
ROM:88E13FCC B loc_88E13C8E
ROM:88E13FCE ; ---------------------------------------------------------------------------
ROM:88E13FCE
ROM:88E13FCE loc_88E13FCE ; CODE XREF: boot_linux_from_mmc+2AAj
ROM:88E13FCE BL sub_88E08094
ROM:88E13FD2 LDR R1, =aSysscope0xX ; " sysscope=0x%x"
ROM:88E13FD4 MOV R2, R0
ROM:88E13FD6 MOV R0, R4
ROM:88E13FD8 BL sub_88E1C164
ROM:88E13FDC MOV R0, R5
ROM:88E13FDE MOV R1, R4
ROM:88E13FE0 BL sub_88E1C3E8
ROM:88E13FE4 B loc_88E13DD6
ROM:88E13FE6 ; ---------------------------------------------------------------------------
ROM:88E13FE6
ROM:88E13FE6 loc_88E13FE6 ; CODE XREF: boot_linux_from_mmc+13Aj
ROM:88E13FE6 LDR R3, =dword_88F38304
ROM:88E13FE8 STR R0, [R3]
ROM:88E13FEA B loc_88E13C6C
ROM:88E13FEC ; ---------------------------------------------------------------------------
ROM:88E13FEC
ROM:88E13FEC loc_88E13FEC ; CODE XREF: boot_linux_from_mmc+126j
ROM:88E13FEC LDR R0, =aKernelSecureCh ; "kernel secure check fail.\n"
ROM:88E13FEE BL dprintf
ROM:88E13FF2 BL sub_88E0C50C
ROM:88E13FF6 MOVW R3, #0x4C44
ROM:88E13FFA LDR R2, [R7]
ROM:88E13FFC MOVT.W R3, #0x574F
ROM:88E14000 CMP R2, R3
ROM:88E14002 BEQ loc_88E1400E
ROM:88E14004 MOV.W R0, #0xFF0000
ROM:88E14008 LDR R1, =aSecureFailKern ; "SECURE FAIL: KERNEL"
ROM:88E1400A BL print_console
ROM:88E1400E
ROM:88E1400E loc_88E1400E ; CODE XREF: boot_linux_from_mmc+4DAj
ROM:88E1400E ADD.W R4, SP, #0x1B8+var_19D
ROM:88E14012 B loc_88E1401A
ROM:88E14014 ; ---------------------------------------------------------------------------
ROM:88E14014
ROM:88E14014 loc_88E14014 ; CODE XREF: boot_linux_from_mmc+4FEj
ROM:88E14014 ; boot_linux_from_mmc+504j
ROM:88E14014 MOVS R0, #0x32
ROM:88E14016 BL sub_88E0D7D0
ROM:88E1401A
ROM:88E1401A loc_88E1401A ; CODE XREF: boot_linux_from_mmc+4EAj
ROM:88E1401A MOVS R0, #6
ROM:88E1401C MOV R1, R4
ROM:88E1401E BL sub_88E1B000
ROM:88E14022 LDRB R3, [R4]
ROM:88E14024 LSLS R3, R3, #0x1D
ROM:88E14026 BMI loc_88E14014
ROM:88E14028 BL sub_88E0025C
ROM:88E1402C B loc_88E14014
ROM:88E1402E ; ---------------------------------------------------------------------------
ROM:88E1402E
ROM:88E1402E loc_88E1402E ; CODE XREF: boot_linux_from_mmc+252j
ROM:88E1402E LDR R1, =aAndroidboot__8 ; " androidboot.cp_debug_level=0x5500"
ROM:88E14030 BL sub_88E1C3E8
ROM:88E14034 MOV R0, R5
ROM:88E14036 LDR R1, =aSec_debug_en_2 ; " sec_debug.enable_cp_debug=1"
ROM:88E14038 BL sub_88E1C3E8
ROM:88E1403C B loc_88E13D8C
ROM:88E1403E ; ---------------------------------------------------------------------------
ROM:88E1403E
ROM:88E1403E loc_88E1403E ; CODE XREF: boot_linux_from_mmc+230j
ROM:88E1403E LDR R3, =dword_88F3BFF8
ROM:88E14040 MOVS R2, #0
ROM:88E14042 MOV R0, R5
ROM:88E14044 LDR R1, =aAndroidboot_de ; " androidboot.debug_level=0x4f4c"
ROM:88E14046 STR R2, [R3]
ROM:88E14048 BL sub_88E1C3E8
ROM:88E1404C MOV R0, R5
ROM:88E1404E LDR R1, =aSec_debug_en_3 ; " sec_debug.enable=0"
ROM:88E14050 BL sub_88E1C3E8
ROM:88E14054 MOV R0, R5
ROM:88E14056 LDR R1, =aSec_debug_en_0 ; " sec_debug.enable_user=0"
ROM:88E14058 BL sub_88E1C3E8
ROM:88E1405C B loc_88E13D72
ROM:88E1405E ; ---------------------------------------------------------------------------
ROM:88E1405E
ROM:88E1405E loc_88E1405E ; CODE XREF: boot_linux_from_mmc+222j
ROM:88E1405E LDR R3, =dword_88F3BFF8
ROM:88E14060 MOVS R2, #1
ROM:88E14062 MOV R0, R5
ROM:88E14064 LDR R1, =aAndroidboot__9 ; " androidboot.debug_level=0x494d"
ROM:88E14066 STR R2, [R3]
ROM:88E14068 BL sub_88E1C3E8
ROM:88E1406C B loc_88E13D62
ROM:88E1406E ; ---------------------------------------------------------------------------
ROM:88E1406E
ROM:88E1406E loc_88E1406E ; CODE XREF: boot_linux_from_mmc+214j
ROM:88E1406E LDR R3, =dword_88F3BFF8
ROM:88E14070 MOVS R2, #1
ROM:88E14072 MOV R0, R5
ROM:88E14074 LDR R1, =aAndroidboot_10 ; " androidboot.debug_level=0x4948"
ROM:88E14076 STR R2, [R3]
ROM:88E14078 BL sub_88E1C3E8
ROM:88E1407C MOV R0, R5
ROM:88E1407E LDR R1, =aSec_debug_enab ; " sec_debug.enable=1"
ROM:88E14080 BL sub_88E1C3E8
ROM:88E14084 MOV R0, R5
ROM:88E14086 LDR R1, =aSec_debug_en_4 ; " sec_debug.enable_user=1"
ROM:88E14088 BL sub_88E1C3E8
ROM:88E1408C MOV R0, R5
ROM:88E1408E LDR R1, =aSlub_debugFpuz ; " slub_debug=FPUZ"
ROM:88E14090 BL sub_88E1C3E8
ROM:88E14094 B loc_88E13D72
ROM:88E14096 ; ---------------------------------------------------------------------------
ROM:88E14096
ROM:88E14096 loc_88E14096 ; CODE XREF: boot_linux_from_mmc+44j
ROM:88E14096 LDR R0, =aErrorNoRecover ; "ERROR: No recovery partition found\n"
ROM:88E14098 BL dprintf
ROM:88E1409C MOV.W R0, #0xFFFFFFFF
ROM:88E140A0 B loc_88E13F52
ROM:88E140A2 ; ---------------------------------------------------------------------------
ROM:88E140A2
ROM:88E140A2 loc_88E140A2 ; CODE XREF: boot_linux_from_mmc+FEj
ROM:88E140A2 LDR R0, =aErrorCannotRea ; "ERROR: Cannot read ramdisk image\n"
ROM:88E140A4 BL dprintf
ROM:88E140A8 MOV.W R0, #0xFFFFFFFF
ROM:88E140AC B loc_88E13F52
ROM:88E140AE ; ---------------------------------------------------------------------------
ROM:88E140AE
ROM:88E140AE loc_88E140AE ; CODE XREF: boot_linux_from_mmc+C6j
ROM:88E140AE LDR R0, =aErrorCannotR_0 ; "ERROR: Cannot read kernel image\n"
ROM:88E140B0 BL dprintf
ROM:88E140B4 MOV.W R0, #0xFFFFFFFF
ROM:88E140B8 B loc_88E13F52
ROM:88E140B8 ; ---------------------------------------------------------------------------
ROM:88E140BA DCB 0
ROM:88E140BB DCB 0xBF ; +
ROM:88E140BC off_88E140BC DCD aAndroidboot__5 ; DATA XREF: boot_linux_from_mmc+360r
ROM:88E140BC ; " androidboot.emmc_checksum=%d"
ROM:88E140C0 off_88E140C0 DCD aI545vruamdk ; DATA XREF: boot_linux_from_mmc+372r
ROM:88E140C0 ; "I545VRUAMDK"
ROM:88E140C4 off_88E140C4 DCD aAndroidboot__6 ; DATA XREF: boot_linux_from_mmc+374r
ROM:88E140C4 ; " androidboot.bootloader=%s"
ROM:88E140C8 off_88E140C8 DCD aAndroidboot_nv ; DATA XREF: boot_linux_from_mmc+386r
ROM:88E140C8 ; " androidboot.nvdata_backup=%d"
ROM:88E140CC off_88E140CC DCD aAndroidboot__7 ; DATA XREF: boot_linux_from_mmc+39Ar
ROM:88E140CC ; " androidboot.boot_recovery=%d"
ROM:88E140D0 off_88E140D0 DCD aAndroidboot_ch ; DATA XREF: boot_linux_from_mmc+3AEr
ROM:88E140D0 ; " androidboot.check_recovery_condition=0"...
ROM:88E140D4 off_88E140D4 DCD aLevel0xX ; DATA XREF: boot_linux_from_mmc+3C0r
ROM:88E140D4 ; " level=0x%x"
ROM:88E140D8 off_88E140D8 DCD aVmalloc450m ; DATA XREF: boot_linux_from_mmc+3D0r
ROM:88E140D8 ; " vmalloc=450m"
ROM:88E140DC off_88E140DC DCD aSec_pvs0xX ; DATA XREF: boot_linux_from_mmc+3E8r
ROM:88E140DC ; " sec_pvs=0x%x"
ROM:88E140E0 off_88E140E0 DCD dword_88F39518 ; DATA XREF: boot_linux_from_mmc+3F6r
ROM:88E140E4 off_88E140E4 DCD aBatt_id_valueD ; DATA XREF: boot_linux_from_mmc+3FAr
ROM:88E140E4 ; " batt_id_value=%d"
ROM:88E140E8 off_88E140E8 DCD aBoot ; DATA XREF: boot_linux_from_mmc:loc_88E13F58r
ROM:88E140E8 ; "boot"
ROM:88E140EC off_88E140EC DCD aErrorNoBootPar ; DATA XREF: boot_linux_from_mmc+446r
ROM:88E140EC ; "ERROR: No boot partition found\n"
ROM:88E140F0 off_88E140F0 DCD aConsole ; DATA XREF: boot_linux_from_mmc+454r
ROM:88E140F0 ; "console="
ROM:88E140F4 off_88E140F4 DCD aConsoleTtyhsl0 ; DATA XREF: boot_linux_from_mmc+468r
ROM:88E140F4 ; "console=ttyHSL0,115200,n8%s"
ROM:88E140F8 off_88E140F8 DCD aUnifiedBootMet ; DATA XREF: boot_linux_from_mmc:loc_88E13FA4r
ROM:88E140F8 ; "Unified boot method!\n"
ROM:88E140FC off_88E140FC DCD aSec_pvs0 ; DATA XREF: boot_linux_from_mmc:loc_88E13FBAr
ROM:88E140FC ; " sec_pvs=0"
ROM:88E14100 off_88E14100 DCD aMem100mConsole ; DATA XREF: boot_linux_from_mmc+49Cr
ROM:88E14100 ; "mem=100M console=null"
ROM:88E14104 off_88E14104 DCD aSysscope0xX ; DATA XREF: boot_linux_from_mmc+4AAr
ROM:88E14104 ; " sysscope=0x%x"
ROM:88E14108 off_88E14108 DCD dword_88F38304 ; DATA XREF: boot_linux_from_mmc:loc_88E13FE6r
ROM:88E1410C off_88E1410C DCD aKernelSecureCh ; DATA XREF: boot_linux_from_mmc:loc_88E13FECr
ROM:88E1410C ; "kernel secure check fail.\n"
ROM:88E14110 off_88E14110 DCD aSecureFailKern ; DATA XREF: boot_linux_from_mmc+4E0r
ROM:88E14110 ; "SECURE FAIL: KERNEL"
ROM:88E14114 off_88E14114 DCD aAndroidboot__8 ; DATA XREF: boot_linux_from_mmc:loc_88E1402Er
ROM:88E14114 ; " androidboot.cp_debug_level=0x5500"
ROM:88E14118 off_88E14118 DCD aSec_debug_en_2 ; DATA XREF: boot_linux_from_mmc+50Er
ROM:88E14118 ; " sec_debug.enable_cp_debug=1"
ROM:88E1411C off_88E1411C DCD dword_88F3BFF8 ; DATA XREF: boot_linux_from_mmc:loc_88E1403Er
ROM:88E1411C ; boot_linux_from_mmc:loc_88E1405Er ...
ROM:88E14120 off_88E14120 DCD aAndroidboot_de ; DATA XREF: boot_linux_from_mmc+51Cr
ROM:88E14120 ; " androidboot.debug_level=0x4f4c"
ROM:88E14124 off_88E14124 DCD aSec_debug_en_3 ; DATA XREF: boot_linux_from_mmc+526r
ROM:88E14124 ; " sec_debug.enable=0"
ROM:88E14128 off_88E14128 DCD aSec_debug_en_0 ; DATA XREF: boot_linux_from_mmc+52Er
ROM:88E14128 ; " sec_debug.enable_user=0"
ROM:88E1412C off_88E1412C DCD aAndroidboot__9 ; DATA XREF: boot_linux_from_mmc+53Cr
ROM:88E1412C ; " androidboot.debug_level=0x494d"
ROM:88E14130 off_88E14130 DCD aAndroidboot_10 ; DATA XREF: boot_linux_from_mmc+54Cr
ROM:88E14130 ; " androidboot.debug_level=0x4948"
ROM:88E14134 off_88E14134 DCD aSec_debug_enab ; DATA XREF: boot_linux_from_mmc+556r
ROM:88E14134 ; " sec_debug.enable=1"
ROM:88E14138 off_88E14138 DCD aSec_debug_en_4 ; DATA XREF: boot_linux_from_mmc+55Er
ROM:88E14138 ; " sec_debug.enable_user=1"
ROM:88E1413C off_88E1413C DCD aSlub_debugFpuz ; DATA XREF: boot_linux_from_mmc+566r
ROM:88E1413C ; " slub_debug=FPUZ"
ROM:88E14140 off_88E14140 DCD aErrorNoRecover ; DATA XREF: boot_linux_from_mmc:loc_88E14096r
ROM:88E14140 ; "ERROR: No recovery partition found\n"
ROM:88E14144 off_88E14144 DCD aErrorCannotRea ; DATA XREF: boot_linux_from_mmc:loc_88E140A2r
ROM:88E14144 ; "ERROR: Cannot read ramdisk image\n"
ROM:88E14148 off_88E14148 DCD aErrorCannotR_0 ; DATA XREF: boot_linux_from_mmc:loc_88E140AEr
ROM:88E14148 ; "ERROR: Cannot read kernel image\n"
ROM:88E1414C off_88E1414C DCD dword_88F39310 ; DATA XREF: boot_linux_from_mmc+48Ar
ROM:88E14150 ; ---------------------------------------------------------------------------
ROM:88E14150
ROM:88E14150 loc_88E14150 ; CODE XREF: boot_linux_from_mmc+92j
ROM:88E14150 BL sub_88E00AE0
ROM:88E14154 LDR R3, [R7]
ROM:88E14156 LDR R7, [R4,#0x10]
ROM:88E14158 LDR.W R12, [R4,#8]
ROM:88E1415C ADD.W LR, R3, R7
ROM:88E14160 MVNS R7, R3
ROM:88E14162 LDR.W R10, [R4,#0x18]
ROM:88E14166 ADD R12, R3
ROM:88E14168 AND.W LR, LR, R7
ROM:88E1416C AND.W R12, R7, R12
ROM:88E14170 LDR.W R11, [R5]
ROM:88E14174 ADD.W LR, R12, LR,LSL#1
ROM:88E14178 STR.W R12, [SP,#0x1B8+var_1A4]
ROM:88E1417C ADD.W R12, R3, R10
ROM:88E14180 ADD LR, R11
ROM:88E14182 AND.W R7, R12, R7
ROM:88E14186 MOVS R3, #1
ROM:88E14188 ADD R7, LR
ROM:88E1418A STR R3, [R6,#(dword_88F284CC - 0x88F284B8)]
ROM:88E1418C MOV R3, R7
ROM:88E1418E MOV R9, R0
ROM:88E14190 LDRD.W R0, R1, [SP,#8]
ROM:88E14194 MOV R2, R9
ROM:88E14196 BL mmc_read
ROM:88E1419A CMP R0, #0
ROM:88E1419C BNE loc_88E14220
ROM:88E1419E LDRD.W R0, R1, [SP,#8]
ROM:88E141A2 ADD.W R11, R9, R7
ROM:88E141A6 LDR R3, =dword_88F38300
ROM:88E141A8 MOV R2, R11
ROM:88E141AA ADDS R0, R0, R7
ROM:88E141AC ADC.W R1, R1, #0
ROM:88E141B0 LDR R3, [R3]
ROM:88E141B2 BL mmc_read
ROM:88E141B6 MOV R10, R0
ROM:88E141B8 CBZ R0, loc_88E14206
ROM:88E141BA LDR R0, =aErrorCannotR_1 ; "ERROR: Cannot read boot image signature"...
ROM:88E141BC BL dprintf
ROM:88E141C0
ROM:88E141C0 loc_88E141C0 ; CODE XREF: boot_linux_from_mmc+6F0j
ROM:88E141C0 ; boot_linux_from_mmc+6F6j
ROM:88E141C0 LDR R1, [R5]
ROM:88E141C2 LDR R2, [R4,#8]
ROM:88E141C4 ADD R1, R9
ROM:88E141C6 LDR R0, [R4,#0xC]
ROM:88E141C8 BLX memcpy
ROM:88E141CC LDR R1, [R5]
ROM:88E141CE LDR.W R12, [SP,#0x1B8+var_1A4]
ROM:88E141D2 LDR R0, [R4,#0x14]
ROM:88E141D4 ADD R1, R12
ROM:88E141D6 LDR R2, [R4,#0x10]
ROM:88E141D8 ADD R1, R9
ROM:88E141DA BLX memcpy
ROM:88E141DE LDR R3, [R6,#(dword_88F284CC - 0x88F284B8)]
ROM:88E141E0 CMP R3, #0
ROM:88E141E2 BEQ.W loc_88E13C36
ROM:88E141E6 LDR R0, =unk_88F284B8
ROM:88E141E8 BL sub_88E13AB4
ROM:88E141EC B loc_88E13C36
ROM:88E141EE ; ---------------------------------------------------------------------------
ROM:88E141EE
ROM:88E141EE loc_88E141EE ; CODE XREF: boot_linux_from_mmc+6Aj
ROM:88E141EE LDR R0, =aErrorInvalidBo ; "ERROR: Invalid boot image header\n"
ROM:88E141F0 BL dprintf
ROM:88E141F4 MOV.W R0, #0xFFFFFFFF
ROM:88E141F8 B loc_88E13F52
ROM:88E141FA ; ---------------------------------------------------------------------------
ROM:88E141FA
ROM:88E141FA loc_88E141FA ; CODE XREF: boot_linux_from_mmc+5Aj
ROM:88E141FA LDR R0, =aErrorCannotR_2 ; "ERROR: Cannot read boot image header\n"
ROM:88E141FC BL dprintf
ROM:88E14200 MOV.W R0, #0xFFFFFFFF
ROM:88E14204 B loc_88E13F52
ROM:88E14206 ; ---------------------------------------------------------------------------
ROM:88E14206
ROM:88E14206 loc_88E14206 ; CODE XREF: boot_linux_from_mmc+690j
ROM:88E14206 MOVS R3, #2
ROM:88E14208 MOV R0, R9
ROM:88E1420A MOV R1, R11
ROM:88E1420C MOV R2, R7
ROM:88E1420E BL sub_88E0B5A8
ROM:88E14212 LDR R3, =dword_88F372F4
ROM:88E14214 STR R0, [R3]
ROM:88E14216 CMP R0, #0
ROM:88E14218 BEQ loc_88E141C0
ROM:88E1421A STR.W R10, [R6,#(dword_88F284CC - 0x88F284B8)]
ROM:88E1421E B loc_88E141C0
ROM:88E14220 ; ---------------------------------------------------------------------------
ROM:88E14220
ROM:88E14220 loc_88E14220 ; CODE XREF: boot_linux_from_mmc+674j
ROM:88E14220 LDR R0, =aErrorCannotR_3 ; "ERROR: Cannot read boot image\n"
ROM:88E14222 BL dprintf
ROM:88E14226 MOV.W R0, #0xFFFFFFFF
ROM:88E1422A B loc_88E13F52
ROM:88E1422A ; End of function boot_linux_from_mmc
ROM:88E1422A
ROM:88E1422A ; ---------------------------------------------------------------------------
ROM:88E1422C off_88E1422C DCD dword_88F38300 ; DATA XREF: boot_linux_from_mmc+67Er
ROM:88E14230 off_88E14230 DCD aErrorCannotR_1 ; DATA XREF: boot_linux_from_mmc+692r
ROM:88E14230 ; "ERROR: Cannot read boot image signature"...
ROM:88E14234 off_88E14234 DCD unk_88F284B8 ; DATA XREF: boot_linux_from_mmc+6BEr
ROM:88E14238 off_88E14238 DCD aErrorInvalidBo ; DATA XREF: boot_linux_from_mmc:loc_88E141EEr
ROM:88E14238 ; "ERROR: Invalid boot image header\n"
ROM:88E1423C off_88E1423C DCD aErrorCannotR_2 ; DATA XREF: boot_linux_from_mmc:loc_88E141FAr
ROM:88E1423C ; "ERROR: Cannot read boot image header\n"
ROM:88E14240 off_88E14240 DCD dword_88F372F4 ; DATA XREF: boot_linux_from_mmc+6EAr
ROM:88E14244 off_88E14244 DCD aErrorCannotR_3 ; DATA XREF: boot_linux_from_mmc:loc_88E14220r
ROM:88E14244 ; "ERROR: Cannot read boot image\n"
ROM:88E12BF8 ; =============== S U B R O U T I N E =======================================
ROM:88E12BF8
ROM:88E12BF8
ROM:88E12BF8 boot_linux_from_mmc ; CODE XREF: sub_88E144C0+DCp
ROM:88E12BF8
ROM:88E12BF8 var_1B8 = -0x1B8
ROM:88E12BF8 var_1B4 = -0x1B4
ROM:88E12BF8 var_1A4 = -0x1A4
ROM:88E12BF8 var_199 = -0x199
ROM:88E12BF8 var_198 = -0x198
ROM:88E12BF8 var_180 = -0x180
ROM:88E12BF8 var_17C = -0x17C
ROM:88E12BF8 var_174 = -0x174
ROM:88E12BF8 var_170 = -0x170
ROM:88E12BF8 var_16C = -0x16C
ROM:88E12BF8 var_128 = -0x128
ROM:88E12BF8
ROM:88E12BF8 MOV.W R0, #0xF000
ROM:88E12BFC LDR R1, =aAndroid ; "ANDROID!"
ROM:88E12BFE PUSH.W {R4-R11,LR}
ROM:88E12C02 MOVT.W R0, #0x88EF
ROM:88E12C06 SUB SP, SP, #0x194
ROM:88E12C08 MOVS R2, #8
ROM:88E12C0A BL sub_88E193BC
ROM:88E12C0E CMP R0, #0
ROM:88E12C10 BEQ.W loc_88E12E6C
ROM:88E12C14 LDR.W R8, =dword_88F31318
ROM:88E12C18 LDR.W R3, [R8]
ROM:88E12C1C CMP R3, #0
ROM:88E12C1E BEQ.W loc_88E1307C
ROM:88E12C22 LDR R1, =aRecoveryBootin ; "RECOVERY BOOTING....."
ROM:88E12C24 MOVS R0, #0xFF
ROM:88E12C26 BL print_console
ROM:88E12C2A LDR R0, =0x88E342B8
ROM:88E12C2C BL sub_88E07D14
ROM:88E12C30 BL sub_88E07D98
ROM:88E12C34 ORRS.W R3, R0, R1
ROM:88E12C38 STRD.W R0, R1, [SP,#8]
ROM:88E12C3C BEQ.W loc_88E132F4
ROM:88E12C40
ROM:88E12C40 loc_88E12C40 ; CODE XREF: boot_linux_from_mmc+496j
ROM:88E12C40 LDR R5, =dword_88F2F310
ROM:88E12C42 LDR R4, =hdr
ROM:88E12C44 LDRD.W R0, R1, [SP,#8]
ROM:88E12C48 LDR R3, [R5]
ROM:88E12C4A MOV R2, R4
ROM:88E12C4C BL mmc_read
ROM:88E12C50 CMP R0, #0
ROM:88E12C52 BNE.W loc_88E13300
ROM:88E12C56 MOV R0, R4
ROM:88E12C58 LDR R1, =aAndroid ; "ANDROID!"
ROM:88E12C5A MOVS R2, #8
ROM:88E12C5C BL sub_88E193BC
ROM:88E12C60 CMP R0, #0
ROM:88E12C62 BNE.W loc_88E1330C
ROM:88E12C66 LDR R3, [R4,#(dword_88F2F338 - 0x88F2F314)]
ROM:88E12C68 CBZ R3, loc_88E12C78
ROM:88E12C6A LDR R2, [R5]
ROM:88E12C6C CMP R3, R2
ROM:88E12C6E BEQ loc_88E12C78
ROM:88E12C70 SUBS R2, R3, #1
ROM:88E12C72 STR R3, [R5]
ROM:88E12C74 LDR R3, =dword_88F2F2FC
ROM:88E12C76 STR R2, [R3]
ROM:88E12C78
ROM:88E12C78 loc_88E12C78 ; CODE XREF: boot_linux_from_mmc+70j
ROM:88E12C78 ; boot_linux_from_mmc+76j
ROM:88E12C78 BL sub_88E007A0
ROM:88E12C7C MOVS R1, #0
ROM:88E12C7E MOV.W R2, #0x89000000
ROM:88E12C82 MOVT.W R1, #0x88E0
ROM:88E12C86 LDR R7, =hdr
ROM:88E12C88 MOV R6, R0
ROM:88E12C8A LDR R0, =aLkArea0xX0xX ; "LK Area: 0x%X - 0x%X\n"
ROM:88E12C8C BL dprintf
ROM:88E12C90 LDR R1, [R4,#0xC]
ROM:88E12C92 LDR R0, =aKernelAddr0xX ; "Kernel Addr: 0x%X\n"
ROM:88E12C94 BL dprintf
ROM:88E12C98 LDR R1, [R4,#0x14]
ROM:88E12C9A LDR R0, =aRamdiskAddr0xX ; "Ramdisk Addr: 0x%X\n"
ROM:88E12C9C BL dprintf
ROM:88E12CA0 LDR R1, [R4,#0x1C]
ROM:88E12CA2 LDR R0, =aSecondAddr0xX ; "Second Addr: 0x%X\n"
ROM:88E12CA4 BL dprintf
ROM:88E12CA8 LDR R1, [R4,#0x20]
ROM:88E12CAA LDR R0, =aTagsAdddr0xX ; "Tags Adddr: 0x%X\n"
ROM:88E12CAC BL dprintf
ROM:88E12CB0 LDR R1, [R4,#0xC]
ROM:88E12CB2 MOVW R3, #0xFFFF
ROM:88E12CB6 MOVW R0, #0xFFFE
ROM:88E12CBA MOVT.W R3, #0x771F
ROM:88E12CBE MOVT.W R0, #0x1F
ROM:88E12CC2 ADDS R3, R1, R3
ROM:88E12CC4 CMP R3, R0
ROM:88E12CC6 BLS.W loc_88E131DC
ROM:88E12CCA LDR R2, [R7,#(dword_88F2F328 - 0x88F2F314)]
ROM:88E12CCC MOV R3, 0x771FFFFF
ROM:88E12CD4 ADDS R3, R2, R3
ROM:88E12CD6 CMP R3, R0
ROM:88E12CD8 BLS.W loc_88E131DC
ROM:88E12CDC LDR R3, [R7,#(dword_88F2F330 - 0x88F2F314)]
ROM:88E12CDE MOV LR, 0x771FFFFF
ROM:88E12CE6 ADD LR, R3
ROM:88E12CE8 CMP LR, R0
ROM:88E12CEA BLS.W loc_88E131DC
ROM:88E12CEE LDR.W R12, [R7,#(dword_88F2F334 - 0x88F2F314)]
ROM:88E12CF2 MOV LR, 0x771FFFFF
ROM:88E12CFA ADD LR, R12
ROM:88E12CFC CMP LR, R0
ROM:88E12CFE BLS.W loc_88E131DC
ROM:88E12D02 LDR R0, [R7,#(dword_88F2F31C - 0x88F2F314)]
ROM:88E12D04 ADDS.W LR, R1, R0
ROM:88E12D08 BCS.W loc_88E131DC
ROM:88E12D0C LDR R0, [R7,#(dword_88F2F324 - 0x88F2F314)]
ROM:88E12D0E ADDS R0, R2, R0
ROM:88E12D10 BCS.W loc_88E131DC
ROM:88E12D14 LDR R7, [R7,#(dword_88F2F32C - 0x88F2F314)]
ROM:88E12D16 ADDS R7, R3, R7
ROM:88E12D18 BCS.W loc_88E131DC
ROM:88E12D1C CMP R6, R1
ROM:88E12D1E BLS.W loc_88E131DC
ROM:88E12D22 CMP R6, R2
ROM:88E12D24 BLS.W loc_88E131DC
ROM:88E12D28 CMP R6, R3
ROM:88E12D2A BLS.W loc_88E131DC
ROM:88E12D2E CMP R6, LR
ROM:88E12D30 BLS.W loc_88E131DC
ROM:88E12D34 CMP R6, R0
ROM:88E12D36 BLS.W loc_88E131DC
ROM:88E12D3A CMP R6, R7
ROM:88E12D3C BLS.W loc_88E131DC
ROM:88E12D40 MOVW R2, #0xFFFF
ROM:88E12D44 MOVW R3, #0xFFFE
ROM:88E12D48 MOVT.W R2, #0x771F
ROM:88E12D4C MOVT.W R3, #0x1F
ROM:88E12D50 ADD R2, LR
ROM:88E12D52 CMP R2, R3
ROM:88E12D54 BLS.W loc_88E131DC
ROM:88E12D58 MOV R2, 0x771FFFFF
ROM:88E12D60 ADDS R2, R0, R2
ROM:88E12D62 CMP R2, R3
ROM:88E12D64 BLS.W loc_88E131DC
ROM:88E12D68 MOV R2, 0x771FFFFF
ROM:88E12D70 ADDS R2, R7, R2
ROM:88E12D72 CMP R2, R3
ROM:88E12D74 BLS.W loc_88E131DC
ROM:88E12D78 BL sub_88E0D2C8
ROM:88E12D7C CMP R0, #0
ROM:88E12D7E BEQ.W loc_88E13148
ROM:88E12D82 LDR R6, =unk_88F221A4
ROM:88E12D84 LDR R3, [R6,#(dword_88F221B4 - 0x88F221A4)]
ROM:88E12D86 CMP R3, #0
ROM:88E12D88 BNE.W loc_88E13148
ROM:88E12D8C LDR R3, [R6,#(dword_88F221B8 - 0x88F221A4)]
ROM:88E12D8E CMP R3, #0
ROM:88E12D90 BNE.W loc_88E13148
ROM:88E12D94 BL sub_88E007A0
ROM:88E12D98 LDR R3, =dword_88F2F2FC
ROM:88E12D9A LDR.W LR, [R4,#8]
ROM:88E12D9E LDR.W R12, [R4,#0x10]
ROM:88E12DA2 LDR R3, [R3]
ROM:88E12DA4 LDR.W R10, [R5]
ROM:88E12DA8 ADD LR, R3
ROM:88E12DAA ADD R12, R3
ROM:88E12DAC MVNS R3, R3
ROM:88E12DAE AND.W LR, R3, LR
ROM:88E12DB2 STR.W LR, [SP,#0x1B8+var_1A4]
ROM:88E12DB6 MOV.W LR, #1
ROM:88E12DBA STR.W LR, [R6,#(dword_88F221B8 - 0x88F221A4)]
ROM:88E12DBE LDR.W LR, [SP,#0x1B8+var_1A4]
ROM:88E12DC2 AND.W R3, R12, R3
ROM:88E12DC6 ADD.W R9, LR, R3
ROM:88E12DCA ADD R9, R10
ROM:88E12DCC MOV R3, R9
ROM:88E12DCE MOV R7, R0
ROM:88E12DD0 LDRD.W R0, R1, [SP,#8]
ROM:88E12DD4 MOV R2, R7
ROM:88E12DD6 BL mmc_read
ROM:88E12DDA CMP R0, #0
ROM:88E12DDC BNE.W loc_88E132C0
ROM:88E12DE0 LDRD.W R0, R1, [SP,#8]
ROM:88E12DE4 ADD.W R11, R7, R9
ROM:88E12DE8 LDR R3, [R5]
ROM:88E12DEA MOV R2, R11
ROM:88E12DEC ADDS.W R0, R0, R9
ROM:88E12DF0 ADC.W R1, R1, #0
ROM:88E12DF4 BL mmc_read
ROM:88E12DF8 MOV R10, R0
ROM:88E12DFA CMP R0, #0
ROM:88E12DFC BEQ.W loc_88E132CC
ROM:88E12E00 LDR R0, =aErrorCannotRea ; "ERROR: Cannot read boot image signature"...
ROM:88E12E02 BL dprintf
ROM:88E12E06
ROM:88E12E06 loc_88E12E06 ; CODE XREF: boot_linux_from_mmc+6E6j
ROM:88E12E06 ; boot_linux_from_mmc+6EEj
ROM:88E12E06 LDR R1, [R5]
ROM:88E12E08 LDR R2, [R4,#8]
ROM:88E12E0A ADDS R1, R7, R1
ROM:88E12E0C LDR R0, [R4,#0xC]
ROM:88E12E0E BLX memcpy
ROM:88E12E12 LDR R2, [SP,#0x1B8+var_1A4]
ROM:88E12E14 LDR R1, [R5]
ROM:88E12E16 LDR R0, [R4,#0x14]
ROM:88E12E18 ADDS R1, R2, R1
ROM:88E12E1A LDR R2, [R4,#0x10]
ROM:88E12E1C ADDS R1, R7, R1
ROM:88E12E1E BLX memcpy
ROM:88E12E22 LDR R3, [R6,#(dword_88F221B8 - 0x88F221A4)]
ROM:88E12E24 CMP R3, #0
ROM:88E12E26 BEQ.W loc_88E131AE
ROM:88E12E2A LDR R0, =unk_88F221A4
ROM:88E12E2C BL sub_88E127B0
ROM:88E12E30 B loc_88E131AE
ROM:88E12E30 ; ---------------------------------------------------------------------------
ROM:88E12E32 DCB 0
ROM:88E12E33 DCB 0xBF ; +
ROM:88E12E34 off_88E12E34 DCD aAndroid ; DATA XREF: boot_linux_from_mmc+4r
ROM:88E12E34 ; boot_linux_from_mmc+60r
ROM:88E12E34 ; "ANDROID!"
ROM:88E12E38 off_88E12E38 DCD aRecoveryBootin ; DATA XREF: boot_linux_from_mmc+2Ar
ROM:88E12E38 ; "RECOVERY BOOTING....."
ROM:88E12E3C dword_88E12E3C DCD 0x88E342B8 ; DATA XREF: boot_linux_from_mmc+32r
ROM:88E12E40 off_88E12E40 DCD dword_88F2F310 ; DATA XREF: boot_linux_from_mmc:loc_88E12C40r
ROM:88E12E44 off_88E12E44 DCD hdr ; DATA XREF: boot_linux_from_mmc+4Ar
ROM:88E12E44 ; boot_linux_from_mmc+8Er
ROM:88E12E48 off_88E12E48 DCD dword_88F2F2FC ; DATA XREF: boot_linux_from_mmc+7Cr
ROM:88E12E48 ; boot_linux_from_mmc+1A0r
ROM:88E12E4C off_88E12E4C DCD aLkArea0xX0xX ; DATA XREF: boot_linux_from_mmc+92r
ROM:88E12E4C ; "LK Area: 0x%X - 0x%X\n"
ROM:88E12E50 off_88E12E50 DCD aKernelAddr0xX ; DATA XREF: boot_linux_from_mmc+9Ar
ROM:88E12E50 ; "Kernel Addr: 0x%X\n"
ROM:88E12E54 off_88E12E54 DCD aRamdiskAddr0xX ; DATA XREF: boot_linux_from_mmc+A2r
ROM:88E12E54 ; "Ramdisk Addr: 0x%X\n"
ROM:88E12E58 off_88E12E58 DCD aSecondAddr0xX ; DATA XREF: boot_linux_from_mmc+AAr
ROM:88E12E58 ; "Second Addr: 0x%X\n"
ROM:88E12E5C off_88E12E5C DCD aTagsAdddr0xX ; DATA XREF: boot_linux_from_mmc+B2r
ROM:88E12E5C ; "Tags Adddr: 0x%X\n"
ROM:88E12E60 off_88E12E60 DCD unk_88F221A4 ; DATA XREF: boot_linux_from_mmc+18Ar
ROM:88E12E60 ; boot_linux_from_mmc+232r
ROM:88E12E64 off_88E12E64 DCD aErrorCannotRea ; DATA XREF: boot_linux_from_mmc+208r
ROM:88E12E64 ; "ERROR: Cannot read boot image signature"...
ROM:88E12E68 off_88E12E68 DCD dword_88F31318 ; DATA XREF: boot_linux_from_mmc+1Cr
ROM:88E12E6C ; ---------------------------------------------------------------------------
ROM:88E12E6C
ROM:88E12E6C loc_88E12E6C ; CODE XREF: boot_linux_from_mmc+18j
ROM:88E12E6C MOV.W R6, #0xF000
ROM:88E12E70 LDR.W R8, =dword_88F31318
ROM:88E12E74 MOVT.W R6, #0x88EF
ROM:88E12E78
ROM:88E12E78 loc_88E12E78 ; CODE XREF: boot_linux_from_mmc+5C2j
ROM:88E12E78 ; boot_linux_from_mmc+5DAj
ROM:88E12E78 LDRB.W R3, [R6,#0x40]
ROM:88E12E7C ADD.W R5, R6, #0x40
ROM:88E12E80 CMP R3, #0
ROM:88E12E82 BEQ.W loc_88E131F8
ROM:88E12E86
ROM:88E12E86 loc_88E12E86 ; CODE XREF: boot_linux_from_mmc+60Aj
ROM:88E12E86 LDR R3, =dword_88F2F304
ROM:88E12E88 LDR R3, [R3]
ROM:88E12E8A CMP.W R3, #0x400
ROM:88E12E8E BEQ.W loc_88E1309E
ROM:88E12E92
ROM:88E12E92 loc_88E12E92 ; CODE XREF: boot_linux_from_mmc+4B0j
ROM:88E12E92 ADD R4, SP, #0x1B8+var_128
ROM:88E12E94
ROM:88E12E94 loc_88E12E94 ; CODE XREF: boot_linux_from_mmc+4CEj
ROM:88E12E94 LDR R3, =dword_88E4D28C
ROM:88E12E96 MOV.W R2, #0x80000
ROM:88E12E9A LDR R1, =aSec_log0xX0xX ; " sec_log=0x%x@0x%x"
ROM:88E12E9C MOV R0, R4
ROM:88E12E9E ADD R7, SP, #0x1B8+var_198
ROM:88E12EA0 LDR R3, [R3]
ROM:88E12EA2 ADDS R3, #8
ROM:88E12EA4 BL sub_88E19164
ROM:88E12EA8 MOV R1, R4
ROM:88E12EAA MOV R0, R5
ROM:88E12EAC BL sub_88E193E8
ROM:88E12EB0 LDR R3, =dword_88E4D288
ROM:88E12EB2 MOV.W R2, #0x40000
ROM:88E12EB6 LDR R1, =aSec_dbg0xX0xX ; " sec_dbg=0x%x@0x%x"
ROM:88E12EB8 MOV R0, R4
ROM:88E12EBA LDR R3, [R3]
ROM:88E12EBC ADDS R3, #4
ROM:88E12EBE BL sub_88E19164
ROM:88E12EC2 MOV R1, R4
ROM:88E12EC4 MOV R0, R5
ROM:88E12EC6 BL sub_88E193E8
ROM:88E12ECA LDR R3, =dword_88F2F30C
ROM:88E12ECC LDR R1, =aSec_debug_rese ; " sec_debug.reset_reason=0x%x"
ROM:88E12ECE MOV R0, R4
ROM:88E12ED0 LDR R2, [R3]
ROM:88E12ED2 BL sub_88E19164
ROM:88E12ED6 MOV R1, R4
ROM:88E12ED8 MOV R0, R5
ROM:88E12EDA BL sub_88E193E8
ROM:88E12EDE MOV R3, 0x8FFFB9C0
ROM:88E12EE6 MOV.W R2, #0x4000
ROM:88E12EEA LDR R1, =aEtb_buf0xX0xX ; " etb_buf=0x%x@0x%x"
ROM:88E12EEC MOV R0, R4
ROM:88E12EEE BL sub_88E19164
ROM:88E12EF2 MOV R1, R4
ROM:88E12EF4 MOV R0, R5
ROM:88E12EF6 BL sub_88E193E8
ROM:88E12EFA MOVS R2, #0x18
ROM:88E12EFC MOVS R1, #0
ROM:88E12EFE MOV R0, R7
ROM:88E12F00 BLX sub_88E192FC
ROM:88E12F04 MOV R0, R7
ROM:88E12F06 BL sub_88E14A5C
ROM:88E12F0A MOVW R2, #0x4844
ROM:88E12F0E LDR R3, [R7]
ROM:88E12F10 MOVT.W R2, #0x4749
ROM:88E12F14 CMP R3, R2
ROM:88E12F16 BEQ.W loc_88E13246
ROM:88E12F1A MOV R2, 0x44494D44
ROM:88E12F22 CMP R3, R2
ROM:88E12F24 BEQ.W loc_88E1326E
ROM:88E12F28 MOV R2, 0x574F4C44
ROM:88E12F30 CMP R3, R2
ROM:88E12F32 BEQ.W loc_88E13204
ROM:88E12F36 LDR R3, =dword_88F33FCC
ROM:88E12F38 MOVS R2, #1
ROM:88E12F3A STR R2, [R3]
ROM:88E12F3C
ROM:88E12F3C loc_88E12F3C ; CODE XREF: boot_linux_from_mmc+684j
ROM:88E12F3C LDR R1, =aSec_debug_enab ; " sec_debug.enable=1"
ROM:88E12F3E MOV R0, R5
ROM:88E12F40 BL sub_88E193E8
ROM:88E12F44 MOV R0, R5
ROM:88E12F46 LDR R1, =aSec_debug_en_0 ; " sec_debug.enable_user=0"
ROM:88E12F48 BL sub_88E193E8
ROM:88E12F4C
ROM:88E12F4C loc_88E12F4C ; CODE XREF: boot_linux_from_mmc+62Aj
ROM:88E12F4C ; boot_linux_from_mmc+674j
ROM:88E12F4C LDR R3, [R7,#0x14]
ROM:88E12F4E MOV R0, R5
ROM:88E12F50 CMP.W R3, #0x5500
ROM:88E12F54 BEQ.W loc_88E131E8
ROM:88E12F58 LDR R1, =aAndroidboot_cp ; " androidboot.cp_debug_level=0x55FF"
ROM:88E12F5A BL sub_88E193E8
ROM:88E12F5E MOV R0, R5
ROM:88E12F60 LDR R1, =aSec_debug_en_1 ; " sec_debug.enable_cp_debug=0"
ROM:88E12F62 BL sub_88E193E8
ROM:88E12F66
ROM:88E12F66 loc_88E12F66 ; CODE XREF: boot_linux_from_mmc+5FEj
ROM:88E12F66 BL sub_88E08AC4
ROM:88E12F6A LDR R1, =aCordonS ; " cordon=%s"
ROM:88E12F6C MOV R2, R0
ROM:88E12F6E MOV R0, R4
ROM:88E12F70 BL sub_88E19164
ROM:88E12F74 MOV R1, R4
ROM:88E12F76 MOV R0, R5
ROM:88E12F78 BL sub_88E193E8
ROM:88E12F7C BL sub_88E08A08
ROM:88E12F80 LDR R1, =aSysscope0xX ; " sysscope=0x%x"
ROM:88E12F82 MOV R2, R0
ROM:88E12F84 MOV R0, R4
ROM:88E12F86 BL sub_88E19164
ROM:88E12F8A MOV R1, R4
ROM:88E12F8C MOV R0, R5
ROM:88E12F8E BL sub_88E193E8
ROM:88E12F92 LDR R1, =aLoglevel4 ; " loglevel=4"
ROM:88E12F94 MOV R0, R5
ROM:88E12F96 BL sub_88E193E8
ROM:88E12F9A LDR R2, =0x88E34804
ROM:88E12F9C LDR R1, =aSamsung_hardwa ; " samsung.hardware=%s"
ROM:88E12F9E MOV R0, R4
ROM:88E12FA0 BL sub_88E19164
ROM:88E12FA4 MOV R1, R4
ROM:88E12FA6 MOV R0, R5
ROM:88E12FA8 BL sub_88E193E8
ROM:88E12FAC ADD R0, SP, #0x1B8+var_180
ROM:88E12FAE BL sub_88E14980
ROM:88E12FB2 LDR R2, [SP,#0x1B8+var_174]
ROM:88E12FB4 LDR R3, [SP,#0x1B8+var_170]
ROM:88E12FB6 MOV R0, R4
ROM:88E12FB8 LDR R1, =aAndroidboot__5 ; " androidboot.emmc_checksum=%d"
ROM:88E12FBA ORR.W R2, R3, R2,LSL#1
ROM:88E12FBE BL sub_88E19164
ROM:88E12FC2 MOV R1, R4
ROM:88E12FC4 MOV R0, R5
ROM:88E12FC6 BL sub_88E193E8
ROM:88E12FCA BL sub_88E0BE74
ROM:88E12FCE LDR R1, =aAndroidboot_wa ; " androidboot.warranty_bit=%d"
ROM:88E12FD0 MOV R2, R0
ROM:88E12FD2 MOV R0, R4
ROM:88E12FD4 BL sub_88E19164
ROM:88E12FD8 MOV R1, R4
ROM:88E12FDA MOV R0, R5
ROM:88E12FDC BL sub_88E193E8
ROM:88E12FE0 LDR R2, =aI535vrucml1 ; "I535VRUCML1"
ROM:88E12FE2 LDR R1, =aAndroidboot__6 ; " androidboot.bootloader=%s"
ROM:88E12FE4 MOV R0, R4
ROM:88E12FE6 BL sub_88E19164
ROM:88E12FEA MOV R1, R4
ROM:88E12FEC MOV R0, R5
ROM:88E12FEE BL sub_88E193E8
ROM:88E12FF2 LDR R2, [SP,#0x1B8+var_16C]
ROM:88E12FF4 LDR R1, =aAndroidboot_nv ; " androidboot.nvdata_backup=%d"
ROM:88E12FF6 MOV R0, R4
ROM:88E12FF8 BL sub_88E19164
ROM:88E12FFC MOV R1, R4
ROM:88E12FFE MOV R0, R5
ROM:88E13000 BL sub_88E193E8
ROM:88E13004 LDR.W R2, [R8]
ROM:88E13008 LDR R1, =aAndroidboot__7 ; " androidboot.boot_recovery=%d"
ROM:88E1300A MOV R0, R4
ROM:88E1300C BL sub_88E19164
ROM:88E13010 MOV R1, R4
ROM:88E13012 MOV R0, R5
ROM:88E13014 BL sub_88E193E8
ROM:88E13018 LDR.W R2, [R8]
ROM:88E1301C LDR R1, =aAndroidboot__8 ; " androidboot.batt_check_recovery=%d"
ROM:88E1301E MOV R0, R4
ROM:88E13020 BL sub_88E19164
ROM:88E13024 MOV R1, R4
ROM:88E13026 MOV R0, R5
ROM:88E13028 BL sub_88E193E8
ROM:88E1302C LDR R2, [R7]
ROM:88E1302E LDR R1, =aLevel0xX ; " level=0x%x"
ROM:88E13030 MOV R0, R4
ROM:88E13032 BL sub_88E19164
ROM:88E13036 MOV R0, R5
ROM:88E13038 MOV R1, R4
ROM:88E1303A BL sub_88E193E8
ROM:88E1303E LDR R2, [SP,#0x1B8+var_17C]
ROM:88E13040 MOV R0, R4
ROM:88E13042 CMP R2, #0
ROM:88E13044 BEQ.W loc_88E131D4
ROM:88E13048 LDR R1, =aSec_pvs0xX ; " sec_pvs=0x%x"
ROM:88E1304A BL sub_88E19164
ROM:88E1304E
ROM:88E1304E loc_88E1304E ; CODE XREF: boot_linux_from_mmc+5E2j
ROM:88E1304E MOV R1, R4
ROM:88E13050 MOV R0, R5
ROM:88E13052 BL sub_88E193E8
ROM:88E13056 LDR.W R8, [R6,#0xC]
ROM:88E1305A LDR R7, [R6,#0x20]
ROM:88E1305C BL sub_88E002C8
ROM:88E13060 LDR R4, [R6,#0x14]
ROM:88E13062 MOV R2, R5
ROM:88E13064 MOV R1, R7
ROM:88E13066 STR R4, [SP,#0x1B8+var_1B8]
ROM:88E13068 LDR R4, [R6,#0x10]
ROM:88E1306A STR R4, [SP,#0x1B8+var_1B4]
ROM:88E1306C MOV R3, R0
ROM:88E1306E MOV R0, R8
ROM:88E13070 BL sub_88E12824
ROM:88E13074 MOVS R0, #0
ROM:88E13076
ROM:88E13076 loc_88E13076 ; CODE XREF: boot_linux_from_mmc+4A4j
ROM:88E13076 ; boot_linux_from_mmc+5EEj ...
ROM:88E13076 ADD SP, SP, #0x194
ROM:88E13078 POP.W {R4-R11,PC}
ROM:88E1307C ; ---------------------------------------------------------------------------
ROM:88E1307C
ROM:88E1307C loc_88E1307C ; CODE XREF: boot_linux_from_mmc+26j
ROM:88E1307C LDR R0, =0x88E34290
ROM:88E1307E BL sub_88E07D14
ROM:88E13082 BL sub_88E07D98
ROM:88E13086 ORRS.W R2, R0, R1
ROM:88E1308A STRD.W R0, R1, [SP,#8]
ROM:88E1308E BNE.W loc_88E12C40
ROM:88E13092 LDR R0, =aErrorNoBootPar ; "ERROR: No boot partition found\n"
ROM:88E13094 BL dprintf
ROM:88E13098 MOV.W R0, #0xFFFFFFFF
ROM:88E1309C B loc_88E13076
ROM:88E1309E ; ---------------------------------------------------------------------------
ROM:88E1309E
ROM:88E1309E loc_88E1309E ; CODE XREF: boot_linux_from_mmc+296j
ROM:88E1309E MOV R0, R5
ROM:88E130A0 LDR R1, =aConsole ; "console="
ROM:88E130A2 BL sub_88E195A8
ROM:88E130A6 CMP R0, #0
ROM:88E130A8 BEQ.W loc_88E12E92
ROM:88E130AC MOVS R1, #0x20
ROM:88E130AE ADD R4, SP, #0x1B8+var_128
ROM:88E130B0 BL sub_88E19410
ROM:88E130B4 LDR R1, =aConsoleTtyhsl0 ; "console=ttyHSL0,115200,n8%s"
ROM:88E130B6 MOV R2, R0
ROM:88E130B8 MOV R0, R4
ROM:88E130BA BL sub_88E19164
ROM:88E130BE MOV R0, R5
ROM:88E130C0 MOV R1, R4
ROM:88E130C2 BL sub_88E19450
ROM:88E130C6 B loc_88E12E94
ROM:88E130C6 ; ---------------------------------------------------------------------------
ROM:88E130C8 off_88E130C8 DCD dword_88F2F304 ; DATA XREF: boot_linux_from_mmc:loc_88E12E86r
ROM:88E130CC off_88E130CC DCD dword_88E4D28C ; DATA XREF: boot_linux_from_mmc:loc_88E12E94r
ROM:88E130D0 off_88E130D0 DCD aSec_log0xX0xX ; DATA XREF: boot_linux_from_mmc+2A2r
ROM:88E130D0 ; " sec_log=0x%x@0x%x"
ROM:88E130D4 off_88E130D4 DCD dword_88E4D288 ; DATA XREF: boot_linux_from_mmc+2B8r
ROM:88E130D8 off_88E130D8 DCD aSec_dbg0xX0xX ; DATA XREF: boot_linux_from_mmc+2BEr
ROM:88E130D8 ; " sec_dbg=0x%x@0x%x"
ROM:88E130DC off_88E130DC DCD dword_88F2F30C ; DATA XREF: boot_linux_from_mmc+2D2r
ROM:88E130E0 off_88E130E0 DCD aSec_debug_rese ; DATA XREF: boot_linux_from_mmc+2D4r
ROM:88E130E0 ; " sec_debug.reset_reason=0x%x"
ROM:88E130E4 off_88E130E4 DCD aEtb_buf0xX0xX ; DATA XREF: boot_linux_from_mmc+2F2r
ROM:88E130E4 ; " etb_buf=0x%x@0x%x"
ROM:88E130E8 off_88E130E8 DCD dword_88F33FCC ; DATA XREF: boot_linux_from_mmc+33Er
ROM:88E130EC off_88E130EC DCD aSec_debug_enab ; DATA XREF: boot_linux_from_mmc:loc_88E12F3Cr
ROM:88E130EC ; " sec_debug.enable=1"
ROM:88E130F0 off_88E130F0 DCD aSec_debug_en_0 ; DATA XREF: boot_linux_from_mmc+34Er
ROM:88E130F0 ; " sec_debug.enable_user=0"
ROM:88E130F4 off_88E130F4 DCD aAndroidboot_cp ; DATA XREF: boot_linux_from_mmc+360r
ROM:88E130F4 ; " androidboot.cp_debug_level=0x55FF"
ROM:88E130F8 off_88E130F8 DCD aSec_debug_en_1 ; DATA XREF: boot_linux_from_mmc+368r
ROM:88E130F8 ; " sec_debug.enable_cp_debug=0"
ROM:88E130FC off_88E130FC DCD aCordonS ; DATA XREF: boot_linux_from_mmc+372r
ROM:88E130FC ; " cordon=%s"
ROM:88E13100 off_88E13100 DCD aSysscope0xX ; DATA XREF: boot_linux_from_mmc+388r
ROM:88E13100 ; " sysscope=0x%x"
ROM:88E13104 off_88E13104 DCD aLoglevel4 ; DATA XREF: boot_linux_from_mmc+39Ar
ROM:88E13104 ; " loglevel=4"
ROM:88E13108 dword_88E13108 DCD 0x88E34804 ; DATA XREF: boot_linux_from_mmc+3A2r
ROM:88E1310C off_88E1310C DCD aSamsung_hardwa ; DATA XREF: boot_linux_from_mmc+3A4r
ROM:88E1310C ; " samsung.hardware=%s"
ROM:88E13110 off_88E13110 DCD aAndroidboot__5 ; DATA XREF: boot_linux_from_mmc+3C0r
ROM:88E13110 ; " androidboot.emmc_checksum=%d"
ROM:88E13114 off_88E13114 DCD aAndroidboot_wa ; DATA XREF: boot_linux_from_mmc+3D6r
ROM:88E13114 ; " androidboot.warranty_bit=%d"
ROM:88E13118 off_88E13118 DCD aI535vrucml1 ; DATA XREF: boot_linux_from_mmc+3E8r
ROM:88E13118 ; "I535VRUCML1"
ROM:88E1311C off_88E1311C DCD aAndroidboot__6 ; DATA XREF: boot_linux_from_mmc+3EAr
ROM:88E1311C ; " androidboot.bootloader=%s"
ROM:88E13120 off_88E13120 DCD aAndroidboot_nv ; DATA XREF: boot_linux_from_mmc+3FCr
ROM:88E13120 ; " androidboot.nvdata_backup=%d"
ROM:88E13124 off_88E13124 DCD aAndroidboot__7 ; DATA XREF: boot_linux_from_mmc+410r
ROM:88E13124 ; " androidboot.boot_recovery=%d"
ROM:88E13128 off_88E13128 DCD aAndroidboot__8 ; DATA XREF: boot_linux_from_mmc+424r
ROM:88E13128 ; " androidboot.batt_check_recovery=%d"
ROM:88E1312C off_88E1312C DCD aLevel0xX ; DATA XREF: boot_linux_from_mmc+436r
ROM:88E1312C ; " level=0x%x"
ROM:88E13130 off_88E13130 DCD aSec_pvs0xX ; DATA XREF: boot_linux_from_mmc+450r
ROM:88E13130 ; " sec_pvs=0x%x"
ROM:88E13134 dword_88E13134 DCD 0x88E34290 ; DATA XREF: boot_linux_from_mmc:loc_88E1307Cr
ROM:88E13138 off_88E13138 DCD aErrorNoBootPar ; DATA XREF: boot_linux_from_mmc+49Ar
ROM:88E13138 ; "ERROR: No boot partition found\n"
ROM:88E1313C off_88E1313C DCD aConsole ; DATA XREF: boot_linux_from_mmc+4A8r
ROM:88E1313C ; "console="
ROM:88E13140 off_88E13140 DCD aConsoleTtyhsl0 ; DATA XREF: boot_linux_from_mmc+4BCr
ROM:88E13140 ; "console=ttyHSL0,115200,n8%s"
ROM:88E13144 off_88E13144 DCD dword_88F31318 ; DATA XREF: boot_linux_from_mmc+278r
ROM:88E13148 ; ---------------------------------------------------------------------------
ROM:88E13148
ROM:88E13148 loc_88E13148 ; CODE XREF: boot_linux_from_mmc+186j
ROM:88E13148 ; boot_linux_from_mmc+190j ...
ROM:88E13148 BL sub_88E007A0
ROM:88E1314C LDR R6, =hdr
ROM:88E1314E LDR.W R9, =dword_88F2F2FC
ROM:88E13152 LDR R2, [R5]
ROM:88E13154 MOV R1, R6
ROM:88E13156 MOV R10, R0
ROM:88E13158 BLX memcpy
ROM:88E1315C LDR.W R3, [R9]
ROM:88E13160 LDR R2, [R4,#8]
ROM:88E13162 LDR R7, [R5]
ROM:88E13164 LDRD.W R0, R1, [SP,#8]
ROM:88E13168 ADDS R5, R3, R2
ROM:88E1316A BIC.W R5, R5, R3
ROM:88E1316E LDR R2, [R4,#0xC]
ROM:88E13170 ADDS R0, R0, R7
ROM:88E13172 MOV R3, R5
ROM:88E13174 ADC.W R1, R1, #0
ROM:88E13178 BL mmc_read
ROM:88E1317C CMP R0, #0
ROM:88E1317E BNE.W loc_88E132E8
ROM:88E13182 ADD.W R0, R10, R7
ROM:88E13186 MOV R2, R5
ROM:88E13188 LDR R1, [R6,#(dword_88F2F320 - 0x88F2F314)]
ROM:88E1318A ADDS R5, R5, R7
ROM:88E1318C BLX memcpy
ROM:88E13190 LDR.W R3, [R9]
ROM:88E13194 LDR R7, [R6,#(dword_88F2F324 - 0x88F2F314)]
ROM:88E13196 ADDS R7, R3, R7
ROM:88E13198 BIC.W R7, R7, R3
ROM:88E1319C ADDS.W R7, R7, #0x200
ROM:88E131A0 BNE loc_88E13224
ROM:88E131A2
ROM:88E131A2 loc_88E131A2 ; CODE XREF: boot_linux_from_mmc+640j
ROM:88E131A2 LDR R1, [R4,#0x14]
ROM:88E131A4 ADD.W R0, R10, R5
ROM:88E131A8 MOV R2, R7
ROM:88E131AA BLX memcpy
ROM:88E131AE
ROM:88E131AE loc_88E131AE ; CODE XREF: boot_linux_from_mmc+22Ej
ROM:88E131AE ; boot_linux_from_mmc+238j
ROM:88E131AE LDR.W R0, [R8]
ROM:88E131B2 BL check_sig_new
ROM:88E131B6 LDR R6, =hdr
ROM:88E131B8 CMP R0, #0
ROM:88E131BA BEQ.W loc_88E12E78
ROM:88E131BE BL sub_88E0BF00
ROM:88E131C2 BL is_engineering_device
ROM:88E131C6 MOV R4, R0
ROM:88E131C8 CMP R0, #0
ROM:88E131CA BEQ loc_88E1327E
ROM:88E131CC BL sub_88E0BF64
ROM:88E131D0 LDR R6, =hdr
ROM:88E131D2 B loc_88E12E78
ROM:88E131D4 ; ---------------------------------------------------------------------------
ROM:88E131D4
ROM:88E131D4 loc_88E131D4 ; CODE XREF: boot_linux_from_mmc+44Cj
ROM:88E131D4 LDR R1, =aSec_pvs0 ; " sec_pvs=0"
ROM:88E131D6 BL sub_88E19164
ROM:88E131DA B loc_88E1304E
ROM:88E131DC ; ---------------------------------------------------------------------------
ROM:88E131DC
ROM:88E131DC loc_88E131DC ; CODE XREF: boot_linux_from_mmc+CEj
ROM:88E131DC ; boot_linux_from_mmc+E0j ...
ROM:88E131DC LDR R0, =aErrorNotValidA ; "ERROR: Not valid address of boot-header"...
ROM:88E131DE BL dprintf
ROM:88E131E2 MOV.W R0, #0xFFFFFFFF
ROM:88E131E6 B loc_88E13076
ROM:88E131E8 ; ---------------------------------------------------------------------------
ROM:88E131E8
ROM:88E131E8 loc_88E131E8 ; CODE XREF: boot_linux_from_mmc+35Cj
ROM:88E131E8 LDR R1, =aAndroidboot__9 ; " androidboot.cp_debug_level=0x5500"
ROM:88E131EA BL sub_88E193E8
ROM:88E131EE MOV R0, R5
ROM:88E131F0 LDR R1, =aSec_debug_en_2 ; " sec_debug.enable_cp_debug=1"
ROM:88E131F2 BL sub_88E193E8
ROM:88E131F6 B loc_88E12F66
ROM:88E131F8 ; ---------------------------------------------------------------------------
ROM:88E131F8
ROM:88E131F8 loc_88E131F8 ; CODE XREF: boot_linux_from_mmc+28Aj
ROM:88E131F8 MOV R0, R5
ROM:88E131FA LDR R1, =aMem100mConsole ; "mem=100M console=null"
ROM:88E131FC MOVS R2, #0x16
ROM:88E131FE BLX memcpy
ROM:88E13202 B loc_88E12E86
ROM:88E13204 ; ---------------------------------------------------------------------------
ROM:88E13204
ROM:88E13204 loc_88E13204 ; CODE XREF: boot_linux_from_mmc+33Aj
ROM:88E13204 LDR R3, =dword_88F33FCC
ROM:88E13206 MOVS R2, #0
ROM:88E13208 MOV R0, R5
ROM:88E1320A LDR R1, =aAndroidboot_de ; " androidboot.debug_level=0x4f4c"
ROM:88E1320C STR R2, [R3]
ROM:88E1320E BL sub_88E193E8
ROM:88E13212 MOV R0, R5
ROM:88E13214 LDR R1, =aSec_debug_en_3 ; " sec_debug.enable=0"
ROM:88E13216 BL sub_88E193E8
ROM:88E1321A MOV R0, R5
ROM:88E1321C LDR R1, =aSec_debug_en_0 ; " sec_debug.enable_user=0"
ROM:88E1321E BL sub_88E193E8
ROM:88E13222 B loc_88E12F4C
ROM:88E13224 ; ---------------------------------------------------------------------------
ROM:88E13224
ROM:88E13224 loc_88E13224 ; CODE XREF: boot_linux_from_mmc+5A8j
ROM:88E13224 LDRD.W R0, R1, [SP,#8]
ROM:88E13228 MOV R3, R7
ROM:88E1322A LDR R2, [R6,#(dword_88F2F328 - 0x88F2F314)]
ROM:88E1322C ADDS R0, R0, R5
ROM:88E1322E ADC.W R1, R1, #0
ROM:88E13232 BL mmc_read
ROM:88E13236 CMP R0, #0
ROM:88E13238 BEQ loc_88E131A2
ROM:88E1323A LDR R0, =aErrorCannotR_0 ; "ERROR: Cannot read ramdisk image\n"
ROM:88E1323C BL dprintf
ROM:88E13240 MOV.W R0, #0xFFFFFFFF
ROM:88E13244 B loc_88E13076
ROM:88E13246 ; ---------------------------------------------------------------------------
ROM:88E13246
ROM:88E13246 loc_88E13246 ; CODE XREF: boot_linux_from_mmc+31Ej
ROM:88E13246 LDR R3, =dword_88F33FCC
ROM:88E13248 MOVS R2, #1
ROM:88E1324A MOV R0, R5
ROM:88E1324C LDR R1, =aAndroidboot_10 ; " androidboot.debug_level=0x4948"
ROM:88E1324E STR R2, [R3]
ROM:88E13250 BL sub_88E193E8
ROM:88E13254 MOV R0, R5
ROM:88E13256 LDR R1, =aSec_debug_enab ; " sec_debug.enable=1"
ROM:88E13258 BL sub_88E193E8
ROM:88E1325C MOV R0, R5
ROM:88E1325E LDR R1, =aSec_debug_en_4 ; " sec_debug.enable_user=1"
ROM:88E13260 BL sub_88E193E8
ROM:88E13264 MOV R0, R5
ROM:88E13266 LDR R1, =aSlub_debugFpuz ; " slub_debug=FPUZ"
ROM:88E13268 BL sub_88E193E8
ROM:88E1326C B loc_88E12F4C
ROM:88E1326E ; ---------------------------------------------------------------------------
ROM:88E1326E
ROM:88E1326E loc_88E1326E ; CODE XREF: boot_linux_from_mmc+32Cj
ROM:88E1326E LDR R3, =dword_88F33FCC
ROM:88E13270 MOVS R2, #1
ROM:88E13272 MOV R0, R5
ROM:88E13274 LDR R1, =aAndroidboot_11 ; " androidboot.debug_level=0x494d"
ROM:88E13276 STR R2, [R3]
ROM:88E13278 BL sub_88E193E8
ROM:88E1327C B loc_88E12F3C
ROM:88E1327E ; ---------------------------------------------------------------------------
ROM:88E1327E
ROM:88E1327E loc_88E1327E ; CODE XREF: boot_linux_from_mmc+5D2j
ROM:88E1327E ADD R7, SP, #0x1B8+var_198
ROM:88E13280 BL sub_88E0C824
ROM:88E13284 MOVW R3, #0x4C44
ROM:88E13288 LDR R2, [R7]
ROM:88E1328A MOVT.W R3, #0x574F
ROM:88E1328E STRB.W R4, [R7,#-1]
ROM:88E13292 CMP R2, R3
ROM:88E13294 BEQ loc_88E132A0
ROM:88E13296 MOV.W R0, #0xFF0000
ROM:88E1329A LDR R1, =aSecureFailKern ; "SECURE FAIL: KERNEL"
ROM:88E1329C BL print_console
ROM:88E132A0
ROM:88E132A0 loc_88E132A0 ; CODE XREF: boot_linux_from_mmc+69Cj
ROM:88E132A0 ADD.W R4, SP, #0x1B8+var_199
ROM:88E132A4 B loc_88E132AC
ROM:88E132A6 ; ---------------------------------------------------------------------------
ROM:88E132A6
ROM:88E132A6 loc_88E132A6 ; CODE XREF: boot_linux_from_mmc+6C0j
ROM:88E132A6 ; boot_linux_from_mmc+6C6j
ROM:88E132A6 MOVS R0, #0x32
ROM:88E132A8 BL sub_88E02C20
ROM:88E132AC
ROM:88E132AC loc_88E132AC ; CODE XREF: boot_linux_from_mmc+6ACj
ROM:88E132AC MOVS R0, #6
ROM:88E132AE MOV R1, R4
ROM:88E132B0 BL sub_88E18088
ROM:88E132B4 LDRB R3, [R4]
ROM:88E132B6 LSLS R3, R3, #0x1D
ROM:88E132B8 BMI loc_88E132A6
ROM:88E132BA BL sub_88E00290
ROM:88E132BE B loc_88E132A6
ROM:88E132C0 ; ---------------------------------------------------------------------------
ROM:88E132C0
ROM:88E132C0 loc_88E132C0 ; CODE XREF: boot_linux_from_mmc+1E4j
ROM:88E132C0 LDR R0, =aErrorCannotR_1 ; "ERROR: Cannot read boot image\n"
ROM:88E132C2 BL dprintf
ROM:88E132C6 MOV.W R0, #0xFFFFFFFF
ROM:88E132CA B loc_88E13076
ROM:88E132CC ; ---------------------------------------------------------------------------
ROM:88E132CC
ROM:88E132CC loc_88E132CC ; CODE XREF: boot_linux_from_mmc+204j
ROM:88E132CC MOVS R3, #2
ROM:88E132CE MOV R0, R7
ROM:88E132D0 MOV R1, R11
ROM:88E132D2 MOV R2, R9
ROM:88E132D4 BL sub_88E0BB5C
ROM:88E132D8 LDR R3, =dword_88F2F300
ROM:88E132DA STR R0, [R3]
ROM:88E132DC CMP R0, #0
ROM:88E132DE BEQ.W loc_88E12E06
ROM:88E132E2 STR.W R10, [R6,#(dword_88F221B8 - 0x88F221A4)]
ROM:88E132E6 B loc_88E12E06
ROM:88E132E8 ; ---------------------------------------------------------------------------
ROM:88E132E8
ROM:88E132E8 loc_88E132E8 ; CODE XREF: boot_linux_from_mmc+586j
ROM:88E132E8 LDR R0, =aErrorCannotR_2 ; "ERROR: Cannot read kernel image\n"
ROM:88E132EA BL dprintf
ROM:88E132EE MOV.W R0, #0xFFFFFFFF
ROM:88E132F2 B loc_88E13076
ROM:88E132F4 ; ---------------------------------------------------------------------------
ROM:88E132F4
ROM:88E132F4 loc_88E132F4 ; CODE XREF: boot_linux_from_mmc+44j
ROM:88E132F4 LDR R0, =aErrorNoRecover ; "ERROR: No recovery partition found\n"
ROM:88E132F6 BL dprintf
ROM:88E132FA MOV.W R0, #0xFFFFFFFF
ROM:88E132FE B loc_88E13076
ROM:88E13300 ; ---------------------------------------------------------------------------
ROM:88E13300
ROM:88E13300 loc_88E13300 ; CODE XREF: boot_linux_from_mmc+5Aj
ROM:88E13300 LDR R0, =aErrorCannotR_3 ; "ERROR: Cannot read boot image header\n"
ROM:88E13302 BL dprintf
ROM:88E13306 MOV.W R0, #0xFFFFFFFF
ROM:88E1330A B loc_88E13076
ROM:88E1330C ; ---------------------------------------------------------------------------
ROM:88E1330C
ROM:88E1330C loc_88E1330C ; CODE XREF: boot_linux_from_mmc+6Aj
ROM:88E1330C LDR R0, =aErrorInvalidBo ; "ERROR: Invalid boot image header\n"
ROM:88E1330E BL dprintf
ROM:88E13312 MOV.W R0, #0xFFFFFFFF
ROM:88E13316 B loc_88E13076
ROM:88E13316 ; End of function boot_linux_from_mmc
ROM:88E13316
ROM:88E13316 ; ---------------------------------------------------------------------------
ROM:88E13318 off_88E13318 DCD hdr ; DATA XREF: boot_linux_from_mmc+554r
ROM:88E13318 ; boot_linux_from_mmc+5BEr ...
ROM:88E1331C off_88E1331C DCD aSec_pvs0 ; DATA XREF: boot_linux_from_mmc:loc_88E131D4r
ROM:88E1331C ; " sec_pvs=0"
ROM:88E13320 off_88E13320 DCD aErrorNotValidA ; DATA XREF: boot_linux_from_mmc:loc_88E131DCr
ROM:88E13320 ; "ERROR: Not valid address of boot-header"...
ROM:88E13324 off_88E13324 DCD aAndroidboot__9 ; DATA XREF: boot_linux_from_mmc:loc_88E131E8r
ROM:88E13324 ; " androidboot.cp_debug_level=0x5500"
ROM:88E13328 off_88E13328 DCD aSec_debug_en_2 ; DATA XREF: boot_linux_from_mmc+5F8r
ROM:88E13328 ; " sec_debug.enable_cp_debug=1"
ROM:88E1332C off_88E1332C DCD aMem100mConsole ; DATA XREF: boot_linux_from_mmc+602r
ROM:88E1332C ; "mem=100M console=null"
ROM:88E13330 off_88E13330 DCD dword_88F33FCC ; DATA XREF: boot_linux_from_mmc:loc_88E13204r
ROM:88E13330 ; boot_linux_from_mmc:loc_88E13246r ...
ROM:88E13334 off_88E13334 DCD aAndroidboot_de ; DATA XREF: boot_linux_from_mmc+612r
ROM:88E13334 ; " androidboot.debug_level=0x4f4c"
ROM:88E13338 off_88E13338 DCD aSec_debug_en_3 ; DATA XREF: boot_linux_from_mmc+61Cr
ROM:88E13338 ; " sec_debug.enable=0"
ROM:88E1333C off_88E1333C DCD aSec_debug_en_0 ; DATA XREF: boot_linux_from_mmc+624r
ROM:88E1333C ; " sec_debug.enable_user=0"
ROM:88E13340 off_88E13340 DCD aErrorCannotR_0 ; DATA XREF: boot_linux_from_mmc+642r
ROM:88E13340 ; "ERROR: Cannot read ramdisk image\n"
ROM:88E13344 off_88E13344 DCD aAndroidboot_10 ; DATA XREF: boot_linux_from_mmc+654r
ROM:88E13344 ; " androidboot.debug_level=0x4948"
ROM:88E13348 off_88E13348 DCD aSec_debug_enab ; DATA XREF: boot_linux_from_mmc+65Er
ROM:88E13348 ; " sec_debug.enable=1"
ROM:88E1334C off_88E1334C DCD aSec_debug_en_4 ; DATA XREF: boot_linux_from_mmc+666r
ROM:88E1334C ; " sec_debug.enable_user=1"
ROM:88E13350 off_88E13350 DCD aSlub_debugFpuz ; DATA XREF: boot_linux_from_mmc+66Er
ROM:88E13350 ; " slub_debug=FPUZ"
ROM:88E13354 off_88E13354 DCD aAndroidboot_11 ; DATA XREF: boot_linux_from_mmc+67Cr
ROM:88E13354 ; " androidboot.debug_level=0x494d"
ROM:88E13358 off_88E13358 DCD aSecureFailKern ; DATA XREF: boot_linux_from_mmc+6A2r
ROM:88E13358 ; "SECURE FAIL: KERNEL"
ROM:88E1335C off_88E1335C DCD aErrorCannotR_1 ; DATA XREF: boot_linux_from_mmc:loc_88E132C0r
ROM:88E1335C ; "ERROR: Cannot read boot image\n"
ROM:88E13360 off_88E13360 DCD dword_88F2F300 ; DATA XREF: boot_linux_from_mmc+6E0r
ROM:88E13364 off_88E13364 DCD aErrorCannotR_2 ; DATA XREF: boot_linux_from_mmc:loc_88E132E8r
ROM:88E13364 ; "ERROR: Cannot read kernel image\n"
ROM:88E13368 off_88E13368 DCD aErrorNoRecover ; DATA XREF: boot_linux_from_mmc:loc_88E132F4r
ROM:88E13368 ; "ERROR: No recovery partition found\n"
ROM:88E1336C off_88E1336C DCD aErrorCannotR_3 ; DATA XREF: boot_linux_from_mmc:loc_88E13300r
ROM:88E1336C ; "ERROR: Cannot read boot image header\n"
ROM:88E13370 off_88E13370 DCD aErrorInvalidBo ; DATA XREF: boot_linux_from_mmc:loc_88E1330Cr
ROM:88E13370 ; "ERROR: Invalid boot image header\n"
ROM:88E13374 off_88E13374 DCD dword_88F2F2FC ; DATA XREF: boot_linux_from_mmc+556r
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment