;This is where bl2_main is ran. Usual TF-A structure. ;Note: this was originally written in assembly. bl2_entrypoint: ;XREF[2,0]: Entry Point,d9001000 BL2:d9001008 f40300aa mov x20,x0 BL2:d900100c f50301aa mov x21,x1 BL2:d9001010 a00038d5 mrs x0,mpidr_el1 BL2:d9001014 711f0094 bl platform_is_primary_cpu ;bool platform_is_primary_cpu(short p... BL2:d9001018 c00100b4 cbz x0,_panic BL2:d900101c 001038d5 mrs x0,sctlr_el1 BL2:d9001020 000074b2 orr x0,x0,#0x1000 BL2:d9001024 001018d5 msr sctlr_el1,x0 BL2:d9001028 df3f03d5 isb BL2:d900102c 60010058 ldr x0=>DAT_d900a580,DAT_d9001058 ;= 00000000D900A580h BL2:d9001030 81010058 ldr x1,DAT_d9001060 ;= 0000000000000428h BL2:d9001034 d91f0094 bl zeromem16 ;undefined zeromem16(undefined8 * par... BL2:d9001038 a00038d5 mrs x0,mpidr_el1 BL2:d900103c 611f0094 bl platform_set_coherent_stack ;undefined8 platform_set_coherent_sta... BL2:d9001040 e00315aa mov x0,x21 BL2:d9001044 48000094 bl bl2_early_platform_setup ;undefined bl2_early_platform_setup(v... BL2:d9001048 6f000094 bl bl2_plat_arch_setup ;undefined bl2_plat_arch_setup(void) BL2:d900104c 771b0094 bl bl2_main ;undefined bl2_main(undefined8 param_... _panic: ;XREF[2,0]: d9001018,d9001050 BL2:d9001050 00000014 b _panic BL2:d9001054 00 ?? 00h BL2:d9001055 00 ?? 00h BL2:d9001056 00 ?? 00h BL2:d9001057 00 ?? 00h DAT_d9001058: ;XREF[1,0]: d900102c BL2:d9001058 80a500d90... undefined8 00000000D900A580h DAT_d9001060: ;XREF[1,0]: d9001030 BL2:d9001060 280400000... undefined8 0000000000000428h ;? -> 00000428 ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined * FUN_d9001068(void) ;local_10 undefined8 -10 ;XREF[2,0]: d9001070,d9001134 ;local_20 undefined8 -20 ;XREF[2,0]: d9001068,d9001138 ;XREF[2,0]: d900645c,d90066d8 BL2:d9001068 fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d900106c fd030091 mov x29,sp BL2:d9001070 f35301a9 stp x19,x20,[sp, #local_10+0x20] BL2:d9001074 540000b0 adrp x20,0xd900a000 BL2:d9001078 93021691 add x19,x20,#0x580 BL2:d900107c e00313aa mov x0=>DAT_d900a580,x19 BL2:d9001080 01008052 mov w1,#0x0 BL2:d9001084 023280d2 mov x2,#0x190 BL2:d9001088 8a1e0094 bl memset ;ulong memset(ulong param_1, undefine... BL2:d900108c 63820391 add x3,x19,#0xe0 BL2:d9001090 01088052 mov w1,#0x40 BL2:d9001094 61060079 strh w1,[x19, #0x2]=>DAT_d900a582 BL2:d9001098 630a00f9 str x3=>DAT_d900a660,[x19, #0x10]=>DAT_d9... BL2:d900109c 61020191 add x1,x19,#0x40 BL2:d90010a0 030b8052 mov w3,#0x58 BL2:d90010a4 64620191 add x4,x19,#0x58 BL2:d90010a8 60008052 mov w0,#0x3 BL2:d90010ac 42008052 mov w2,#0x2 BL2:d90010b0 80021639 strb w0,[x20, #0x580]=>DAT_d900a580 BL2:d90010b4 610600f9 str x1=>DAT_d900a5c0,[x19, #0x8]=>DAT_d90... BL2:d90010b8 20008052 mov w0,#0x1 BL2:d90010bc 01038052 mov w1,#0x18 BL2:d90010c0 63c60179 strh w3,[x19, #0xe2]=>DAT_d900a662 BL2:d90010c4 640e00f9 str x4=>DAT_d900a5d8,[x19, #0x18]=>DAT_d9... BL2:d90010c8 63160179 strh w3,[x19, #0x8a]=>DAT_d900a60a BL2:d90010cc 64220291 add x4,x19,#0x88 BL2:d90010d0 63c20191 add x3,x19,#0x70 BL2:d90010d4 60060039 strb w0,[x19, #0x1]=>DAT_d900a581 BL2:d90010d8 60060139 strb w0,[x19, #0x41]=>DAT_d900a5c1 BL2:d90010dc 60820339 strb w0,[x19, #0xe0]=>DAT_d900a660 BL2:d90010e0 60860339 strb w0,[x19, #0xe1]=>DAT_d900a661 BL2:d90010e4 60660139 strb w0,[x19, #0x59]=>DAT_d900a5d9 BL2:d90010e8 60220239 strb w0,[x19, #0x88]=>DAT_d900a608 BL2:d90010ec 60260239 strb w0,[x19, #0x89]=>DAT_d900a609 BL2:d90010f0 60c60139 strb w0,[x19, #0x71]=>DAT_d900a5f1 BL2:d90010f4 7f0600b9 str wzr,[x19, #0x4]=>DAT_d900a584 BL2:d90010f8 e00313aa mov x0=>DAT_d900a580,x19 BL2:d90010fc 62020139 strb w2,[x19, #0x40]=>DAT_d900a5c0 BL2:d9001100 61860079 strh w1,[x19, #0x42]=>DAT_d900a5c2 BL2:d9001104 7f4600b9 str wzr,[x19, #0x44]=>DAT_d900a5c4 BL2:d9001108 7fe600b9 str wzr,[x19, #0xe4]=>DAT_d900a664 BL2:d900110c 62620139 strb w2,[x19, #0x58]=>DAT_d900a5d8 BL2:d9001110 61b60079 strh w1,[x19, #0x5a]=>DAT_d900a5da BL2:d9001114 7f5e00b9 str wzr,[x19, #0x5c]=>DAT_d900a5dc BL2:d9001118 641200f9 str x4=>DAT_d900a608,[x19, #0x20]=>DAT_d9... BL2:d900111c 7f8e00b9 str wzr,[x19, #0x8c]=>DAT_d900a60c BL2:d9001120 7f5200f9 str xzr,[x19, #0xa0]=>DAT_d900a620 BL2:d9001124 631600f9 str x3=>DAT_d900a5f0,[x19, #0x28]=>DAT_d9... BL2:d9001128 62c20139 strb w2,[x19, #0x70]=>DAT_d900a5f0 BL2:d900112c 61e60079 strh w1,[x19, #0x72]=>DAT_d900a5f2 BL2:d9001130 7f7600b9 str wzr,[x19, #0x74]=>DAT_d900a5f4 BL2:d9001134 f35341a9 ldp x19,x20,[sp, #local_10+0x20] BL2:d9001138 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d900113c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 bl2_plat_get_bl31_ep_info(void) ;XREF[2,0]: d9006464,d90066e0 BL2:d9001140 012f8dd2 mov x1,#0x6978 BL2:d9001144 416ba9f2 movk x1,#0x4b5a, LSL #16 BL2:d9001148 400000b0 adrp x0,0xd900a000 BL2:d900114c 81a7c5f2 movk x1,#0x2d3c, LSL #32 BL2:d9001150 00001691 add x0,x0,#0x580 BL2:d9001154 c1e3e1f2 movk x1,#0xf1e, LSL #48 ;PLAT_BL31_PLAT_PARAM_VAL BL2:d9001158 01ac00f9 str x1,[x0, #0x158]=>DAT_d900a6d8 BL2:d900115c 00e00491 add x0,x0,#0x138 BL2:d9001160 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined bl2_early_platform_setup(void) ;These are actually all members of bl2_tzram_layout, including (in order: total_base, total_size, free_base, free_size, attr, next ;XREF[1,0]: d9001044 BL2:d9001164 400000b0 adrp x0,0xd900a000 BL2:d9001168 00001591 add x0=>bl2_tzram_layout,x0,#0x540 BL2:d900116c 0120bbd2 mov x1,#0xd9000000 BL2:d9001170 010000f9 str x1,[x0]=>bl2_tzram_layout BL2:d9001174 4100a0d2 mov x1,#0x20000 BL2:d9001178 010400f9 str x1,[x0, #0x8]=>bl2_tzram_layout.total... BL2:d900117c 010098d2 mov x1,#0xc000 BL2:d9001180 0120bbf2 movk x1,#0xd900, LSL #16 ;0xD900C000 -> BL2 header? BL2:d9001184 010800f9 str x1=>DAT_d900c000,[x0, #0x10]=>bl2_tzr... BL2:d9001188 010088d2 mov x1,#0x4000 BL2:d900118c 2100a0f2 movk x1,#0x1, LSL #16 BL2:d9001190 010c00f9 str x1,[x0, #0x18]=>bl2_tzram_layout.free... BL2:d9001194 a1ff9dd2 mov x1,#0xeffd BL2:d9001198 019fb1f2 movk x1,#0x8cf8, LSL #16 BL2:d900119c c1c5d3f2 movk x1,#0x9e2e, LSL #32 BL2:d90011a0 61d2e1f2 movk x1,#0xe93, LSL #48 BL2:d90011a4 011000f9 str x1,[x0, #0x20]=>bl2_tzram_layout.attr BL2:d90011a8 1f1400f9 str xzr,[x0, #0x28]=>bl2_tzram_layout.next BL2:d90011ac c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined bl2_platform_setup(void) ;local_10 undefined8 -10 ;XREF[2,0]: d90011b0,d90011ec ;XREF[2,0]: d9007e58,d9008018 BL2:d90011b0 fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d90011b4 fd030091 mov x29,sp BL2:d90011b8 410000b0 adrp x1,0xd900a000 BL2:d90011bc 21001591 add x1,x1,#0x540 BL2:d90011c0 200040f9 ldr x0,[x1]=>bl2_tzram_layout BL2:d90011c4 02000090 adrp x2,0xd9001000 BL2:d90011c8 210440f9 ldr x1,[x1, #0x8]=>bl2_tzram_layout.total... BL2:d90011cc 430000b0 adrp x3,0xd900a000 BL2:d90011d0 040098d2 mov x4,#0xc000 BL2:d90011d4 050098d2 mov x5,#0xc000 BL2:d90011d8 42000091 add x2=>LAB_d9001000,x2,#0x0 BL2:d90011dc 63000091 add x3=>ddrs,x3,#0x0 BL2:d90011e0 0420bbf2 movk x4=>DAT_d900c000,#0xd900, LSL #16 BL2:d90011e4 0520bbf2 movk x5=>DAT_d900c000,#0xd900, LSL #16 BL2:d90011e8 24000094 bl configure_mmu_el1 ;undefined configure_mmu_el1(ulong pa... BL2:d90011ec fd7bc1a8 ldp x29=>local_10,x30,[sp], #0x10 BL2:d90011f0 9f010014 b storage_init ;undefined8 storage_init(void) ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d90011f4(void) ;XREF[1,0]: d9006798 BL2:d90011f4 400000b0 adrp x0,0xd900a000 BL2:d90011f8 00001691 add x0=>DAT_d900a580,x0,#0x580 BL2:d90011fc 013280d2 mov x1,#0x190 BL2:d9001200 0b1f0014 b inv_dcache_range ;undefined inv_dcache_range(ulong par... ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined bl2_plat_arch_setup(void) ;XREF[1,0]: d9001048 BL2:d9001204 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9001208(undefined8 param_1, long param_2) ;param_1 undefined8 x0 ;param_2 long x1 ;XREF[1,0]: d9006708 BL2:d9001208 200440b9 ldr param_1,[param_2, #0x4] BL2:d900120c 00781f12 and param_1,param_1,#0xfffffffe BL2:d9001210 200400b9 str param_1,[param_2, #0x4] BL2:d9001214 a0798052 mov param_1,#0x3cd BL2:d9001218 201000b9 str param_1,[param_2, #0x10] BL2:d900121c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9001220(undefined8 param_1, long param_2) ;param_1 undefined8 x0 ;param_2 long x1 ;XREF[1,0]: d9006764 BL2:d9001220 200440b9 ldr param_1,[param_2, #0x4] BL2:d9001224 3f1000b9 str wzr,[param_2, #0x10] BL2:d9001228 00781f12 and param_1,param_1,#0xfffffffe BL2:d900122c 200400b9 str param_1,[param_2, #0x4] BL2:d9001230 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined bl2_plat_set_bl33_ep_info(undefined8 param_1, long param_2) ;param_1 undefined8 x0 ;param_2 long x1 ;local_10 undefined8 -10 ;XREF[2,0]: d900123c,d9001250 ;local_20 undefined8 -20 ;XREF[2,0]: d9001234,d9001270 ;XREF[1,0]: d900678c BL2:d9001234 fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d9001238 fd030091 mov x29,sp BL2:d900123c a10b00f9 str param_2,[x29, #local_10+0x20] BL2:d9001240 651f0094 bl read_id_aa64pfr0_el1 ;undefined8 read_id_aa64pfr0_el1(void) BL2:d9001244 002c48d3 ubfx param_1,param_1,#0x8,#0x4 ;************************************************************************************************ ;* In Amlogic's old sources, ID_AA64PFR0_EL2_SHIFT is set to 8 * ;************************************************************************************************ ;In Amlogic's old BL2 sources ID_AA64PFR0_EL2_SHIFT == 8. BL2:d9001248 1f001feb cmp param_1,xzr BL2:d900124c 40008052 mov param_1,#0x2 BL2:d9001250 a10b40f9 ldr param_2,[x29, #local_10+0x20] BL2:d9001254 00149f1a csinc param_1,param_1,wzr,ne BL2:d9001258 22788052 mov w2,#0x3c1 BL2:d900125c 4008002a orr param_1,w2,param_1, LSL #0x2 BL2:d9001260 201000b9 str param_1,[param_2, #0x10] BL2:d9001264 200440b9 ldr param_1,[param_2, #0x4] BL2:d9001268 00000032 orr param_1,param_1,#0x1 BL2:d900126c 200400b9 str param_1,[param_2, #0x4] BL2:d9001270 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9001274 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined configure_mmu_el1(ulong param_1, ulong param_2, ulong param_3, long param_4, ulong param_5, long param_6) ;param_1 ulong x0 ;param_2 ulong x1 ;param_3 ulong x2 ;param_4 long x3 ;param_5 ulong x4 ;param_6 long x5 ;local_10 undefined8 -10 ;XREF[2,0]: d9001290,d90012b4 ;local_18 undefined8 -18 ;XREF[2,0]: d900128c,d90012b0 ;local_20 undefined8 -20 ;XREF[2,0]: d9001294,d900129c ;local_30 undefined8 -30 ;XREF[2,0]: d9001280,d9001340 ;local_40 undefined8 -40 ;XREF[2,0]: d9001278,d9001344 ;XREF[1,0]: d90011e8 BL2:d9001278 fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d900127c fd030091 mov x29,sp BL2:d9001280 f30b00f9 str x19,[sp, #local_30+0x40] BL2:d9001284 f30302aa mov x19,param_3 BL2:d9001288 62008052 mov param_3,#0x3 BL2:d900128c a41700f9 str param_5,[x29, #local_18+0x40] BL2:d9001290 a51b00f9 str param_6,[x29, #local_10+0x40] BL2:d9001294 a31300f9 str param_4,[x29, #local_20+0x40] BL2:d9001298 671d0094 bl mmap_add_region ;undefined mmap_add_region(ulong para... BL2:d900129c a31340f9 ldr param_4,[x29, #local_20+0x40] BL2:d90012a0 e00313aa mov param_1,x19 BL2:d90012a4 610013cb sub param_2,param_4,x19 BL2:d90012a8 22008052 mov param_3,#0x1 BL2:d90012ac 621d0094 bl mmap_add_region ;undefined mmap_add_region(ulong para... BL2:d90012b0 a41740f9 ldr param_5,[x29, #local_18+0x40] BL2:d90012b4 a51b40f9 ldr param_6,[x29, #local_10+0x40] BL2:d90012b8 e00304aa mov param_1,param_5 BL2:d90012bc a10004cb sub param_2,param_6,param_5 BL2:d90012c0 42008052 mov param_3,#0x2 BL2:d90012c4 5c1d0094 bl mmap_add_region ;undefined mmap_add_region(ulong para... BL2:d90012c8 000086d2 mov param_1,#0x3000 BL2:d90012cc 2020bbf2 movk param_1,#0xd901, LSL #16 BL2:d90012d0 010082d2 mov param_2,#0x1000 BL2:d90012d4 42008052 mov param_3,#0x2 BL2:d90012d8 571d0094 bl mmap_add_region ;undefined mmap_add_region(ulong para... BL2:d90012dc 8020bbd2 mov param_1,#0xd9040000 BL2:d90012e0 2100a0d2 mov param_2,#0x10000 BL2:d90012e4 22008052 mov param_3,#0x1 BL2:d90012e8 531d0094 bl mmap_add_region ;undefined mmap_add_region(ulong para... BL2:d90012ec 0020a0d2 mov param_1,#DDR:DAT_01000000 BL2:d90012f0 01e0afd2 mov param_2,#0x7f000000 BL2:d90012f4 e2008052 mov param_3,#0x7 BL2:d90012f8 4f1d0094 bl mmap_add_region ;undefined mmap_add_region(ulong para... BL2:d90012fc 0080b9d2 mov param_1,#0xcc000000 BL2:d9001300 0108a0d2 mov param_2,#0x400000 BL2:d9001304 62008052 mov param_3,#0x3 BL2:d9001308 4b1d0094 bl mmap_add_region ;undefined mmap_add_region(ulong para... BL2:d900130c 0000b8d2 mov param_1,#0xc0000000 BL2:d9001310 0180a1d2 mov param_2,#0xc000000 BL2:d9001314 42008052 mov param_3,#0x2 BL2:d9001318 471d0094 bl mmap_add_region ;undefined mmap_add_region(ulong para... BL2:d900131c 0040bbd2 mov param_1,#0xda000000 BL2:d9001320 0140a0d2 mov param_2,#0x2000000 BL2:d9001324 42008052 mov param_3,#0x2 BL2:d9001328 431d0094 bl mmap_add_region ;undefined mmap_add_region(ulong para... BL2:d900132c 0000bad2 mov param_1,#0xd0000000 BL2:d9001330 0140a0d2 mov param_2,#0x2000000 BL2:d9001334 42008052 mov param_3,#0x2 BL2:d9001338 3f1d0094 bl mmap_add_region ;undefined mmap_add_region(ulong para... BL2:d900133c 7c1d0094 bl FUN_d900892c ;undefined FUN_d900892c(void) BL2:d9001340 f30b40f9 ldr x19,[sp, #local_30+0x40] BL2:d9001344 fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d9001348 951d0014 b FUN_d900899c ;undefined FUN_d900899c(void) ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined dump_ddr_data(void) ;XREF[1,0]: d90065a0 BL2:d900134c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 nf_read(ulong param_1, ulong param_2, long param_3) ;param_1 ulong x0 ;param_2 ulong x1 ;param_3 long x2 ;local_10 undefined8 -10 ;XREF[2,0]: d9001350,d90013e0 ;XREF[1,0]: d9001a28 BL2:d9001350 fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d9001354 fd030091 mov x29,sp BL2:d9001358 03a588d2 mov x3,#0x4528 BL2:d900135c 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9001360 04008f12 mov w4,#0xffff87ff BL2:d9001364 640000b9 str w4,[x3]=>DAT_c8834528 BL2:d9001368 039e88d2 mov x3,#0x44f0 BL2:d900136c 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9001370 e41f8f12 mov w4,#0xffff8700 BL2:d9001374 640000b9 str w4,[x3]=>DAT_c88344f0 BL2:d9001378 039888d2 mov x3,#0x44c0 BL2:d900137c 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9001380 640040b9 ldr w4,[x3]=>DAT_c88344c0 BL2:d9001384 033ab012 mov w3,#0x7e2fffff BL2:d9001388 8400030a and w4,w4,w3 BL2:d900138c 039888d2 mov x3,#0x44c0 BL2:d9001390 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9001394 640000b9 str w4,[x3]=>DAT_c88344c0 BL2:d9001398 839888d2 mov x3,#0x44c4 BL2:d900139c 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90013a0 640040b9 ldr w4,[x3]=>DAT_c88344c4 BL2:d90013a4 839888d2 mov x3,#0x44c4 BL2:d90013a8 840c0032 orr w4,w4,#0xf BL2:d90013ac 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90013b0 640000b9 str w4,[x3]=>DAT_c88344c4 BL2:d90013b4 039191d2 mov x3,#0x8c88 BL2:d90013b8 24299552 mov w4,#0xa949 BL2:d90013bc 4405a072 movk w4,#0x2a, LSL #16 BL2:d90013c0 0322b8f2 movk x3,#0xc110, LSL #16 BL2:d90013c4 640000b9 str w4,[x3]=>DAT_c1108c88 BL2:d90013c8 0380b9d2 mov x3,#0xcc000000 BL2:d90013cc 030003aa orr x3,param_1,x3 BL2:d90013d0 e00301aa mov param_1,param_2 BL2:d90013d4 e10303aa mov param_2,x3 BL2:d90013d8 d71d0094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d90013dc 000080d2 mov param_1,#0x0 BL2:d90013e0 fd7bc1a8 ldp x29=>local_10,x30,[sp], #0x10 BL2:d90013e4 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;uint FUN_d90013e8(long param_1, undefined4 * param_2) ;param_1 long x0 ;param_2 undefined4 * x1 ;XREF[2,0]: d9001794,d900180c BL2:d90013e8 e20300aa mov x2,param_1 BL2:d90013ec 200040b9 ldr param_1,[param_2] BL2:d90013f0 405000b9 str param_1,[x2, #0x50] BL2:d90013f4 200440b9 ldr param_1,[param_2, #0x4] BL2:d90013f8 405400b9 str param_1,[x2, #0x54] BL2:d90013fc 435040b9 ldr w3,[x2, #0x50] BL2:d9001400 00008052 mov param_1,#0x0 BL2:d9001404 6300f036 tbz w3,#0x1e,LAB_d9001410 BL2:d9001408 404840b9 ldr param_1,[x2, #0x48] BL2:d900140c 00300012 and param_1,param_1,#0x1fff LAB_d9001410: ;XREF[1,0]: d9001404 BL2:d9001410 425c40b9 ldr w2,[x2, #0x5c] BL2:d9001414 220c00b9 str w2,[param_2, #0xc] BL2:d9001418 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;uint sdio_read_blocks(long sd_emmc, ulong src, uint dst, undefined8 size, long mode) ;sd_emmc long x0 ;src ulong x1 ;dst uint w2 ;size undefined8 x3 ;mode long x4 ;local_8 undefined8 -8 ;XREF[2,0]: d9001448,d9001458 ;local_10 undefined8 -10 ;XREF[2,0]: d9001444,d900147c ;local_20 undefined4 -20 ;XREF[5,0]: d900144c,d90014d4,d90014ec,d900154c,d9001558 ;local_98 undefined4 -98 ;XREF[1,0]: d900156c ;local_9c undefined4 -9c ;XREF[1,0]: d9001574 ;local_a0 undefined4 -a0 ;XREF[1,6]: d9001564,d9001518,d9001524,d9001534,d9001538 ; d900153c,d9001544 ;local_a4 undefined4 -a4 ;XREF[1,0]: d90014d0 ;local_a8 undefined4 -a8 ;XREF[1,0]: d9001508 ;local_ac undefined4 -ac ;XREF[1,0]: d90014a8 ;local_b0 undefined4 -b0 ;XREF[3,10]: d9001494,d90014a0,d90014f8,d9001454,d9001470 ; d9001478,d9001490,d90014a4,d90014b8,d90014bc ; d90014c8,d90014d8,d90014e8 ;local_c0 undefined8 -c0 ;XREF[2,0]: d9001428,d90015e4 ;local_d0 undefined8 -d0 ;XREF[2,0]: d9001424,d90015e8 ;local_e0 undefined8 -e0 ;XREF[2,0]: d900141c,d90015ec ;XREF[1,0]: d9001698 BL2:d900141c fd7bb2a9 stp x29,x30,[sp, #local_e0]! BL2:d9001420 fd030091 mov x29,sp BL2:d9001424 f35301a9 stp x19,x20,[sp, #local_d0+0xe0] BL2:d9001428 f51300f9 str x21,[sp, #local_c0+0xe0] BL2:d900142c f40301aa mov x20,src BL2:d9001430 f30300aa mov x19,sd_emmc BL2:d9001434 01008052 mov src,#0x0 BL2:d9001438 f50302aa mov x21,dst BL2:d900143c a0c30091 add sd_emmc,x29,#0x30 BL2:d9001440 021080d2 mov dst,#0x80 BL2:d9001444 a36b00f9 str size,[x29, #local_10+0xe0] BL2:d9001448 a46f00f9 str mode,[x29, #local_8+0xe0] BL2:d900144c bfc300b9 str wzr,[x29, #local_20+0xe0] ;Why are they filling this with zeros? BL2:d9001450 981d0094 bl memset ;ulong memset(ulong param_1, undefine... BL2:d9001454 a1cf4039 ldrb src,[x29, #local_b0+0xe3] BL2:d9001458 a46f40f9 ldr mode,[x29, #local_8+0xe0] BL2:d900145c 42028052 mov dst,#0x12 BL2:d9001460 41140033 bfxil src,dst,#0x0,#0x6 BL2:d9001464 e003142a mov sd_emmc,w20 BL2:d9001468 9f001feb cmp mode,xzr BL2:d900146c 94fe49d3 lsr x20,x20,#0x9 BL2:d9001470 a1cf0039 strb src,[x29, #local_b0+0xe3] BL2:d9001474 8012809a csel sd_emmc,x20,sd_emmc,ne BL2:d9001478 a1c74039 ldrb src,[x29, #local_b0+0xe1] BL2:d900147c a36b40f9 ldr size,[x29, #local_10+0xe0] BL2:d9001480 640000b4 cbz mode,LAB_d900148c BL2:d9001484 21001f32 orr src,src,#0x2 BL2:d9001488 02000014 b LAB_d9001490 LAB_d900148c: ;XREF[1,0]: d9001480 BL2:d900148c 21781e12 and src,src,#0xfffffffd LAB_d9001490: ;XREF[1,0]: d9001488 BL2:d9001490 a1c70039 strb src,[x29, #local_b0+0xe1] BL2:d9001494 a1634079 ldrh src,[x29, #local_b0+0xe0] BL2:d9001498 e2008052 mov dst,#0x7 BL2:d900149c 61200033 bfxil src,size,#0x0,#0x9 BL2:d90014a0 a1630079 strh src,[x29, #local_b0+0xe0] BL2:d90014a4 a1cb4039 ldrb src,[x29, #local_b0+0xe2] BL2:d90014a8 a03700b9 str sd_emmc,[x29, #local_ac+0xe0] BL2:d90014ac 21001e32 orr src,src,#0x4 BL2:d90014b0 21781c12 and src,src,#0xfffffff7 BL2:d90014b4 21101f12 and src,src,#0x3e BL2:d90014b8 a1cb0039 strb src,[x29, #local_b0+0xe2] BL2:d90014bc a1c74039 ldrb src,[x29, #local_b0+0xe1] BL2:d90014c0 410c1c33 bfm src,dst,#0x1c,#0x3 BL2:d90014c4 21001d32 orr src,src,#0x8 BL2:d90014c8 a1c70039 strb src,[x29, #local_b0+0xe1] BL2:d90014cc a1c30291 add src,x29,#0xb0 BL2:d90014d0 a13f00b9 str src,[x29, #local_a4+0xe0] BL2:d90014d4 a1034339 ldrb src,[x29, #local_20+0xe0] BL2:d90014d8 a2cf4039 ldrb dst,[x29, #local_b0+0xe3] BL2:d90014dc 21781f12 and src,src,#0xfffffffe BL2:d90014e0 42601932 orr dst,dst,#0xffffff80 BL2:d90014e4 21001f32 orr src,src,#0x2 BL2:d90014e8 a2cf0039 strb dst,[x29, #local_b0+0xe3] BL2:d90014ec a1030339 strb src,[x29, #local_20+0xe0] BL2:d90014f0 e1ff8752 mov src,#0x3fff BL2:d90014f4 614a00b9 str src,[x19, #0x48] BL2:d90014f8 a13340b9 ldr src,[x29, #local_b0+0xe0] BL2:d90014fc a27a1f12 and dst,w21,#0xfffffffe BL2:d9001500 615200b9 str src,[x19, #0x50] BL2:d9001504 625a00b9 str dst,[x19, #0x58] BL2:d9001508 a23b00b9 str dst,[x29, #local_a8+0xe0] BL2:d900150c 605600b9 str sd_emmc,[x19, #0x54] LAB_d9001510: ;XREF[1,0]: d9001514 BL2:d9001510 604a40b9 ldr sd_emmc,[x19, #0x48] BL2:d9001514 e0ff6f36 tbz sd_emmc,#0xd,LAB_d9001510 BL2:d9001518 a00f4139 ldrb sd_emmc,[x29, #local_a0+0xe3] BL2:d900151c 81018052 mov src,#0xc BL2:d9001520 20140033 bfxil sd_emmc,src,#0x0,#0x6 BL2:d9001524 a10b4139 ldrb src,[x29, #local_a0+0xe2] BL2:d9001528 00601932 orr sd_emmc,sd_emmc,#0xffffff80 BL2:d900152c 21781d12 and src,src,#0xfffffffb BL2:d9001530 21781f12 and src,src,#0xfffffffe BL2:d9001534 a10b0139 strb src,[x29, #local_a0+0xe2] BL2:d9001538 a1074139 ldrb src,[x29, #local_a0+0xe1] BL2:d900153c a00f0139 strb sd_emmc,[x29, #local_a0+0xe3] BL2:d9001540 20041e32 orr sd_emmc,src,#0xc BL2:d9001544 a0070139 strb sd_emmc,[x29, #local_a0+0xe1] BL2:d9001548 a1030191 add src,x29,#0x40 BL2:d900154c a0c340b9 ldr sd_emmc,[x29, #local_20+0xe0] BL2:d9001550 21fc42d3 lsr src,src,#0x2 BL2:d9001554 20741e33 bfm sd_emmc,src,#0x1e,#0x1d BL2:d9001558 a0c300b9 str sd_emmc,[x29, #local_20+0xe0] BL2:d900155c e0ff8752 mov sd_emmc,#0x3fff BL2:d9001560 604a00b9 str sd_emmc,[x19, #0x48] BL2:d9001564 a04340b9 ldr sd_emmc,[x29, #local_a0+0xe0] BL2:d9001568 605200b9 str sd_emmc,[x19, #0x50] BL2:d900156c a04b40b9 ldr sd_emmc,[x29, #local_98+0xe0] BL2:d9001570 605a00b9 str sd_emmc,[x19, #0x58] BL2:d9001574 a04740b9 ldr sd_emmc,[x29, #local_9c+0xe0] BL2:d9001578 605600b9 str sd_emmc,[x19, #0x54] LAB_d900157c: ;XREF[1,0]: d9001580 BL2:d900157c 604a40b9 ldr sd_emmc,[x19, #0x48] BL2:d9001580 e0ff6f36 tbz sd_emmc,#0xd,LAB_d900157c BL2:d9001584 011c0053 uxtb src,sd_emmc BL2:d9001588 3f001f6b cmp src,wzr BL2:d900158c f3079f1a cset w19,ne BL2:d9001590 012048d3 ubfx src,sd_emmc,#0x8,#0x1 BL2:d9001594 7306012a orr w19,w19,src, LSL #0x1 BL2:d9001598 012449d3 ubfx src,sd_emmc,#0x9,#0x1 BL2:d900159c 730a012a orr w19,w19,src, LSL #0x2 BL2:d90015a0 01284ad3 ubfx src,sd_emmc,#0xa,#0x1 BL2:d90015a4 730e012a orr w19,w19,src, LSL #0x3 BL2:d90015a8 012c4bd3 ubfx src,sd_emmc,#0xb,#0x1 BL2:d90015ac 7312012a orr w19,w19,src, LSL #0x4 BL2:d90015b0 60006036 tbz sd_emmc,#0xc,LAB_d90015bc BL2:d90015b4 73021b32 orr w19,w19,#0x20 BL2:d90015b8 02000014 b LAB_d90015c0 LAB_d90015bc: ;XREF[1,0]: d90015b0 BL2:d90015bc 33010034 cbz w19,LAB_d90015e0 LAB_d90015c0: ;XREF[1,0]: d90015b8 BL2:d90015c0 40000090 adrp sd_emmc,0xd9009000 BL2:d90015c4 00a00191 add sd_emmc=>...,sd_emmc,#0x68 ;= "sd/emmc read data error: ret=" BL2:d90015c8 a91d0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d90015cc e003132a mov sd_emmc,w19 BL2:d90015d0 c81d0094 bl serial_put_dec ;undefined serial_put_dec(ulong param_1) BL2:d90015d4 40000090 adrp sd_emmc,0xd9009000 BL2:d90015d8 00781691 add sd_emmc=>CHAR_NL,sd_emmc,#0x59e ;= '\n' BL2:d90015dc a41d0094 bl serial_puts ;void serial_puts(char * param_1) LAB_d90015e0: ;XREF[1,0]: d90015bc BL2:d90015e0 e003132a mov sd_emmc,w19 BL2:d90015e4 f51340f9 ldr x21,[sp, #local_c0+0xe0] BL2:d90015e8 f35341a9 ldp x19,x20,[sp, #local_d0+0xe0] BL2:d90015ec fd7bcea8 ldp x29=>local_e0,x30,[sp], #0xe0 BL2:d90015f0 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;uint sdio_read_data(long boot_device, ulong src, int dst, long size) ;boot_device long x0 ;src ulong x1 ;dst int w2 ;size long x3 ;device_reg... undefined8 x21 ;XREF[1,0]: d9001630 ;local_10 undefined8 -10 ;XREF[2,0]: d9001604,d90016c0 ;local_20 undefined8 -20 ;XREF[2,0]: d9001600,d90016bc ;local_30 undefined8 -30 ;XREF[2,0]: d90015fc,d90016b8 ;local_40 undefined8 -40 ;XREF[2,0]: d90015f4,d90016c4 ;XREF[3,0]: d90016ec,d9001764,d9001a40 BL2:d90015f4 fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d90015f8 fd030091 mov x29,sp BL2:d90015fc f35301a9 stp x19,x20,[sp, #local_30+0x40] BL2:d9001600 f55b02a9 stp x21,x22,[sp, #local_20+0x40] BL2:d9001604 f76303a9 stp x23,x24,[sp, #local_10+0x40] BL2:d9001608 1f0400f1 cmp boot_device,#0x1 BL2:d900160c f40301aa mov x20,src BL2:d9001610 f60302aa mov x22,dst BL2:d9001614 f30303aa mov x19,size BL2:d9001618 00010054 b.eq LAB_d9001638 ;SD BL2:d900161c 1f1000f1 cmp boot_device,#0x4 BL2:d9001620 00010054 b.eq LAB_d9001640 BL2:d9001624 40000090 adrp boot_device,0xd9009000 BL2:d9001628 00180291 add boot_devi...,boot_device,#0x86 ;= "sd/emmc boot device error\n" BL2:d900162c 901d0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9001630 150080d2 mov device_register,#0x0 BL2:d9001634 05000014 b LAB_d9001648 ;eMMC LAB_d9001638: ;XREF[1,0]: d9001618 BL2:d9001638 150088d2 mov device_register,#0x4000 BL2:d900163c 02000014 b LAB_d9001644 LAB_d9001640: ;XREF[1,0]: d9001620 BL2:d9001640 150084d2 mov device_register,#0x2000 LAB_d9001644: ;XREF[1,0]: d900163c BL2:d9001644 f500baf2 movk device_register,#0xd007, LSL #16 LAB_d9001648: ;XREF[1,0]: d9001634 BL2:d9001648 804880d2 mov boot_device,#0x244 BL2:d900164c 0042bbf2 movk boot_device,#0xda10, LSL #16 BL2:d9001650 18004039 ldrb w24,[boot_device]=>DAT_da100244 BL2:d9001654 804880d2 mov boot_device,#0x244 BL2:d9001658 0042bbf2 movk boot_device,#0xda10, LSL #16 BL2:d900165c 00044039 ldrb boot_device,[boot_device, #0x1]=>DAT_... BL2:d9001660 181f47d3 ubfx x24,x24,#0x7,#0x1 BL2:d9001664 000441d3 ubfx boot_device,boot_device,#0x1,#0x1 BL2:d9001668 1803002a orr w24,w24,boot_device BL2:d900166c 73fe0791 add x19,x19,#0x1ff BL2:d9001670 73fe49d3 lsr x19,x19,#0x9 BL2:d9001674 d60214cb sub x22,x22,x20 BL2:d9001678 17108052 mov w23,#0x80 BL2:d900167c 18034092 and x24,x24,#0x1 LAB_d9001680: ;XREF[1,0]: d90016b0 BL2:d9001680 7f020271 cmp w19,#0x80 BL2:d9001684 e00315aa mov boot_device=>DAT...,device_register BL2:d9001688 e10314aa mov src,x20 BL2:d900168c c202148b add dst,x22,x20 BL2:d9001690 6392971a csel size,w19,w23,ls BL2:d9001694 e40318aa mov x4,x24 BL2:d9001698 61ffff97 bl sdio_read_blocks ;uint sdio_read_blocks(long sd_emmc, ... BL2:d900169c c0000035 cbnz boot_device,LAB_d90016b4 BL2:d90016a0 7f020271 cmp w19,#0x80 BL2:d90016a4 89000054 b.ls LAB_d90016b4 BL2:d90016a8 94424091 add x20,x20,#0x10, LSL #12 BL2:d90016ac 73020251 sub w19,w19,#0x80 BL2:d90016b0 f4ffff17 b LAB_d9001680 LAB_d90016b4: ;XREF[2,0]: d900169c,d90016a4 BL2:d90016b4 007c4092 and boot_device,boot_device,#0xffffffff BL2:d90016b8 f35341a9 ldp x19,x20,[sp, #local_30+0x40] BL2:d90016bc f55b42a9 ldp device_register,x22,[sp, #local_20+0x40] BL2:d90016c0 f76343a9 ldp x23,x24,[sp, #local_10+0x40] BL2:d90016c4 fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d90016c8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;bool FUN_d90016cc(long param_1, long param_2) ;param_1 long x0 ;param_2 long x1 ;local_10 undefined8 -10 ;XREF[2,0]: d90016d8,d9001730 ;local_20 undefined8 -20 ;XREF[2,0]: d90016cc,d9001734 ;XREF[1,0]: d90017d0 BL2:d90016cc fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d90016d0 fd030091 mov x29,sp BL2:d90016d4 024080d2 mov x2,#0x200 BL2:d90016d8 f30b00f9 str x19,[sp, #local_10+0x20] BL2:d90016dc 0230a0f2 movk x2,#0x180, LSL #16 BL2:d90016e0 f30301aa mov x19,param_2 BL2:d90016e4 034080d2 mov x3,#0x200 BL2:d90016e8 010080d2 mov param_2,#0x0 BL2:d90016ec c2ffff97 bl sdio_read_data ;uint sdio_read_data(long boot_device... BL2:d90016f0 014080d2 mov param_2,#0x200 BL2:d90016f4 e00313aa mov param_1,x19 BL2:d90016f8 0130a0f2 movk param_2,#0x180, LSL #16 BL2:d90016fc 024080d2 mov x2,#0x200 BL2:d9001700 001d0094 bl FUN_d9008b00 ;int FUN_d9008b00(long param_1, long ... BL2:d9001704 f303002a mov w19,param_1 BL2:d9001708 c0000034 cbz param_1,LAB_d9001720 BL2:d900170c 40000090 adrp param_1,0xd9009000 BL2:d9001710 00840291 add param_1=>DAT_d90090a1,param_1,#0xa1 ;= 2Dh - BL2:d9001714 561d0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9001718 20008052 mov param_1,#0x1 BL2:d900171c 05000014 b LAB_d9001730 LAB_d9001720: ;XREF[1,0]: d9001708 BL2:d9001720 40000090 adrp param_1,0xd9009000 BL2:d9001724 00940291 add param_1=>DAT_d90090a5,param_1,#0xa5 ;= 2Dh - BL2:d9001728 511d0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d900172c e003132a mov param_1,w19 LAB_d9001730: ;XREF[1,0]: d900171c BL2:d9001730 f30b40f9 ldr x19,[sp, #local_10+0x20] BL2:d9001734 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9001738 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d900173c(long param_1) ;param_1 long x0 ;local_10 undefined4 -10 ;XREF[6,0]: d90017a8,d90017b4,d90017b8,d9001810,d9001818 ; d900181c ;local_1c undefined4 -1c ;XREF[2,0]: d9001774,d90017e0 ;local_20 undefined4 -20 ;XREF[2,4]: d9001770,d90017f0,d900177c,d9001790,d90017f8 ; d9001808 ;local_30 undefined8 -30 ;XREF[2,0]: d9001748,d9001830 ;local_40 undefined8 -40 ;XREF[2,0]: d9001744,d900182c ;local_50 undefined8 -50 ;XREF[2,0]: d900173c,d9001834 ;XREF[1,0]: d900189c BL2:d900173c fd7bbba9 stp x29,x30,[sp, #local_50]! BL2:d9001740 fd030091 mov x29,sp BL2:d9001744 f35301a9 stp x19,x20,[sp, #local_40+0x50] BL2:d9001748 f51300f9 str x21,[sp, #local_30+0x50] BL2:d900174c 1f0400f1 cmp param_1,#0x1 BL2:d9001750 f40300aa mov x20,param_1 BL2:d9001754 c1060054 b.ne LAB_d900182c BL2:d9001758 010080d2 mov x1,#0x0 BL2:d900175c 0230a0d2 mov x2,#DDR:DAT_01800000 BL2:d9001760 034080d2 mov x3,#0x200 BL2:d9001764 a4ffff97 bl sdio_read_data ;uint sdio_read_data(long boot_device... BL2:d9001768 00408052 mov param_1,#0x200 BL2:d900176c e076a072 movk param_1,#0x3b7, LSL #16 BL2:d9001770 bf3300b9 str wzr,[x29, #local_20+0x50] BL2:d9001774 a03700b9 str param_1,[x29, #local_1c+0x50] BL2:d9001778 800e8052 mov param_1,#0x74 BL2:d900177c a0c70039 strb param_1,[x29, #local_20+0x51] BL2:d9001780 000088d2 mov param_1,#0x4000 BL2:d9001784 a1c30091 add x1,x29,#0x30 BL2:d9001788 d5008052 mov w21,#0x6 BL2:d900178c e000baf2 movk param_1=>DAT_d0074000,#0xd007, LSL #16 BL2:d9001790 b5cf0039 strb w21,[x29, #local_20+0x53] BL2:d9001794 15ffff97 bl FUN_d90013e8 ;uint FUN_d90013e8(long param_1, unde... BL2:d9001798 000088d2 mov param_1,#0x4000 BL2:d900179c e000baf2 movk param_1,#0xd007, LSL #16 BL2:d90017a0 004440b9 ldr param_1,[param_1, #offset DAT_d007404... BL2:d90017a4 41008052 mov w1,#0x2 BL2:d90017a8 a04300b9 str param_1,[x29, #local_10+0x50] BL2:d90017ac 13040012 and w19,param_1,#0x3 BL2:d90017b0 20040033 bfxil param_1,w1,#0x0,#0x2 BL2:d90017b4 a0030139 strb param_1,[x29, #local_10+0x50] BL2:d90017b8 a14340b9 ldr w1,[x29, #local_10+0x50] BL2:d90017bc 000088d2 mov param_1,#0x4000 BL2:d90017c0 e000baf2 movk param_1,#0xd007, LSL #16 BL2:d90017c4 014400b9 str w1,[param_1, #offset DAT_d0074044 &0xff] BL2:d90017c8 e00314aa mov param_1,x20 BL2:d90017cc 0130a0d2 mov x1,#DDR:DAT_01800000 BL2:d90017d0 bfffff97 bl FUN_d90016cc ;bool FUN_d90016cc(long param_1, long... BL2:d90017d4 c0020034 cbz param_1,LAB_d900182c BL2:d90017d8 e076a052 mov param_1,#0x3b70000 BL2:d90017dc 0020132a orr param_1,param_1,w19, LSL #0x8 BL2:d90017e0 a03700b9 str param_1,[x29, #local_1c+0x50] BL2:d90017e4 e1008052 mov w1,#0x7 BL2:d90017e8 00008052 mov param_1,#0x0 BL2:d90017ec 200c1c33 bfm param_1,w1,#0x1c,#0x3 BL2:d90017f0 bf3300b9 str wzr,[x29, #local_20+0x50] BL2:d90017f4 00001e32 orr param_1,param_1,#0x4 BL2:d90017f8 a0c70039 strb param_1,[x29, #local_20+0x51] BL2:d90017fc 000088d2 mov param_1,#0x4000 BL2:d9001800 a1c30091 add x1,x29,#0x30 BL2:d9001804 e000baf2 movk param_1=>DAT_d0074000,#0xd007, LSL #16 BL2:d9001808 b5cf0039 strb w21,[x29, #local_20+0x53] BL2:d900180c f7feff97 bl FUN_d90013e8 ;uint FUN_d90013e8(long param_1, unde... BL2:d9001810 a0034139 ldrb param_1,[x29, #local_10+0x50] BL2:d9001814 60060033 bfxil param_1,w19,#0x0,#0x2 BL2:d9001818 a0030139 strb param_1,[x29, #local_10+0x50] BL2:d900181c a14340b9 ldr w1,[x29, #local_10+0x50] BL2:d9001820 000088d2 mov param_1,#0x4000 BL2:d9001824 e000baf2 movk param_1=>DAT_d0074000,#0xd007, LSL #16 BL2:d9001828 014400b9 str w1,[param_1, #offset DAT_d0074044 &0xff] LAB_d900182c: ;XREF[2,0]: d9001754,d90017d4 BL2:d900182c f35341a9 ldp x19,x20,[sp, #local_40+0x50] BL2:d9001830 f51340f9 ldr x21,[sp, #local_30+0x50] BL2:d9001834 fd7bc5a8 ldp x29=>local_50,x30,[sp], #0x50 BL2:d9001838 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;uint get_boot_device(void) ;boot_device undefined4 w0 ;XREF[1,0]: d9001864 ;XREF[4,0]: d9001874,d90018d0,d90064c8,d9007ed8 BL2:d900183c 800380d2 mov x0,#0x1c BL2:d9001840 0042bbf2 movk x0,#0xda10, LSL #16 BL2:d9001844 010040b9 ldr w1,[x0]=>DAT_da10001c ;BOOT_DEVICE_USB_FORCEMODE BL2:d9001848 c00080d2 mov x0,#0x6 BL2:d900184c 213c4cd3 ubfx x1,x1,#0xc,#0x4 BL2:d9001850 3f080071 cmp w1,#0x2 BL2:d9001854 a0000054 b.eq LAB_d9001868 BL2:d9001858 004880d2 mov x0,#0x240 BL2:d900185c 0042bbf2 movk x0,#0xda10, LSL #16 BL2:d9001860 000040b9 ldr w0,[x0]=>DAT_da100240 ;Actually get the boot device BL2:d9001864 000c4092 and boot_device,boot_device,#0xf LAB_d9001868: ;XREF[1,0]: d9001854 BL2:d9001868 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 storage_init(void) ;local_10 undefined8 -10 ;XREF[2,0]: d900186c,d90018a4 ;XREF[1,0]: d90011f0 BL2:d900186c fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d9001870 fd030091 mov x29,sp BL2:d9001874 f2ffff97 bl get_boot_device ;uint get_boot_device(void) BL2:d9001878 1f0400f1 cmp x0,#0x1 BL2:d900187c 00010054 b.eq LAB_d900189c BL2:d9001880 1f0800f1 cmp x0,#0x2 BL2:d9001884 e1000054 b.ne LAB_d90018a0 BL2:d9001888 40000090 adrp x0,0xd9009000 BL2:d900188c 00a40291 add x0=>s_NAND_init_d90090a9,x0,#0xa9 ;= "NAND init\n" BL2:d9001890 f71c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9001894 61170094 bl nfio_init ;int nfio_init(void) BL2:d9001898 02000014 b LAB_d90018a0 LAB_d900189c: ;XREF[1,0]: d900187c BL2:d900189c a8ffff97 bl FUN_d900173c ;undefined FUN_d900173c(long param_1) LAB_d90018a0: ;XREF[2,0]: d9001884,d9001898 BL2:d90018a0 000080d2 mov x0,#0x0 BL2:d90018a4 fd7bc1a8 ldp x29=>local_10,x30,[sp], #0x10 BL2:d90018a8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 storage_load(ulong src, ulong dst, ulong size, byte * param_4) ;src ulong x0 ;XREF[2,0]: d90018d0,d9001a30 ;dst ulong x1 ;size ulong x2 ;param_4 byte * x3 ;boot_device undefined4 w0 ;XREF[2,0]: d90018d0,d9001a30 ;device_name undefined8 x22 ;XREF[1,0]: d9001938 ;mmc_device_id undefined8 x0 ;XREF[1,0]: d9001a30 ;local_10 undefined8 -10 ;XREF[2,0]: d90018b8,d9001a70 ;local_20 undefined8 -20 ;XREF[2,0]: d90018bc,d9001a6c ;local_30 undefined8 -30 ;XREF[2,0]: d90018b4,d9001a68 ;local_40 undefined8 -40 ;XREF[2,0]: d90018ac,d9001a74 ;XREF[2,0]: d90065c0,d900667c BL2:d90018ac fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d90018b0 fd030091 mov x29,sp BL2:d90018b4 f35301a9 stp x19,x20,[sp, #local_30+0x40] BL2:d90018b8 f76303a9 stp x23,x24,[sp, #local_10+0x40] BL2:d90018bc f55b02a9 stp x21,x22,[sp, #local_20+0x40] BL2:d90018c0 f30300aa mov x19,src BL2:d90018c4 f50301aa mov x21,dst BL2:d90018c8 f40302aa mov x20,size BL2:d90018cc f80303aa mov x24,param_4 BL2:d90018d0 dbffff97 bl get_boot_device ;uint get_boot_device(void) BL2:d90018d4 1f1800f1 cmp boot_device,#0x6 BL2:d90018d8 f70300aa mov x23,boot_device BL2:d90018dc 88030054 b.hi LAB_d900194c BL2:d90018e0 1f180071 cmp boot_device,#0x6 BL2:d90018e4 48030054 b.hi LAB_d900194c BL2:d90018e8 40000090 adrp boot_device,0xd9009000 BL2:d90018ec 00600191 add boot_device,boot_device,#0x58 BL2:d90018f0 01487738 ldrb dst,[boot_device, w23, UXTW ]=>switch... BL2:d90018f4 62000010 adr size,0xd9001900 BL2:d90018f8 4188218b add dst,size,dst, SXTB #0x2 switchD: ; FWD[6,0]: d9001900,d900190c,d9001918,d9001924 ; d9001930,d9001940 BL2:d90018fc 20001fd6 br dst caseD_0: ;XREF[1,0]: d90018fc BL2:d9001900 56000090 adrp x22,0xd9009000 ;Reserved BL2:d9001904 d6d20291 add x22,x22,#0xb4 BL2:d9001908 13000014 b LAB_d9001954 caseD_1: ;XREF[1,0]: d90018fc BL2:d900190c 56000090 adrp x22,0xd9009000 BL2:d9001910 d6e20291 add x22,x22,#0xb8 BL2:d9001914 10000014 b LAB_d9001954 caseD_2: ;XREF[1,0]: d90018fc BL2:d9001918 56000090 adrp x22,0xd9009000 BL2:d900191c d6f60291 add x22,x22,#0xbd BL2:d9001920 0d000014 b LAB_d9001954 caseD_3: ;XREF[1,0]: d90018fc BL2:d9001924 56000090 adrp x22,0xd9009000 BL2:d9001928 d60a0391 add x22,x22,#0xc2 BL2:d900192c 0a000014 b LAB_d9001954 caseD_4: ;XREF[1,0]: d90018fc BL2:d9001930 56000090 adrp x22,0xd9009000 BL2:d9001934 1f2003d5 nop BL2:d9001938 d61a0391 add device_name,device_name,#0xc6 BL2:d900193c 06000014 b LAB_d9001954 caseD_6: ;XREF[1,0]: d90018fc caseD_5: BL2:d9001940 56000090 adrp device_name,0xd9009000 BL2:d9001944 d6260391 add device_name,device_name,#0xc9 BL2:d9001948 03000014 b LAB_d9001954 LAB_d900194c: ;XREF[2,0]: d90018dc,d90018e4 BL2:d900194c 56000090 adrp device_name,0xd9009000 BL2:d9001950 d6360391 add device_name,device_name,#0xcd LAB_d9001954: ;XREF[6,0]: d9001908,d9001914,d9001920,d900192c ; d900193c,d9001948 BL2:d9001954 40000090 adrp boot_device,0xd9009000 BL2:d9001958 00540391 add boot_devi...,boot_device,#0xd5 ;= "Load " BL2:d900195c c41c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9001960 e00318aa mov boot_device,x24 BL2:d9001964 c21c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9001968 40000090 adrp boot_device,0xd9009000 BL2:d900196c 006c0391 add boot_devi...,boot_device,#0xdb ;= " from " BL2:d9001970 bf1c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9001974 e00316aa mov boot_device=>s_USB_d90090c9,device_name ;= "USB" BL2:d9001978 bd1c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d900197c 40000090 adrp boot_device,0xd9009000 BL2:d9001980 00880391 add boot_devi...,boot_device,#0xe2 ;= ", src: 0x" BL2:d9001984 ba1c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9001988 01048052 mov dst,#0x20 BL2:d900198c e00313aa mov boot_device,x19 BL2:d9001990 c31c0094 bl serial_put_hex ;undefined serial_put_hex(ulong param... BL2:d9001994 40000090 adrp boot_device,0xd9009000 BL2:d9001998 00b00391 add boot_devi...,boot_device,#0xec ;= ", des: 0x" BL2:d900199c b41c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d90019a0 01048052 mov dst,#0x20 BL2:d90019a4 e00315aa mov boot_device,x21 BL2:d90019a8 bd1c0094 bl serial_put_hex ;undefined serial_put_hex(ulong param... BL2:d90019ac 40000090 adrp boot_device,0xd9009000 BL2:d90019b0 00d80391 add boot_devi...,boot_device,#0xf6 ;= ", size: 0x" BL2:d90019b4 ae1c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d90019b8 e00314aa mov boot_device,x20 BL2:d90019bc 01048052 mov dst,#0x20 BL2:d90019c0 b71c0094 bl serial_put_hex ;undefined serial_put_hex(ulong param... BL2:d90019c4 40000090 adrp boot_device,0xd9009000 BL2:d90019c8 00781691 add boot_device=>CHAR_NL,boot_device,#0x59e ;= '\n' BL2:d90019cc a81c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d90019d0 f70600d1 sub x23,x23,#0x1 BL2:d90019d4 ff1600f1 cmp x23,#0x5 BL2:d90019d8 08040054 b.hi LAB_d9001a58 BL2:d90019dc ff160071 cmp w23,#0x5 BL2:d90019e0 c8030054 b.hi LAB_d9001a58 BL2:d90019e4 40000090 adrp boot_device,0xd9009000 BL2:d90019e8 00800191 add boot_device,boot_device,#0x60 BL2:d90019ec 01487738 ldrb dst,[boot_device, w23, UXTW ]=>switch... BL2:d90019f0 62000010 adr size,0xd90019fc BL2:d90019f4 4188218b add dst,size,dst, SXTB #0x2 switchD: ; FWD[5,0]: d90019fc,d9001a04,d9001a1c,d9001a30 ; d9001a48 BL2:d90019f8 20001fd6 br dst ;eMMC caseD_0: ;XREF[1,0]: d90019f8 BL2:d90019fc 200080d2 mov boot_device,#0x1 BL2:d9001a00 0d000014 b LAB_d9001a34 caseD_1: ;XREF[1,0]: d90019f8 BL2:d9001a04 e103132a mov dst,w19 BL2:d9001a08 e203152a mov size,w21 BL2:d9001a0c e303142a mov param_4,w20 BL2:d9001a10 40008052 mov boot_device,#0x2 BL2:d9001a14 bb170094 bl nand_read ;int nand_read(undefined8 param_1, ui... BL2:d9001a18 10000014 b LAB_d9001a58 caseD_2: ;XREF[1,0]: d90019f8 BL2:d9001a1c e00313aa mov boot_device,x19 BL2:d9001a20 e10315aa mov dst,x21 BL2:d9001a24 e20314aa mov size,x20 BL2:d9001a28 4afeff97 bl nf_read ;undefined8 nf_read(ulong param_1, ul... BL2:d9001a2c 0b000014 b LAB_d9001a58 caseD_3: ;XREF[1,0]: d90019f8 BL2:d9001a30 800080d2 mov mmc_device_id,#0x4 LAB_d9001a34: ;XREF[1,0]: d9001a00 BL2:d9001a34 e10313aa mov dst,x19 BL2:d9001a38 e20315aa mov size,x21 BL2:d9001a3c e30314aa mov param_4,x20 BL2:d9001a40 edfeff97 bl sdio_read_data ;uint sdio_read_data(long boot_device... BL2:d9001a44 05000014 b LAB_d9001a58 caseD_5: ;XREF[1,0]: d90019f8 caseD_4: BL2:d9001a48 e00313aa mov mmc_device_id,x19 BL2:d9001a4c e10315aa mov dst,x21 BL2:d9001a50 e20314aa mov size,x20 BL2:d9001a54 07190094 bl FUN_d9007e70 ;undefined8 FUN_d9007e70(long param_1... LAB_d9001a58: ;XREF[5,0]: d90019d8,d90019e0,d9001a18,d9001a2c ; d9001a44 BL2:d9001a58 e00315aa mov mmc_device_id,x21 BL2:d9001a5c e10314aa mov dst,x20 BL2:d9001a60 f31c0094 bl inv_dcache_range ;undefined inv_dcache_range(ulong par... BL2:d9001a64 000080d2 mov mmc_device_id,#0x0 BL2:d9001a68 f35341a9 ldp x19,x20,[sp, #local_30+0x40] BL2:d9001a6c f55b42a9 ldp x21,device_name,[sp, #local_20+0x40] BL2:d9001a70 f76343a9 ldp x23,x24,[sp, #local_10+0x40] BL2:d9001a74 fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d9001a78 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;uint FUN_d9001a7c(void) ;XREF[1,0]: d9007f9c BL2:d9001a7c 004880d2 mov x0,#0x240 BL2:d9001a80 0042bbf2 movk x0,#0xda10, LSL #16 BL2:d9001a84 000040b9 ldr w0,[x0]=>DAT_da100240 BL2:d9001a88 007c50d3 ubfx x0,x0,#0x10,#0x10 BL2:d9001a8c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined hw_update(undefined4 * param_1, uint param_2, char param_3) ;param_1 undefined4 * x0 ;param_2 uint w1 ;param_3 char w2 ;XREF[3,0]: d9001db8,d9001df4,d9001e94 BL2:d9001a90 421c0053 uxtb param_3,param_3 BL2:d9001a94 22040035 cbnz param_3,LAB_d9001b18 BL2:d9001a98 23140012 and w3,param_2,#0x3f BL2:d9001a9c e3030034 cbz w3,LAB_d9001b18 BL2:d9001aa0 40000090 adrp param_1,0xd9009000 BL2:d9001aa4 00040491 add param_1=>...,param_1,#0x101 ;= "Err:sha\n" BL2:d9001aa8 711c0014 b serial_puts ;void serial_puts(char * param_1) LAB_d9001aac: ;XREF[1,0]: d9001b18 BL2:d9001aac 3ffc0071 cmp param_2,#0x3f BL2:d9001ab0 03008052 mov w3,#0x0 BL2:d9001ab4 69000054 b.ls LAB_d9001ac0 BL2:d9001ab8 23000151 sub w3,param_2,#0x40 BL2:d9001abc 01088052 mov param_2,#0x40 LAB_d9001ac0: ;XREF[2,0]: d9001ab4,d9001ae0 BL2:d9001ac0 3f0c0071 cmp param_2,#0x3 BL2:d9001ac4 69040054 b.ls LAB_d9001b50 BL2:d9001ac8 21100071 subs param_2,param_2,#0x4 BL2:d9001acc a0020054 b.eq LAB_d9001b20 LAB_d9001ad0: ;XREF[2,0]: d9001b4c,d9001b7c BL2:d9001ad0 054440b8 ldr w5,[param_1], #0x4 BL2:d9001ad4 841984d2 mov x4,#0x20cc BL2:d9001ad8 6450bbf2 movk x4,#0xda83, LSL #16 BL2:d9001adc 850000b9 str w5,[x4]=>DAT_da8320cc BL2:d9001ae0 01ffff35 cbnz param_2,LAB_d9001ac0 LAB_d9001ae4: ;XREF[1,0]: d9001af0 BL2:d9001ae4 011984d2 mov param_2,#0x20c8 BL2:d9001ae8 6150bbf2 movk param_2,#0xda83, LSL #16 BL2:d9001aec 210040b9 ldr param_2,[param_2]=>DAT_da8320c8 BL2:d9001af0 a1ffff37 tbnz param_2,#0x1f,LAB_d9001ae4 BL2:d9001af4 011984d2 mov param_2,#0x20c8 BL2:d9001af8 6150bbf2 movk param_2,#0xda83, LSL #16 BL2:d9001afc 240040b9 ldr w4,[param_2]=>DAT_da8320c8 BL2:d9001b00 011984d2 mov param_2,#0x20c8 BL2:d9001b04 84740a12 and w4,w4,#0xffcfffff BL2:d9001b08 6150bbf2 movk param_2,#0xda83, LSL #16 BL2:d9001b0c 84000a32 orr w4,w4,#0x400000 BL2:d9001b10 240000b9 str w4,[param_2]=>DAT_da8320c8 BL2:d9001b14 e103032a mov param_2,w3 LAB_d9001b18: ;XREF[2,0]: d9001a94,d9001a9c BL2:d9001b18 a1fcff35 cbnz param_2,LAB_d9001aac BL2:d9001b1c 19000014 b LAB_d9001b80 LAB_d9001b20: ;XREF[1,0]: d9001acc BL2:d9001b20 041984d2 mov x4,#0x20c8 BL2:d9001b24 6450bbf2 movk x4,#0xda83, LSL #16 BL2:d9001b28 840040b9 ldr w4,[x4]=>DAT_da8320c8 BL2:d9001b2c 84740a12 and w4,w4,#0xffcfffff BL2:d9001b30 63000035 cbnz w3,LAB_d9001b3c BL2:d9001b34 85040c32 orr w5,w4,#0x300000 BL2:d9001b38 42000035 cbnz param_3,LAB_d9001b40 LAB_d9001b3c: ;XREF[1,0]: d9001b30 BL2:d9001b3c 85000b32 orr w5,w4,#0x200000 LAB_d9001b40: ;XREF[1,0]: d9001b38 BL2:d9001b40 041984d2 mov x4,#0x20c8 BL2:d9001b44 6450bbf2 movk x4,#0xda83, LSL #16 BL2:d9001b48 850000b9 str w5,[x4]=>DAT_da8320c8 BL2:d9001b4c e1ffff17 b LAB_d9001ad0 LAB_d9001b50: ;XREF[1,0]: d9001ac4 BL2:d9001b50 041984d2 mov x4,#0x20c8 BL2:d9001b54 6450bbf2 movk x4,#0xda83, LSL #16 BL2:d9001b58 840040b9 ldr w4,[x4]=>DAT_da8320c8 BL2:d9001b5c 21040051 sub param_2,param_2,#0x1 BL2:d9001b60 846c0a12 and w4,w4,#0xffc3ffff BL2:d9001b64 84040c32 orr w4,w4,#0x300000 BL2:d9001b68 8148012a orr param_2,w4,param_2, LSL #0x12 BL2:d9001b6c 041984d2 mov x4,#0x20c8 BL2:d9001b70 6450bbf2 movk x4,#0xda83, LSL #16 BL2:d9001b74 810000b9 str param_2,[x4]=>DAT_da8320c8 BL2:d9001b78 01008052 mov param_2,#0x0 BL2:d9001b7c d5ffff17 b LAB_d9001ad0 LAB_d9001b80: ;XREF[1,0]: d9001b1c BL2:d9001b80 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9001b84(long param_1, int param_2) ;param_1 long x0 ;param_2 int w1 ;local_c undefined4 -c ;XREF[1,0]: d9001c80 ;local_10 undefined4 -10 ;XREF[1,0]: d9001c7c ;local_14 undefined4 -14 ;XREF[2,0]: d9001bc0,d9001c20 ;local_18 undefined4 -18 ;XREF[2,0]: d9001bcc,d9001c2c ;local_1c undefined4 -1c ;XREF[2,0]: d9001bd8,d9001c38 ;local_20 undefined4 -20 ;XREF[2,0]: d9001be4,d9001c44 ;local_24 undefined4 -24 ;XREF[2,0]: d9001bf0,d9001c50 ;local_28 undefined4 -28 ;XREF[2,0]: d9001bfc,d9001c5c ;local_2c undefined4 -2c ;XREF[2,0]: d9001c08,d9001c68 ;local_30 undefined4 -30 ;XREF[1,0]: d9001c74 ;XREF[1,0]: d9002288 BL2:d9001b84 420000b0 adrp x2,0xd900a000 BL2:d9001b88 42401c91 add x2=>DAT_d900a710,x2,#0x710 BL2:d9001b8c 430040f9 ldr x3,[x2]=>DAT_d900a710 BL2:d9001b90 ffc300d1 sub sp,sp,#0x30 BL2:d9001b94 a30000b4 cbz x3,LAB_d9001ba8 BL2:d9001b98 40000090 adrp param_1,0xd9009000 BL2:d9001b9c 00040491 add param_1=>...,param_1,#0x101 ;= "Err:sha\n" BL2:d9001ba0 ffc30091 add sp,sp,#0x30 BL2:d9001ba4 321c0014 b serial_puts ;void serial_puts(char * param_1) LAB_d9001ba8: ;XREF[1,0]: d9001b94 BL2:d9001ba8 3f800371 cmp param_2,#0xe0 BL2:d9001bac 400000f9 str param_1,[x2]=>DAT_d900a710 BL2:d9001bb0 e1179f1a cset param_2,eq BL2:d9001bb4 21030035 cbnz param_2,LAB_d9001c18 BL2:d9001bb8 e2cc9c52 mov w2,#0xe667 BL2:d9001bbc 2241ad72 movk w2,#0x6a09, LSL #16 BL2:d9001bc0 e21f00b9 str w2,[sp, #local_14+0x30] BL2:d9001bc4 a2d09552 mov w2,#0xae85 BL2:d9001bc8 e26cb772 movk w2,#0xbb67, LSL #16 BL2:d9001bcc e21b00b9 str w2,[sp, #local_18+0x30] BL2:d9001bd0 426e9e52 mov w2,#0xf372 BL2:d9001bd4 c28da772 movk w2,#0x3c6e, LSL #16 BL2:d9001bd8 e21700b9 str w2,[sp, #local_1c+0x30] BL2:d9001bdc 42a79e52 mov w2,#0xf53a BL2:d9001be0 e2a9b472 movk w2,#0xa54f, LSL #16 BL2:d9001be4 e21300b9 str w2,[sp, #local_20+0x30] BL2:d9001be8 e24f8a52 mov w2,#0x527f BL2:d9001bec c221aa72 movk w2,#0x510e, LSL #16 BL2:d9001bf0 e20f00b9 str w2,[sp, #local_24+0x30] BL2:d9001bf4 82118d52 mov w2,#0x688c BL2:d9001bf8 a260b372 movk w2,#0x9b05, LSL #16 BL2:d9001bfc e20b00b9 str w2,[sp, #local_28+0x30] BL2:d9001c00 62359b52 mov w2,#0xd9ab BL2:d9001c04 62f0a372 movk w2,#0x1f83, LSL #16 BL2:d9001c08 e20700b9 str w2,[sp, #local_2c+0x30] BL2:d9001c0c 22a39952 mov w2,#0xcd19 BL2:d9001c10 027cab72 movk w2,#0x5be0, LSL #16 BL2:d9001c14 18000014 b LAB_d9001c74 LAB_d9001c18: ;XREF[1,0]: d9001bb4 BL2:d9001c18 02db9352 mov w2,#0x9ed8 BL2:d9001c1c a220b872 movk w2,#0xc105, LSL #16 BL2:d9001c20 e21f00b9 str w2,[sp, #local_14+0x30] BL2:d9001c24 e2a09a52 mov w2,#0xd507 BL2:d9001c28 82cfa672 movk w2,#0x367c, LSL #16 BL2:d9001c2c e21b00b9 str w2,[sp, #local_18+0x30] BL2:d9001c30 e2a29b52 mov w2,#0xdd17 BL2:d9001c34 020ea672 movk w2,#0x3070, LSL #16 BL2:d9001c38 e21700b9 str w2,[sp, #local_1c+0x30] BL2:d9001c3c 22278b52 mov w2,#0x5939 BL2:d9001c40 c2e1be72 movk w2,#0xf70e, LSL #16 BL2:d9001c44 e21300b9 str w2,[sp, #local_20+0x30] BL2:d9001c48 22668152 mov w2,#0xb31 BL2:d9001c4c 02f8bf72 movk w2,#0xffc0, LSL #16 BL2:d9001c50 e20f00b9 str w2,[sp, #local_24+0x30] BL2:d9001c54 22a28252 mov w2,#0x1511 BL2:d9001c58 020bad72 movk w2,#0x6858, LSL #16 BL2:d9001c5c e20b00b9 str w2,[sp, #local_28+0x30] BL2:d9001c60 e2f49152 mov w2,#0x8fa7 BL2:d9001c64 229fac72 movk w2,#0x64f9, LSL #16 BL2:d9001c68 e20700b9 str w2,[sp, #local_2c+0x30] BL2:d9001c6c 82f48952 mov w2,#0x4fa4 BL2:d9001c70 42dfb772 movk w2,#0xbefa, LSL #16 LAB_d9001c74: ;XREF[1,0]: d9001c14 BL2:d9001c74 e20300b9 str w2,[sp]=>local_30 BL2:d9001c78 021284d2 mov x2,#0x2090 BL2:d9001c7c ff2300b9 str wzr,[sp, #local_10+0x30] BL2:d9001c80 ff2700b9 str wzr,[sp, #local_c+0x30] BL2:d9001c84 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9001c88 430040b9 ldr w3,[x2]=>DAT_da832090 BL2:d9001c8c 02488352 mov w2,#0x1a40 BL2:d9001c90 63541212 and w3,w3,#0xffffc00f BL2:d9001c94 6300022a orr w3,w3,w2 BL2:d9001c98 021284d2 mov x2,#0x2090 BL2:d9001c9c 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9001ca0 430000b9 str w3,[x2]=>DAT_da832090 BL2:d9001ca4 81000034 cbz param_2,LAB_d9001cb4 BL2:d9001ca8 21018052 mov param_2,#0x9 BL2:d9001cac e101a072 movk param_2,#0xf, LSL #16 BL2:d9001cb0 03000014 b LAB_d9001cbc LAB_d9001cb4: ;XREF[1,0]: d9001ca4 BL2:d9001cb4 21018052 mov param_2,#0x9 BL2:d9001cb8 c101a072 movk param_2,#0xe, LSL #16 LAB_d9001cbc: ;XREF[1,0]: d9001cb0 BL2:d9001cbc 021984d2 mov x2,#0x20c8 BL2:d9001cc0 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9001cc4 410000b9 str param_2,[x2]=>DAT_da8320c8 BL2:d9001cc8 811284d2 mov param_2,#0x2094 BL2:d9001ccc 6150bbf2 movk param_2,#0xda83, LSL #16 BL2:d9001cd0 a2028052 mov w2,#0x15 BL2:d9001cd4 220000b9 str w2,[param_2]=>DAT_da832094 LAB_d9001cd8: ;XREF[1,0]: d9001ce4 BL2:d9001cd8 811284d2 mov param_2,#0x2094 BL2:d9001cdc 6150bbf2 movk param_2,#0xda83, LSL #16 BL2:d9001ce0 210040b9 ldr param_2,[param_2]=>DAT_da832094 BL2:d9001ce4 a1ffff36 tbz param_2,#0x1f,LAB_d9001cd8 BL2:d9001ce8 011384d2 mov param_2,#0x2098 BL2:d9001cec 6150bbf2 movk param_2,#0xda83, LSL #16 LAB_d9001cf0: ;XREF[1,0]: d9001d10 BL2:d9001cf0 6250bb92 mov x2,#-0xda830001 BL2:d9001cf4 e363218b add x3,sp,param_2 BL2:d9001cf8 02ed9bf2 movk x2,#0xdf68 BL2:d9001cfc 626862b8 ldr w2,[x3, x2, LSL #0x0] ; FWD[2,0]: da832098,da83209c BL2:d9001d00 224400b8 str w2,[param_2], #0x4=>DAT_da832098 BL2:d9001d04 021884d2 mov x2,#0x20c0 BL2:d9001d08 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9001d0c 3f0002eb cmp param_2,x2 BL2:d9001d10 01ffff54 b.ne LAB_d9001cf0 BL2:d9001d14 1f2400b9 str wzr,[param_1, #0x24] BL2:d9001d18 ffc30091 add sp,sp,#0x30 BL2:d9001d1c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined SHA2_HW_update(long param_1, long param_2, uint param_3) ;param_1 long x0 ;param_2 long x1 ;param_3 uint w2 ;local_10 undefined8 -10 ;XREF[3,0]: d9001d3c,d9001d58,d9001e20 ;local_20 undefined8 -20 ;XREF[3,0]: d9001d40,d9001d54,d9001e1c ;local_30 undefined8 -30 ;XREF[3,0]: d9001d28,d9001d50,d9001e18 ;local_40 undefined8 -40 ;XREF[3,0]: d9001d20,d9001d60,d9001e24 ;XREF[1,0]: d9002298 BL2:d9001d20 fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d9001d24 fd030091 mov x29,sp BL2:d9001d28 f35301a9 stp x19,x20,[sp, #local_30+0x40] BL2:d9001d2c f303022a mov w19,param_3 BL2:d9001d30 420000b0 adrp param_3,0xd900a000 BL2:d9001d34 42401c91 add param_3=>DAT_d900a710,param_3,#0x710 BL2:d9001d38 540040f9 ldr x20,[param_3]=>DAT_d900a710 BL2:d9001d3c f71b00f9 str x23,[sp, #local_10+0x40] BL2:d9001d40 f55b02a9 stp x21,x22,[sp, #local_20+0x40] BL2:d9001d44 9f0200eb cmp x20,param_1 BL2:d9001d48 f70301aa mov x23,param_2 BL2:d9001d4c 00010054 b.eq LAB_d9001d6c BL2:d9001d50 f35341a9 ldp x19,x20,[sp, #local_30+0x40] BL2:d9001d54 f55b42a9 ldp x21,x22,[sp, #local_20+0x40] BL2:d9001d58 f71b40f9 ldr x23,[sp, #local_10+0x40] BL2:d9001d5c 40000090 adrp param_1,0xd9009000 BL2:d9001d60 fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d9001d64 00040491 add param_1=>...,param_1,#0x101 ;= "Err:sha\n" BL2:d9001d68 c11b0014 b serial_puts ;void serial_puts(char * param_1) LAB_d9001d6c: ;XREF[1,0]: d9001d4c BL2:d9001d6c 802640b9 ldr param_1,[x20, #0x24] BL2:d9001d70 15008052 mov w21,#0x0 BL2:d9001d74 60010034 cbz param_1,LAB_d9001da0 BL2:d9001d78 15088052 mov w21,#0x40 BL2:d9001d7c b502004b sub w21,w21,param_1 BL2:d9001d80 8042208b add param_1,x20,param_1, UXTW BL2:d9001d84 00b00091 add param_1,param_1,#0x2c BL2:d9001d88 e203152a mov param_3,w21 BL2:d9001d8c 6a1b0094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d9001d90 802640b9 ldr param_1,[x20, #0x24] BL2:d9001d94 7302154b sub w19,w19,w21 BL2:d9001d98 0000150b add param_1,param_1,w21 BL2:d9001d9c 802600b9 str param_1,[x20, #0x24] LAB_d9001da0: ;XREF[1,0]: d9001d74 BL2:d9001da0 812640b9 ldr param_2,[x20, #0x24] BL2:d9001da4 3f000171 cmp param_2,#0x40 BL2:d9001da8 21010054 b.ne LAB_d9001dcc BL2:d9001dac 73030034 cbz w19,LAB_d9001e18 BL2:d9001db0 80b20091 add param_1,x20,#0x2c BL2:d9001db4 02008052 mov param_3,#0x0 BL2:d9001db8 36ffff97 bl hw_update ;undefined hw_update(undefined4 * par... BL2:d9001dbc 7f020171 cmp w19,#0x40 BL2:d9001dc0 9f2600b9 str wzr,[x20, #0x24] BL2:d9001dc4 88000054 b.hi LAB_d9001dd4 BL2:d9001dc8 0f000014 b LAB_d9001e04 LAB_d9001dcc: ;XREF[1,0]: d9001da8 BL2:d9001dcc 7f020171 cmp w19,#0x40 BL2:d9001dd0 89010054 b.ls LAB_d9001e00 LAB_d9001dd4: ;XREF[1,0]: d9001dc4 BL2:d9001dd4 76160072 ands w22,w19,#0x3f BL2:d9001dd8 00088052 mov param_1,#0x40 BL2:d9001ddc d612801a csel w22,w22,param_1,ne BL2:d9001de0 7302164b sub w19,w19,w22 BL2:d9001de4 e042358b add param_1,x23,w21, UXTW BL2:d9001de8 e103132a mov param_2,w19 BL2:d9001dec 02008052 mov param_3,#0x0 BL2:d9001df0 b502130b add w21,w21,w19 BL2:d9001df4 27ffff97 bl hw_update ;undefined hw_update(undefined4 * par... BL2:d9001df8 f303162a mov w19,w22 BL2:d9001dfc 02000014 b LAB_d9001e04 LAB_d9001e00: ;XREF[1,0]: d9001dd0 BL2:d9001e00 d3000034 cbz w19,LAB_d9001e18 LAB_d9001e04: ;XREF[2,0]: d9001dc8,d9001dfc BL2:d9001e04 80b20091 add param_1,x20,#0x2c BL2:d9001e08 e142358b add param_2,x23,w21, UXTW BL2:d9001e0c e203132a mov param_3,w19 BL2:d9001e10 491b0094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d9001e14 932600b9 str w19,[x20, #0x24] LAB_d9001e18: ;XREF[2,0]: d9001dac,d9001e00 BL2:d9001e18 f35341a9 ldp x19,x20,[sp, #local_30+0x40] BL2:d9001e1c f55b42a9 ldp x21,x22,[sp, #local_20+0x40] BL2:d9001e20 f71b40f9 ldr x23,[sp, #local_10+0x40] BL2:d9001e24 fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d9001e28 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;long FUN_d9001e2c(long param_1) ;param_1 long x0 ;local_10 undefined8 -10 ;XREF[2,0]: d9001e34,d9001f0c ;local_20 undefined8 -20 ;XREF[2,0]: d9001e2c,d9001f10 ;XREF[1,0]: d90022a0 BL2:d9001e2c fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d9001e30 fd030091 mov x29,sp BL2:d9001e34 f35301a9 stp x19,x20,[sp, #local_10+0x20] BL2:d9001e38 f30300aa mov x19,param_1 BL2:d9001e3c 400000b0 adrp param_1,0xd900a000 BL2:d9001e40 01401c91 add x1=>DAT_d900a710,param_1,#0x710 BL2:d9001e44 220040f9 ldr x2,[x1]=>DAT_d900a710 BL2:d9001e48 f40300aa mov x20,param_1 BL2:d9001e4c 5f0013eb cmp x2,x19 BL2:d9001e50 c0000054 b.eq LAB_d9001e68 BL2:d9001e54 40000090 adrp param_1,0xd9009000 BL2:d9001e58 00040491 add param_1=>...,param_1,#0x101 ;= "Err:sha\n" BL2:d9001e5c 841b0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9001e60 60b20291 add param_1,x19,#0xac BL2:d9001e64 2a000014 b LAB_d9001f0c LAB_d9001e68: ;XREF[1,0]: d9001e50 BL2:d9001e68 412440b9 ldr w1,[x2, #0x24] BL2:d9001e6c 53b00291 add x19,x2,#0xac BL2:d9001e70 20040051 sub param_1,w1,#0x1 BL2:d9001e74 1ffc0071 cmp param_1,#0x3f BL2:d9001e78 a9000054 b.ls LAB_d9001e8c BL2:d9001e7c 40000090 adrp param_1,0xd9009000 BL2:d9001e80 00040491 add param_1=>...,param_1,#0x101 ;= "Err:sha\n" BL2:d9001e84 7a1b0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9001e88 20000014 b LAB_d9001f08 LAB_d9001e8c: ;XREF[1,0]: d9001e78 BL2:d9001e8c 40b00091 add param_1,x2,#0x2c BL2:d9001e90 22008052 mov w2,#0x1 BL2:d9001e94 fffeff97 bl hw_update ;undefined hw_update(undefined4 * par... BL2:d9001e98 801284d2 mov param_1,#0x2094 BL2:d9001e9c 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9001ea0 010040b9 ldr w1,[param_1]=>DAT_da832094 BL2:d9001ea4 801284d2 mov param_1,#0x2094 BL2:d9001ea8 21001a32 orr w1,w1,#0x40 BL2:d9001eac 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9001eb0 010000b9 str w1,[param_1]=>DAT_da832094 BL2:d9001eb4 801284d2 mov param_1,#0x2094 BL2:d9001eb8 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9001ebc 010040b9 ldr w1,[param_1]=>DAT_da832094 BL2:d9001ec0 801284d2 mov param_1,#0x2094 BL2:d9001ec4 21781912 and w1,w1,#0xffffffbf BL2:d9001ec8 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9001ecc 010000b9 str w1,[param_1]=>DAT_da832094 BL2:d9001ed0 011384d2 mov x1,#0x2098 BL2:d9001ed4 6150bbf2 movk x1,#0xda83, LSL #16 LAB_d9001ed8: ;XREF[1,0]: d9001efc ; FWD[2,0]: da832098,da83209c BL2:d9001ed8 230040b9 ldr w3,[x1]=>DAT_da832098 BL2:d9001edc 6050bb92 mov param_1,#-0xda830001 BL2:d9001ee0 6202018b add x2,x19,x1 BL2:d9001ee4 00ed9bf2 movk param_1,#0xdf68 BL2:d9001ee8 436820b8 str w3,[x2, param_1, LSL #0x0] BL2:d9001eec 001784d2 mov param_1,#0x20b8 BL2:d9001ef0 21100091 add x1,x1,#0x4 BL2:d9001ef4 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9001ef8 3f0000eb cmp x1,param_1 BL2:d9001efc e1feff54 b.ne LAB_d9001ed8 BL2:d9001f00 94421c91 add x20,x20,#0x710 BL2:d9001f04 9f0200f9 str xzr,[x20]=>DAT_d900a710 LAB_d9001f08: ;XREF[1,0]: d9001e88 BL2:d9001f08 e00313aa mov param_1,x19 LAB_d9001f0c: ;XREF[1,0]: d9001e64 BL2:d9001f0c f35341a9 ldp x19,x20,[sp, #local_10+0x20] BL2:d9001f10 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9001f14 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9001f18(void) ;local_10 undefined8 -10 ;XREF[2,0]: d9001f20,d90020c8 ;local_20 undefined8 -20 ;XREF[2,0]: d9001f18,d90020cc ;XREF[2,0]: d90022bc,d9002ed8 BL2:d9001f18 fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d9001f1c fd030091 mov x29,sp BL2:d9001f20 f30b00f9 str x19,[sp, #local_10+0x20] BL2:d9001f24 530000b0 adrp x19,0xd900a000 BL2:d9001f28 73022591 add x19,x19,#0x940 BL2:d9001f2c 001284d2 mov x0,#0x2090 BL2:d9001f30 7f0200b9 str wzr,[x19]=>DAT_d900a940 BL2:d9001f34 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9001f38 010040b9 ldr w1,[x0]=>DAT_da832090 BL2:d9001f3c 00408352 mov w0,#0x1a00 BL2:d9001f40 21641212 and w1,w1,#0xffffc0ff BL2:d9001f44 2100002a orr w1,w1,w0 BL2:d9001f48 001284d2 mov x0,#0x2090 BL2:d9001f4c 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9001f50 010000b9 str w1,[x0]=>DAT_da832090 BL2:d9001f54 001284d2 mov x0,#0x2090 BL2:d9001f58 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9001f5c 010040b9 ldr w1,[x0]=>DAT_da832090 BL2:d9001f60 001284d2 mov x0,#0x2090 BL2:d9001f64 216c1812 and w1,w1,#0xffffff0f BL2:d9001f68 21001a32 orr w1,w1,#0x40 BL2:d9001f6c 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9001f70 010000b9 str w1,[x0]=>DAT_da832090 BL2:d9001f74 001984d2 mov x0,#0x20c8 BL2:d9001f78 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9001f7c 010040b9 ldr w1,[x0]=>DAT_da8320c8 BL2:d9001f80 001984d2 mov x0,#0x20c8 BL2:d9001f84 21001d32 orr w1,w1,#0x8 BL2:d9001f88 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9001f8c 010000b9 str w1,[x0]=>DAT_da8320c8 BL2:d9001f90 801284d2 mov x0,#0x2094 BL2:d9001f94 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9001f98 010040b9 ldr w1,[x0]=>DAT_da832094 BL2:d9001f9c e0028012 mov w0,#0xffffffe8 BL2:d9001fa0 2100000a and w1,w1,w0 BL2:d9001fa4 80028052 mov w0,#0x14 BL2:d9001fa8 2100002a orr w1,w1,w0 BL2:d9001fac 801284d2 mov x0,#0x2094 BL2:d9001fb0 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9001fb4 010000b9 str w1,[x0]=>DAT_da832094 BL2:d9001fb8 001984d2 mov x0,#0x20c8 BL2:d9001fbc 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9001fc0 010040b9 ldr w1,[x0]=>DAT_da8320c8 BL2:d9001fc4 600240b9 ldr w0,[x19]=>DAT_d900a940 BL2:d9001fc8 21701912 and w1,w1,#0xffffff8f BL2:d9001fcc 21001a32 orr w1,w1,#0x40 BL2:d9001fd0 2110002a orr w1,w1,w0, LSL #0x4 BL2:d9001fd4 001984d2 mov x0,#0x20c8 BL2:d9001fd8 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9001fdc 010000b9 str w1,[x0]=>DAT_da8320c8 BL2:d9001fe0 001a84d2 mov x0,#0x20d0 BL2:d9001fe4 21a39952 mov w1,#0xcd19 BL2:d9001fe8 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9001fec 017cab72 movk w1,#0x5be0, LSL #16 BL2:d9001ff0 010000b9 str w1,[x0]=>DAT_da8320d0 BL2:d9001ff4 001a84d2 mov x0,#0x20d0 BL2:d9001ff8 61359b52 mov w1,#0xd9ab BL2:d9001ffc 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9002000 61f0a372 movk w1,#0x1f83, LSL #16 BL2:d9002004 010000b9 str w1,[x0]=>DAT_da8320d0 BL2:d9002008 001a84d2 mov x0,#0x20d0 BL2:d900200c 81118d52 mov w1,#0x688c BL2:d9002010 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9002014 a160b372 movk w1,#0x9b05, LSL #16 BL2:d9002018 010000b9 str w1,[x0]=>DAT_da8320d0 BL2:d900201c 001a84d2 mov x0,#0x20d0 BL2:d9002020 e14f8a52 mov w1,#0x527f BL2:d9002024 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9002028 c121aa72 movk w1,#0x510e, LSL #16 BL2:d900202c 010000b9 str w1,[x0]=>DAT_da8320d0 BL2:d9002030 001a84d2 mov x0,#0x20d0 BL2:d9002034 41a79e52 mov w1,#0xf53a BL2:d9002038 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d900203c e1a9b472 movk w1,#0xa54f, LSL #16 BL2:d9002040 010000b9 str w1,[x0]=>DAT_da8320d0 BL2:d9002044 001a84d2 mov x0,#0x20d0 BL2:d9002048 416e9e52 mov w1,#0xf372 BL2:d900204c 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9002050 c18da772 movk w1,#0x3c6e, LSL #16 BL2:d9002054 010000b9 str w1,[x0]=>DAT_da8320d0 BL2:d9002058 001a84d2 mov x0,#0x20d0 BL2:d900205c a1d09552 mov w1,#0xae85 BL2:d9002060 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9002064 e16cb772 movk w1,#0xbb67, LSL #16 BL2:d9002068 010000b9 str w1,[x0]=>DAT_da8320d0 BL2:d900206c 001a84d2 mov x0,#0x20d0 BL2:d9002070 e1cc9c52 mov w1,#0xe667 BL2:d9002074 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9002078 2141ad72 movk w1,#0x6a09, LSL #16 BL2:d900207c 010000b9 str w1,[x0]=>DAT_da8320d0 BL2:d9002080 801a84d2 mov x0,#0x20d4 BL2:d9002084 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9002088 1f0000b9 str wzr,[x0]=>DAT_da8320d4 BL2:d900208c 801a84d2 mov x0,#0x20d4 BL2:d9002090 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9002094 1f0000b9 str wzr,[x0]=>DAT_da8320d4 BL2:d9002098 01008052 mov w1,#0x0 BL2:d900209c 022880d2 mov x2,#0x140 BL2:d90020a0 20aaa0d2 mov x0,#0x5510000 BL2:d90020a4 831a0094 bl memset ;ulong memset(ulong param_1, undefine... BL2:d90020a8 600240b9 ldr w0,[x19]=>DAT_d900a940 BL2:d90020ac 02288052 mov w2,#0x140 BL2:d90020b0 21aaa052 mov w1,#0x5510000 BL2:d90020b4 22aaa072 movk w2,#0x551, LSL #16 BL2:d90020b8 2a0f0094 bl NDMA_set_table_position_secure ;undefined NDMA_set_table_position_se... BL2:d90020bc 40000090 adrp x0,0xd900a000 BL2:d90020c0 00102591 add x0=>DAT_d900a944,x0,#0x944 BL2:d90020c4 1f0000b9 str wzr,[x0]=>DAT_d900a944 BL2:d90020c8 f30b40f9 ldr x19,[sp, #local_10+0x20] BL2:d90020cc fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d90020d0 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d90020d4(undefined8 param_1, uint param_2, uint param_3) ;param_1 undefined8 x0 ;param_2 uint w1 ;param_3 uint w2 ;local_10 undefined8 -10 ;XREF[2,0]: d90020dc,d900212c ;local_20 undefined8 -20 ;XREF[2,0]: d90020d4,d9002130 ;XREF[2,0]: d9002ee8,d9002f00 BL2:d90020d4 fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d90020d8 fd030091 mov x29,sp BL2:d90020dc f35301a9 stp x19,x20,[sp, #local_10+0x20] BL2:d90020e0 e50301aa mov x5,param_2 BL2:d90020e4 e403022a mov w4,param_3 BL2:d90020e8 22020034 cbz param_3,LAB_d900212c BL2:d90020ec 53000090 adrp x19,0xd900a000 BL2:d90020f0 73022591 add x19,x19,#0x940 BL2:d90020f4 600240b9 ldr param_1,[x19]=>DAT_d900a940 BL2:d90020f8 03008052 mov w3,#0x0 BL2:d90020fc 21008052 mov param_2,#0x1 BL2:d9002100 42008052 mov param_3,#0x2 BL2:d9002104 e603032a mov w6,w3 BL2:d9002108 54000090 adrp x20,0xd900a000 BL2:d900210c bb0f0094 bl FUN_d9005ff8 ;undefined FUN_d9005ff8(uint param_1,... BL2:d9002110 94122591 add x20,x20,#0x944 BL2:d9002114 800240b9 ldr param_1,[x20]=>DAT_d900a944 BL2:d9002118 a0000035 cbnz param_1,LAB_d900212c BL2:d900211c 600240b9 ldr param_1,[x19]=>DAT_d900a940 BL2:d9002120 530f0094 bl FUN_d9005e6c ;undefined FUN_d9005e6c(int param_1) BL2:d9002124 20008052 mov param_1,#0x1 BL2:d9002128 800200b9 str param_1,[x20]=>DAT_d900a944 LAB_d900212c: ;XREF[2,0]: d90020e8,d9002118 BL2:d900212c f35341a9 ldp x19,x20,[sp, #local_10+0x20] BL2:d9002130 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9002134 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9002138(long param_1, uint param_2, uint param_3) ;param_1 long x0 ;param_2 uint w1 ;param_3 uint w2 ;local_10 undefined8 -10 ;XREF[2,0]: d9002170,d90021d8 ;local_20 undefined8 -20 ;XREF[2,0]: d9002140,d90021c4 ;local_30 undefined8 -30 ;XREF[2,0]: d9002148,d9002240 ;local_40 undefined8 -40 ;XREF[2,0]: d9002138,d9002244 ;XREF[2,0]: d90022cc,d9002f14 BL2:d9002138 fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d900213c fd030091 mov x29,sp BL2:d9002140 f55b02a9 stp x21,x22,[sp, #local_20+0x40] BL2:d9002144 55000090 adrp x21,0xd900a000 BL2:d9002148 f35301a9 stp x19,x20,[sp, #local_30+0x40] BL2:d900214c b4022591 add x20,x21,#0x940 BL2:d9002150 e50301aa mov x5,param_2 BL2:d9002154 f30300aa mov x19,param_1 BL2:d9002158 21008052 mov param_2,#0x1 BL2:d900215c 800240b9 ldr param_1,[x20]=>DAT_d900a940 BL2:d9002160 e403022a mov w4,param_3 BL2:d9002164 e603012a mov w6,param_2 BL2:d9002168 42008052 mov param_3,#0x2 BL2:d900216c 03008052 mov w3,#0x0 BL2:d9002170 f71b00f9 str x23,[sp, #local_10+0x40] BL2:d9002174 a10f0094 bl FUN_d9005ff8 ;undefined FUN_d9005ff8(uint param_1,... BL2:d9002178 40000090 adrp param_1,0xd900a000 BL2:d900217c 16102591 add x22,param_1,#0x944 BL2:d9002180 c10240b9 ldr param_2,[x22]=>DAT_d900a944 BL2:d9002184 f70300aa mov x23,param_1 BL2:d9002188 a1000035 cbnz param_2,LAB_d900219c BL2:d900218c 800240b9 ldr param_1,[x20]=>DAT_d900a940 BL2:d9002190 370f0094 bl FUN_d9005e6c ;undefined FUN_d9005e6c(int param_1) BL2:d9002194 20008052 mov param_1,#0x1 BL2:d9002198 c00200b9 str param_1,[x22]=>DAT_d900a944 LAB_d900219c: ;XREF[1,0]: d9002188 BL2:d900219c b5022591 add x21,x21,#0x940 BL2:d90021a0 a00240b9 ldr param_1,[x21]=>DAT_d900a940 BL2:d90021a4 f7122591 add x23,x23,#0x944 BL2:d90021a8 430f0094 bl FUN_d9005eb4 ;undefined FUN_d9005eb4(uint param_1) BL2:d90021ac a00240b9 ldr param_1,[x21]=>DAT_d900a940 BL2:d90021b0 4e0f0094 bl FUN_d9005ee8 ;undefined FUN_d9005ee8(int param_1) BL2:d90021b4 001384d2 mov param_1,#0x2098 BL2:d90021b8 ff0200b9 str wzr,[x23]=>DAT_d900a944 BL2:d90021bc 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d90021c0 000040b9 ldr param_1,[param_1]=>DAT_da832098 BL2:d90021c4 f55b42a9 ldp x21,x22,[sp, #local_20+0x40] BL2:d90021c8 60ae00b9 str param_1,[x19, #0xac] BL2:d90021cc 801384d2 mov param_1,#0x209c BL2:d90021d0 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d90021d4 000040b9 ldr param_1,[param_1]=>DAT_da83209c BL2:d90021d8 f71b40f9 ldr x23,[sp, #local_10+0x40] BL2:d90021dc 60b200b9 str param_1,[x19, #0xb0] BL2:d90021e0 001484d2 mov param_1,#0x20a0 BL2:d90021e4 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d90021e8 000040b9 ldr param_1,[param_1]=>DAT_da8320a0 BL2:d90021ec 60b600b9 str param_1,[x19, #0xb4] BL2:d90021f0 801484d2 mov param_1,#0x20a4 BL2:d90021f4 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d90021f8 000040b9 ldr param_1,[param_1]=>DAT_da8320a4 BL2:d90021fc 60ba00b9 str param_1,[x19, #0xb8] BL2:d9002200 001584d2 mov param_1,#0x20a8 BL2:d9002204 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9002208 000040b9 ldr param_1,[param_1]=>DAT_da8320a8 BL2:d900220c 60be00b9 str param_1,[x19, #0xbc] BL2:d9002210 801584d2 mov param_1,#0x20ac BL2:d9002214 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9002218 000040b9 ldr param_1,[param_1]=>DAT_da8320ac BL2:d900221c 60c200b9 str param_1,[x19, #0xc0] BL2:d9002220 001684d2 mov param_1,#0x20b0 BL2:d9002224 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9002228 000040b9 ldr param_1,[param_1]=>DAT_da8320b0 BL2:d900222c 60c600b9 str param_1,[x19, #0xc4] BL2:d9002230 801684d2 mov param_1,#0x20b4 BL2:d9002234 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9002238 000040b9 ldr param_1,[param_1]=>DAT_da8320b4 BL2:d900223c 60ca00b9 str param_1,[x19, #0xc8] BL2:d9002240 f35341a9 ldp x19,x20,[sp, #local_30+0x40] BL2:d9002244 fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d9002248 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined sha2(ulong param_1, uint param_2, ulong param_3, int param_4) ;param_1 ulong x0 ;param_2 uint w1 ;param_3 ulong x2 ;param_4 int w3 ;local_e0 undefined8 -e0 ;XREF[2,0]: d9002260,d90022e4 ;local_f0 undefined8 -f0 ;XREF[2,0]: d9002254,d90022e0 ;local_100 undefined8 -100 ;XREF[2,0]: d900224c,d90022e8 ;XREF[3,0]: d9002d6c,d9003298,d9006420 BL2:d900224c fd7bb0a9 stp x29,x30,[sp, #local_100]! BL2:d9002250 fd030091 mov x29,sp BL2:d9002254 f35301a9 stp x19,x20,[sp, #local_f0+0x100] BL2:d9002258 f30300aa mov x19,param_1 BL2:d900225c 007c58d3 ubfx param_1,param_1,#0x18,#0x8 BL2:d9002260 f51300f9 str x21,[sp, #local_e0+0x100] BL2:d9002264 1f6403f1 cmp param_1,#0xd9 BL2:d9002268 f403012a mov w20,param_2 BL2:d900226c f50302aa mov x21,param_3 BL2:d9002270 c1010054 b.ne LAB_d90022a8 BL2:d9002274 7f001f6b cmp param_4,wzr BL2:d9002278 02208052 mov param_3,#0x100 BL2:d900227c 011c8052 mov param_2,#0xe0 BL2:d9002280 4100811a csel param_2,param_3,param_2,eq BL2:d9002284 a0c30091 add param_1,x29,#0x30 BL2:d9002288 3ffeff97 bl FUN_d9001b84 ;undefined FUN_d9001b84(long param_1,... BL2:d900228c a0c30091 add param_1,x29,#0x30 BL2:d9002290 e10313aa mov param_2,x19 BL2:d9002294 e203142a mov param_3,w20 BL2:d9002298 a2feff97 bl SHA2_HW_update ;undefined SHA2_HW_update(long param_... BL2:d900229c a0c30091 add param_1,x29,#0x30 BL2:d90022a0 e3feff97 bl FUN_d9001e2c ;long FUN_d9001e2c(long param_1) BL2:d90022a4 0b000014 b LAB_d90022d0 LAB_d90022a8: ;XREF[1,0]: d9002270 BL2:d90022a8 02208052 mov param_3,#0x100 BL2:d90022ac 7f001f6b cmp param_4,wzr BL2:d90022b0 011c8052 mov param_2,#0xe0 BL2:d90022b4 4100811a csel param_2,param_3,param_2,eq BL2:d90022b8 a0c30091 add param_1,x29,#0x30 BL2:d90022bc 17ffff97 bl FUN_d9001f18 ;undefined FUN_d9001f18(void) BL2:d90022c0 a0c30091 add param_1,x29,#0x30 BL2:d90022c4 e10313aa mov param_2,x19 BL2:d90022c8 e203142a mov param_3,w20 BL2:d90022cc 9bffff97 bl FUN_d9002138 ;undefined FUN_d9002138(long param_1,... LAB_d90022d0: ;XREF[1,0]: d90022a4 BL2:d90022d0 a1730391 add param_2,x29,#0xdc BL2:d90022d4 e00315aa mov param_1,x21 BL2:d90022d8 020480d2 mov param_3,#0x20 BL2:d90022dc 161a0094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d90022e0 f35341a9 ldp x19,x20,[sp, #local_f0+0x100] BL2:d90022e4 f51340f9 ldr x21,[sp, #local_e0+0x100] BL2:d90022e8 fd7bd0a8 ldp x29=>local_100,x30,[sp], #0x100 BL2:d90022ec c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined send_bl30x(int addr, uint size, long * sha2, uint sha2_len, byte * image_str) ;addr int w0 ;size uint w1 ;sha2 long * x2 ;sha2_len uint w3 ;image_str byte * x4 ;loop1 undefined4 w19 ;XREF[1,0]: d90023e0 ;local_10 undefined8 -10 ;XREF[2,0]: d9002308,d90024b8 ;local_20 undefined8 -20 ;XREF[2,0]: d90022f8,d90024b4 ;local_30 undefined8 -30 ;XREF[2,0]: d9002304,d90024b0 ;local_40 undefined8 -40 ;XREF[2,0]: d90022f0,d90024bc ;tmp undefined4 HASH... ;XREF[1,0]: d9006438 BL2:d90022f0 fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d90022f4 fd030091 mov x29,sp BL2:d90022f8 f55b02a9 stp x21,x22,[sp, #local_20+0x40] BL2:d90022fc f603002a mov w22,addr BL2:d9002300 000087d2 mov addr,#0x3800 BL2:d9002304 f35301a9 stp x19,x20,[sp, #local_30+0x40] BL2:d9002308 f76303a9 stp x23,x24,[sp, #local_10+0x40] BL2:d900230c 2020bbf2 movk addr=>DAT_d9013800,#0xd901, LSL #16 BL2:d9002310 010000b9 str size,[addr]=>DAT_d9013800 BL2:d9002314 200000f0 adrp addr,0xd9009000 BL2:d9002318 f403012a mov w20,size BL2:d900231c 009c0591 add addr=>s_bl301_d9009167,addr,#0x167 ;= "bl301" BL2:d9002320 e10304aa mov size,image_str BL2:d9002324 f70302aa mov x23,sha2 BL2:d9002328 f303032a mov w19,sha2_len BL2:d900232c f50304aa mov x21,image_str BL2:d9002330 321a0094 bl strcmp ;int strcmp(long param_1, long param_2) BL2:d9002334 a0010035 cbnz addr,LAB_d9002368 BL2:d9002338 200000f0 adrp addr,0xd9009000 BL2:d900233c 00b40591 add addr=>s_W...,addr,#0x16d ;= "Wait bl30..." BL2:d9002340 4b1a0094 bl serial_puts ;void serial_puts(char * param_1) LAB_d9002344: ;XREF[1,0]: d9002358 BL2:d9002344 804780d2 mov addr,#0x23c BL2:d9002348 0002b9f2 movk addr,#0xc810, LSL #16 BL2:d900234c 000040b9 ldr addr,[addr]=>DAT_c810023c BL2:d9002350 005454d3 ubfx addr,addr,#0x14,#0x2 BL2:d9002354 1f0c0071 cmp addr,#0x3 BL2:d9002358 61ffff54 b.ne LAB_d9002344 BL2:d900235c 200000f0 adrp addr,0xd9009000 BL2:d9002360 00e80591 add addr=>s_Done_d900917a,addr,#0x17a ;= "Done\n" BL2:d9002364 421a0094 bl serial_puts ;void serial_puts(char * param_1) LAB_d9002368: ;XREF[1,0]: d9002334 BL2:d9002368 200000f0 adrp addr,0xd9009000 BL2:d900236c 00000691 add addr=>s_Sending_d9009180,addr,#0x180 ;= "Sending " BL2:d9002370 3f1a0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002374 e00315aa mov addr,x21 BL2:d9002378 3d1a0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d900237c 008598d2 mov addr,#0xc428 BL2:d9002380 041a9852 mov image_str,#0xc0d0 BL2:d9002384 6050bbf2 movk addr,#0xda83, LSL #16 BL2:d9002388 c41bb872 movk image_str,#0xc0de, LSL #16 BL2:d900238c 040000b9 str image_str,[addr]=>DAT_da83c428 LAB_d9002390: ;XREF[1,0]: d900239c BL2:d9002390 808598d2 mov addr,#0xc42c BL2:d9002394 6050bbf2 movk addr,#0xda83, LSL #16 BL2:d9002398 000040b9 ldr addr,[addr]=>DAT_da83c42c BL2:d900239c a0ffff35 cbnz addr,LAB_d9002390 BL2:d90023a0 000087d2 mov addr,#0x3800 BL2:d90023a4 e10317aa mov size,x23 BL2:d90023a8 2020bbf2 movk addr=>DAT_d9013800,#0xd901, LSL #16 BL2:d90023ac e203132a mov sha2,w19 BL2:d90023b0 e1190094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d90023b4 008598d2 mov addr,#0xc428 BL2:d90023b8 21008052 mov size,#0x1 BL2:d90023bc 6050bbf2 movk addr,#0xda83, LSL #16 BL2:d90023c0 c11bb872 movk size,#0xc0de, LSL #16 BL2:d90023c4 010000b9 str size,[addr]=>DAT_da83c428 LAB_d90023c8: ;XREF[1,0]: d90023d4 BL2:d90023c8 808598d2 mov addr,#0xc42c BL2:d90023cc 6050bbf2 movk addr,#0xda83, LSL #16 BL2:d90023d0 130040b9 ldr w19,[addr]=>DAT_da83c42c BL2:d90023d4 b3ffff35 cbnz w19,LAB_d90023c8 BL2:d90023d8 380000f0 adrp x24,0xd9009000 BL2:d90023dc 18e30591 add x24,x24,#0x178 LAB_d90023e0: ;XREF[1,0]: d9002454 BL2:d90023e0 7f02146b cmp loop1,w20 BL2:d90023e4 a2030054 b.cs LAB_d9002458 BL2:d90023e8 e00318aa mov addr=>s_._d900916d+11,x24 ;= "." ;serial_puts(".") BL2:d90023ec 201a0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d90023f0 77021011 add w23,loop1,#1024 BL2:d90023f4 9f02176b cmp w20,w23 BL2:d90023f8 c3000054 b.cc LAB_d9002410 BL2:d90023fc 000087d2 mov addr,#0x3800 BL2:d9002400 2020bbf2 movk addr,#0xd901, LSL #16 BL2:d9002404 6102160b add size,loop1,w22 BL2:d9002408 028080d2 mov sha2,#1024 BL2:d900240c 07000014 b LAB_d9002428 LAB_d9002410: ;XREF[1,0]: d90023f8 BL2:d9002410 9f02136b cmp w20,loop1 BL2:d9002414 c9000054 b.ls LAB_d900242c BL2:d9002418 000087d2 mov addr,#0x3800 BL2:d900241c 2020bbf2 movk addr=>DAT_d9013800,#0xd901, LSL #16 BL2:d9002420 6102160b add size,loop1,w22 BL2:d9002424 8202134b sub sha2,w20,loop1 LAB_d9002428: ;XREF[1,0]: d900240c BL2:d9002428 c3190094 bl memcpy ;ulong memcpy(ulong param_1, long par... LAB_d900242c: ;XREF[1,0]: d9002414 BL2:d900242c 028598d2 mov sha2,#0xc428 BL2:d9002430 c11b9852 mov size,#0xc0de BL2:d9002434 6250bbf2 movk sha2,#0xda83, LSL #16 BL2:d9002438 213c1033 bfm size,size,#0x10,#0xf BL2:d900243c 410000b9 str size,[sha2]=>DAT_da83c428 LAB_d9002440: ;XREF[1,0]: d900244c BL2:d9002440 818598d2 mov size,#0xc42c BL2:d9002444 6150bbf2 movk size,#0xda83, LSL #16 BL2:d9002448 200040b9 ldr addr,[size]=>DAT_da83c42c BL2:d900244c a0ffff35 cbnz addr,LAB_d9002440 BL2:d9002450 f303172a mov loop1,w23 BL2:d9002454 e3ffff17 b LAB_d90023e0 LAB_d9002458: ;XREF[1,0]: d90023e4 BL2:d9002458 008598d2 mov addr,#0xc428 BL2:d900245c 41008052 mov size,#0x2 BL2:d9002460 6050bbf2 movk addr,#0xda83, LSL #16 BL2:d9002464 c11bb872 movk size,#0xc0de, LSL #16 BL2:d9002468 010000b9 str size,[addr]=>DAT_da83c428 LAB_d900246c: ;XREF[1,0]: d9002478 BL2:d900246c 808598d2 mov addr,#0xc42c BL2:d9002470 6050bbf2 movk addr,#0xda83, LSL #16 BL2:d9002474 000040b9 ldr addr,[addr]=>DAT_da83c42c BL2:d9002478 a0ffff35 cbnz addr,LAB_d900246c BL2:d900247c 200000f0 adrp addr,0xd9009000 BL2:d9002480 00240691 add addr=>s_OK._Run_d9009189,addr,#0x189 ;= "OK. \nRun " BL2:d9002484 fa190094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002488 e00315aa mov addr,x21 BL2:d900248c f8190094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002490 200000f0 adrp addr,0xd9009000 BL2:d9002494 00dc0c91 add addr=>DAT_d9009337,addr,#0x337 ;= 2Eh . BL2:d9002498 f5190094 bl serial_puts ;void serial_puts(char * param_1) BL2:d900249c 018598d2 mov size,#0xc428 BL2:d90024a0 a0019c52 mov addr,#0xe00d BL2:d90024a4 6150bbf2 movk size,#0xda83, LSL #16 BL2:d90024a8 003c1033 bfm addr,addr,#0x10,#0xf BL2:d90024ac 200000b9 str addr,[size]=>DAT_da83c428 BL2:d90024b0 f35341a9 ldp loop1,x20,[sp, #local_30+0x40] BL2:d90024b4 f55b42a9 ldp x21,x22,[sp, #local_20+0x40] BL2:d90024b8 f76343a9 ldp x23,x24,[sp, #local_10+0x40] BL2:d90024bc fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d90024c0 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined watchdog_disable(void) ;XREF[3,0]: d9005ad4,d900648c,d90067a0 BL2:d90024c4 001a93d2 mov x0,#0x98d0 BL2:d90024c8 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d90024cc 010040b9 ldr w1,[x0]=>DAT_c11098d0 BL2:d90024d0 8040a012 mov w0,#0xfdfbffff BL2:d90024d4 2100000a and w1,w1,w0 BL2:d90024d8 001a93d2 mov x0,#0x98d0 BL2:d90024dc 0022b8f2 movk x0=>DAT_c11098d0,#0xc110, LSL #16 ;Disable watchdog. BL2:d90024e0 010000b9 str w1,[x0]=>DAT_c11098d0 BL2:d90024e4 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined reset_system(void) ;local_10 undefined8 -10 ;XREF[1,0]: d90024e8 ;XREF[9,0]: d90026a4,d9004b7c,d9004e8c,d9005248 ; d90052f8,d9005a7c,d9005ab4,d9005af8 ; d90064fc BL2:d90024e8 fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d90024ec fd030091 mov x29,sp BL2:d90024f0 00e28452 mov w0,#0x2710 BL2:d90024f4 db010094 bl udelay ;void udelay(undefined8 us) LAB_d90024f8: ;XREF[1,0]: d900254c BL2:d90024f8 001a93d2 mov x0,#0x98d0 BL2:d90024fc 61008052 mov w1,#0x3 BL2:d9002500 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002504 01f4a072 movk w1,#0x7a0, LSL #16 BL2:d9002508 010000b9 str w1,[x0]=>DAT_c11098d0 BL2:d900250c 801b93d2 mov x0,#0x98dc BL2:d9002510 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002514 1f0000b9 str wzr,[x0]=>DAT_c11098dc BL2:d9002518 001a93d2 mov x0,#0x98d0 BL2:d900251c 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002520 010040b9 ldr w1,[x0]=>DAT_c11098d0 BL2:d9002524 001a93d2 mov x0,#0x98d0 BL2:d9002528 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d900252c 21000e32 orr w1,w1,#0x40000 BL2:d9002530 010000b9 str w1,[x0]=>DAT_c11098d0 BL2:d9002534 800c8052 mov w0,#0x64 LAB_d9002538: ;XREF[1,0]: d9002548 BL2:d9002538 011a93d2 mov x1,#0x98d0 BL2:d900253c 0122b8f2 movk x1,#0xc110, LSL #16 BL2:d9002540 210040b9 ldr w1,[x1]=>DAT_c11098d0 BL2:d9002544 00040071 subs w0,w0,#0x1 BL2:d9002548 81ffff54 b.ne LAB_d9002538 BL2:d900254c ebffff17 b LAB_d90024f8 ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined efuse_read(long param_1, long param_2, ulong param_3) ;param_1 long x0 ;param_2 long x1 ;param_3 ulong x2 ;XREF[1,0]: d9007630 BL2:d9002550 038087d2 mov x3,#0x3c00 BL2:d9002554 e40301aa mov x4,param_2 BL2:d9002558 2320bbf2 movk x3,#0xd901, LSL #16 BL2:d900255c 6108008b add param_2,x3,param_1, LSL #0x2 BL2:d9002560 e00302aa mov param_1,param_3 BL2:d9002564 e20304aa mov param_3,x4 BL2:d9002568 73190014 b memcpy ;ulong memcpy(ulong param_1, long par... ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined clocks_set_sys_cpu_clk(int param_1, int param_2, int param_3, int param_4) ;param_1 int w0 ;param_2 int w1 ;param_3 int w2 ;param_4 int w3 ;XREF[3,0]: d9002578,d9002708,d900283c BL2:d900256c 843398d2 mov x4,#0xc19c BL2:d9002570 6410b9f2 movk x4,#0xc883, LSL #16 BL2:d9002574 840040b9 ldr w4,[x4]=>DAT_c883c19c BL2:d9002578 a4ffe737 tbnz w4,#0x1c,clocks_set_sys_cpu_clk BL2:d900257c 1f040071 cmp param_1,#0x1 BL2:d9002580 a1000054 b.ne LAB_d9002594 BL2:d9002584 00008152 mov param_1,#0x800 BL2:d9002588 0080a072 movk param_1,#0x400, LSL #16 BL2:d900258c 8400002a orr w4,w4,param_1 BL2:d9002590 0b000014 b LAB_d90025bc LAB_d9002594: ;XREF[1,0]: d9002580 BL2:d9002594 a4005036 tbz w4,#0xa,LAB_d90025a8 BL2:d9002598 e0fe8012 mov param_1,#0xfffff808 BL2:d900259c 8400000a and w4,w4,param_1 BL2:d90025a0 84000632 orr w4,w4,#0x4000000 BL2:d90025a4 05000014 b LAB_d90025b8 LAB_d90025a8: ;XREF[1,0]: d9002594 BL2:d90025a8 e07f9f52 mov param_1,#0xfbff BL2:d90025ac 0081bf72 movk param_1,#0xfc08, LSL #16 BL2:d90025b0 8400000a and w4,w4,param_1 BL2:d90025b4 84800632 orr w4,w4,#0x4000400 LAB_d90025b8: ;XREF[1,0]: d90025a4 BL2:d90025b8 84781412 and w4,w4,#0xfffff7ff LAB_d90025bc: ;XREF[1,0]: d9002590 BL2:d90025bc 803398d2 mov param_1,#0xc19c BL2:d90025c0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90025c4 040000b9 str w4,[param_1]=>DAT_c883c19c BL2:d90025c8 802b98d2 mov param_1,#0xc15c BL2:d90025cc 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90025d0 21080051 sub param_2,param_2,#0x2 BL2:d90025d4 000040b9 ldr param_1,[param_1]=>DAT_c883c15c BL2:d90025d8 3f180071 cmp param_2,#0x6 BL2:d90025dc 68000054 b.hi LAB_d90025e8 BL2:d90025e0 00701a12 and param_1,param_1,#0xffffffc7 BL2:d90025e4 000c012a orr param_1,param_1,param_2, LSL #0x3 LAB_d90025e8: ;XREF[1,0]: d90025dc BL2:d90025e8 42080051 sub param_3,param_3,#0x2 BL2:d90025ec 5f180071 cmp param_3,#0x6 BL2:d90025f0 68000054 b.hi LAB_d90025fc BL2:d90025f4 00701412 and param_1,param_1,#0xfffff1ff BL2:d90025f8 0024022a orr param_1,param_1,param_3, LSL #0x9 LAB_d90025fc: ;XREF[1,0]: d90025f0 BL2:d90025fc 63080051 sub param_4,param_4,#0x2 BL2:d9002600 7f180071 cmp param_4,#0x6 BL2:d9002604 68000054 b.hi LAB_d9002610 BL2:d9002608 00701712 and param_1,param_1,#0xfffffe3f BL2:d900260c 0018032a orr param_1,param_1,param_4, LSL #0x6 LAB_d9002610: ;XREF[1,0]: d9002604 BL2:d9002610 812b98d2 mov param_2,#0xc15c BL2:d9002614 6110b9f2 movk param_2,#0xc883, LSL #16 BL2:d9002618 200000b9 str param_1,[param_2]=>DAT_c883c15c BL2:d900261c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;uint pll_lock_check(int * param_1, byte * param_2) ;param_1 int * x0 ;param_2 byte * x1 ;local_10 undefined8 -10 ;XREF[2,0]: d900264c,d9002684 ;local_20 undefined8 -20 ;XREF[2,0]: d9002628,d90026b0 ;local_30 undefined8 -30 ;XREF[2,0]: d9002620,d90026b4 ;XREF[3,0]: d9002824,d9002a4c,d90037d4 BL2:d9002620 fd7bbda9 stp x29,x30,[sp, #local_30]! BL2:d9002624 fd030091 mov x29,sp BL2:d9002628 f35301a9 stp x19,x20,[sp, #local_20+0x30] BL2:d900262c 140040b9 ldr w20,[param_1] BL2:d9002630 53000090 adrp x19,0xd900a000 BL2:d9002634 947e1f53 lsr w20,w20,#0x1f BL2:d9002638 73222591 add x19,x19,#0x948 BL2:d900263c 74000034 cbz w20,LAB_d9002648 BL2:d9002640 7f0200b9 str wzr,[x19]=>DAT_d900a948 BL2:d9002644 1a000014 b LAB_d90026ac LAB_d9002648: ;XREF[1,0]: d900263c BL2:d9002648 600240b9 ldr param_1,[x19]=>DAT_d900a948 BL2:d900264c a11300f9 str param_2,[x29, #local_10+0x30] BL2:d9002650 00040011 add param_1,param_1,#0x1 BL2:d9002654 600200b9 str param_1,[x19]=>DAT_d900a948 BL2:d9002658 e00301aa mov param_1,param_2 BL2:d900265c 84190094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002660 200000f0 adrp param_1,0xd9009000 BL2:d9002664 004c0691 add param_1=>...,param_1,#0x193 ;= " lock check " BL2:d9002668 81190094 bl serial_puts ;void serial_puts(char * param_1) BL2:d900266c 600240b9 ldr param_1,[x19]=>DAT_d900a948 BL2:d9002670 a0190094 bl serial_put_dec ;undefined serial_put_dec(ulong param_1) BL2:d9002674 200000f0 adrp param_1,0xd9009000 BL2:d9002678 00781691 add param_1=>CHAR_NL,param_1,#0x59e ;= '\n' BL2:d900267c 7c190094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002680 600240b9 ldr param_1,[x19]=>DAT_d900a948 BL2:d9002684 a11340f9 ldr param_2,[x29, #local_10+0x30] BL2:d9002688 1f240071 cmp param_1,#0x9 BL2:d900268c 09010054 b.ls LAB_d90026ac BL2:d9002690 e00301aa mov param_1,param_2 BL2:d9002694 76190094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002698 200000f0 adrp param_1,0xd9009000 BL2:d900269c 00800691 add param_1=>...,param_1,#0x1a0 ;= " lock failed! reset...\n" BL2:d90026a0 73190094 bl serial_puts ;void serial_puts(char * param_1) BL2:d90026a4 91ffff97 bl reset_system ;undefined reset_system(void) LAB_d90026a8: ;XREF[1,0]: d90026a8 BL2:d90026a8 00000014 b LAB_d90026a8 LAB_d90026ac: ;XREF[2,0]: d9002644,d900268c BL2:d90026ac 80020052 eor param_1,w20,#0x1 BL2:d90026b0 f35341a9 ldp x19,x20,[sp, #local_20+0x30] BL2:d90026b4 fd7bc3a8 ldp x29=>local_30,x30,[sp], #0x30 BL2:d90026b8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 pll_init(void) ;local_10 undefined8 -10 ;XREF[2,0]: d90026d4,d9002a60 ;local_20 undefined8 -20 ;XREF[2,0]: d90026c4,d9002a5c ;local_30 undefined8 -30 ;XREF[2,0]: d90026bc,d9002a64 ;CPU pll init. ;XREF[1,0]: d90081d0 BL2:d90026bc fd7bbda9 stp x29,x30,[sp, #local_30]! BL2:d90026c0 fd030091 mov x29,sp BL2:d90026c4 f35301a9 stp x19,x20,[sp, #local_20+0x30] BL2:d90026c8 54000090 adrp x20,0xd900a000 BL2:d90026cc 94220b91 add x20,x20,#0x2c8 BL2:d90026d0 93064079 ldrh w19,[x20, #0x2]=>plls.pxp BL2:d90026d4 f51300f9 str x21,[sp, #local_10+0x30] BL2:d90026d8 131c0035 cbnz w19,LAB_d9002a58 BL2:d90026dc 802e98d2 mov x0,#0xc174 BL2:d90026e0 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90026e4 010040b9 ldr w1,[x0]=>DAT_c883c174 BL2:d90026e8 802e98d2 mov x0,#0xc174 BL2:d90026ec 21781712 and w1,w1,#0xfffffeff BL2:d90026f0 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90026f4 010000b9 str w1,[x0]=>DAT_c883c174 BL2:d90026f8 e203132a mov w2,w19 BL2:d90026fc e003132a mov w0,w19 BL2:d9002700 e103132a mov w1,w19 BL2:d9002704 e303132a mov w3,w19 BL2:d9002708 99ffff97 bl clocks_set_sys_cpu_clk ;undefined clocks_set_sys_cpu_clk(int... BL2:d900270c 805298d2 mov x0,#0xc294 BL2:d9002710 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002714 010040b9 ldr w1,[x0]=>DAT_c883c294 BL2:d9002718 805298d2 mov x0,#0xc294 BL2:d900271c 21000632 orr w1,w1,#0x4000000 BL2:d9002720 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002724 010000b9 str w1,[x0]=>DAT_c883c294 BL2:d9002728 800c8052 mov w0,#0x64 BL2:d900272c 4d010094 bl udelay ;void udelay(undefined8 us) BL2:d9002730 80024079 ldrh w0,[x20]=>plls BL2:d9002734 01600951 sub w1,w0,#0x258 BL2:d9002738 213c0053 uxth w1,w1 BL2:d900273c 3f600971 cmp w1,#0x258 BL2:d9002740 e8000054 b.hi LAB_d900275c BL2:d9002744 93018052 mov w19,#0xc BL2:d9002748 01408052 mov w1,#0x200 BL2:d900274c 1308d31a udiv w19,w0,w19 BL2:d9002750 2100a072 movk w1,#0x1, LSL #16 BL2:d9002754 7302012a orr w19,w19,w1 BL2:d9002758 08000014 b LAB_d9002778 LAB_d900275c: ;XREF[1,0]: d9002740 BL2:d900275c 01c41251 sub w1,w0,#0x4b1 BL2:d9002760 213c0053 uxth w1,w1 BL2:d9002764 3f7c0c71 cmp w1,#0x31f BL2:d9002768 88000054 b.hi LAB_d9002778 BL2:d900276c 13038052 mov w19,#0x18 BL2:d9002770 1308d31a udiv w19,w0,w19 BL2:d9002774 73021732 orr w19,w19,#0x200 LAB_d9002778: ;XREF[2,0]: d9002758,d9002768 BL2:d9002778 340000f0 adrp x20,0xd9009000 BL2:d900277c 1559ab52 mov w21,#0x5ac80000 BL2:d9002780 94e20691 add x20,x20,#0x1b8 LAB_d9002784: ;XREF[1,0]: d900282c BL2:d9002784 006098d2 mov x0,#0xc300 BL2:d9002788 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d900278c 010040b9 ldr w1,[x0]=>DAT_c883c300 BL2:d9002790 006098d2 mov x0,#0xc300 BL2:d9002794 21000332 orr w1,w1,#0x20000000 BL2:d9002798 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d900279c 010000b9 str w1,[x0]=>DAT_c883c300 BL2:d90027a0 806098d2 mov x0,#0xc304 BL2:d90027a4 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90027a8 150000b9 str w21,[x0]=>DAT_c883c304 BL2:d90027ac a1028452 mov w1,#0x2015 BL2:d90027b0 006198d2 mov x0,#0xc308 BL2:d90027b4 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90027b8 a1c8b172 movk w1,#0x8e45, LSL #16 BL2:d90027bc 010000b9 str w1,[x0]=>DAT_c883c308 BL2:d90027c0 82819a52 mov w2,#0xd40c BL2:d90027c4 806198d2 mov x0,#0xc30c BL2:d90027c8 2280a072 movk w2,#0x401, LSL #16 BL2:d90027cc 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90027d0 020000b9 str w2,[x0]=>DAT_c883c30c BL2:d90027d4 006298d2 mov x0,#0xc310 BL2:d90027d8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90027dc 010e8152 mov w1,#0x870 BL2:d90027e0 010000b9 str w1,[x0]=>DAT_c883c310 BL2:d90027e4 006098d2 mov x0,#0xc300 BL2:d90027e8 61060332 orr w1,w19,#0x60000000 BL2:d90027ec 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90027f0 010000b9 str w1,[x0]=>DAT_c883c300 BL2:d90027f4 006098d2 mov x0,#0xc300 BL2:d90027f8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90027fc 010040b9 ldr w1,[x0]=>DAT_c883c300 BL2:d9002800 006098d2 mov x0,#0xc300 BL2:d9002804 21780212 and w1,w1,#0xdfffffff BL2:d9002808 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d900280c 010000b9 str w1,[x0]=>DAT_c883c300 BL2:d9002810 80028052 mov w0,#0x14 BL2:d9002814 13010094 bl udelay ;void udelay(undefined8 us) BL2:d9002818 006098d2 mov x0,#0xc300 BL2:d900281c e10314aa mov x1=>s_SYS_PLL_d90091b8,x20 ;= "SYS PLL" BL2:d9002820 6010b9f2 movk x0=>DAT_c883c300,#0xc883, LSL #16 BL2:d9002824 7fffff97 bl pll_lock_check ;uint pll_lock_check(int * param_1, b... BL2:d9002828 e103002a mov w1,w0 BL2:d900282c c0faff35 cbnz w0,LAB_d9002784 BL2:d9002830 e203012a mov w2,w1 BL2:d9002834 e303012a mov w3,w1 BL2:d9002838 20008052 mov w0,#0x1 BL2:d900283c 4cffff97 bl clocks_set_sys_cpu_clk ;undefined clocks_set_sys_cpu_clk(int... BL2:d9002840 006098d2 mov x0,#0xc300 BL2:d9002844 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002848 010040b9 ldr w1,[x0]=>DAT_c883c300 BL2:d900284c 13038052 mov w19,#0x18 BL2:d9002850 203449d3 ubfx x0,x1,#0x9,#0x5 BL2:d9002854 730ac01a udiv w19,w19,w0 BL2:d9002858 20200012 and w0,w1,#0x1ff BL2:d900285c 737e001b mul w19,w19,w0 BL2:d9002860 200000f0 adrp x0,0xd9009000 BL2:d9002864 214450d3 ubfx x1,x1,#0x10,#0x2 BL2:d9002868 00000791 add x0=>s_CPU_clk:_d90091c0,x0,#0x1c0 ;= "CPU clk: " BL2:d900286c 7326c11a lsr w19,w19,w1 BL2:d9002870 ff180094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002874 e003132a mov w0,w19 BL2:d9002878 1e190094 bl serial_put_dec ;undefined serial_put_dec(ulong param_1) BL2:d900287c 200000f0 adrp x0,0xd9009000 BL2:d9002880 00280791 add x0=>DAT_d90091ca,x0,#0x1ca ;= 4Dh M BL2:d9002884 fa180094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002888 805198d2 mov x0,#0xc28c BL2:d900288c e1008052 mov w1,#0x7 BL2:d9002890 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002894 2100a072 movk w1,#0x1, LSL #16 BL2:d9002898 010000b9 str w1,[x0]=>DAT_c883c28c BL2:d900289c 005098d2 mov x0,#0xc280 BL2:d90028a0 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90028a4 010040b9 ldr w1,[x0]=>DAT_c883c280 BL2:d90028a8 005098d2 mov x0,#0xc280 BL2:d90028ac 21000332 orr w1,w1,#0x20000000 BL2:d90028b0 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90028b4 010000b9 str w1,[x0]=>DAT_c883c280 BL2:d90028b8 00198052 mov w0,#0xc8 BL2:d90028bc e9000094 bl udelay ;void udelay(undefined8 us) BL2:d90028c0 805098d2 mov x0,#0xc284 BL2:d90028c4 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90028c8 0139ab52 mov w1,#0x59c80000 BL2:d90028cc 010000b9 str w1,[x0]=>DAT_c883c284 BL2:d90028d0 005198d2 mov x0,#0xc288 BL2:d90028d4 41049752 mov w1,#0xb822 BL2:d90028d8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90028dc a148b972 movk w1,#0xca45, LSL #16 BL2:d90028e0 010000b9 str w1,[x0]=>DAT_c883c288 BL2:d90028e4 005298d2 mov x0,#0xc290 BL2:d90028e8 41c38152 mov w1,#0xe1a BL2:d90028ec 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90028f0 01aab672 movk w1,#0xb550, LSL #16 BL2:d90028f4 010000b9 str w1,[x0]=>DAT_c883c290 BL2:d90028f8 805298d2 mov x0,#0xc294 BL2:d90028fc a1a88852 mov w1,#0x4545 BL2:d9002900 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002904 a188bf72 movk w1,#0xfc45, LSL #16 BL2:d9002908 010000b9 str w1,[x0]=>DAT_c883c294 BL2:d900290c 005098d2 mov x0,#0xc280 BL2:d9002910 41df8052 mov w1,#0x6fa BL2:d9002914 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002918 0100ac72 movk w1,#0x6000, LSL #16 BL2:d900291c 010000b9 str w1,[x0]=>DAT_c883c280 BL2:d9002920 005098d2 mov x0,#0xc280 BL2:d9002924 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002928 010040b9 ldr w1,[x0]=>DAT_c883c280 BL2:d900292c 005098d2 mov x0,#0xc280 BL2:d9002930 21780212 and w1,w1,#0xdfffffff BL2:d9002934 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002938 010000b9 str w1,[x0]=>DAT_c883c280 BL2:d900293c 00648052 mov w0,#0x320 BL2:d9002940 c8000094 bl udelay ;void udelay(undefined8 us) BL2:d9002944 805198d2 mov x0,#0xc28c BL2:d9002948 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d900294c 010040b9 ldr w1,[x0]=>DAT_c883c28c BL2:d9002950 805198d2 mov x0,#0xc28c BL2:d9002954 21001232 orr w1,w1,#0x4000 BL2:d9002958 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d900295c 330000f0 adrp x19,0xd9009000 BL2:d9002960 010000b9 str w1,[x0]=>DAT_c883c28c BL2:d9002964 733e0791 add x19,x19,#0x1cf LAB_d9002968: ;XREF[1,0]: d9002a50 BL2:d9002968 005098d2 mov x0,#0xc280 BL2:d900296c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002970 000040b9 ldr w0,[x0]=>DAT_c883c280 BL2:d9002974 2004f836 tbz w0,#0x1f,LAB_d90029f8 LAB_d9002978: ;XREF[1,0]: d9002a54 BL2:d9002978 805498d2 mov x0,#0xc2a4 BL2:d900297c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002980 e1ffa152 mov w1,#0xfff0000 BL2:d9002984 010000b9 str w1,[x0]=>DAT_c883c2a4 BL2:d9002988 005398d2 mov x0,#0xc298 BL2:d900298c 21499a52 mov w1,#0xd249 BL2:d9002990 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002994 e100a072 movk w1,#0x7, LSL #16 BL2:d9002998 010000b9 str w1,[x0]=>DAT_c883c298 BL2:d900299c 802e98d2 mov x0,#0xc174 BL2:d90029a0 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90029a4 010040b9 ldr w1,[x0]=>DAT_c883c174 BL2:d90029a8 e01f8e12 mov w0,#0xffff8f00 BL2:d90029ac 2100000a and w1,w1,w0 BL2:d90029b0 40108a52 mov w0,#0x5082 BL2:d90029b4 2100002a orr w1,w1,w0 BL2:d90029b8 802e98d2 mov x0,#0xc174 BL2:d90029bc 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90029c0 010000b9 str w1,[x0]=>DAT_c883c174 BL2:d90029c4 802e98d2 mov x0,#0xc174 BL2:d90029c8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90029cc 010040b9 ldr w1,[x0]=>DAT_c883c174 BL2:d90029d0 802e98d2 mov x0,#0xc174 BL2:d90029d4 21001832 orr w1,w1,#0x100 BL2:d90029d8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90029dc 010000b9 str w1,[x0]=>DAT_c883c174 BL2:d90029e0 805398d2 mov x0,#0xc29c BL2:d90029e4 811d9e52 mov w1,#0xf0ec BL2:d90029e8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90029ec a100a072 movk w1,#0x5, LSL #16 BL2:d90029f0 010000b9 str w1,[x0]=>DAT_c883c29c BL2:d90029f4 19000014 b LAB_d9002a58 LAB_d90029f8: ;XREF[1,0]: d9002974 BL2:d90029f8 005098d2 mov x0,#0xc280 BL2:d90029fc 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002a00 010040b9 ldr w1,[x0]=>DAT_c883c280 BL2:d9002a04 005098d2 mov x0,#0xc280 BL2:d9002a08 21000332 orr w1,w1,#0x20000000 BL2:d9002a0c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002a10 010000b9 str w1,[x0]=>DAT_c883c280 BL2:d9002a14 007d8052 mov w0,#0x3e8 BL2:d9002a18 92000094 bl udelay ;void udelay(undefined8 us) BL2:d9002a1c 005098d2 mov x0,#0xc280 BL2:d9002a20 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002a24 010040b9 ldr w1,[x0]=>DAT_c883c280 BL2:d9002a28 005098d2 mov x0,#0xc280 BL2:d9002a2c 21780212 and w1,w1,#0xdfffffff BL2:d9002a30 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002a34 010000b9 str w1,[x0]=>DAT_c883c280 BL2:d9002a38 007d8052 mov w0,#0x3e8 BL2:d9002a3c 89000094 bl udelay ;void udelay(undefined8 us) BL2:d9002a40 005098d2 mov x0,#0xc280 BL2:d9002a44 6010b9f2 movk x0=>DAT_c883c280,#0xc883, LSL #16 BL2:d9002a48 e10313aa mov x1=>s_FIX_PLL_d90091cf,x19 ;= "FIX PLL" BL2:d9002a4c f5feff97 bl pll_lock_check ;uint pll_lock_check(int * param_1, b... BL2:d9002a50 c0f8ff35 cbnz w0,LAB_d9002968 BL2:d9002a54 c9ffff17 b LAB_d9002978 LAB_d9002a58: ;XREF[2,0]: d90026d8,d90029f4 BL2:d9002a58 00008052 mov w0,#0x0 BL2:d9002a5c f35341a9 ldp x19,x20,[sp, #local_20+0x30] BL2:d9002a60 f51340f9 ldr x21,[sp, #local_10+0x30] BL2:d9002a64 fd7bc3a8 ldp x29=>local_30,x30,[sp], #0x30 BL2:d9002a68 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;ulong saradc_ch1_get(void) ;local_10 undefined8 -10 ;XREF[2,0]: d9002a78,d9002c54 ;local_20 undefined8 -20 ;XREF[2,0]: d9002a6c,d9002c58 ;XREF[1,0]: d90081c8 BL2:d9002a6c fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d9002a70 fd030091 mov x29,sp BL2:d9002a74 80d090d2 mov x0,#0x8684 BL2:d9002a78 f30b00f9 str x19,[sp, #local_10+0x20] BL2:d9002a7c 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002a80 21008052 mov w1,#0x1 BL2:d9002a84 010000b9 str w1,[x0]=>DAT_c1108684 BL2:d9002a88 00d190d2 mov x0,#0x8688 BL2:d9002a8c 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002a90 01008652 mov w1,#0x3000 BL2:d9002a94 010000b9 str w1,[x0]=>DAT_c1108688 BL2:d9002a98 80d190d2 mov x0,#0x868c BL2:d9002a9c 41018a52 mov w1,#0x500a BL2:d9002aa0 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002aa4 0175b872 movk w1,#0xc3a8, LSL #16 BL2:d9002aa8 010000b9 str w1,[x0]=>DAT_c110868c BL2:d9002aac 00d290d2 mov x0,#0x8690 BL2:d9002ab0 41018052 mov w1,#0xa BL2:d9002ab4 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002ab8 4121a072 movk w1,#0x10a, LSL #16 BL2:d9002abc 010000b9 str w1,[x0]=>DAT_c1108690 BL2:d9002ac0 80d390d2 mov x0,#0x869c BL2:d9002ac4 81418352 mov w1,#0x1a0c BL2:d9002ac8 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002acc 617da072 movk w1,#0x3eb, LSL #16 BL2:d9002ad0 010000b9 str w1,[x0]=>DAT_c110869c BL2:d9002ad4 00d490d2 mov x0,#0x86a0 BL2:d9002ad8 81018052 mov w1,#0xc BL2:d9002adc 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002ae0 8111a072 movk w1,#0x8c, LSL #16 BL2:d9002ae4 010000b9 str w1,[x0]=>DAT_c11086a0 BL2:d9002ae8 80d490d2 mov x0,#0x86a4 BL2:d9002aec 81718052 mov w1,#0x38c BL2:d9002af0 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002af4 c111a072 movk w1,#0x8e, LSL #16 BL2:d9002af8 010000b9 str w1,[x0]=>DAT_c11086a4 BL2:d9002afc 00d590d2 mov x0,#0x86a8 BL2:d9002b00 01809852 mov w1,#0xc400 BL2:d9002b04 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002b08 0180a172 movk w1,#0xc00, LSL #16 BL2:d9002b0c 010000b9 str w1,[x0]=>DAT_c11086a8 BL2:d9002b10 007b98d2 mov x0,#0xc3d8 BL2:d9002b14 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9002b18 81228052 mov w1,#0x114 BL2:d9002b1c 010000b9 str w1,[x0]=>DAT_c883c3d8 BL2:d9002b20 80d590d2 mov x0,#0x86ac BL2:d9002b24 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002b28 01008452 mov w1,#0x2000 BL2:d9002b2c 010000b9 str w1,[x0]=>DAT_c11086ac BL2:d9002b30 00d090d2 mov x0,#0x8680 BL2:d9002b34 01088852 mov w1,#0x4040 BL2:d9002b38 c180b072 movk w1,#0x8406, LSL #16 BL2:d9002b3c 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002b40 010000b9 str w1,[x0]=>DAT_c1108680 BL2:d9002b44 80028052 mov w0,#0x14 BL2:d9002b48 46000094 bl udelay ;void udelay(undefined8 us) BL2:d9002b4c 00d090d2 mov x0,#0x8680 BL2:d9002b50 21088852 mov w1,#0x4041 BL2:d9002b54 c180b072 movk w1,#0x8406, LSL #16 BL2:d9002b58 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002b5c 010000b9 str w1,[x0]=>DAT_c1108680 BL2:d9002b60 80028052 mov w0,#0x14 BL2:d9002b64 3f000094 bl udelay ;void udelay(undefined8 us) BL2:d9002b68 00d090d2 mov x0,#0x8680 BL2:d9002b6c a1088852 mov w1,#0x4045 BL2:d9002b70 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002b74 c180b072 movk w1,#0x8406, LSL #16 BL2:d9002b78 010000b9 str w1,[x0]=>DAT_c1108680 BL2:d9002b7c 80028052 mov w0,#0x14 BL2:d9002b80 38000094 bl udelay ;void udelay(undefined8 us) BL2:d9002b84 13008052 mov w19,#0x0 LAB_d9002b88: ;XREF[1,0]: d9002bb0 BL2:d9002b88 00d090d2 mov x0,#0x8680 BL2:d9002b8c 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002b90 000040b9 ldr w0,[x0]=>DAT_c1108680 BL2:d9002b94 1f080472 tst w0,#0x70000000 BL2:d9002b98 81000054 b.ne LAB_d9002ba8 BL2:d9002b9c 7f8e0171 cmp w19,#0x63 BL2:d9002ba0 a9010054 b.ls LAB_d9002bd4 BL2:d9002ba4 04000014 b LAB_d9002bb4 LAB_d9002ba8: ;XREF[1,0]: d9002b98 BL2:d9002ba8 73060011 add w19,w19,#0x1 BL2:d9002bac 7f960171 cmp w19,#0x65 BL2:d9002bb0 c1feff54 b.ne LAB_d9002b88 LAB_d9002bb4: ;XREF[1,0]: d9002ba4 BL2:d9002bb4 200000f0 adrp x0,0xd9009000 BL2:d9002bb8 005c0791 add x0=>s__Ge...,x0,#0x1d7 ;= " Get saradc sample Error. Cnt_" BL2:d9002bbc 2c180094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002bc0 e003132a mov w0,w19 BL2:d9002bc4 4b180094 bl serial_put_dec ;undefined serial_put_dec(ulong param_1) BL2:d9002bc8 200000f0 adrp x0,0xd9009000 BL2:d9002bcc 00781691 add x0=>CHAR_NL,x0,#0x59e ;= '\n' BL2:d9002bd0 27180094 bl serial_puts ;void serial_puts(char * param_1) LAB_d9002bd4: ;XREF[1,0]: d9002ba0 BL2:d9002bd4 00d390d2 mov x0,#0x8698 BL2:d9002bd8 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9002bdc 000040b9 ldr w0,[x0]=>DAT_c1108698 BL2:d9002be0 220000f0 adrp x2,0xd9009000 BL2:d9002be4 00240012 and w0,w0,#0x3ff BL2:d9002be8 010080d2 mov x1,#0x0 BL2:d9002bec 42200891 add x2=>DAT_d9009208,x2,#0x208 ;= 0000003Fh LAB_d9002bf0: ;XREF[1,0]: d9002c08 ; FWD[2,0]: d9009208,d900920c BL2:d9002bf0 437861b8 ldr w3,[x2, x1, LSL #0x2]=>DAT_d9009208 ;= 0000003Fh ;= 000000BFh BL2:d9002bf4 f303012a mov w19,w1 BL2:d9002bf8 1f00036b cmp w0,w3 BL2:d9002bfc a9000054 b.ls LAB_d9002c10 BL2:d9002c00 21040091 add x1,x1,#0x1 BL2:d9002c04 3f2400f1 cmp x1,#0x9 BL2:d9002c08 41ffff54 b.ne LAB_d9002bf0 BL2:d9002c0c f303012a mov w19,w1 LAB_d9002c10: ;XREF[1,0]: d9002bfc BL2:d9002c10 004880d2 mov x0,#0x240 BL2:d9002c14 0002b9f2 movk x0,#0xc810, LSL #16 BL2:d9002c18 010040b9 ldr w1,[x0]=>DAT_c8100240 BL2:d9002c1c 004880d2 mov x0,#0x240 BL2:d9002c20 215c1012 and w1,w1,#0xffff00ff BL2:d9002c24 2120132a orr w1,w1,w19, LSL #0x8 BL2:d9002c28 0002b9f2 movk x0,#0xc810, LSL #16 BL2:d9002c2c 010000b9 str w1,[x0]=>DAT_c8100240 BL2:d9002c30 200000f0 adrp x0,0xd9009000 BL2:d9002c34 00d80791 add x0=>s_Board_ID_=_d90091f6,x0,#0x1f6 ;= "Board ID = " BL2:d9002c38 0d180094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002c3c e003132a mov w0,w19 BL2:d9002c40 2c180094 bl serial_put_dec ;undefined serial_put_dec(ulong param_1) BL2:d9002c44 200000f0 adrp x0,0xd9009000 BL2:d9002c48 00781691 add x0=>CHAR_NL,x0,#0x59e ;= '\n' BL2:d9002c4c 08180094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002c50 e003132a mov w0,w19 BL2:d9002c54 f30b40f9 ldr x19,[sp, #local_10+0x20] BL2:d9002c58 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9002c5c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;void udelay(undefined8 us) ;us undefined8 x0 ;Name: Not sure ;XREF[21,0]: d90024f4,d900272c,d9002814,d90028bc ; d9002940,d9002a18,d9002a3c,d9002b48 ; d9002b64,d9002b80,d9003438,d9003450 ; d9003588,d90037c4,d9004240,d9004978 ; d90049a4,d9004a60,d9004c74,d9004ca8 ; d9004cf0 BL2:d9002c60 013193d2 mov x1,#0x9988 BL2:d9002c64 0122b8f2 movk x1,#0xc110, LSL #16 BL2:d9002c68 220040b9 ldr w2,[x1]=>DAT_c1109988 LAB_d9002c6c: ;XREF[1,0]: d9002c80 BL2:d9002c6c 013193d2 mov x1,#0x9988 BL2:d9002c70 0122b8f2 movk x1,#0xc110, LSL #16 BL2:d9002c74 210040b9 ldr w1,[x1]=>DAT_c1109988 BL2:d9002c78 2100024b sub w1,w1,w2 BL2:d9002c7c 3f00006b cmp w1,us BL2:d9002c80 69ffff54 b.ls LAB_d9002c6c BL2:d9002c84 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;int FUN_d9002c88(int * param_1, undefined4 * param_2) ;param_1 int * x0 ;param_2 undefined4 * x1 ;local_100 undefined8 -100 ;XREF[2,0]: d9002cb8,d900302c ;local_110 undefined8 -110 ;XREF[2,0]: d9002c98,d9003028 ;local_120 undefined8 -120 ;XREF[2,0]: d9002cb4,d9003024 ;local_130 undefined8 -130 ;XREF[2,0]: d9002c90,d9003020 ;local_140 undefined8 -140 ;XREF[2,0]: d9002c88,d9003030 ;XREF[1,0]: d90032f4 BL2:d9002c88 fd7baca9 stp x29,x30,[sp, #local_140]! BL2:d9002c8c fd030091 mov x29,sp BL2:d9002c90 f35301a9 stp x19,x20,[sp, #local_130+0x140] BL2:d9002c94 f40300aa mov x20,param_1 BL2:d9002c98 f76303a9 stp x23,x24,[sp, #local_110+0x140] BL2:d9002c9c 004580d2 mov param_1,#0x228 BL2:d9002ca0 f80301aa mov x24,param_2 BL2:d9002ca4 830240b9 ldr w3,[x20] BL2:d9002ca8 01288852 mov param_2,#0x4140 BL2:d9002cac 0002b9f2 movk param_1,#0xc810, LSL #16 BL2:d9002cb0 a189a972 movk param_2,#0x4c4d, LSL #16 BL2:d9002cb4 f55b02a9 stp x21,x22,[sp, #local_120+0x140] BL2:d9002cb8 f96b04a9 stp x25,x26,[sp, #local_100+0x140] BL2:d9002cbc 000040b9 ldr param_1,[param_1]=>DAT_c8100228 BL2:d9002cc0 7f00016b cmp w3,param_2 BL2:d9002cc4 022e8052 mov w2,#0x170 BL2:d9002cc8 a11a0054 b.ne LAB_d900301c BL2:d9002ccc 812a4039 ldrb param_2,[x20, #0xa] BL2:d9002cd0 3f040071 cmp param_2,#0x1 BL2:d9002cd4 411a0054 b.ne LAB_d900301c BL2:d9002cd8 812e4039 ldrb param_2,[x20, #0xb] BL2:d9002cdc 011a0035 cbnz param_2,LAB_d900301c BL2:d9002ce0 81224039 ldrb param_2,[x20, #0x8] BL2:d9002ce4 3f000171 cmp param_2,#0x40 BL2:d9002ce8 a1190054 b.ne LAB_d900301c BL2:d9002cec 811640b9 ldr param_2,[x20, #0x14] BL2:d9002cf0 3f000171 cmp param_2,#0x40 BL2:d9002cf4 41190054 b.ne LAB_d900301c BL2:d9002cf8 811240b9 ldr param_2,[x20, #0x10] BL2:d9002cfc 62348052 mov w2,#0x1a3 BL2:d9002d00 410a0034 cbz param_2,LAB_d9002e48 BL2:d9002d04 3f0c0071 cmp param_2,#0x3 BL2:d9002d08 a8180054 b.hi LAB_d900301c BL2:d9002d0c 801a40b9 ldr param_1,[x20, #0x18] BL2:d9002d10 1f000471 cmp param_1,#0x100 BL2:d9002d14 c0000054 b.eq LAB_d9002d2c BL2:d9002d18 1f000871 cmp param_1,#0x200 BL2:d9002d1c 80000054 b.eq LAB_d9002d2c BL2:d9002d20 1f000271 cmp param_1,#0x80 BL2:d9002d24 62348052 mov w2,#0x1a3 BL2:d9002d28 a1170054 b.ne LAB_d900301c LAB_d9002d2c: ;XREF[2,0]: d9002d14,d9002d1c BL2:d9002d2c 40000090 adrp param_1,0xd900a000 BL2:d9002d30 00302591 add param_1,param_1,#0x94c BL2:d9002d34 030040b9 ldr w3,[param_1]=>DAT_d900a94c BL2:d9002d38 43080035 cbnz w3,LAB_d9002e40 BL2:d9002d3c 21008052 mov param_2,#0x1 BL2:d9002d40 010000b9 str param_2,[param_1]=>DAT_d900a94c BL2:d9002d44 006e81d2 mov param_1,#0xb70 BL2:d9002d48 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9002d4c 010844b9 ldr param_2,[param_1, #0x408]=>DAT_d9000f78 BL2:d9002d50 136e81d2 mov x19,#0xb70 BL2:d9002d54 1320bbf2 movk x19,#0xd900, LSL #16 BL2:d9002d58 21741e53 lsl param_2,param_2,#0x2 BL2:d9002d5c 42000090 adrp x2,0xd900a000 BL2:d9002d60 e00313aa mov param_1,x19 BL2:d9002d64 42601c91 add x2,x2,#0x718 BL2:d9002d68 21100011 add param_2,param_2,#0x4 BL2:d9002d6c 38fdff97 bl sha2 ;undefined sha2(ulong param_1, uint p... BL2:d9002d70 006e81d2 mov param_1,#0xb70 BL2:d9002d74 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9002d78 000844b9 ldr param_1,[param_1, #0x408]=>DAT_d9000f78 BL2:d9002d7c 020080d2 mov x2,#0x0 BL2:d9002d80 00741e53 lsl param_1,param_1,#0x2 BL2:d9002d84 037c4093 sxtw x3,param_1 LAB_d9002d88: ;XREF[1,0]: d9002da8 BL2:d9002d88 1f00026b cmp param_1,w2 BL2:d9002d8c 0d010054 b.le LAB_d9002dac BL2:d9002d90 e1ff9fd2 mov param_2,#0xffff BL2:d9002d94 646a6238 ldrb w4,[x19, x2, LSL ] BL2:d9002d98 e13fa2f2 movk param_2,#0x11ff, LSL #16 BL2:d9002d9c 210002cb sub param_2,param_2,x2 BL2:d9002da0 24682338 strb w4,[param_2, x3, LSL ] BL2:d9002da4 42040091 add x2,x2,#0x1 BL2:d9002da8 f8ffff17 b LAB_d9002d88 LAB_d9002dac: ;XREF[1,0]: d9002d8c BL2:d9002dac 006e81d2 mov param_1,#0xb70 BL2:d9002db0 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9002db4 020844b9 ldr w2,[param_1, #0x408]=>DAT_d9000f78 BL2:d9002db8 0140a2d2 mov param_2,#DDR:DAT_12000000 BL2:d9002dbc e00313aa mov param_1,x19 BL2:d9002dc0 42747ed3 ubfiz x2,x2,#0x2,#0x1e BL2:d9002dc4 5c170094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d9002dc8 801a40b9 ldr param_1,[x20, #0x18] BL2:d9002dcc 1f000871 cmp param_1,#0x200 BL2:d9002dd0 81030054 b.ne LAB_d9002e40 BL2:d9002dd4 006e81d2 mov param_1,#0xb70 BL2:d9002dd8 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9002ddc 01004839 ldrb param_2,[param_1, #0x200]=>DAT_d9000d70 BL2:d9002de0 600080d2 mov param_1,#0x3 BL2:d9002de4 0040a2f2 movk param_1,#0x1200, LSL #16 BL2:d9002de8 01000039 strb param_2,[param_1]=>DDR:DAT_12000003 BL2:d9002dec 20ae81d2 mov param_1,#0xd71 BL2:d9002df0 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9002df4 01004039 ldrb param_2,[param_1]=>DAT_d9000d71 BL2:d9002df8 400080d2 mov param_1,#0x2 BL2:d9002dfc 0040a2f2 movk param_1,#0x1200, LSL #16 BL2:d9002e00 01000039 strb param_2,[param_1]=>DDR:DAT_12000002 BL2:d9002e04 40ae81d2 mov param_1,#0xd72 BL2:d9002e08 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9002e0c 01004039 ldrb param_2,[param_1]=>DAT_d9000d72 BL2:d9002e10 200080d2 mov param_1,#0x1 BL2:d9002e14 0040a2f2 movk param_1,#0x1200, LSL #16 BL2:d9002e18 01000039 strb param_2,[param_1]=>DDR:DAT_12000001 BL2:d9002e1c 60ae81d2 mov param_1,#0xd73 BL2:d9002e20 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9002e24 00004039 ldrb param_1,[param_1]=>DAT_d9000d73 BL2:d9002e28 0140a2d2 mov param_2,#DDR:DAT_12000000 BL2:d9002e2c 20000039 strb param_1,[param_2]=>DDR:DAT_12000000 BL2:d9002e30 00ae81d2 mov param_1,#0xd70 BL2:d9002e34 0020bbf2 movk param_1=>DAT_d9000d70,#0xd900, LSL #16 BL2:d9002e38 820080d2 mov x2,#0x4 BL2:d9002e3c 3e170094 bl memcpy ;ulong memcpy(ulong param_1, long par... LAB_d9002e40: ;XREF[2,0]: d9002d38,d9002dd0 BL2:d9002e40 36008052 mov w22,#0x1 BL2:d9002e44 03000014 b LAB_d9002e50 LAB_d9002e48: ;XREF[1,0]: d9002d00 BL2:d9002e48 16001c12 and w22,param_1,#0x10 BL2:d9002e4c 800e2037 tbnz param_1,#0x4,LAB_d900301c LAB_d9002e50: ;XREF[1,0]: d9002e44 BL2:d9002e50 952a40b9 ldr w21,[x20, #0x28] BL2:d9002e54 823640b9 ldr w2,[x20, #0x34] BL2:d9002e58 00088052 mov param_1,#0x40 BL2:d9002e5c b5160012 and w21,w21,#0x3f BL2:d9002e60 1500154b sub w21,param_1,w21 BL2:d9002e64 e10314aa mov param_2,x20 BL2:d9002e68 0010a2d2 mov param_1,#0x10800000 BL2:d9002e6c 1310a2d2 mov x19,#0x10800000 BL2:d9002e70 31170094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d9002e74 613640b9 ldr param_2,[x19, #offset DDR:DAT_1080003... BL2:d9002e78 e00313aa mov param_1,x19 BL2:d9002e7c ec170094 bl inv_dcache_range ;undefined inv_dcache_range(ulong par... BL2:d9002e80 613a40b9 ldr param_2,[x19, #offset DDR:DAT_1080003... BL2:d9002e84 623640b9 ldr w2,[x19, #offset DDR:DAT_10800034 &0xff] BL2:d9002e88 8102018b add param_2,x20,param_2 BL2:d9002e8c e00314aa mov param_1,x20 BL2:d9002e90 29170094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d9002e94 613640b9 ldr param_2,[x19, #offset DDR:DAT_1080003... BL2:d9002e98 e00314aa mov param_1,x20 BL2:d9002e9c e4170094 bl inv_dcache_range ;undefined inv_dcache_range(ulong par... BL2:d9002ea0 603640b9 ldr param_1,[x19, #offset DDR:DAT_1080003... BL2:d9002ea4 f703152a mov w23,w21 BL2:d9002ea8 e20317aa mov x2,x23 BL2:d9002eac e10314aa mov param_2,x20 BL2:d9002eb0 6002008b add param_1,x19,param_1 BL2:d9002eb4 20170094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d9002eb8 603640b9 ldr param_1,[x19, #offset DDR:DAT_1080003... BL2:d9002ebc e10317aa mov param_2,x23 BL2:d9002ec0 6002008b add param_1,x19,param_1 BL2:d9002ec4 da170094 bl inv_dcache_range ;undefined inv_dcache_range(ulong par... BL2:d9002ec8 a0430191 add param_1,x29,#0x50 BL2:d9002ecc 01208052 mov param_2,#0x100 BL2:d9002ed0 7a1e40b9 ldr w26,[x19, #offset DDR:DAT_1080001c &0... BL2:d9002ed4 791640b9 ldr w25,[x19, #offset DDR:DAT_10800014 &0... BL2:d9002ed8 10fcff97 bl FUN_d9001f18 ;undefined FUN_d9001f18(void) BL2:d9002edc 62224039 ldrb w2,[x19, #offset DDR:DAT_10800008 &0xff] BL2:d9002ee0 a0430191 add param_1,x29,#0x50 BL2:d9002ee4 e10313aa mov param_2,x19 BL2:d9002ee8 7bfcff97 bl FUN_d90020d4 ;undefined FUN_d90020d4(undefined8 pa... BL2:d9002eec 622a40b9 ldr w2,[x19, #offset DDR:DAT_10800028 &0xff] BL2:d9002ef0 5a03138b add x26,x26,x19 BL2:d9002ef4 a0430191 add param_1,x29,#0x50 BL2:d9002ef8 e1031aaa mov param_2,x26 BL2:d9002efc a202020b add w2,w21,w2 BL2:d9002f00 75fcff97 bl FUN_d90020d4 ;undefined FUN_d90020d4(undefined8 pa... BL2:d9002f04 623a40b9 ldr w2,[x19, #offset DDR:DAT_10800038 &0xff] BL2:d9002f08 a0430191 add param_1,x29,#0x50 BL2:d9002f0c e102148b add param_2,x23,x20 BL2:d9002f10 4200154b sub w2,w2,w21 BL2:d9002f14 89fcff97 bl FUN_d9002138 ;undefined FUN_d9002138(long param_1,... BL2:d9002f18 a1f30391 add param_2,x29,#0xfc BL2:d9002f1c a0830491 add param_1,x29,#0x120 BL2:d9002f20 020480d2 mov x2,#0x20 BL2:d9002f24 04170094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d9002f28 a0830491 add param_1,x29,#0x120 BL2:d9002f2c 010480d2 mov param_2,#0x20 BL2:d9002f30 3903138b add x25,x25,x19 BL2:d9002f34 be170094 bl inv_dcache_range ;undefined inv_dcache_range(ulong par... BL2:d9002f38 d6000034 cbz w22,LAB_d9002f50 BL2:d9002f3c 55000090 adrp x21,0xd900a000 BL2:d9002f40 130080d2 mov x19,#0x0 BL2:d9002f44 b5621c91 add x21,x21,#0x718 BL2:d9002f48 160680d2 mov x22,#0x30 BL2:d9002f4c 14000014 b LAB_d9002f9c LAB_d9002f50: ;XREF[1,0]: d9002f38 BL2:d9002f50 611640b9 ldr param_2,[x19, #offset DDR:DAT_1080001... BL2:d9002f54 020480d2 mov x2,#0x20 BL2:d9002f58 a0830491 add param_1,x29,#0x120 BL2:d9002f5c 6102018b add param_2,x19,param_2 BL2:d9002f60 e8160094 bl FUN_d9008b00 ;int FUN_d9008b00(long param_1, long ... BL2:d9002f64 e203002a mov w2,param_1 BL2:d9002f68 1f001f6b cmp param_1,wzr BL2:d9002f6c 60448052 mov param_1,#0x223 BL2:d9002f70 4200801a csel w2,w2,param_1,eq BL2:d9002f74 2a000014 b LAB_d900301c LAB_d9002f78: ;XREF[1,0]: d9002fac BL2:d9002f78 010581d2 mov param_2,#0x828 BL2:d9002f7c 0120bbf2 movk param_2,#0xd900, LSL #16 BL2:d9002f80 6106169b madd param_2,x19,x22,param_2 BL2:d9002f84 e00315aa mov param_1,x21 BL2:d9002f88 020480d2 mov x2,#0x20 BL2:d9002f8c dd160094 bl FUN_d9008b00 ;int FUN_d9008b00(long param_1, long ... BL2:d9002f90 f403002a mov w20,param_1 BL2:d9002f94 73060091 add x19,x19,#0x1 BL2:d9002f98 00010034 cbz param_1,LAB_d9002fb8 LAB_d9002f9c: ;XREF[1,0]: d9002f4c BL2:d9002f9c 020181d2 mov x2,#0x808 BL2:d9002fa0 0220bbf2 movk x2,#0xd900, LSL #16 BL2:d9002fa4 40304039 ldrb param_1,[x2, #0xc]=>DAT_d9000814 BL2:d9002fa8 7f02206b cmp w19,param_1, UXTB BL2:d9002fac 6bfeff54 b.lt LAB_d9002f78 BL2:d9002fb0 c2458052 mov w2,#0x22e BL2:d9002fb4 1a000014 b LAB_d900301c LAB_d9002fb8: ;XREF[1,0]: d9002f98 BL2:d9002fb8 006e81d2 mov param_1,#0xb70 BL2:d9002fbc a2830491 add x2,x29,#0x120 BL2:d9002fc0 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9002fc4 e10319aa mov param_2,x25 BL2:d9002fc8 0340a2d2 mov x3,#DDR:DAT_12000000 BL2:d9002fcc 2b130094 bl FUN_d9007c78 ;bool FUN_d9007c78(uint * param_1, lo... BL2:d9002fd0 a23b8052 mov w2,#0x1dd BL2:d9002fd4 40020034 cbz param_1,LAB_d900301c BL2:d9002fd8 580000b4 cbz x24,LAB_d9002fe0 BL2:d9002fdc 140300b9 str w20,[x24] LAB_d9002fe0: ;XREF[1,0]: d9002fd8 BL2:d9002fe0 200000f0 adrp param_1,0xd9009000 BL2:d9002fe4 00c00891 add param_1=>...,param_1,#0x230 ;= "aml log : R-" BL2:d9002fe8 21170094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9002fec 006e81d2 mov param_1,#0xb70 BL2:d9002ff0 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9002ff4 000844b9 ldr param_1,[param_1, #0x408]=>DAT_d9000f78 BL2:d9002ff8 00687bd3 ubfiz param_1,param_1,#0x5,#0x1b BL2:d9002ffc 3d170094 bl serial_put_dec ;undefined serial_put_dec(ulong param_1) BL2:d9003000 200000d0 adrp param_1,0xd9009000 BL2:d9003004 00600691 add param_1=>...,param_1,#0x198 ;= " check " BL2:d9003008 19170094 bl serial_puts ;void serial_puts(char * param_1) BL2:d900300c 200000d0 adrp param_1,0xd9009000 BL2:d9003010 00601091 add param_1=>...,param_1,#0x418 ;= "pass!\n" BL2:d9003014 16170094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9003018 02008052 mov w2,#0x0 LAB_d900301c: ;XREF[11,0]: d9002cc8,d9002cd4,d9002cdc,d9002ce8 ; d9002cf4,d9002d08,d9002d28,d9002e4c ; d9002f74,d9002fb4,d9002fd4 BL2:d900301c e003022a mov param_1,w2 BL2:d9003020 f35341a9 ldp x19,x20,[sp, #local_130+0x140] BL2:d9003024 f55b42a9 ldp x21,x22,[sp, #local_120+0x140] BL2:d9003028 f76343a9 ldp x23,x24,[sp, #local_110+0x140] BL2:d900302c f96b44a9 ldp x25,x26,[sp, #local_100+0x140] BL2:d9003030 fd7bd4a8 ldp x29=>local_140,x30,[sp], #0x140 BL2:d9003034 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined aes_setkey(undefined4 * param_1) ;param_1 undefined4 * x0 ;XREF[1,0]: d90032a0 BL2:d9003038 210000f0 adrp x1,0xd900a000 BL2:d900303c 21402591 add x1,x1,#0x950 BL2:d9003040 821284d2 mov x2,#0x2094 BL2:d9003044 3f0000b9 str wzr,[x1]=>DAT_d900a950 BL2:d9003048 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d900304c 430040b9 ldr w3,[x2]=>DAT_da832094 BL2:d9003050 a2008052 mov w2,#0x5 BL2:d9003054 6300022a orr w3,w3,w2 BL2:d9003058 821284d2 mov x2,#0x2094 BL2:d900305c 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9003060 430000b9 str w3,[x2]=>DAT_da832094 BL2:d9003064 021284d2 mov x2,#0x2090 BL2:d9003068 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d900306c 430040b9 ldr w3,[x2]=>DAT_da832090 BL2:d9003070 021284d2 mov x2,#0x2090 BL2:d9003074 630c1832 orr w3,w3,#0xf00 BL2:d9003078 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d900307c 430000b9 str w3,[x2]=>DAT_da832090 BL2:d9003080 021284d2 mov x2,#0x2090 BL2:d9003084 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9003088 430040b9 ldr w3,[x2]=>DAT_da832090 BL2:d900308c 021284d2 mov x2,#0x2090 BL2:d9003090 636c1c12 and w3,w3,#0xfffffff0 BL2:d9003094 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9003098 430000b9 str w3,[x2]=>DAT_da832090 BL2:d900309c 021284d2 mov x2,#0x2090 BL2:d90030a0 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d90030a4 430040b9 ldr w3,[x2]=>DAT_da832090 BL2:d90030a8 021284d2 mov x2,#0x2090 BL2:d90030ac 636c1812 and w3,w3,#0xffffff0f BL2:d90030b0 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d90030b4 430000b9 str w3,[x2]=>DAT_da832090 BL2:d90030b8 020084d2 mov x2,#0x2000 BL2:d90030bc 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d90030c0 430040b9 ldr w3,[x2]=>DAT_da832000 BL2:d90030c4 020084d2 mov x2,#0x2000 BL2:d90030c8 63781c12 and w3,w3,#0xfffffff7 BL2:d90030cc 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d90030d0 430000b9 str w3,[x2]=>DAT_da832000 BL2:d90030d4 024e84d2 mov x2,#0x2270 BL2:d90030d8 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d90030dc 430040b9 ldr w3,[x2]=>DAT_c8832270 BL2:d90030e0 220040b9 ldr w2,[x1]=>DAT_d900a950 BL2:d90030e4 63741612 and w3,w3,#0xfffffcff BL2:d90030e8 6320022a orr w3,w3,w2, LSL #0x8 BL2:d90030ec 024e84d2 mov x2,#0x2270 BL2:d90030f0 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d90030f4 430000b9 str w3,[x2]=>DAT_c8832270 BL2:d90030f8 030040b9 ldr w3,[param_1] BL2:d90030fc 024884d2 mov x2,#0x2240 BL2:d9003100 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9003104 430000b9 str w3,[x2]=>DAT_c8832240 BL2:d9003108 030440b9 ldr w3,[param_1, #0x4] BL2:d900310c 824884d2 mov x2,#0x2244 BL2:d9003110 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9003114 430000b9 str w3,[x2]=>DAT_c8832244 BL2:d9003118 030840b9 ldr w3,[param_1, #0x8] BL2:d900311c 024984d2 mov x2,#0x2248 BL2:d9003120 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9003124 430000b9 str w3,[x2]=>DAT_c8832248 BL2:d9003128 030c40b9 ldr w3,[param_1, #0xc] BL2:d900312c 824984d2 mov x2,#0x224c BL2:d9003130 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9003134 430000b9 str w3,[x2]=>DAT_c883224c BL2:d9003138 031040b9 ldr w3,[param_1, #0x10] BL2:d900313c 024a84d2 mov x2,#0x2250 BL2:d9003140 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9003144 430000b9 str w3,[x2]=>DAT_c8832250 BL2:d9003148 031440b9 ldr w3,[param_1, #0x14] BL2:d900314c 824a84d2 mov x2,#0x2254 BL2:d9003150 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9003154 430000b9 str w3,[x2]=>DAT_c8832254 BL2:d9003158 031840b9 ldr w3,[param_1, #0x18] BL2:d900315c 024b84d2 mov x2,#0x2258 BL2:d9003160 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9003164 430000b9 str w3,[x2]=>DAT_c8832258 BL2:d9003168 021c40b9 ldr w2,[param_1, #0x1c] BL2:d900316c 804b84d2 mov param_1,#0x225c BL2:d9003170 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9003174 020000b9 str w2,[param_1]=>DAT_c883225c BL2:d9003178 004c84d2 mov param_1,#0x2260 BL2:d900317c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9003180 1f0000b9 str wzr,[param_1]=>DAT_c8832260 BL2:d9003184 804c84d2 mov param_1,#0x2264 BL2:d9003188 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900318c 1f0000b9 str wzr,[param_1]=>DAT_c8832264 BL2:d9003190 004d84d2 mov param_1,#0x2268 BL2:d9003194 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9003198 1f0000b9 str wzr,[param_1]=>DAT_c8832268 BL2:d900319c 804d84d2 mov param_1,#0x226c BL2:d90031a0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90031a4 1f0000b9 str wzr,[param_1]=>DAT_c883226c BL2:d90031a8 02288052 mov w2,#0x140 BL2:d90031ac 200040b9 ldr param_1,[x1]=>DAT_d900a950 BL2:d90031b0 02aaa072 movk w2,#0x550, LSL #16 BL2:d90031b4 01aaa052 mov w1,#0x5500000 BL2:d90031b8 ea0a0014 b NDMA_set_table_position_secure ;undefined NDMA_set_table_position_se... ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d90031bc(uint param_1, uint param_2, uint param_3) ;param_1 uint w0 ;param_2 uint w1 ;param_3 uint w2 ;local_10 undefined8 -10 ;XREF[2,0]: d90031c8,d900322c ;local_20 undefined8 -20 ;XREF[2,0]: d90031c0,d9003228 ;local_30 undefined4 -30 ;XREF[1,0]: d9003204 ;local_38 undefined4 -38 ;XREF[1,0]: d90031e4 ;local_40 undefined4 -40 ;XREF[1,0]: d90031e0 ;local_48 undefined4 -48 ;XREF[1,0]: d90031d4 ;local_50 undefined4 -50 ;XREF[1,0]: d9003200 ;XREF[1,0]: d90032b0 BL2:d90031bc ff4301d1 sub sp,sp,#0x50 BL2:d90031c0 fd7b03a9 stp x29,x30,[sp, #local_20+0x50] BL2:d90031c4 fdc30091 add x29,sp,#0x30 BL2:d90031c8 f32300f9 str x19,[sp, #local_10+0x50] BL2:d90031cc 330000f0 adrp x19,0xd900a000 BL2:d90031d0 73422591 add x19,x19,#0x950 BL2:d90031d4 e00b00b9 str param_1,[sp, #local_48+0x50] BL2:d90031d8 e0018052 mov param_1,#0xf BL2:d90031dc 04008052 mov w4,#0x0 BL2:d90031e0 e11300b9 str param_2,[sp, #local_40+0x50] BL2:d90031e4 e01b00b9 str param_1,[sp, #local_38+0x50] BL2:d90031e8 21008052 mov param_2,#0x1 BL2:d90031ec 600240b9 ldr param_1,[x19]=>DAT_d900a950 BL2:d90031f0 e303012a mov w3,param_2 BL2:d90031f4 45008052 mov w5,#0x2 BL2:d90031f8 e603042a mov w6,w4 BL2:d90031fc e703042a mov w7,w4 BL2:d9003200 e20300b9 str param_3,[sp]=>local_50 BL2:d9003204 ff2300b9 str wzr,[sp, #local_30+0x50] BL2:d9003208 e203012a mov param_3,param_2 BL2:d900320c 4e0b0094 bl FUN_d9005f44 ;undefined FUN_d9005f44(uint param_1,... BL2:d9003210 600240b9 ldr param_1,[x19]=>DAT_d900a950 BL2:d9003214 160b0094 bl FUN_d9005e6c ;undefined FUN_d9005e6c(int param_1) BL2:d9003218 600240b9 ldr param_1,[x19]=>DAT_d900a950 BL2:d900321c 260b0094 bl FUN_d9005eb4 ;undefined FUN_d9005eb4(uint param_1) BL2:d9003220 bfc300d1 sub sp,x29,#0x30 BL2:d9003224 600240b9 ldr param_1,[x19]=>DAT_d900a950 BL2:d9003228 fd7b43a9 ldp x29=>local_20,x30,[sp, #0x30] BL2:d900322c f32340f9 ldr x19,[sp, #local_10+0x50] BL2:d9003230 ff430191 add sp,sp,#0x50 BL2:d9003234 2d0b0014 b FUN_d9005ee8 ;undefined FUN_d9005ee8(int param_1) ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;int aml_data_check(int * param_1, int * param_2, uint param_3, int param_4) ;param_1 int * x0 ;param_2 int * x1 ;param_3 uint w2 ;param_4 int w3 ;local_30 undefined8 -30 ;XREF[2,0]: d9003258,d90032fc ;local_40 undefined8 -40 ;XREF[2,0]: d9003240,d90032f8 ;local_50 undefined8 -50 ;XREF[2,0]: d9003238,d9003300 ;XREF[1,0]: d9006530 BL2:d9003238 fd7bbba9 stp x29,x30,[sp, #local_50]! BL2:d900323c fd030091 mov x29,sp BL2:d9003240 f35301a9 stp x19,x20,[sp, #local_40+0x50] BL2:d9003244 f30300aa mov x19,param_1 BL2:d9003248 f40301aa mov x20,param_2 BL2:d900324c 010040b9 ldr param_2,[param_1] BL2:d9003250 20008052 mov param_1,#0x1 BL2:d9003254 804cb572 movk param_1,#0xaa64, LSL #16 BL2:d9003258 f51300f9 str x21,[sp, #local_30+0x50] BL2:d900325c 3f00006b cmp param_2,param_1 BL2:d9003260 f503022a mov w21,param_3 BL2:d9003264 01010054 b.ne LAB_d9003284 BL2:d9003268 610640b9 ldr param_2,[x19, #0x4] BL2:d900326c 00cf8a52 mov param_1,#0x5678 BL2:d9003270 8046a272 movk param_1,#0x1234, LSL #16 BL2:d9003274 3f00006b cmp param_2,param_1 BL2:d9003278 61000054 b.ne LAB_d9003284 LAB_d900327c: ;XREF[1,0]: d90032e8 BL2:d900327c 00008052 mov param_1,#0x0 BL2:d9003280 1e000014 b LAB_d90032f8 LAB_d9003284: ;XREF[2,0]: d9003264,d9003278 BL2:d9003284 43030034 cbz param_4,LAB_d90032ec BL2:d9003288 03008052 mov param_4,#0x0 BL2:d900328c 01028052 mov param_2,#0x10 BL2:d9003290 a2c30091 add param_3,x29,#0x30 BL2:d9003294 0020bbd2 mov param_1,#0xd9000000 BL2:d9003298 edfbff97 bl sha2 ;undefined sha2(ulong param_1, uint p... BL2:d900329c a0c30091 add param_1,x29,#0x30 BL2:d90032a0 66ffff97 bl aes_setkey ;undefined aes_setkey(undefined4 * pa... BL2:d90032a4 e00313aa mov param_1,x19 BL2:d90032a8 e10314aa mov param_2,x20 BL2:d90032ac e203152a mov param_3,w21 BL2:d90032b0 c3ffff97 bl FUN_d90031bc ;undefined FUN_d90031bc(uint param_1,... BL2:d90032b4 e00314aa mov param_1,x20 BL2:d90032b8 e103152a mov param_2,w21 BL2:d90032bc dc160094 bl inv_dcache_range ;undefined inv_dcache_range(ulong par... BL2:d90032c0 810240b9 ldr param_2,[x20] BL2:d90032c4 20008052 mov param_1,#0x1 BL2:d90032c8 804cb572 movk param_1,#0xaa64, LSL #16 BL2:d90032cc 3f00006b cmp param_2,param_1 BL2:d90032d0 f30314aa mov x19,x20 BL2:d90032d4 c1000054 b.ne LAB_d90032ec BL2:d90032d8 810640b9 ldr param_2,[x20, #0x4] BL2:d90032dc 00cf8a52 mov param_1,#0x5678 BL2:d90032e0 8046a272 movk param_1,#0x1234, LSL #16 BL2:d90032e4 3f00006b cmp param_2,param_1 BL2:d90032e8 a0fcff54 b.eq LAB_d900327c LAB_d90032ec: ;XREF[2,0]: d9003284,d90032d4 BL2:d90032ec e00313aa mov param_1,x19 BL2:d90032f0 010080d2 mov param_2,#0x0 BL2:d90032f4 65feff97 bl FUN_d9002c88 ;int FUN_d9002c88(int * param_1, unde... LAB_d90032f8: ;XREF[1,0]: d9003280 BL2:d90032f8 f35341a9 ldp x19,x20,[sp, #local_40+0x50] BL2:d90032fc f51340f9 ldr x21,[sp, #local_30+0x50] BL2:d9003300 fd7bc5a8 ldp x29=>local_50,x30,[sp], #0x50 BL2:d9003304 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;void ddr_set_dmc_ctrl_new(ddr_set * ddrs) ;ddrs ddr_set * x0 ;ddr0_size undefined8 x1 ;XREF[1,0]: d900332c ;ddr1_size undefined8 x2 ;XREF[1,0]: d9003358 ;ddr_size undefined2 HASH... ;ddr0_size_reg undefined4 HASH... ;ddr1_size_reg undefined4 HASH... ;XREF[2,0]: d90034fc,d90039e0 BL2:d9003308 01104079 ldrh w1,[x0, #ddrs->ddr_size] BL2:d900330c 03008012 mov w3,#0xffffffff BL2:d9003310 e203012a mov w2,w1 LAB_d9003314: ;XREF[1,0]: d9003324 BL2:d9003314 a2000034 cbz w2,LAB_d9003328 BL2:d9003318 44000012 and w4,w2,#0x1 BL2:d900331c 6300040b add w3,w3,w4 BL2:d9003320 427c0153 lsr w2,w2,#0x1 BL2:d9003324 fcffff17 b LAB_d9003314 LAB_d9003328: ;XREF[1,0]: d9003314 BL2:d9003328 04004039 ldrb w4,[ddrs->ddr_channel_set] BL2:d900332c 217c0653 lsr ddr0_size,ddr0_size,#0x6 BL2:d9003330 820c0051 sub w2,w4,#0x3 BL2:d9003334 421c0053 uxtb w2,w2 BL2:d9003338 5f040071 cmp w2,#0x1 BL2:d900333c 89000054 b.ls LAB_d900334c BL2:d9003340 9f180071 cmp w4,#0x6 BL2:d9003344 e203012a mov w2,ddr0_size BL2:d9003348 c1000054 b.ne LAB_d9003360 LAB_d900334c: ;XREF[1,0]: d900333c BL2:d900334c 217c0153 lsr ddr0_size,ddr0_size,#0x1 BL2:d9003350 e203012a mov w2,ddr0_size BL2:d9003354 63000034 cbz w3,LAB_d9003360 BL2:d9003358 22781f53 lsl ddr1_size,ddr0_size,#0x1 BL2:d900335c 21741e53 lsl ddr0_size,ddr0_size,#0x2 LAB_d9003360: ;XREF[2,0]: d9003348,d9003354 BL2:d9003360 03008052 mov w3,#0x0 LAB_d9003364: ;XREF[1,0]: d9003370 BL2:d9003364 217c0153 lsr ddr0_size,ddr0_size,#0x1 BL2:d9003368 61000037 tbnz ddr0_size,#0x0,LAB_d9003374 BL2:d900336c 63040011 add w3,w3,#0x1 BL2:d9003370 fdffff17 b LAB_d9003364 LAB_d9003374: ;XREF[1,0]: d9003368 BL2:d9003374 01008052 mov ddr0_size,#0x0 LAB_d9003378: ;XREF[1,0]: d9003384 BL2:d9003378 427c0153 lsr ddr1_size,ddr1_size,#0x1 BL2:d900337c 62000037 tbnz ddr1_size,#0x0,LAB_d9003388 ;== 12 after the loop BL2:d9003380 21040011 add ddr0_size,ddr0_size,#0x1 BL2:d9003384 fdffff17 b LAB_d9003378 ;0 | (0x200040 | 0x2D) & 0xFFFFFFC0 | 12 << 3 ; == 0x200060 LAB_d9003388: ;XREF[1,0]: d900337c BL2:d9003388 021840b9 ldr ddr1_size,[x0, #ddrs->ddr_dmc_ctrl] BL2:d900338c 42641a12 and ddr1_size,ddr1_size,#0xffffffc0 BL2:d9003390 6300022a orr w3,w3,ddr1_size BL2:d9003394 610c012a orr ddr0_size,w3,ddr0_size, LSL #0x3 BL2:d9003398 011800b9 str ddr0_size,[x0, #ddrs->ddr_dmc_ctrl] BL2:d900339c 00ed90d2 mov ddrs,#0x8768 BL2:d90033a0 6050bbf2 movk ddrs=>DAT_da838768,#0xda83, LSL #16 BL2:d90033a4 010000b9 str ddr0_size,[ddrs->ddr_channel_set]=>DA... BL2:d90033a8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined ddr_detect_size(ddr_set * ddrs) ;ddrs ddr_set * x0 ;channel_set undefined1 tmpZR ;XREF[1,0]: d900340c ;local_10 undefined8 -10 ;XREF[2,0]: d90033e4,d90034f4 ;local_20 undefined8 -20 ;XREF[2,0]: d90033d8,d90034f0 ;local_30 undefined8 -30 ;XREF[2,0]: d90033e0,d90034ec ;local_40 undefined8 -40 ;XREF[2,0]: d90033dc,d90034e4 ;local_50 undefined8 -50 ;XREF[2,0]: d90033b4,d90034e8 ;local_60 undefined8 -60 ;XREF[2,0]: d90033ac,d90034f8 ;XREF[1,0]: d9003870 BL2:d90033ac fd7bbaa9 stp x29,x30,[sp, #local_60]! BL2:d90033b0 fd030091 mov x29,sp BL2:d90033b4 f35301a9 stp x19,x20,[sp, #local_50+0x60] BL2:d90033b8 f30300aa mov x19,ddrs BL2:d90033bc 00ed90d2 mov ddrs,#0x8768 BL2:d90033c0 6050bbf2 movk ddrs,#0xda83, LSL #16 BL2:d90033c4 010040b9 ldr w1,[ddrs->ddr_channel_set]=>DAT_da838768 BL2:d90033c8 a0058052 mov ddrs,#0x2d BL2:d90033cc 21641a12 and w1,w1,#0xffffffc0 BL2:d90033d0 2100002a orr w1,w1,ddrs BL2:d90033d4 00ed90d2 mov ddrs,#0x8768 BL2:d90033d8 f96b04a9 stp x25,x26,[sp, #local_20+0x60] BL2:d90033dc f55b02a9 stp x21,x22,[sp, #local_40+0x60] BL2:d90033e0 f76303a9 stp x23,x24,[sp, #local_30+0x60] BL2:d90033e4 fb2b00f9 str x27,[sp, #local_10+0x60] BL2:d90033e8 6050bbf2 movk ddrs,#0xda83, LSL #16 BL2:d90033ec 010000b9 str w1,[ddrs->ddr_channel_set]=>DAT_da838768 BL2:d90033f0 7a1a40b9 ldr w26,[x19, #0x18] BL2:d90033f4 20008052 mov ddrs,#0x1 BL2:d90033f8 5a2b48d3 ubfx x26,x26,#0x8,#0x3 BL2:d90033fc 5a230011 add w26,w26,#0x8 BL2:d9003400 1a20da1a lsl w26,ddrs,w26 BL2:d9003404 60024039 ldrb ddrs,[x19] BL2:d9003408 7f120079 strh wzr,[x19, #0x8] BL2:d900340c 1f100071 cmp ddrs,#0x4 BL2:d9003410 f9179f1a cset w25,eq BL2:d9003414 1620a052 mov w22,#0x1000000 BL2:d9003418 17008052 mov w23,#0x0 BL2:d900341c 9b008052 mov w27,#0x4 LAB_d9003420: ;XREF[1,0]: d90034b4 BL2:d9003420 ff02196b cmp w23,w25 BL2:d9003424 ac040054 b.gt LAB_d90034b8 BL2:d9003428 f403162a mov w20,w22 BL2:d900342c 95028052 mov w21,#0x14 LAB_d9003430: ;XREF[1,0]: d9003498 BL2:d9003430 40018052 mov ddrs,#0xa BL2:d9003434 9f0200b9 str wzr,[x20]=>DDR:DAT_01000000 BL2:d9003438 0afeff97 bl udelay ;void udelay(undefined8 us) BL2:d900343c a09b9952 mov ddrs,#0xccdd BL2:d9003440 6057b572 movk ddrs,#0xaabb, LSL #16 BL2:d9003444 7823d51a lsl w24,w27,w21 BL2:d9003448 006b34b8 str ddrs,[x24, x20, LSL #0x0]=>DDR:DAT_01... BL2:d900344c 40018052 mov ddrs,#0xa BL2:d9003450 04feff97 bl udelay ;void udelay(undefined8 us) BL2:d9003454 60024039 ldrb ddrs,[x19] BL2:d9003458 1f0c0071 cmp ddrs,#0x3 BL2:d900345c 81000054 b.ne LAB_d900346c BL2:d9003460 800240b9 ldr ddrs,[x20]=>DDR:DAT_01000000 BL2:d9003464 1f001f6b cmp ddrs,wzr BL2:d9003468 08000014 b LAB_d9003488 LAB_d900346c: ;XREF[1,0]: d900345c BL2:d900346c 810240b9 ldr w1,[x20]=>DDR:DAT_01000000 BL2:d9003470 00008052 mov ddrs,#0x0 BL2:d9003474 c1000034 cbz w1,LAB_d900348c BL2:d9003478 810240b9 ldr w1,[x20]=>DDR:DAT_01000000 BL2:d900347c a09b9952 mov ddrs,#0xccdd BL2:d9003480 6057b572 movk ddrs,#0xaabb, LSL #16 BL2:d9003484 3f00006b cmp w1,ddrs LAB_d9003488: ;XREF[1,0]: d9003468 BL2:d9003488 e0079f1a cset ddrs,ne LAB_d900348c: ;XREF[1,0]: d9003474 BL2:d900348c 80000035 cbnz ddrs,LAB_d900349c BL2:d9003490 b5060011 add w21,w21,#0x1 BL2:d9003494 bf7a0071 cmp w21,#0x1e BL2:d9003498 c1fcff54 b.ne LAB_d9003430 LAB_d900349c: ;XREF[1,0]: d900348c BL2:d900349c 60124079 ldrh ddrs,[x19, #0x8] BL2:d90034a0 18ff54d3 lsr x24,x24,#0x14 BL2:d90034a4 1803000b add w24,w24,ddrs BL2:d90034a8 78120079 strh w24,[x19, #0x8] BL2:d90034ac f7060011 add w23,w23,#0x1 BL2:d90034b0 d6021a0b add w22,w22,w26 BL2:d90034b4 dbffff17 b LAB_d9003420 LAB_d90034b8: ;XREF[1,0]: d9003424 BL2:d90034b8 99000034 cbz w25,LAB_d90034c8 BL2:d90034bc 60124079 ldrh ddrs,[x19, #0x8] BL2:d90034c0 007c0153 lsr ddrs,ddrs,#0x1 BL2:d90034c4 60120079 strh ddrs,[x19, #0x8] LAB_d90034c8: ;XREF[1,0]: d90034b8 BL2:d90034c8 60024039 ldrb ddrs,[x19] BL2:d90034cc 1f0c0071 cmp ddrs,#0x3 BL2:d90034d0 81000054 b.ne LAB_d90034e0 BL2:d90034d4 60124079 ldrh ddrs,[x19, #0x8] BL2:d90034d8 00781f53 lsl ddrs,ddrs,#0x1 BL2:d90034dc 60120079 strh ddrs,[x19, #0x8] LAB_d90034e0: ;XREF[1,0]: d90034d0 BL2:d90034e0 e00313aa mov ddrs,x19 BL2:d90034e4 f55b42a9 ldp x21,x22,[sp, #local_40+0x60] BL2:d90034e8 f35341a9 ldp x19,x20,[sp, #local_50+0x60] BL2:d90034ec f76343a9 ldp x23,x24,[sp, #local_30+0x60] BL2:d90034f0 f96b44a9 ldp x25,x26,[sp, #local_20+0x60] BL2:d90034f4 fb2b40f9 ldr x27,[sp, #local_10+0x60] BL2:d90034f8 fd7bc6a8 ldp x29=>local_60,x30,[sp], #0x60 BL2:d90034fc 83ffff17 b ddr_set_dmc_ctrl_new ;void ddr_set_dmc_ctrl_new(ddr_set * ... ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined ddr_init_pll(void) ;local_10 undefined8 -10 ;XREF[2,0]: d9003520,d900383c ;local_20 undefined8 -20 ;XREF[2,0]: d9003518,d9003834 ;local_30 undefined8 -30 ;XREF[2,0]: d900351c,d9003838 ;local_40 undefined8 -40 ;XREF[2,0]: d9003500,d9003840 ;XREF[1,0]: d9005b48 BL2:d9003500 fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d9003504 fd030091 mov x29,sp BL2:d9003508 80b788d2 mov x0,#0x45bc BL2:d900350c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003510 010040b9 ldr w1,[x0]=>DAT_c88345bc BL2:d9003514 80b788d2 mov x0,#0x45bc BL2:d9003518 f55b02a9 stp x21,x22,[sp, #local_20+0x40] BL2:d900351c f35301a9 stp x19,x20,[sp, #local_30+0x40] BL2:d9003520 f76303a9 stp x23,x24,[sp, #local_10+0x40] BL2:d9003524 21000032 orr w1,w1,#0x1 BL2:d9003528 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d900352c 010000b9 str w1,[x0]=>DAT_c88345bc BL2:d9003530 005298d2 mov x0,#0xc290 BL2:d9003534 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003538 010040b9 ldr w1,[x0]=>DAT_c883c290 BL2:d900353c 005298d2 mov x0,#0xc290 BL2:d9003540 21000032 orr w1,w1,#0x1 BL2:d9003544 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003548 010000b9 str w1,[x0]=>DAT_c883c290 BL2:d900354c 00028dd2 mov x0,#0x6810 BL2:d9003550 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003554 010040b9 ldr w1,[x0]=>DAT_c8836810 BL2:d9003558 00028dd2 mov x0,#0x6810 BL2:d900355c 21781312 and w1,w1,#0xffffefff BL2:d9003560 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003564 010000b9 str w1,[x0]=>DAT_c8836810 BL2:d9003568 00028dd2 mov x0,#0x6810 BL2:d900356c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003570 010040b9 ldr w1,[x0]=>DAT_c8836810 BL2:d9003574 00028dd2 mov x0,#0x6810 BL2:d9003578 21001432 orr w1,w1,#0x1000 BL2:d900357c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003580 010000b9 str w1,[x0]=>DAT_c8836810 BL2:d9003584 40018052 mov w0,#0xa BL2:d9003588 b6fdff97 bl udelay ;void udelay(undefined8 us) BL2:d900358c 350000f0 adrp x21,0xd900a000 BL2:d9003590 a1020091 add x1,x21,#0x0 BL2:d9003594 20144079 ldrh w0,[x1, #offset ddrs.ddr_clk &0xff] BL2:d9003598 02200351 sub w2,w0,#0xc8 BL2:d900359c 423c0053 uxth w2,w2 ;ddrs.ddr_clk == 0x390/912 MHz ;(ddrs.ddr_clk - 200) == 0x2C8/712 MHz ;0x2C8 > 0x226 ;Thus this code inside `if` is never ran when ;using the WeTek Play2 ACS BL2:d90035a0 5f940871 cmp w2,#0x225 BL2:d90035a4 c8000054 b.hi LAB_d90035bc BL2:d90035a8 c2008052 mov w2,#0x6 BL2:d90035ac 0008c21a udiv w0,w0,w2 BL2:d90035b0 02408052 mov w2,#0x200 BL2:d90035b4 4200a072 movk w2,#0x2, LSL #16 BL2:d90035b8 09000014 b LAB_d90035dc LAB_d90035bc: ;XREF[1,0]: d90035a4 BL2:d90035bc 02b80b51 sub w2,w0,#0x2ee BL2:d90035c0 423c0053 uxth w2,w2 BL2:d90035c4 5f841371 cmp w2,#0x4e1 BL2:d90035c8 e8000054 b.hi LAB_d90035e4 BL2:d90035cc 82018052 mov w2,#12 ;0x390 / 0xC = 0x4C BL2:d90035d0 0008c21a udiv w0,w0,w2 BL2:d90035d4 02408052 mov w2,#0x200 BL2:d90035d8 2200a072 movk w2,#0x1, LSL #16 LAB_d90035dc: ;XREF[1,0]: d90035b8 BL2:d90035dc 4204402a orr w2,w2,w0, LSR #0x1 BL2:d90035e0 221400b9 str w2,[x1, #offset ddrs.ddr_pll_ctrl &0xff] LAB_d90035e4: ;XREF[1,0]: d90035c8 BL2:d90035e4 200000f0 adrp x0,0xd900a000 BL2:d90035e8 00d44b39 ldrb w0,[x0, #0x2f5]=>acs.ddrs_version BL2:d90035ec 1f040071 cmp w0,#0x1 ;In order: ;* `1 < DAT_D900A2F5` -> version check in ddrs_ ;* check in ddrs_ ;This thing never gets run in a WeTek Play2/Videostrong KII Pro!! BL2:d90035f0 c9090054 b.ls LAB_d9003728 BL2:d90035f4 b3020091 add x19,x21,#0x0 BL2:d90035f8 602e41b9 ldr w0,[x19, #0x12c]=>ddrs.ddr_func BL2:d90035fc 60090036 tbz w0,#0x0,LAB_d9003728 BL2:d9003600 00be88d2 mov x0,#0x45f0 BL2:d9003604 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003608 360000d0 adrp x22,0xd9009000 BL2:d900360c 010040b9 ldr w1,[x0]=>DAT_c88345f0 BL2:d9003610 d47a1691 add x20,x22,#0x59e BL2:d9003614 200000d0 adrp x0,0xd9009000 BL2:d9003618 00200a91 add x0=>s_STICKY_REG0:_0x_d9009288,x0,#0x288;= "STICKY_REG0: 0x" BL2:d900361c 02008052 mov w2,#0x0 BL2:d9003620 e30314aa mov x3=>CHAR_NL,x20 ;= '\n' BL2:d9003624 cd150094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9003628 80be88d2 mov x0,#0x45f4 BL2:d900362c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003630 010040b9 ldr w1,[x0]=>DAT_c88345f4 BL2:d9003634 200000d0 adrp x0,0xd9009000 BL2:d9003638 00600a91 add x0=>s_STICKY_REG1:_0x_d9009298,x0,#0x298;= "STICKY_REG1: 0x" BL2:d900363c 02008052 mov w2,#0x0 BL2:d9003640 e30314aa mov x3=>CHAR_NL,x20 ;= '\n' BL2:d9003644 c5150094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9003648 00be88d2 mov x0,#0x45f0 BL2:d900364c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003650 000040b9 ldr w0,[x0]=>DAT_c88345f0 BL2:d9003654 007c1453 lsr w0,w0,#0x14 BL2:d9003658 1f4c3c71 cmp w0,#0xf13 BL2:d900365c 61060054 b.ne LAB_d9003728 BL2:d9003660 00be88d2 mov x0,#0x45f0 BL2:d9003664 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003668 140040b9 ldr w20,[x0]=>DAT_c88345f0 BL2:d900366c 944e0072 ands w20,w20,#0xfffff BL2:d9003670 41000054 b.ne LAB_d9003678 BL2:d9003674 74de40b9 ldr w20,[x19, #offset ddrs.t_pub_zq0pr &0... LAB_d9003678: ;XREF[1,0]: d9003670 BL2:d9003678 b3020091 add x19,x21,#0x0 BL2:d900367c 380000d0 adrp x24,0xd9009000 BL2:d9003680 187f1691 add x24,x24,#0x59f BL2:d9003684 61de40b9 ldr w1,[x19, #offset ddrs.t_pub_zq0pr &0xff] BL2:d9003688 200000d0 adrp x0,0xd9009000 BL2:d900368c 00a00a91 add x0=>s_ZQCR:_0x_d90092a8,x0,#0x2a8 ;= "ZQCR: 0x" BL2:d9003690 02008052 mov w2,#0x0 BL2:d9003694 e30318aa mov x3=>CHAR_NUL,x24 ;= '\0' BL2:d9003698 370000d0 adrp x23,0xd9009000 BL2:d900369c af150094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d90036a0 f7c60a91 add x23,x23,#0x2b1 BL2:d90036a4 d67a1691 add x22,x22,#0x59e BL2:d90036a8 e00317aa mov x0=>s__->_0x_d90092b1,x23 ;= " -> 0x" BL2:d90036ac e103142a mov w1,w20 BL2:d90036b0 02008052 mov w2,#0x0 BL2:d90036b4 e30316aa mov x3=>CHAR_NL,x22 ;= '\n' BL2:d90036b8 a8150094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d90036bc 611640b9 ldr w1,[x19, #offset ddrs.ddr_pll_ctrl &0... BL2:d90036c0 200000d0 adrp x0,0xd9009000 BL2:d90036c4 00e00a91 add x0=>s_PLL_:_0x_d90092b8,x0,#0x2b8 ;= "PLL : 0x" BL2:d90036c8 02008052 mov w2,#0x0 BL2:d90036cc e30318aa mov x3=>CHAR_NUL,x24 ;= '\0' BL2:d90036d0 74de00b9 str w20,[x19, #offset ddrs.t_pub_zq0pr &0... BL2:d90036d4 74e200b9 str w20,[x19, #offset ddrs.t_pub_zq1pr &0... BL2:d90036d8 74e600b9 str w20,[x19, #offset ddrs.t_pub_zq2pr &0... BL2:d90036dc 74ea00b9 str w20,[x19, #offset ddrs.t_pub_zq3pr &0... BL2:d90036e0 9e150094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d90036e4 80be88d2 mov x0,#0x45f4 BL2:d90036e8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90036ec 010040b9 ldr w1,[x0]=>DAT_c88345f4 BL2:d90036f0 02008052 mov w2,#0x0 BL2:d90036f4 e00317aa mov x0=>s__->_0x_d90092b1,x23 ;= " -> 0x" BL2:d90036f8 e30316aa mov x3=>CHAR_NL,x22 ;= '\n' BL2:d90036fc 97150094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9003700 80be88d2 mov x0,#0x45f4 BL2:d9003704 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003708 000040b9 ldr w0,[x0]=>DAT_c88345f4 BL2:d900370c 601600b9 str w0,[x19, #offset ddrs.ddr_pll_ctrl &0... BL2:d9003710 00be88d2 mov x0,#0x45f0 BL2:d9003714 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003718 1f0000b9 str wzr,[x0]=>DAT_c88345f0 BL2:d900371c 80be88d2 mov x0,#0x45f4 BL2:d9003720 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003724 1f0000b9 str wzr,[x0]=>DAT_c88345f4 LAB_d9003728: ;XREF[3,0]: d90035f0,d90035fc,d900365c BL2:d9003728 340000d0 adrp x20,0xd9009000 BL2:d900372c 1700a452 mov w23,#0x20000000 BL2:d9003730 1639ad52 mov w22,#0x69c80000 BL2:d9003734 94060b91 add x20,x20,#0x2c1 LAB_d9003738: ;XREF[1,0]: d90037d8 BL2:d9003738 00008dd2 mov x0,#0x6800 BL2:d900373c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003740 170000b9 str w23,[x0]=>DAT_c8836800 BL2:d9003744 80008dd2 mov x0,#0x6804 BL2:d9003748 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d900374c 160000b9 str w22,[x0]=>DAT_c8836804 BL2:d9003750 61048752 mov w1,#0x3823 BL2:d9003754 00018dd2 mov x0,#0x6808 BL2:d9003758 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d900375c c148b972 movk w1,#0xca46, LSL #16 BL2:d9003760 010000b9 str w1,[x0]=>DAT_c8836808 BL2:d9003764 62048052 mov w2,#0x23 BL2:d9003768 80018dd2 mov x0,#0x680c BL2:d900376c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003770 0218a072 movk w2,#0xc0, LSL #16 BL2:d9003774 020000b9 str w2,[x0]=>DAT_c883680c BL2:d9003778 00028dd2 mov x0,#0x6810 BL2:d900377c 02a08652 mov w2,#0x3500 BL2:d9003780 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003784 0206a072 movk w2,#0x30, LSL #16 BL2:d9003788 020000b9 str w2,[x0]=>DAT_c8836810 BL2:d900378c b3020091 add x19,x21,#0x0 BL2:d9003790 611640b9 ldr w1,[x19, #offset ddrs.ddr_pll_ctrl &0... BL2:d9003794 00008dd2 mov x0,#0x6800 BL2:d9003798 21000332 orr w1,w1,#0x20000000 BL2:d900379c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90037a0 010000b9 str w1,[x0]=>DAT_c8836800 BL2:d90037a4 00008dd2 mov x0,#0x6800 BL2:d90037a8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90037ac 010040b9 ldr w1,[x0]=>DAT_c8836800 BL2:d90037b0 00008dd2 mov x0,#0x6800 BL2:d90037b4 21780212 and w1,w1,#0xdfffffff BL2:d90037b8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90037bc 010000b9 str w1,[x0]=>DAT_c8836800 BL2:d90037c0 00198052 mov w0,#0xc8 BL2:d90037c4 27fdff97 bl udelay ;void udelay(undefined8 us) BL2:d90037c8 00008dd2 mov x0,#0x6800 BL2:d90037cc 6010b9f2 movk x0=>DAT_c8836800,#0xc883, LSL #16 BL2:d90037d0 e10314aa mov x1=>s_DDR_PLL_d90092c1,x20 ;= "DDR PLL" BL2:d90037d4 93fbff97 bl pll_lock_check ;uint pll_lock_check(int * param_1, b... BL2:d90037d8 00fbff35 cbnz w0,LAB_d9003738 BL2:d90037dc 01038dd2 mov x1,#0x6818 BL2:d90037e0 0200b652 mov w2,#0xb0000000 BL2:d90037e4 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d90037e8 220000b9 str w2,[x1]=>DAT_c8836818 BL2:d90037ec 01038dd2 mov x1,#0x6818 BL2:d90037f0 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d90037f4 220000b9 str w2,[x1]=>DAT_c8836818 BL2:d90037f8 01008dd2 mov x1,#0x6800 BL2:d90037fc 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9003800 220040b9 ldr w2,[x1]=>DAT_c8836800 BL2:d9003804 03038052 mov w3,#0x18 BL2:d9003808 41780212 and w1,w2,#0xdfffffff BL2:d900380c 42200012 and w2,w2,#0x1ff BL2:d9003810 427c031b mul w2,w2,w3 BL2:d9003814 233449d3 ubfx x3,x1,#0x9,#0x5 BL2:d9003818 4208c31a udiv w2,w2,w3 BL2:d900381c 234450d3 ubfx x3,x1,#0x10,#0x2 BL2:d9003820 4224c31a lsr w2,w2,w3 BL2:d9003824 213c4ed3 ubfx x1,x1,#0xe,#0x2 BL2:d9003828 4124c11a lsr w1,w2,w1 ;ddrs.ddr_clk = (ushort)(((uVar1 >> ((ulong)(uVar2 >> 0x10) & 3)) >> ((ulong)(uVar2 >> 0xe) & 3)) << 1) ; = (uVar1 >> (uVar2 >> 0x10) & 3) >> (((uVar2 >> 0xE) & 3) << 1) BL2:d900382c 21781f53 lsl w1,w1,#0x1 BL2:d9003830 61160079 strh w1,[x19, #offset ddrs.ddr_clk &0xff] BL2:d9003834 f55b42a9 ldp x21,x22,[sp, #local_20+0x40] BL2:d9003838 f35341a9 ldp x19,x20,[sp, #local_30+0x40] BL2:d900383c f76343a9 ldp x23,x24,[sp, #local_10+0x40] BL2:d9003840 fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d9003844 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined ddr_print_info(void) ;local_10 undefined8 -10 ;XREF[2,0]: d9003860,d90039bc ;local_20 undefined8 -20 ;XREF[2,0]: d900385c,d90039b8 ;local_30 undefined8 -30 ;XREF[2,0]: d9003858,d90039b4 ;local_40 undefined8 -40 ;XREF[2,0]: d9003850,d90039b0 ;local_50 undefined8 -50 ;XREF[2,0]: d9003848,d90039c0 ;Very wild guess: ddr_print_info() ;XREF[1,0]: d9005c58 BL2:d9003848 fd7bbba9 stp x29,x30,[sp, #local_50]! BL2:d900384c fd030091 mov x29,sp BL2:d9003850 f35301a9 stp x19,x20,[sp, #local_40+0x50] BL2:d9003854 340000f0 adrp x20,0xd900a000 BL2:d9003858 f55b02a9 stp x21,x22,[sp, #local_30+0x50] BL2:d900385c f76303a9 stp x23,x24,[sp, #local_20+0x50] BL2:d9003860 f96b04a9 stp x25,x26,[sp, #local_10+0x50] BL2:d9003864 80020091 add x0=>ddrs,x20,#0x0 BL2:d9003868 01104039 ldrb w1,[x0, #offset ddrs.ddr_size_detect ... BL2:d900386c 41000034 cbz w1,LAB_d9003874 BL2:d9003870 cffeff97 bl ddr_detect_size ;undefined ddr_detect_size(ddr_set * ... LAB_d9003874: ;XREF[1,0]: d900386c BL2:d9003874 00ed90d2 mov x0,#0x8768 BL2:d9003878 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d900387c 170040b9 ldr w23,[x0]=>DAT_da838768 BL2:d9003880 80024039 ldrb w0,[x20]=>ddrs BL2:d9003884 010c0051 sub w1,w0,#0x3 BL2:d9003888 211c0053 uxtb w1,w1 BL2:d900388c 3f040071 cmp w1,#0x1 BL2:d9003890 f6879f1a cset w22,ls BL2:d9003894 1f180071 cmp w0,#0x6 BL2:d9003898 e1179f1a cset w1,eq BL2:d900389c d602012a orr w22,w22,w1 BL2:d90038a0 011092d2 mov x1,#0x9080 BL2:d90038a4 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d90038a8 350040b9 ldr w21,[x1]=>DAT_c8839080 BL2:d90038ac 1f100071 cmp w0,#0x4 BL2:d90038b0 60000054 b.eq LAB_d90038bc BL2:d90038b4 b50e43d3 ubfx x21,x21,#0x3,#0x1 BL2:d90038b8 02000014 b LAB_d90038c0 LAB_d90038bc: ;XREF[1,0]: d90038b0 BL2:d90038bc 55008052 mov w21,#0x2 LAB_d90038c0: ;XREF[1,0]: d90038b8 BL2:d90038c0 380000d0 adrp x24,0xd9009000 BL2:d90038c4 390000d0 adrp x25,0xd9009000 BL2:d90038c8 3a0000d0 adrp x26,0xd9009000 BL2:d90038cc 13008052 mov w19,#0x0 BL2:d90038d0 189f1791 add x24,x24,#0x5e7 BL2:d90038d4 397f1691 add x25,x25,#0x59f BL2:d90038d8 5a7b1c91 add x26,x26,#0x71e LAB_d90038dc: ;XREF[1,0]: d9003984 BL2:d90038dc 7f02166b cmp w19,w22 BL2:d90038e0 4c050054 b.gt LAB_d9003988 BL2:d90038e4 e00318aa mov x0=>s_DDR_d90095e7,x24 ;= "DDR" BL2:d90038e8 e103132a mov w1,w19 BL2:d90038ec 22008052 mov w2,#0x1 BL2:d90038f0 e30319aa mov x3=>CHAR_NUL,x25 ;= '\0' BL2:d90038f4 19150094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d90038f8 6106130b add w1,w19,w19, LSL #0x1 BL2:d90038fc e126c11a lsr w1,w23,w1 BL2:d9003900 21080012 and w1,w1,#0x7 BL2:d9003904 22008052 mov w2,#0x1 BL2:d9003908 211c0011 add w1,w1,#0x7 BL2:d900390c 230000d0 adrp x3,0xd9009000 BL2:d9003910 e0031aaa mov x0=>DAT_d900971e,x26 ;= 3Ah : BL2:d9003914 4120c11a lsl w1,w2,w1 BL2:d9003918 63640b91 add x3=>DAT_d90092d9,x3,#0x2d9 ;= 4Dh M BL2:d900391c 0f150094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9003920 80020091 add x0,x20,#0x0 BL2:d9003924 00104039 ldrb w0,[x0, #offset ddrs.ddr_size_detect ... BL2:d9003928 80000034 cbz w0,LAB_d9003938 BL2:d900392c 200000d0 adrp x0,0xd9009000 BL2:d9003930 00700b91 add x0=>s_(auto)_d90092dc,x0,#0x2dc ;= "(auto)" BL2:d9003934 ce140094 bl serial_puts ;void serial_puts(char * param_1) LAB_d9003938: ;XREF[1,0]: d9003928 BL2:d9003938 bf0a0071 cmp w21,#0x2 BL2:d900393c c0000054 b.eq LAB_d9003954 BL2:d9003940 bf060071 cmp w21,#0x1 BL2:d9003944 e1000054 b.ne LAB_d9003960 BL2:d9003948 200000d0 adrp x0,0xd9009000 BL2:d900394c 00500b91 add x0=>DAT_d90092d4,x0,#0x2d4 ;= 2Dh - BL2:d9003950 06000014 b LAB_d9003968 LAB_d9003954: ;XREF[1,0]: d900393c BL2:d9003954 200000d0 adrp x0,0xd9009000 BL2:d9003958 00380b91 add x0=>s_-F1T-_d90092ce,x0,#0x2ce ;= "-F1T-" BL2:d900395c 03000014 b LAB_d9003968 LAB_d9003960: ;XREF[1,0]: d9003944 BL2:d9003960 200000d0 adrp x0,0xd9009000 BL2:d9003964 00240b91 add x0=>DAT_d90092c9,x0,#0x2c9 ;= 2Dh - LAB_d9003968: ;XREF[2,0]: d9003950,d900395c BL2:d9003968 81020091 add x1,x20,#0x0 BL2:d900396c 211c4039 ldrb w1,[x1, #offset ddrs.ddr_timing_index... BL2:d9003970 230000d0 adrp x3,0xd9009000 BL2:d9003974 22008052 mov w2,#0x1 BL2:d9003978 63781691 add x3=>CHAR_NL,x3,#0x59e ;= '\n' BL2:d900397c f7140094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9003980 73060011 add w19,w19,#0x1 BL2:d9003984 d6ffff17 b LAB_d90038dc LAB_d9003988: ;XREF[1,0]: d90038e0 BL2:d9003988 004880d2 mov x0,#0x240 BL2:d900398c 0042bbf2 movk x0,#0xda10, LSL #16 BL2:d9003990 010040b9 ldr w1,[x0]=>DAT_da100240 BL2:d9003994 94020091 add x20,x20,#0x0 BL2:d9003998 80124079 ldrh w0,[x20, #offset ddrs.ddr_size &0xff] BL2:d900399c 213c0012 and w1,w1,#0xffff BL2:d90039a0 2140002a orr w1,w1,w0, LSL #0x10 BL2:d90039a4 004880d2 mov x0,#0x240 BL2:d90039a8 0042bbf2 movk x0=>DAT_da100240,#0xda10, LSL #16 BL2:d90039ac 010000b9 str w1,[x0]=>DAT_da100240 BL2:d90039b0 f35341a9 ldp x19,x20,[sp, #local_40+0x50] BL2:d90039b4 f55b42a9 ldp x21,x22,[sp, #local_30+0x50] BL2:d90039b8 f76343a9 ldp x23,x24,[sp, #local_20+0x50] BL2:d90039bc f96b44a9 ldp x25,x26,[sp, #local_10+0x50] BL2:d90039c0 fd7bc5a8 ldp x29=>local_50,x30,[sp], #0x50 BL2:d90039c4 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 ddr_init_dmc(void) ;local_10 undefined8 -10 ;XREF[2,0]: d90039d0,d9003e44 ;local_20 undefined8 -20 ;XREF[2,0]: d90039c8,d9003e48 ;As seen in Amlogic's old sources (again): ; plat/gxb/ddr/sec_mmc_define.h:#define DMC_SEC_REG_BASE 0xda838400 ;So some of it must be DMC-related, which is why this function is named 'ddr_init_dmc' ; ;P.S. these DMC registers are documented in Amlogic's public S905 datasheet. ;XREF[1,0]: d9005c54 BL2:d90039c8 fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d90039cc fd030091 mov x29,sp BL2:d90039d0 f35301a9 stp x19,x20,[sp, #local_10+0x20] BL2:d90039d4 340000f0 adrp x20,0xd900a000 BL2:d90039d8 93020091 add x19,x20,#0x0 BL2:d90039dc e00313aa mov x0=>ddrs,x19 BL2:d90039e0 4afeff97 bl ddr_set_dmc_ctrl_new ;void ddr_set_dmc_ctrl_new(ddr_set * ... BL2:d90039e4 80024039 ldrb w0,[x20]=>ddrs BL2:d90039e8 01100051 sub w1,w0,#0x4 BL2:d90039ec 211c0053 uxtb w1,w1 ;(unsigned)(ddrs.ddr_channel_set - 4) > 3 (WeTek Play2 ACS) BL2:d90039f0 3f080071 cmp w1,#0x2 BL2:d90039f4 68060054 b.hi LAB_d9003ac0 BL2:d90039f8 00e890d2 mov x0,#0x8740 BL2:d90039fc 01149352 mov w1,#0x98a0 BL2:d9003a00 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003a04 6150a272 movk w1,#0x1283, LSL #16 BL2:d9003a08 010000b9 str w1,[x0]=>DAT_da838740 BL2:d9003a0c 80e890d2 mov x0,#0x8744 BL2:d9003a10 41799052 mov w1,#0x83ca BL2:d9003a14 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003a18 c1dca372 movk w1,#0x1ee6, LSL #16 BL2:d9003a1c 010000b9 str w1,[x0]=>DDR0_ADDRMAP_1_da838744 BL2:d9003a20 00e990d2 mov x0,#0x8748 BL2:d9003a24 01469952 mov w1,#0xca30 BL2:d9003a28 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003a2c 2169a572 movk w1,#0x2b49, LSL #16 BL2:d9003a30 010000b9 str w1,[x0]=>DAT_da838748 BL2:d9003a34 80e990d2 mov x0,#0x874c BL2:d9003a38 c15e9c52 mov w1,#0xe2f6 BL2:d9003a3c 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003a40 8135a772 movk w1,#0x39ac, LSL #16 BL2:d9003a44 010000b9 str w1,[x0]=>DDR0_ADDRMAP_3_da83874c BL2:d9003a48 00ea90d2 mov x0,#0x8750 BL2:d9003a4c a12f9652 mov w1,#0xb17d BL2:d9003a50 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003a54 a181a772 movk w1,#0x3c0d, LSL #16 BL2:d9003a58 010000b9 str w1,[x0]=>DDR0_ADDRMAP_4_da838750 BL2:d9003a5c 80ea90d2 mov x0,#0x8754 BL2:d9003a60 01149352 mov w1,#0x98a0 BL2:d9003a64 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003a68 6150a272 movk w1,#0x1283, LSL #16 BL2:d9003a6c 010000b9 str w1,[x0]=>DAT_da838754 BL2:d9003a70 00eb90d2 mov x0,#0x8758 BL2:d9003a74 41799052 mov w1,#0x83ca BL2:d9003a78 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003a7c c1dca372 movk w1,#0x1ee6, LSL #16 BL2:d9003a80 010000b9 str w1,[x0]=>DDR1_ADDRMAP_1_da838758 BL2:d9003a84 80eb90d2 mov x0,#0x875c BL2:d9003a88 01469952 mov w1,#0xca30 BL2:d9003a8c 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003a90 2169a572 movk w1,#0x2b49, LSL #16 BL2:d9003a94 010000b9 str w1,[x0]=>DAT_da83875c BL2:d9003a98 00ec90d2 mov x0,#0x8760 BL2:d9003a9c c15e9c52 mov w1,#0xe2f6 BL2:d9003aa0 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003aa4 8135a772 movk w1,#0x39ac, LSL #16 BL2:d9003aa8 010000b9 str w1,[x0]=>DDR1_ADDRMAP_3_da838760 BL2:d9003aac 80ec90d2 mov x0,#0x8764 BL2:d9003ab0 a12f9652 mov w1,#0xb17d BL2:d9003ab4 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003ab8 a181a772 movk w1,#0x3c0d, LSL #16 BL2:d9003abc 74000014 b LAB_d9003c8c LAB_d9003ac0: ;XREF[1,0]: d90039f4 BL2:d9003ac0 01040051 sub w1,w0,#0x1 BL2:d9003ac4 211c0053 uxtb w1,w1 BL2:d9003ac8 3f040071 cmp w1,#0x1 BL2:d9003acc 68040054 b.hi LAB_d9003b58 BL2:d9003ad0 60064039 ldrb w0,[x19, #offset ddrs.ddr_type &0xff] BL2:d9003ad4 40020034 cbz w0,LAB_d9003b1c BL2:d9003ad8 200000f0 adrp x0,0xd900a000 BL2:d9003adc 00d44b39 ldrb w0,[x0, #0x2f5]=>acs.ddrs_version BL2:d9003ae0 1f080071 cmp w0,#0x2 BL2:d9003ae4 c9010054 b.ls LAB_d9003b1c BL2:d9003ae8 60024539 ldrb w0,[x19, #0x140]=>ddrs.t_lpddr3_remap BL2:d9003aec 1f0c0071 cmp w0,#0x3 BL2:d9003af0 61010054 b.ne LAB_d9003b1c BL2:d9003af4 80e890d2 mov x0,#0x8744 BL2:d9003af8 61f58f52 mov w1,#0x7fab BL2:d9003afc 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003b00 e11ea472 movk w1,#0x20f7, LSL #16 BL2:d9003b04 010000b9 str w1,[x0]=>DDR0_ADDRMAP_1_da838744 BL2:d9003b08 80e990d2 mov x0,#0x874c BL2:d9003b0c e1e28c52 mov w1,#0x6717 BL2:d9003b10 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003b14 a137a072 movk w1,#0x1bd, LSL #16 BL2:d9003b18 0a000014 b LAB_d9003b40 LAB_d9003b1c: ;XREF[3,0]: d9003ad4,d9003ae4,d9003af0 BL2:d9003b1c 80e890d2 mov x0,#0x8744 BL2:d9003b20 617d8052 mov w1,#0x3eb BL2:d9003b24 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003b28 e11ea472 movk w1,#0x20f7, LSL #16 BL2:d9003b2c 010000b9 str w1,[x0]=>DDR0_ADDRMAP_1_da838744 BL2:d9003b30 80e990d2 mov x0,#0x874c BL2:d9003b34 e1e28c52 mov w1,#0x6717 BL2:d9003b38 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003b3c a177a772 movk w1,#0x3bbd, LSL #16 LAB_d9003b40: ;XREF[1,0]: d9003b18 BL2:d9003b40 010000b9 str w1,[x0]=>DDR0_ADDRMAP_3_da83874c BL2:d9003b44 00ea90d2 mov x0,#0x8750 BL2:d9003b48 c1b38652 mov w1,#0x359e BL2:d9003b4c 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003b50 c101a072 movk w1,#0xe, LSL #16 BL2:d9003b54 4e000014 b LAB_d9003c8c ;Rank0+1 diff. LAB_d9003b58: ;XREF[1,0]: d9003acc BL2:d9003b58 1f0c0071 cmp w0,#3 BL2:d9003b5c a1090054 b.ne LAB_d9003c90 BL2:d9003b60 60064039 ldrb w0,[x19, #offset ddrs.ddr_type &0xff] BL2:d9003b64 40030035 cbnz w0,LAB_d9003bcc BL2:d9003b68 80e890d2 mov x0,#0x8744 BL2:d9003b6c 617d8052 mov w1,#0x3eb BL2:d9003b70 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003b74 e11ea472 movk w1,#0x20f7, LSL #16 BL2:d9003b78 010000b9 str w1,[x0]=>DDR0_ADDRMAP_1_da838744 BL2:d9003b7c 80e990d2 mov x0,#0x874c BL2:d9003b80 e1e28c52 mov w1,#0x6717 BL2:d9003b84 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003b88 a177a772 movk w1,#0x3bbd, LSL #16 BL2:d9003b8c 010000b9 str w1,[x0]=>DDR0_ADDRMAP_3_da83874c BL2:d9003b90 00ea90d2 mov x0,#0x8750 BL2:d9003b94 01b08652 mov w1,#0x3580 BL2:d9003b98 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003b9c c181a772 movk w1,#0x3c0e, LSL #16 BL2:d9003ba0 010000b9 str w1,[x0]=>DDR0_ADDRMAP_4_da838750 BL2:d9003ba4 00eb90d2 mov x0,#0x8758 BL2:d9003ba8 617d8052 mov w1,#0x3eb BL2:d9003bac 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003bb0 e11ea472 movk w1,#0x20f7, LSL #16 BL2:d9003bb4 010000b9 str w1,[x0]=>DDR1_ADDRMAP_1_da838758 BL2:d9003bb8 00ec90d2 mov x0,#0x8760 BL2:d9003bbc e1e28c52 mov w1,#0x6717 BL2:d9003bc0 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003bc4 a177a772 movk w1,#0x3bbd, LSL #16 BL2:d9003bc8 20000014 b LAB_d9003c48 LAB_d9003bcc: ;XREF[1,0]: d9003b64 BL2:d9003bcc 200000f0 adrp x0,0xd900a000 BL2:d9003bd0 00d44b39 ldrb w0,[x0, #0x2f5]=>acs.ddrs_version BL2:d9003bd4 1f080071 cmp w0,#0x2 BL2:d9003bd8 e9030054 b.ls LAB_d9003c54 BL2:d9003bdc 60024539 ldrb w0,[x19, #0x140]=>ddrs.t_lpddr3_remap BL2:d9003be0 1f0c0071 cmp w0,#3 BL2:d9003be4 81030054 b.ne LAB_d9003c54 BL2:d9003be8 80e890d2 mov x0,#0x8744 BL2:d9003bec 61f58f52 mov w1,#0x7fab BL2:d9003bf0 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003bf4 e11ea472 movk w1,#0x20f7, LSL #16 BL2:d9003bf8 010000b9 str w1,[x0]=>DDR0_ADDRMAP_1_da838744 BL2:d9003bfc 80e990d2 mov x0,#0x874c BL2:d9003c00 e1e28c52 mov w1,#0x6717 BL2:d9003c04 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003c08 a137a072 movk w1,#0x1bd, LSL #16 BL2:d9003c0c 010000b9 str w1,[x0]=>DDR0_ADDRMAP_3_da83874c BL2:d9003c10 00ea90d2 mov x0,#0x8750 BL2:d9003c14 01b08652 mov w1,#0x3580 BL2:d9003c18 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003c1c c181a772 movk w1,#0x3c0e, LSL #16 BL2:d9003c20 010000b9 str w1,[x0]=>DDR0_ADDRMAP_4_da838750 BL2:d9003c24 00eb90d2 mov x0,#0x8758 BL2:d9003c28 61f58f52 mov w1,#0x7fab BL2:d9003c2c 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003c30 e11ea472 movk w1,#0x20f7, LSL #16 BL2:d9003c34 010000b9 str w1,[x0]=>DDR1_ADDRMAP_1_da838758 BL2:d9003c38 00ec90d2 mov x0,#0x8760 BL2:d9003c3c e1e28c52 mov w1,#0x6717 BL2:d9003c40 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003c44 a137a072 movk w1,#0x1bd, LSL #16 LAB_d9003c48: ;XREF[1,0]: d9003bc8 BL2:d9003c48 010000b9 str w1,[x0]=>DDR1_ADDRMAP_3_da838760 BL2:d9003c4c 80ec90d2 mov x0,#0x8764 BL2:d9003c50 0c000014 b LAB_d9003c80 LAB_d9003c54: ;XREF[2,0]: d9003bd8,d9003be4 BL2:d9003c54 80e890d2 mov x0,#0x8744 BL2:d9003c58 617d8052 mov w1,#0x3eb BL2:d9003c5c 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003c60 e11ea472 movk w1,#0x20f7, LSL #16 BL2:d9003c64 010000b9 str w1,[x0]=>DDR0_ADDRMAP_1_da838744 BL2:d9003c68 80e990d2 mov x0,#0x874c BL2:d9003c6c e1e28c52 mov w1,#0x6717 BL2:d9003c70 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003c74 a177a772 movk w1,#0x3bbd, LSL #16 BL2:d9003c78 010000b9 str w1,[x0]=>DDR0_ADDRMAP_3_da83874c BL2:d9003c7c 00ea90d2 mov x0,#0x8750 LAB_d9003c80: ;XREF[1,0]: d9003c50 BL2:d9003c80 01b08652 mov w1,#0x3580 BL2:d9003c84 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003c88 c181a772 movk w1,#0x3c0e, LSL #16 LAB_d9003c8c: ;XREF[2,0]: d9003abc,d9003b54 ; FWD[2,0]: da838750,da838764 BL2:d9003c8c 010000b9 str w1,[x0]=>DAT_da838764 LAB_d9003c90: ;XREF[1,0]: d9003b5c BL2:d9003c90 002390d2 mov x0,#0x8118 BL2:d9003c94 01c48052 mov w1,#0x620 BL2:d9003c98 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003c9c 8108a072 movk w1,#0x44, LSL #16 BL2:d9003ca0 010000b9 str w1,[x0]=>DAT_c8838118 BL2:d9003ca4 00818dd2 mov x0,#0x6c08 BL2:d9003ca8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003cac 01048452 mov w1,#0x2020 BL2:d9003cb0 010000b9 str w1,[x0]=>DAT_c8836c08 BL2:d9003cb4 00808dd2 mov x0,#0x6c00 BL2:d9003cb8 a2008052 mov w2,#0x5 BL2:d9003cbc 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003cc0 020000b9 str w2,[x0]=>DAT_c8836c00 BL2:d9003cc4 805c90d2 mov x0,#0x82e4 BL2:d9003cc8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003ccc 21028052 mov w1,#0x11 BL2:d9003cd0 010000b9 str w1,[x0]=>DAT_c88382e4 BL2:d9003cd4 808390d2 mov x0,#0x841c BL2:d9003cd8 6050bbf2 movk x0,#0xda83, LSL #16 ;DMC SEC BL2:d9003cdc 1f0000b9 str wzr,[x0]=>DAT_da83841c BL2:d9003ce0 008090d2 mov x0,#0x8400 BL2:d9003ce4 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003ce8 0100b052 mov w1,#0x80000000 BL2:d9003cec 010000b9 str w1,[x0]=>DAT_da838400 BL2:d9003cf0 018790d2 mov x1,#0x8438 BL2:d9003cf4 e0f30032 orr w0,wzr,#0x55555555 BL2:d9003cf8 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9003cfc 200000b9 str w0,[x1]=>DAT_da838438 BL2:d9003d00 019b90d2 mov x1,#0x84d8 BL2:d9003d04 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9003d08 200000b9 str w0,[x1]=>DAT_da8384d8 BL2:d9003d0c 819b90d2 mov x1,#0x84dc BL2:d9003d10 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9003d14 200000b9 str w0,[x1]=>DAT_da8384dc BL2:d9003d18 019a90d2 mov x1,#0x84d0 BL2:d9003d1c 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9003d20 a3028052 mov w3,#0x15 BL2:d9003d24 230000b9 str w3,[x1]=>DAT_da8384d0 BL2:d9003d28 819a90d2 mov x1,#0x84d4 BL2:d9003d2c 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9003d30 220000b9 str w2,[x1]=>DAT_da8384d4 BL2:d9003d34 829290d2 mov x2,#0x8494 BL2:d9003d38 01008012 mov w1,#0xffffffff BL2:d9003d3c 6250bbf2 movk x2,#0xda83, LSL #16 ;VPU BL2:d9003d40 410000b9 str w1,[x2]=>DAT_da838494 BL2:d9003d44 829990d2 mov x2,#0x84cc BL2:d9003d48 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9003d4c 400000b9 str w0,[x2]=>DAT_da8384cc BL2:d9003d50 029990d2 mov x2,#0x84c8 BL2:d9003d54 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9003d58 400000b9 str w0,[x2]=>DAT_da8384c8 BL2:d9003d5c 028990d2 mov x2,#0x8448 BL2:d9003d60 6250bbf2 movk x2,#0xda83, LSL #16 ;VDEC BL2:d9003d64 410000b9 str w1,[x2]=>DAT_da838448 BL2:d9003d68 828890d2 mov x2,#0x8444 BL2:d9003d6c 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9003d70 400000b9 str w0,[x2]=>DAT_da838444 BL2:d9003d74 028890d2 mov x2,#0x8440 BL2:d9003d78 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9003d7c 400000b9 str w0,[x2]=>DAT_da838440 BL2:d9003d80 828c90d2 mov x2,#0x8464 BL2:d9003d84 6250bbf2 movk x2,#0xda83, LSL #16 ;HCODEC BL2:d9003d88 410000b9 str w1,[x2]=>DAT_da838464 BL2:d9003d8c 028c90d2 mov x2,#0x8460 BL2:d9003d90 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9003d94 400000b9 str w0,[x2]=>DAT_da838460 BL2:d9003d98 828b90d2 mov x2,#0x845c BL2:d9003d9c 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9003da0 400000b9 str w0,[x2]=>DAT_da83845c BL2:d9003da4 029090d2 mov x2,#0x8480 BL2:d9003da8 6250bbf2 movk x2,#0xda83, LSL #16 ;HEVC BL2:d9003dac 410000b9 str w1,[x2]=>DAT_da838480 BL2:d9003db0 818f90d2 mov x1,#0x847c BL2:d9003db4 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9003db8 200000b9 str w0,[x1]=>DAT_da83847c BL2:d9003dbc 018f90d2 mov x1,#0x8478 BL2:d9003dc0 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9003dc4 200000b9 str w0,[x1]=>DAT_da838478 BL2:d9003dc8 000090d2 mov x0,#0x8000 BL2:d9003dcc 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003dd0 e1ff9f52 mov w1,#0xffff ;DMC_REQ_CTRL BL2:d9003dd4 010000b9 str w1,[x0]=>DAT_c8838000 BL2:d9003dd8 00c890d2 mov x0,#0x8640 BL2:d9003ddc 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003de0 1f0000b9 str wzr,[x0]=>DAT_da838640 BL2:d9003de4 80c890d2 mov x0,#0x8644 BL2:d9003de8 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003dec 1f0000b9 str wzr,[x0]=>DAT_da838644 BL2:d9003df0 00a088d2 mov x0,#0x4500 BL2:d9003df4 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003df8 010040b9 ldr w1,[x0]=>DAT_c8834500 BL2:d9003dfc 00c990d2 mov x0,#0x8648 BL2:d9003e00 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003e04 010000b9 str w1,[x0]=>DAT_da838648 BL2:d9003e08 00a088d2 mov x0,#0x4500 BL2:d9003e0c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9003e10 010040b9 ldr w1,[x0]=>DAT_c8834500 BL2:d9003e14 80c990d2 mov x0,#0x864c BL2:d9003e18 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9003e1c 010000b9 str w1,[x0]=>DAT_da83864c BL2:d9003e20 00a88fd2 mov x0,#0x7d40 BL2:d9003e24 a1019e52 mov w1,#0xf00d BL2:d9003e28 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9003e2c a155b772 movk w1,#0xbaad, LSL #16 BL2:d9003e30 010000b9 str w1,[x0]=>DAT_c1107d40 BL2:d9003e34 1f2003d5 nop ;As seen on old Amlogic sources, plat/gxb/ddr/ddr.c: ; // PUT SOME CODE HERE TO TRY TO STOP BUS TRAFFIC ; __asm__ volatile("NOP"); ; __asm__ volatile("DMB SY"); ; __asm__ volatile("ISB"); ;Which is possibly why we see DataMemoryBarrier and InstructionSynchronizationBarrier here. BL2:d9003e38 bf3f03d5 dmb SY BL2:d9003e3c df3f03d5 isb BL2:d9003e40 00008052 mov w0,#0x0 BL2:d9003e44 f35341a9 ldp x19,x20,[sp, #local_10+0x20] BL2:d9003e48 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9003e4c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 ddr_init_pctl(int param_1) ;param_1 int w0 ;tmp_var undefined4 w8 ;XREF[1,0]: d90041fc ;local_10 undefined8 -10 ;XREF[2,0]: d9004a58,d9004a8c ;local_18 undefined8 -18 ;XREF[2,0]: d9004a5c,d9004a90 ;local_20 undefined8 -20 ;XREF[2,0]: d9004a54,d9004a74 ;local_30 undefined8 -30 ;XREF[2,0]: d9003e74,d9005198 ;local_40 undefined8 -40 ;XREF[2,0]: d9003e60,d9005194 ;local_50 undefined8 -50 ;XREF[2,0]: d9003e58,d9005190 ;local_60 undefined8 -60 ;XREF[2,0]: d9003e70,d900518c ;local_70 undefined8 -70 ;XREF[2,0]: d9003e6c,d9005188 ;local_80 undefined8 -80 ;XREF[2,0]: d9003e50,d900519c ;pctl0_1us_... undefined2 HASH... ;pctl0_100n... undefined2 HASH... ;pctl0_init... undefined2 HASH... ;pctl0_rsth... undefined2 HASH... ;ddr1_enabled undefined4 HASH... ;ddrt_point... undefined8 HASH... ;uVar9_pctl... undefined2 HASH... ;uVar6_pctl... undefined2 HASH... ;uVar3_pctl... undefined2 HASH... ;uVar7_pctl... undefined2 HASH... ;uVar10_pct... undefined2 HASH... ;uVar5_pctl... undefined2 HASH... ;uVar4_pctl... undefined2 HASH... ;uVar8_pctl... undefined2 HASH... ;XREF[2,0]: d9005c08,d9005c50 BL2:d9003e50 fd7bb8a9 stp x29,x30,[sp, #local_80]! BL2:d9003e54 fd030091 mov x29,sp BL2:d9003e58 f76303a9 stp x23,x24,[sp, #local_50+0x80] BL2:d9003e5c 380000f0 adrp x24,0xd900a000 BL2:d9003e60 f96b04a9 stp x25,x26,[sp, #local_40+0x80] BL2:d9003e64 18a72591 add x24,x24,#0x969 BL2:d9003e68 390000f0 adrp x25,0xd900a000 BL2:d9003e6c f35301a9 stp x19,x20,[sp, #local_70+0x80] BL2:d9003e70 f55b02a9 stp x21,x22,[sp, #local_60+0x80] BL2:d9003e74 fb7305a9 stp x27,x28,[sp, #local_30+0x80] BL2:d9003e78 f703002a mov w23,param_1 BL2:d9003e7c 33030091 add x19,x25,#0x0 BL2:d9003e80 fa0318aa mov x26,x24 ;As seen in Amlogic's old sources: ; plat/gxb/ddr/ddr_pub_define.h:#define DDR0_PUB_REG_BASE 0xc8836000 ;So most (all?) of it must be DDR pub-related, which is why this function is named 'ddr_init_pctl' ; ;Also param_1 is set to 1 if the Rank setting is set to be automatic... LAB_d9003e84: ;XREF[3,0]: d9004a98,d9004dc4,d9004e70 BL2:d9003e84 20030091 add param_1,x25,#0x0 BL2:d9003e88 011840b9 ldr w1,[param_1, #offset ddrs.ddr_dmc_ctr... BL2:d9003e8c 360000f0 adrp x22,0xd900a000 ;ddr0_enabled == 1 ;ddr1_enabled == 0 BL2:d9003e90 230079d2 eor x3,x1,#0x80 BL2:d9003e94 c2522591 add x2,x22,#0x954 BL2:d9003e98 631c47d3 ubfx x3,x3,#0x7,#0x1 BL2:d9003e9c 340000f0 adrp x20,0xd900a000 BL2:d9003ea0 21007ad2 eor x1,x1,#0x40 BL2:d9003ea4 430000b9 str w3,[x2]=>ddr0_enabled BL2:d9003ea8 211846d3 ubfx x1,x1,#0x6,#0x1 BL2:d9003eac 82622591 add x2,x20,#0x958 BL2:d9003eb0 410000b9 str w1,[x2]=>DAT_d900a958_pctl_ddr1 BL2:d9003eb4 810090d2 mov x1,#0x8004 BL2:d9003eb8 1f030039 strb wzr,[x24]=>BL21__DAT_d900a969 BL2:d9003ebc 02008012 mov w2,#0xffffffff BL2:d9003ec0 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9003ec4 220000b9 str w2,[x1]=>DAT_c8838004 BL2:d9003ec8 010190d2 mov x1,#0x8008 BL2:d9003ecc 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9003ed0 220000b9 str w2,[x1]=>DAT_c8838008 BL2:d9003ed4 012390d2 mov x1,#0x8118 BL2:d9003ed8 02c48052 mov w2,#0x620 BL2:d9003edc 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9003ee0 a20aa072 movk w2,#0x55, LSL #16 BL2:d9003ee4 220000b9 str w2,[x1]=>DAT_c8838118 BL2:d9003ee8 81808dd2 mov x1,#0x6c04 BL2:d9003eec 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9003ef0 e2018052 mov w2,#0xf BL2:d9003ef4 220000b9 str w2,[x1]=>DAT_c8836c04 BL2:d9003ef8 02478cd2 mov x2,#0x6238 BL2:d9003efc 21298952 mov w1,#0x4949 BL2:d9003f00 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9003f04 213c1033 bfm w1,w1,#0x10,#0xf BL2:d9003f08 410000b9 str w1,[x2]=>DAT_c8836238 BL2:d9003f0c 82478cd2 mov x2,#0x623c BL2:d9003f10 21298952 mov w1,#0x4949 BL2:d9003f14 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9003f18 213c1033 bfm w1,w1,#0x10,#0xf BL2:d9003f1c 410000b9 str w1,[x2]=>DAT_c883623c BL2:d9003f20 026040b9 ldr w2,[param_1, #offset ddrs.t_pub_odtcr... BL2:d9003f24 81158cd2 mov x1,#0x60ac BL2:d9003f28 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9003f2c 220000b9 str w2,[x1]=>DAT_c88360ac BL2:d9003f30 02b04079 ldrh w2,[param_1, #offset ddrs.t_pub_mr__0... BL2:d9003f34 81138cd2 mov x1,#0x609c BL2:d9003f38 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9003f3c 220000b9 str w2,[x1]=>DAT_c883609c BL2:d9003f40 02b44079 ldrh w2,[param_1, #offset ddrs.t_pub_mr__1... BL2:d9003f44 01148cd2 mov x1,#0x60a0 BL2:d9003f48 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9003f4c 220000b9 str w2,[x1]=>DAT_c88360a0 BL2:d9003f50 02b84079 ldrh w2,[param_1, #offset ddrs.t_pub_mr__2... BL2:d9003f54 81148cd2 mov x1,#0x60a4 BL2:d9003f58 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9003f5c 220000b9 str w2,[x1]=>DAT_c88360a4 BL2:d9003f60 02bc4079 ldrh w2,[param_1, #offset ddrs.t_pub_mr__3... BL2:d9003f64 01158cd2 mov x1,#0x60a8 BL2:d9003f68 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9003f6c 220000b9 str w2,[x1]=>DAT_c88360a8 BL2:d9003f70 01044039 ldrb w1,[param_1, #offset ddrs.ddr_type &0... BL2:d9003f74 350000f0 adrp x21,0xd900a000 BL2:d9003f78 3f080071 cmp w1,#0x2 BL2:d9003f7c a1000054 b.ne LAB_d9003f90 BL2:d9003f80 01784279 ldrh w1,[param_1, #0x13c]=>ddrs.t_pub_mr11 BL2:d9003f84 00348cd2 mov param_1,#0x61a0 BL2:d9003f88 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9003f8c 010000b9 str w1,[param_1]=>DAT_c88361a0 LAB_d9003f90: ;XREF[1,0]: d9003f7c BL2:d9003f90 616640b9 ldr w1,[x19, #offset ddrs.t_pub_dtpr__0 &... BL2:d9003f94 80118cd2 mov param_1,#0x608c BL2:d9003f98 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9003f9c 010000b9 str w1,[param_1]=>DAT_c883608c BL2:d9003fa0 616a40b9 ldr w1,[x19, #offset ddrs.t_pub_dtpr__1 &... BL2:d9003fa4 00128cd2 mov param_1,#0x6090 BL2:d9003fa8 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9003fac 010000b9 str w1,[param_1]=>DAT_c8836090 BL2:d9003fb0 617a40b9 ldr w1,[x19, #offset ddrs.t_pub_pgcr0 &0xff] BL2:d9003fb4 80018cd2 mov param_1,#0x600c BL2:d9003fb8 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9003fbc 010000b9 str w1,[param_1]=>DAT_c883600c BL2:d9003fc0 617e40b9 ldr w1,[x19, #offset ddrs.t_pub_pgcr1 &0xff] BL2:d9003fc4 00028cd2 mov param_1,#0x6010 BL2:d9003fc8 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9003fcc 010000b9 str w1,[param_1]=>DAT_c8836010 BL2:d9003fd0 618240b9 ldr w1,[x19, #offset ddrs.t_pub_pgcr2 &0xff] BL2:d9003fd4 80028cd2 mov param_1,#0x6014 BL2:d9003fd8 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9003fdc 010000b9 str w1,[param_1]=>DAT_c8836014 BL2:d9003fe0 618640b9 ldr w1,[x19, #offset ddrs.t_pub_pgcr3 &0xff] BL2:d9003fe4 00108cd2 mov param_1,#0x6080 BL2:d9003fe8 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9003fec 010000b9 str w1,[param_1]=>DAT_c8836080 BL2:d9003ff0 616e40b9 ldr w1,[x19, #offset ddrs.t_pub_dtpr__2 &... BL2:d9003ff4 80128cd2 mov param_1,#0x6094 BL2:d9003ff8 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9003ffc 010000b9 str w1,[param_1]=>DAT_c8836094 BL2:d9004000 617240b9 ldr w1,[x19, #offset ddrs.t_pub_dtpr__3 &... BL2:d9004004 00138cd2 mov param_1,#0x6098 BL2:d9004008 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900400c 010000b9 str w1,[param_1]=>DAT_c8836098 BL2:d9004010 618a40b9 ldr w1,[x19, #offset ddrs.t_pub_dxccr &0xff] BL2:d9004014 00168cd2 mov param_1,#0x60b0 BL2:d9004018 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900401c 010000b9 str w1,[param_1]=>DAT_c88360b0 LAB_d9004020: ;XREF[1,0]: d900402c BL2:d9004020 00038cd2 mov param_1,#0x6018 BL2:d9004024 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004028 000040b9 ldr param_1,[param_1]=>DAT_c8836018 BL2:d900402c a0ff0736 tbz param_1,#0x0,LAB_d9004020 BL2:d9004030 800d8cd2 mov param_1,#0x606c BL2:d9004034 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004038 1f0000b9 str wzr,[param_1]=>DAT_c883606c BL2:d900403c 000e8cd2 mov param_1,#0x6070 BL2:d9004040 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004044 1f0000b9 str wzr,[param_1]=>DAT_c8836070 BL2:d9004048 800e8cd2 mov param_1,#0x6074 BL2:d900404c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004050 1f0000b9 str wzr,[param_1]=>DAT_c8836074 BL2:d9004054 000f8cd2 mov param_1,#0x6078 BL2:d9004058 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900405c 1f0000b9 str wzr,[param_1]=>DAT_c8836078 BL2:d9004060 800f8cd2 mov param_1,#0x607c BL2:d9004064 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004068 1f0000b9 str wzr,[param_1]=>DAT_c883607c BL2:d900406c 80508cd2 mov param_1,#0x6284 BL2:d9004070 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004074 1f0000b9 str wzr,[param_1]=>DAT_c8836284 BL2:d9004078 00518cd2 mov param_1,#0x6288 BL2:d900407c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004080 81518cd2 mov x1,#0x628c BL2:d9004084 1f0000b9 str wzr,[param_1]=>DAT_c8836288 BL2:d9004088 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d900408c 00808452 mov param_1,#0x2400 BL2:d9004090 200000b9 str param_1,[x1]=>DAT_c883628c BL2:d9004094 81608cd2 mov x1,#0x6304 BL2:d9004098 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d900409c 3f0000b9 str wzr,[x1]=>DAT_c8836304 BL2:d90040a0 01618cd2 mov x1,#0x6308 BL2:d90040a4 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d90040a8 3f0000b9 str wzr,[x1]=>DAT_c8836308 BL2:d90040ac 81618cd2 mov x1,#0x630c BL2:d90040b0 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d90040b4 200000b9 str param_1,[x1]=>DAT_c883630c BL2:d90040b8 81708cd2 mov x1,#0x6384 BL2:d90040bc 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d90040c0 3f0000b9 str wzr,[x1]=>DAT_c8836384 BL2:d90040c4 01718cd2 mov x1,#0x6388 BL2:d90040c8 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d90040cc 3f0000b9 str wzr,[x1]=>DAT_c8836388 BL2:d90040d0 81718cd2 mov x1,#0x638c BL2:d90040d4 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d90040d8 200000b9 str param_1,[x1]=>DAT_c883638c BL2:d90040dc 81808cd2 mov x1,#0x6404 BL2:d90040e0 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d90040e4 3f0000b9 str wzr,[x1]=>DAT_c8836404 BL2:d90040e8 01818cd2 mov x1,#0x6408 BL2:d90040ec 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d90040f0 3f0000b9 str wzr,[x1]=>DAT_c8836408 BL2:d90040f4 81818cd2 mov x1,#0x640c BL2:d90040f8 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d90040fc 200000b9 str param_1,[x1]=>DAT_c883640c BL2:d9004100 61d240b9 ldr w1,[x19, #offset ddrs.t_pub_dcr &0xff] BL2:d9004104 00118cd2 mov param_1,#0x6088 BL2:d9004108 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900410c 010000b9 str w1,[param_1]=>DAT_c8836088 BL2:d9004110 61d640b9 ldr w1,[x19, #offset ddrs.t_pub_dtar &0xff] BL2:d9004114 80168cd2 mov param_1,#0x60b4 BL2:d9004118 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900411c 010000b9 str w1,[param_1]=>DAT_c88360b4 BL2:d9004120 61d640b9 ldr w1,[x19, #offset ddrs.t_pub_dtar &0xff] BL2:d9004124 00178cd2 mov param_1,#0x60b8 BL2:d9004128 21001d32 orr w1,w1,#0x8 BL2:d900412c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004130 010000b9 str w1,[param_1]=>DAT_c88360b8 BL2:d9004134 61d640b9 ldr w1,[x19, #offset ddrs.t_pub_dtar &0xff] BL2:d9004138 80178cd2 mov param_1,#0x60bc BL2:d900413c 21001c32 orr w1,w1,#0x10 BL2:d9004140 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004144 010000b9 str w1,[param_1]=>DAT_c88360bc BL2:d9004148 61d640b9 ldr w1,[x19, #offset ddrs.t_pub_dtar &0xff] BL2:d900414c 00188cd2 mov param_1,#0x60c0 BL2:d9004150 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004154 21041d32 orr w1,w1,#0x18 BL2:d9004158 3c0000d0 adrp x28,0xd900a000 BL2:d900415c 010000b9 str w1,[param_1]=>DAT_c88360c0 BL2:d9004160 80230b91 add param_1,x28,#0x2c8 BL2:d9004164 00044079 ldrh param_1,[param_1, #0x2]=>plls.pxp BL2:d9004168 a0000034 cbz param_1,LAB_d900417c BL2:d900416c 80008cd2 mov param_1,#0x6004 BL2:d9004170 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004174 21b08052 mov w1,#0x581 BL2:d9004178 010000b9 str w1,[param_1]=>DAT_c8836004 LAB_d900417c: ;XREF[1,0]: d9004168 BL2:d900417c 61da40b9 ldr w1,[x19, #offset ddrs.t_pub_dsgcr &0xff] BL2:d9004180 80108cd2 mov param_1,#0x6084 BL2:d9004184 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004188 010000b9 str w1,[param_1]=>DAT_c8836084 LAB_d900418c: ;XREF[1,0]: d9004198 BL2:d900418c 00038cd2 mov param_1,#0x6018 BL2:d9004190 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004194 000040b9 ldr param_1,[param_1]=>DAT_c8836018 BL2:d9004198 a0ff0736 tbz param_1,#0x0,LAB_d900418c BL2:d900419c 80622591 add param_1,x20,#0x958 BL2:d90041a0 030040b9 ldr w3,[param_1]=>DAT_d900a958_pctl_ddr1 BL2:d90041a4 64da4179 ldrh w4,[x19, #offset ddrs.t_pctl0_1us_pck... BL2:d90041a8 65de4179 ldrh w5,[x19, #offset ddrs.t_pctl0_100ns_p... BL2:d90041ac 66e24179 ldrh w6,[x19, #offset ddrs.t_pctl0_init_us... BL2:d90041b0 67e64179 ldrh w7,[x19, #offset ddrs.t_pctl0_rsth_us... BL2:d90041b4 01008052 mov w1,#0x0 BL2:d90041b8 08018052 mov w8,#0x8 LAB_d90041bc: ;XREF[1,0]: d9004238 BL2:d90041bc 021892d2 mov x2,#0x90c0 ;Done once. (WeTek Play2 ACS) BL2:d90041c0 205476d3 ubfiz param_1,x1,#0xa,#0x16 BL2:d90041c4 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d90041c8 046822b8 str w4,[param_1, x2, LSL #0x0] BL2:d90041cc 821992d2 mov x2,#0x90cc BL2:d90041d0 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d90041d4 056822b8 str w5,[param_1, x2, LSL #0x0] BL2:d90041d8 821892d2 mov x2,#0x90c4 BL2:d90041dc 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d90041e0 066822b8 str w6,[param_1, x2, LSL #0x0] BL2:d90041e4 021992d2 mov x2,#0x90c8 BL2:d90041e8 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d90041ec 076822b8 str w7,[param_1, x2, LSL #0x0] BL2:d90041f0 6a0a4039 ldrb w10,[x19, #offset ddrs.ddr_2t_mode &0... BL2:d90041f4 69f640b9 ldr w9,[x19, #offset ddrs.t_pctl0_mcfg &0... BL2:d90041f8 5f011f6b cmp w10,wzr BL2:d90041fc ea03881a csel w10,wzr,tmp_var,eq BL2:d9004200 021092d2 mov x2,#0x9080 BL2:d9004204 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9004208 4901092a orr w9,w10,w9 ; FWD[2,0]: c8839080,c8839480 BL2:d900420c 096822b8 str w9,[param_1, x2, LSL #0x0]=>DAT_c8839480 BL2:d9004210 62024039 ldrb w2,[x19]=>ddrs BL2:d9004214 69fa40b9 ldr w9,[x19, #offset ddrs.t_pctl0_mcfg1 &... BL2:d9004218 5f100071 cmp w2,#0x4 BL2:d900421c 820f92d2 mov x2,#0x907c BL2:d9004220 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9004224 41000054 b.ne LAB_d900422c BL2:d9004228 295d1812 and w9,w9,#0xffffff00 LAB_d900422c: ;XREF[1,0]: d9004224 BL2:d900422c 21040011 add w1,w1,#0x1 BL2:d9004230 096822b8 str w9,[param_1, x2, LSL #0x0] BL2:d9004234 3f00036b cmp w1,w3 BL2:d9004238 29fcff54 b.ls LAB_d90041bc BL2:d900423c 803e8052 mov param_1,#0x1f4 BL2:d9004240 88faff97 bl udelay ;void udelay(undefined8 us) BL2:d9004244 c0522591 add param_1,x22,#0x954 BL2:d9004248 000040b9 ldr param_1,[param_1]=>ddr0_enabled ;_ddr0_enabled = (uint)(((ulong)ddrs.ddr_dmc_ctrl ^ 0x80) >> 7) & 1 ; = (((0x200040 | 0x2D) ^ 0x80) >> 7) & 1 ; = 0x1 ;Such a complex thing just for this... (WeTek Play2 ACS) BL2:d900424c a0000035 cbnz param_1,LAB_d9004260 LAB_d9004250: ;XREF[1,0]: d9004290 BL2:d9004250 80622591 add param_1,x20,#0x958 BL2:d9004254 000040b9 ldr param_1,[param_1]=>DAT_d900a958_pctl_... BL2:d9004258 e0010035 cbnz param_1,LAB_d9004294 BL2:d900425c 1a000014 b LAB_d90042c4 LAB_d9004260: ;XREF[2,0]: d900424c,d900426c BL2:d9004260 005892d2 mov param_1,#0x92c0 BL2:d9004264 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004268 000040b9 ldr param_1,[param_1]=>DAT_c88392c0 BL2:d900426c a0ff0736 tbz param_1,#0x0,LAB_d9004260 BL2:d9004270 800892d2 mov param_1,#0x9044 BL2:d9004274 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004278 21008052 mov w1,#0x1 BL2:d900427c 010000b9 str w1,[param_1]=>DAT_c8839044 LAB_d9004280: ;XREF[1,0]: d900428c BL2:d9004280 000992d2 mov param_1,#0x9048 BL2:d9004284 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004288 000040b9 ldr param_1,[param_1]=>DAT_c8839048 BL2:d900428c a0ff0736 tbz param_1,#0x0,LAB_d9004280 BL2:d9004290 f0ffff17 b LAB_d9004250 LAB_d9004294: ;XREF[2,0]: d9004258,d90042a0 BL2:d9004294 00d892d2 mov param_1,#0x96c0 BL2:d9004298 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900429c 000040b9 ldr param_1,[param_1]=>DAT_c88396c0 BL2:d90042a0 a0ff0736 tbz param_1,#0x0,LAB_d9004294 BL2:d90042a4 808892d2 mov param_1,#0x9444 BL2:d90042a8 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90042ac 21008052 mov w1,#0x1 BL2:d90042b0 010000b9 str w1,[param_1]=>DAT_c8839444 LAB_d90042b4: ;XREF[1,0]: d90042c0 BL2:d90042b4 008992d2 mov param_1,#0x9448 BL2:d90042b8 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90042bc 000040b9 ldr param_1,[param_1]=>DAT_c8839448 BL2:d90042c0 a0ff0736 tbz param_1,#0x0,LAB_d90042b4 LAB_d90042c4: ;XREF[1,0]: d900425c BL2:d90042c4 80622591 add param_1,x20,#0x958 BL2:d90042c8 3b0000d0 adrp x27,0xd900a000 BL2:d90042cc 040040b9 ldr w4,[param_1]=>DAT_d900a958_pctl_ddr1 BL2:d90042d0 60e31c91 add param_1,x27,#0x738 BL2:d90042d4 010040f9 ldr x1,[param_1]=>ddrt_pointer BL2:d90042d8 02008052 mov w2,#0x0 BL2:d90042dc e5008052 mov w5,#0x7 BL2:d90042e0 69000014 b LAB_d9004484 LAB_d90042e4: ;XREF[1,0]: d90044c4 BL2:d90042e4 7f040071 cmp w3,#0x1 ;Not ran (WeTek Play2 ACS) BL2:d90042e8 21100054 b.ne LAB_d90044ec BL2:d90042ec 26544079 ldrh w6,[x1, #0x2a] BL2:d90042f0 27504079 ldrh w7,[x1, #0x28] BL2:d90042f4 831b92d2 mov x3,#0x90dc BL2:d90042f8 e700064b sub w7,w7,w6 BL2:d90042fc 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004300 c640072a orr w6,w6,w7, LSL #0x10 LAB_d9004304: ;XREF[1,0]: d900451c BL2:d9004304 066823b8 str w6,[param_1, x3, LSL #0x0] BL2:d9004308 032892d2 mov x3,#0x9140 BL2:d900430c 26604079 ldrh w6,[x1, #0x30] BL2:d9004310 6310b9f2 movk x3,#0xc883, LSL #16 LAB_d9004314: ;XREF[1,0]: d90044e8 BL2:d9004314 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_al LAB_d9004318: ;XREF[1,0]: d90044f0 BL2:d9004318 26704039 ldrb w6,[x1, #0x1c] BL2:d900431c 831c92d2 mov x3,#0x90e4 BL2:d9004320 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004324 066823b8 str w6,[param_1, x3, LSL #0x0] BL2:d9004328 266c4039 ldrb w6,[x1, #0x1b] BL2:d900432c 831d92d2 mov x3,#0x90ec BL2:d9004330 6310b9f2 movk x3,#0xc883, LSL #16 ;cfg_ddr_cwl BL2:d9004334 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_cl BL2:d9004338 26644039 ldrb w6,[x1, #0x19] BL2:d900433c 031d92d2 mov x3,#0x90e8 BL2:d9004340 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004344 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_ras BL2:d9004348 26144039 ldrb w6,[x1, #0x5] BL2:d900434c 031e92d2 mov x3,#0x90f0 BL2:d9004350 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004354 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_rc BL2:d9004358 261c4039 ldrb w6,[x1, #0x7] BL2:d900435c 831e92d2 mov x3,#0x90f4 BL2:d9004360 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004364 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_rcd BL2:d9004368 26104039 ldrb w6,[x1, #0x4] BL2:d900436c 031f92d2 mov x3,#0x90f8 BL2:d9004370 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004374 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_rrd BL2:d9004378 26184039 ldrb w6,[x1, #0x6] BL2:d900437c 831f92d2 mov x3,#0x90fc BL2:d9004380 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004384 066823b8 str w6,[param_1, x3, LSL #0x0] BL2:d9004388 26044039 ldrb w6,[x1, #0x1] BL2:d900438c 032092d2 mov x3,#0x9100 BL2:d9004390 6310b9f2 movk x3,#0xc883, LSL #16 ;cfg_ddr_rtp BL2:d9004394 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_wr BL2:d9004398 26684039 ldrb w6,[x1, #0x1a] BL2:d900439c 832092d2 mov x3,#0x9104 BL2:d90043a0 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90043a4 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_wtr BL2:d90043a8 26084039 ldrb w6,[x1, #0x2] BL2:d90043ac 032192d2 mov x3,#0x9108 BL2:d90043b0 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90043b4 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_exsr BL2:d90043b8 26444079 ldrh w6,[x1, #0x22] BL2:d90043bc 832192d2 mov x3,#0x910c BL2:d90043c0 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90043c4 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_xp BL2:d90043c8 26344039 ldrb w6,[x1, #0xd] BL2:d90043cc 032292d2 mov x3,#0x9110 BL2:d90043d0 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90043d4 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_dqs BL2:d90043d8 26744039 ldrb w6,[x1, #0x1d] BL2:d90043dc 032492d2 mov x3,#0x9120 BL2:d90043e0 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90043e4 066823b8 str w6,[param_1, x3, LSL #0x0] BL2:d90043e8 26584039 ldrb w6,[x1, #0x16] BL2:d90043ec 031c92d2 mov x3,#0x90e0 BL2:d90043f0 6310b9f2 movk x3,#0xc883, LSL #16 ;cfg_ddr_rtw BL2:d90043f4 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_cksre BL2:d90043f8 26784039 ldrb w6,[x1, #0x1e] BL2:d90043fc 832492d2 mov x3,#0x9124 BL2:d9004400 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004404 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_cksrx BL2:d9004408 267c4039 ldrb w6,[x1, #0x1f] BL2:d900440c 032592d2 mov x3,#0x9128 BL2:d9004410 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004414 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_mod BL2:d9004418 26244039 ldrb w6,[x1, #0x9] BL2:d900441c 032692d2 mov x3,#0x9130 BL2:d9004420 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004424 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_cke BL2:d9004428 26504039 ldrb w6,[x1, #0x14] BL2:d900442c 832592d2 mov x3,#0x912c BL2:d9004430 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004434 066823b8 str w6,[param_1, x3, LSL #0x0] BL2:d9004438 26804039 ldrb w6,[x1, #0x20] BL2:d900443c 032392d2 mov x3,#0x9118 BL2:d9004440 6310b9f2 movk x3,#0xc883, LSL #16 ;cfg_ddr_zqcs BL2:d9004444 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_zqcl BL2:d9004448 26484079 ldrh w6,[x1, #0x24] BL2:d900444c 032792d2 mov x3,#0x9138 BL2:d9004450 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004454 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_xpdll BL2:d9004458 26844039 ldrb w6,[x1, #0x21] BL2:d900445c 832292d2 mov x3,#0x9114 BL2:d9004460 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004464 066823b8 str w6,[param_1, x3, LSL #0x0] BL2:d9004468 832392d2 mov x3,#0x911c BL2:d900446c 264c4079 ldrh w6,[x1, #0x26] BL2:d9004470 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004474 42040011 add w2,w2,#0x1 ;cfg_ddr_zqcsi BL2:d9004478 066823b8 str w6,[param_1, x3, LSL #0x0] BL2:d900447c 5f00046b cmp w2,w4 BL2:d9004480 08050054 b.hi LAB_d9004520 ;0xE => cfg_ddr_rfc ;0x18 => cfg_ddr_refi_mddr3 ; ;Good one, Amlogic. ; ;Later: ;while (uVar18 <= uVar1) ;==> while (8 <= 0) LAB_d9004484: ;XREF[1,0]: d90042e0 BL2:d9004484 261c4079 ldrh w6,[x1, #0xe] BL2:d9004488 031b92d2 mov x3,#0x90d8 BL2:d900448c 405476d3 ubfiz param_1,x2,#0xa,#0x16 BL2:d9004490 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004494 066823b8 str w6,[param_1, x3, LSL #0x0] BL2:d9004498 26604039 ldrb w6,[x1, #0x18] BL2:d900449c 032992d2 mov x3,#0x9148 BL2:d90044a0 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90044a4 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_mrd BL2:d90044a8 26204039 ldrb w6,[x1, #0x8] BL2:d90044ac 831a92d2 mov x3,#0x90d4 BL2:d90044b0 df180071 cmp w6,#0x6 BL2:d90044b4 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90044b8 c690851a csel w6,w6,w5,ls BL2:d90044bc 066823b8 str w6,[param_1, x3, LSL #0x0] BL2:d90044c0 63064039 ldrb w3,[x19, #offset ddrs.ddr_type &0xff] BL2:d90044c4 03f1ff35 cbnz w3,LAB_d90042e4 ;cfg_ddr_rp BL2:d90044c8 260c4039 ldrb w6,[x1, #0x3] BL2:d90044cc 831b92d2 mov x3,#0x90dc BL2:d90044d0 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90044d4 066823b8 str w6,[param_1, x3, LSL #0x0] ;cfg_ddr_cke + 1 BL2:d90044d8 26504039 ldrb w6,[x1, #0x14] BL2:d90044dc 032892d2 mov x3,#0x9140 BL2:d90044e0 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90044e4 c6040011 add w6,w6,#0x1 BL2:d90044e8 8bffff17 b LAB_d9004314 LAB_d90044ec: ;XREF[1,0]: d90042e8 BL2:d90044ec 7f080071 cmp w3,#0x2 BL2:d90044f0 41f1ff54 b.ne LAB_d9004318 BL2:d90044f4 26544079 ldrh w6,[x1, #0x2a] BL2:d90044f8 27504079 ldrh w7,[x1, #0x28] BL2:d90044fc 831b92d2 mov x3,#0x90dc BL2:d9004500 e700064b sub w7,w7,w6 BL2:d9004504 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004508 c640072a orr w6,w6,w7, LSL #0x10 BL2:d900450c 066823b8 str w6,[param_1, x3, LSL #0x0] BL2:d9004510 832892d2 mov x3,#0x9144 BL2:d9004514 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004518 26644079 ldrh w6,[x1, #0x32] BL2:d900451c 7affff17 b LAB_d9004304 LAB_d9004520: ;XREF[1,0]: d9004480 BL2:d9004520 c0522591 add param_1,x22,#0x954 BL2:d9004524 000040b9 ldr param_1,[param_1]=>ddr0_enabled BL2:d9004528 20010034 cbz param_1,LAB_d900454c BL2:d900452c 61fa4179 ldrh w1,[x19, #offset ddrs.t_pctl0_scfg &0... BL2:d9004530 000092d2 mov param_1,#0x9000 BL2:d9004534 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004538 010000b9 str w1,[param_1]=>DAT_c8839000 BL2:d900453c 61fe4179 ldrh w1,[x19, #offset ddrs.t_pctl0_sctl &0... BL2:d9004540 800092d2 mov param_1,#0x9004 BL2:d9004544 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004548 010000b9 str w1,[param_1]=>DAT_c8839004 LAB_d900454c: ;XREF[1,0]: d9004528 BL2:d900454c 80622591 add param_1,x20,#0x958 BL2:d9004550 000040b9 ldr param_1,[param_1]=>DAT_d900a958_pctl_... BL2:d9004554 20010034 cbz param_1,LAB_d9004578 BL2:d9004558 61fa4179 ldrh w1,[x19, #offset ddrs.t_pctl0_scfg &0... BL2:d900455c 008092d2 mov param_1,#0x9400 BL2:d9004560 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004564 010000b9 str w1,[param_1]=>DAT_c8839400 BL2:d9004568 61fe4179 ldrh w1,[x19, #offset ddrs.t_pctl0_sctl &0... BL2:d900456c 808092d2 mov param_1,#0x9404 BL2:d9004570 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004574 010000b9 str w1,[param_1]=>DAT_c8839404 LAB_d9004578: ;XREF[1,0]: d9004554 BL2:d9004578 00a88fd2 mov param_1,#0x7d40 BL2:d900457c e1dd9752 mov w1,#0xbeef BL2:d9004580 0022b8f2 movk param_1,#0xc110, LSL #16 BL2:d9004584 a1d5bb72 movk w1,#0xdead, LSL #16 BL2:d9004588 010000b9 str w1,[param_1]=>DAT_c1107d40 BL2:d900458c 000298d2 mov param_1,#0xc010 BL2:d9004590 a1ca8c52 mov w1,#0x6655 BL2:d9004594 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004598 e10eb172 movk w1,#0x8877, LSL #16 BL2:d900459c 010000b9 str w1,[param_1]=>DAT_c883c010 BL2:d90045a0 c0522591 add param_1,x22,#0x954 BL2:d90045a4 000040b9 ldr param_1,[param_1]=>ddr0_enabled BL2:d90045a8 a0000034 cbz param_1,LAB_d90045bc LAB_d90045ac: ;XREF[1,0]: d90045b8 BL2:d90045ac 000192d2 mov param_1,#0x9008 BL2:d90045b0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90045b4 000040b9 ldr param_1,[param_1]=>DAT_c8839008 BL2:d90045b8 a0ff0736 tbz param_1,#0x0,LAB_d90045ac LAB_d90045bc: ;XREF[1,0]: d90045a8 BL2:d90045bc 80622591 add param_1,x20,#0x958 BL2:d90045c0 020040b9 ldr w2,[param_1]=>DAT_d900a958_pctl_ddr1 BL2:d90045c4 a2000034 cbz w2,LAB_d90045d8 LAB_d90045c8: ;XREF[1,0]: d90045d4 BL2:d90045c8 008192d2 mov param_1,#0x9408 BL2:d90045cc 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90045d0 000040b9 ldr param_1,[param_1]=>DAT_c8839408 BL2:d90045d4 a0ff0736 tbz param_1,#0x0,LAB_d90045c8 LAB_d90045d8: ;XREF[1,0]: d90045c4 BL2:d90045d8 6f0a4279 ldrh w15,[x19, #0x104]=>ddrs.t_pctl0_dfist... BL2:d90045dc 6e0e4279 ldrh w14,[x19, #0x106]=>ddrs.t_pctl0_dfist... BL2:d90045e0 6d124279 ldrh w13,[x19, #0x108]=>ddrs.t_pctl0_dfitc... BL2:d90045e4 6c164279 ldrh w12,[x19, #0x10a]=>ddrs.t_pctl0_dfitp... BL2:d90045e8 6b1a4279 ldrh w11,[x19, #0x10c]=>ddrs.t_pctl0_dfitp... BL2:d90045ec 6a1e4279 ldrh w10,[x19, #0x10e]=>ddrs.t_pctl0_dfitr... BL2:d90045f0 69224279 ldrh w9,[x19, #0x110]=>ddrs.t_pctl0_dfitph... BL2:d90045f4 68264279 ldrh tmp_var,[x19, #0x112]=>ddrs.t_pctl0_d... BL2:d90045f8 672a4279 ldrh w7,[x19, #0x114]=>ddrs.t_pctl0_dfitdr... BL2:d90045fc 662e4279 ldrh w6,[x19, #0x116]=>ddrs.t_pctl0_dfitph... BL2:d9004600 65324279 ldrh w5,[x19, #0x118]=>ddrs.t_pctl0_dfitct... BL2:d9004604 64364279 ldrh w4,[x19, #0x11a]=>ddrs.t_pctl0_cmdtst... ;Only ran once (WeTek Play2 ACS) BL2:d9004608 01008052 mov w1,#0x0 LAB_d900460c: ;XREF[1,0]: d90046e8 BL2:d900460c 700241b9 ldr w16,[x19, #0x100]=>ddrs.t_pctl0_ppcfg BL2:d9004610 831092d2 mov x3,#0x9084 BL2:d9004614 205476d3 ubfiz param_1,x1,#0xa,#0x16 BL2:d9004618 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d900461c 106823b8 str w16,[param_1, x3, LSL #0x0] BL2:d9004620 835892d2 mov x3,#0x92c4 BL2:d9004624 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004628 0f6823b8 str w15,[param_1, x3, LSL #0x0] BL2:d900462c 035992d2 mov x3,#0x92c8 BL2:d9004630 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004634 0e6823b8 str w14,[param_1, x3, LSL #0x0] BL2:d9004638 034892d2 mov x3,#0x9240 BL2:d900463c 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004640 0d6823b8 str w13,[param_1, x3, LSL #0x0] BL2:d9004644 034a92d2 mov x3,#0x9250 BL2:d9004648 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d900464c 0c6823b8 str w12,[param_1, x3, LSL #0x0] BL2:d9004650 834a92d2 mov x3,#0x9254 BL2:d9004654 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004658 0b6823b8 str w11,[param_1, x3, LSL #0x0] BL2:d900465c 034c92d2 mov x3,#0x9260 BL2:d9004660 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004664 0a6823b8 str w10,[param_1, x3, LSL #0x0] BL2:d9004668 834c92d2 mov x3,#0x9264 BL2:d900466c 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004670 096823b8 str w9,[param_1, x3, LSL #0x0] BL2:d9004674 835a92d2 mov x3,#0x92d4 BL2:d9004678 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d900467c 086823b8 str tmp_var,[param_1, x3, LSL #0x0] BL2:d9004680 035a92d2 mov x3,#0x92d0 BL2:d9004684 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004688 076823b8 str w7,[param_1, x3, LSL #0x0] BL2:d900468c 702641b9 ldr w16,[x19, #0x124]=>ddrs.t_pctl0_dfilp... BL2:d9004690 035e92d2 mov x3,#0x92f0 BL2:d9004694 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d9004698 106823b8 str w16,[param_1, x3, LSL #0x0] BL2:d900469c 834e92d2 mov x3,#0x9274 BL2:d90046a0 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90046a4 066823b8 str w6,[param_1, x3, LSL #0x0] BL2:d90046a8 035092d2 mov x3,#0x9280 BL2:d90046ac 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90046b0 056823b8 str w5,[param_1, x3, LSL #0x0] BL2:d90046b4 701e41b9 ldr w16,[x19, #0x11c]=>ddrs.t_pctl0_dfiod... BL2:d90046b8 834892d2 mov x3,#0x9244 BL2:d90046bc 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90046c0 106823b8 str w16,[param_1, x3, LSL #0x0] BL2:d90046c4 702241b9 ldr w16,[x19, #0x120]=>ddrs.t_pctl0_dfiod... BL2:d90046c8 034992d2 mov x3,#0x9248 BL2:d90046cc 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90046d0 106823b8 str w16,[param_1, x3, LSL #0x0] BL2:d90046d4 030a92d2 mov x3,#0x9050 BL2:d90046d8 6310b9f2 movk x3,#0xc883, LSL #16 BL2:d90046dc 21040011 add w1,w1,#0x1 BL2:d90046e0 046823b8 str w4,[param_1, x3, LSL #0x0] BL2:d90046e4 3f00026b cmp w1,w2 BL2:d90046e8 29f9ff54 b.ls LAB_d900460c BL2:d90046ec 9c230b91 add x28,x28,#0x2c8 BL2:d90046f0 80074079 ldrh param_1,[x28, #0x2]=>plls.pxp BL2:d90046f4 e00f0034 cbz param_1,LAB_d90048f0 LAB_d90046f8: ;XREF[3,0]: d9004a1c,d9004bbc,d9004e9c BL2:d90046f8 a0024039 ldrb param_1,[x21]=>ddrs BL2:d90046fc 1f080071 cmp param_1,#0x2 BL2:d9004700 013d0054 b.ne LAB_d9004ea0 BL2:d9004704 00778cd2 mov param_1,#0x63b8 BL2:d9004708 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900470c 000040b9 ldr param_1,[param_1]=>DAT_c88363b8 BL2:d9004710 015c1812 and w1,param_1,#0xffffff00 BL2:d9004714 2120402a orr w1,w1,param_1, LSR #0x8 BL2:d9004718 00778cd2 mov param_1,#0x63b8 BL2:d900471c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004720 010000b9 str w1,[param_1]=>DAT_c88363b8 BL2:d9004724 00798cd2 mov param_1,#0x63c8 BL2:d9004728 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900472c 010040b9 ldr w1,[param_1]=>DAT_c88363c8 BL2:d9004730 00798cd2 mov param_1,#0x63c8 BL2:d9004734 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004738 000040b9 ldr param_1,[param_1]=>DAT_c88363c8 BL2:d900473c 211443d3 ubfx x1,x1,#0x3,#0x3 BL2:d9004740 003c4ed3 ubfx param_1,param_1,#0xe,#0x2 BL2:d9004744 024c1453 lsl w2,param_1,#0xc BL2:d9004748 420c012a orr w2,w2,w1, LSL #0x3 BL2:d900474c 4100012a orr w1,w2,w1 BL2:d9004750 2138002a orr w1,w1,param_1, LSL #0xe BL2:d9004754 00798cd2 mov param_1,#0x63c8 BL2:d9004758 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900475c 010000b9 str w1,[param_1]=>DAT_c88363c8 BL2:d9004760 00788cd2 mov param_1,#0x63c0 BL2:d9004764 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004768 000040b9 ldr param_1,[param_1]=>DAT_c88363c0 BL2:d900476c 015c1812 and w1,param_1,#0xffffff00 BL2:d9004770 2120402a orr w1,w1,param_1, LSR #0x8 BL2:d9004774 00788cd2 mov param_1,#0x63c0 BL2:d9004778 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900477c 010000b9 str w1,[param_1]=>DAT_c88363c0 BL2:d9004780 00878cd2 mov param_1,#0x6438 BL2:d9004784 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004788 000040b9 ldr param_1,[param_1]=>DAT_c8836438 BL2:d900478c 015c1812 and w1,param_1,#0xffffff00 BL2:d9004790 2120402a orr w1,w1,param_1, LSR #0x8 BL2:d9004794 00878cd2 mov param_1,#0x6438 BL2:d9004798 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900479c 010000b9 str w1,[param_1]=>DAT_c8836438 BL2:d90047a0 00898cd2 mov param_1,#0x6448 BL2:d90047a4 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90047a8 010040b9 ldr w1,[param_1]=>DAT_c8836448 BL2:d90047ac 00898cd2 mov param_1,#0x6448 BL2:d90047b0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90047b4 000040b9 ldr param_1,[param_1]=>DAT_c8836448 BL2:d90047b8 211443d3 ubfx x1,x1,#0x3,#0x3 BL2:d90047bc 003c4ed3 ubfx param_1,param_1,#0xe,#0x2 BL2:d90047c0 024c1453 lsl w2,param_1,#0xc BL2:d90047c4 420c012a orr w2,w2,w1, LSL #0x3 BL2:d90047c8 4100012a orr w1,w2,w1 BL2:d90047cc 2138002a orr w1,w1,param_1, LSL #0xe BL2:d90047d0 00898cd2 mov param_1,#0x6448 BL2:d90047d4 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90047d8 010000b9 str w1,[param_1]=>DAT_c8836448 BL2:d90047dc 00888cd2 mov param_1,#0x6440 BL2:d90047e0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90047e4 000040b9 ldr param_1,[param_1]=>DAT_c8836440 BL2:d90047e8 015c1812 and w1,param_1,#0xffffff00 BL2:d90047ec 2120402a orr w1,w1,param_1, LSR #0x8 BL2:d90047f0 00888cd2 mov param_1,#0x6440 BL2:d90047f4 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90047f8 010000b9 str w1,[param_1]=>DAT_c8836440 BL2:d90047fc 00578cd2 mov param_1,#0x62b8 BL2:d9004800 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004804 000040b9 ldr param_1,[param_1]=>DAT_c88362b8 BL2:d9004808 015c1012 and w1,param_1,#0xffff00ff BL2:d900480c 2120002a orr w1,w1,param_1, LSL #0x8 BL2:d9004810 00578cd2 mov param_1,#0x62b8 BL2:d9004814 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004818 010000b9 str w1,[param_1]=>DAT_c88362b8 BL2:d900481c 00598cd2 mov param_1,#0x62c8 BL2:d9004820 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004824 010040b9 ldr w1,[param_1]=>DAT_c88362c8 BL2:d9004828 00598cd2 mov param_1,#0x62c8 BL2:d900482c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004830 000040b9 ldr param_1,[param_1]=>DAT_c88362c8 BL2:d9004834 21080012 and w1,w1,#0x7 BL2:d9004838 00344cd3 ubfx param_1,param_1,#0xc,#0x2 BL2:d900483c 210c012a orr w1,w1,w1, LSL #0x3 BL2:d9004840 2130002a orr w1,w1,param_1, LSL #0xc BL2:d9004844 2138002a orr w1,w1,param_1, LSL #0xe BL2:d9004848 00598cd2 mov param_1,#0x62c8 BL2:d900484c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004850 010000b9 str w1,[param_1]=>DAT_c88362c8 BL2:d9004854 00588cd2 mov param_1,#0x62c0 BL2:d9004858 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900485c 000040b9 ldr param_1,[param_1]=>DAT_c88362c0 BL2:d9004860 015c1012 and w1,param_1,#0xffff00ff BL2:d9004864 2120002a orr w1,w1,param_1, LSL #0x8 BL2:d9004868 00588cd2 mov param_1,#0x62c0 BL2:d900486c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004870 010000b9 str w1,[param_1]=>DAT_c88362c0 BL2:d9004874 00678cd2 mov param_1,#0x6338 BL2:d9004878 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900487c 000040b9 ldr param_1,[param_1]=>DAT_c8836338 BL2:d9004880 015c1012 and w1,param_1,#0xffff00ff BL2:d9004884 2120002a orr w1,w1,param_1, LSL #0x8 BL2:d9004888 00678cd2 mov param_1,#0x6338 BL2:d900488c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004890 010000b9 str w1,[param_1]=>DAT_c8836338 BL2:d9004894 00698cd2 mov param_1,#0x6348 BL2:d9004898 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900489c 010040b9 ldr w1,[param_1]=>DAT_c8836348 BL2:d90048a0 00698cd2 mov param_1,#0x6348 BL2:d90048a4 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90048a8 000040b9 ldr param_1,[param_1]=>DAT_c8836348 BL2:d90048ac 21080012 and w1,w1,#0x7 BL2:d90048b0 00344cd3 ubfx param_1,param_1,#0xc,#0x2 BL2:d90048b4 210c012a orr w1,w1,w1, LSL #0x3 BL2:d90048b8 2130002a orr w1,w1,param_1, LSL #0xc BL2:d90048bc 2138002a orr w1,w1,param_1, LSL #0xe BL2:d90048c0 00698cd2 mov param_1,#0x6348 BL2:d90048c4 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90048c8 010000b9 str w1,[param_1]=>DAT_c8836348 BL2:d90048cc 00688cd2 mov param_1,#0x6340 BL2:d90048d0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90048d4 000040b9 ldr param_1,[param_1]=>DAT_c8836340 BL2:d90048d8 015c1012 and w1,param_1,#0xffff00ff BL2:d90048dc 2120002a orr w1,w1,param_1, LSL #0x8 BL2:d90048e0 00688cd2 mov param_1,#0x6340 BL2:d90048e4 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90048e8 010000b9 str w1,[param_1]=>DAT_c8836340 BL2:d90048ec 6d010014 b LAB_d9004ea0 LAB_d90048f0: ;XREF[1,0]: d90046f4 BL2:d90048f0 61de40b9 ldr w1,[x19, #offset ddrs.t_pub_zq0pr &0xff] BL2:d90048f4 80488cd2 mov param_1,#0x6244 BL2:d90048f8 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90048fc 010000b9 str w1,[param_1]=>DAT_c8836244 BL2:d9004900 61e240b9 ldr w1,[x19, #offset ddrs.t_pub_zq1pr &0xff] BL2:d9004904 804a8cd2 mov param_1,#0x6254 BL2:d9004908 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900490c 010000b9 str w1,[param_1]=>DAT_c8836254 BL2:d9004910 61e640b9 ldr w1,[x19, #offset ddrs.t_pub_zq2pr &0xff] BL2:d9004914 804c8cd2 mov param_1,#0x6264 BL2:d9004918 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900491c 010000b9 str w1,[param_1]=>DAT_c8836264 BL2:d9004920 61ea40b9 ldr w1,[x19, #offset ddrs.t_pub_zq3pr &0xff] BL2:d9004924 804e8cd2 mov param_1,#0x6274 BL2:d9004928 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900492c 010000b9 str w1,[param_1]=>DAT_c8836274 BL2:d9004930 80008cd2 mov param_1,#0x6004 BL2:d9004934 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004938 61008052 mov w1,#0x3 BL2:d900493c 010000b9 str w1,[param_1]=>DAT_c8836004 LAB_d9004940: ;XREF[1,0]: d900494c BL2:d9004940 00038cd2 mov param_1,#0x6018 BL2:d9004944 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004948 000040b9 ldr param_1,[param_1]=>DAT_c8836018 BL2:d900494c a0ff0736 tbz param_1,#0x0,LAB_d9004940 BL2:d9004950 00488cd2 mov param_1,#0x6240 BL2:d9004954 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004958 010040b9 ldr w1,[param_1]=>DAT_c8836240 BL2:d900495c 80008052 mov param_1,#0x4 BL2:d9004960 0000a172 movk param_1,#0x800, LSL #16 BL2:d9004964 2100002a orr w1,w1,param_1 BL2:d9004968 00488cd2 mov param_1,#0x6240 BL2:d900496c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004970 010000b9 str w1,[param_1]=>DAT_c8836240 BL2:d9004974 40018052 mov param_1,#0xa BL2:d9004978 baf8ff97 bl udelay ;void udelay(undefined8 us) BL2:d900497c 00488cd2 mov param_1,#0x6240 BL2:d9004980 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004984 010040b9 ldr w1,[param_1]=>DAT_c8836240 BL2:d9004988 60ff9f52 mov param_1,#0xfffb BL2:d900498c e0ffbe72 movk param_1,#0xf7ff, LSL #16 BL2:d9004990 2100000a and w1,w1,param_1 BL2:d9004994 00488cd2 mov param_1,#0x6240 BL2:d9004998 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900499c 010000b9 str w1,[param_1]=>DAT_c8836240 BL2:d90049a0 c0038052 mov param_1,#30 BL2:d90049a4 aff8ff97 bl udelay ;void udelay(undefined8 us) BL2:d90049a8 60024039 ldrb param_1,[x19]=>ddrs BL2:d90049ac 00140051 sub param_1,param_1,#0x5 BL2:d90049b0 001c0053 uxtb param_1,param_1 ;(ddrs.ddr_channel_set - 5) > 2 because ddrs.ddr_channel_set is unsigned. (WeTek Play2 ACS) BL2:d90049b4 1f040071 cmp param_1,#0x1 BL2:d90049b8 e8010054 b.hi LAB_d90049f4 BL2:d90049bc 00708cd2 mov param_1,#0x6380 BL2:d90049c0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90049c4 010040b9 ldr w1,[param_1]=>DAT_c8836380 BL2:d90049c8 00708cd2 mov param_1,#0x6380 BL2:d90049cc 21781f12 and w1,w1,#0xfffffffe BL2:d90049d0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90049d4 010000b9 str w1,[param_1]=>DAT_c8836380 BL2:d90049d8 00808cd2 mov param_1,#0x6400 BL2:d90049dc 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90049e0 010040b9 ldr w1,[param_1]=>DAT_c8836400 BL2:d90049e4 00808cd2 mov param_1,#0x6400 BL2:d90049e8 21781f12 and w1,w1,#0xfffffffe BL2:d90049ec 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90049f0 010000b9 str w1,[param_1]=>DAT_c8836400 LAB_d90049f4: ;XREF[1,0]: d90049b8 BL2:d90049f4 612a41b9 ldr w1,[x19, #0x128]=>ddrs.t_pctl0_acbdlr0 BL2:d90049f8 00088cd2 mov param_1,#0x6040 BL2:d90049fc 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004a00 010000b9 str w1,[param_1]=>DAT_c8836040 BL2:d9004a04 60064039 ldrb param_1,[x19, #offset ddrs.ddr_type &... BL2:d9004a08 3c0000d0 adrp x28,0xd900a000 BL2:d9004a0c a0000034 cbz param_1,LAB_d9004a20 LAB_d9004a10: ;XREF[3,0]: d9004a2c,d9004b94,d9004bac BL2:d9004a10 60064039 ldrb param_1,[x19, #offset ddrs.ddr_type &... BL2:d9004a14 1f080071 cmp param_1,#0x2 BL2:d9004a18 c00c0054 b.eq LAB_d9004bb0 BL2:d9004a1c 37ffff17 b LAB_d90046f8 LAB_d9004a20: ;XREF[1,0]: d9004a0c BL2:d9004a20 80830b91 add param_1,x28,#0x2e0 BL2:d9004a24 00544039 ldrb param_1,[param_1, #0x15]=>acs.ddrs_ve... BL2:d9004a28 1f080071 cmp param_1,#0x2 BL2:d9004a2c 29ffff54 b.ls LAB_d9004a10 BL2:d9004a30 80008cd2 mov param_1,#0x6004 BL2:d9004a34 61fe9f52 mov w1,#0xfff3 BL2:d9004a38 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004a3c 010000b9 str w1,[param_1]=>DAT_c8836004 BL2:d9004a40 210000d0 adrp x1,0xd900a000 BL2:d9004a44 21a02591 add x1=>DAT_d900a968,x1,#0x968 BL2:d9004a48 e4370232 orr w4,wzr,#0xc0000fff BL2:d9004a4c e3330132 orr w3,wzr,#0x80000fff LAB_d9004a50: ;XREF[1,0]: d9004ba8 BL2:d9004a50 803e8052 mov param_1,#0x1f4 BL2:d9004a54 a13300f9 str x1=>DAT_d900a968,[x29, #local_20+0x80] BL2:d9004a58 a33b00f9 str x3,[x29, #local_10+0x80] BL2:d9004a5c a43700f9 str x4,[x29, #local_18+0x80] BL2:d9004a60 80f8ff97 bl udelay ;void udelay(undefined8 us) BL2:d9004a64 42034039 ldrb w2,[x26]=>BL21__DAT_d900a969 BL2:d9004a68 42040011 add w2,w2,#0x1 BL2:d9004a6c 421c0053 uxtb w2,w2 BL2:d9004a70 42030039 strb w2,[x26]=>BL21__DAT_d900a969 BL2:d9004a74 a13340f9 ldr x1,[x29, #local_20+0x80] BL2:d9004a78 5f280071 cmp w2,#0xa BL2:d9004a7c 20004039 ldrb param_1,[x1]=>DAT_d900a968 BL2:d9004a80 00040011 add param_1,param_1,#0x1 BL2:d9004a84 001c0053 uxtb param_1,param_1 BL2:d9004a88 20000039 strb param_1,[x1]=>DAT_d900a968 BL2:d9004a8c a33b40f9 ldr x3,[x29, #local_10+0x80] BL2:d9004a90 a43740f9 ldr x4,[x29, #local_18+0x80] BL2:d9004a94 09010054 b.ls LAB_d9004ab4 BL2:d9004a98 779fff34 cbz w23,LAB_d9003e84 BL2:d9004a9c 00038cd2 mov param_1,#0x6018 BL2:d9004aa0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004aa4 340000b0 adrp x20,0xd9009000 BL2:d9004aa8 010040b9 ldr w1,[param_1]=>DAT_c8836018 BL2:d9004aac 948e0b91 add x20,x20,#0x2e3 BL2:d9004ab0 cb000014 b LAB_d9004ddc LAB_d9004ab4: ;XREF[1,0]: d9004a94 BL2:d9004ab4 1f900171 cmp param_1,#0x64 BL2:d9004ab8 69060054 b.ls LAB_d9004b84 BL2:d9004abc 77000035 cbnz w23,LAB_d9004ac8 LAB_d9004ac0: ;XREF[1,0]: d9004e7c BL2:d9004ac0 00008012 mov param_1,#0xffffffff BL2:d9004ac4 b1010014 b LAB_d9005188 LAB_d9004ac8: ;XREF[1,0]: d9004abc BL2:d9004ac8 00038cd2 mov param_1,#0x6018 BL2:d9004acc 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004ad0 330000b0 adrp x19,0xd9009000 BL2:d9004ad4 73e60c91 add x19,x19,#0x339 BL2:d9004ad8 010040b9 ldr w1,[param_1]=>DAT_c8836018 BL2:d9004adc 200000b0 adrp param_1,0xd9009000 BL2:d9004ae0 00780c91 add param_1=>...,param_1,#0x31e ;= "only wl Error PGSR0: 0x" BL2:d9004ae4 02008052 mov w2,#0x0 BL2:d9004ae8 e30313aa mov x3=>DAT_d9009339,x19 ;= 2Eh . BL2:d9004aec 9b100094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9004af0 00538cd2 mov param_1,#0x6298 BL2:d9004af4 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004af8 010040b9 ldr w1,[param_1]=>DAT_c8836298 BL2:d9004afc 200000b0 adrp param_1,0xd9009000 BL2:d9004b00 00b80b91 add param_1=>...,param_1,#0x2ee ;= "DX0GSR2: 0x" BL2:d9004b04 02008052 mov w2,#0x0 BL2:d9004b08 e30313aa mov x3=>DAT_d9009339,x19 ;= 2Eh . BL2:d9004b0c 93100094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9004b10 00638cd2 mov param_1,#0x6318 BL2:d9004b14 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004b18 010040b9 ldr w1,[param_1]=>DAT_c8836318 BL2:d9004b1c 200000b0 adrp param_1,0xd9009000 BL2:d9004b20 00e80b91 add param_1=>...,param_1,#0x2fa ;= "DX1GSR2: 0x" BL2:d9004b24 02008052 mov w2,#0x0 BL2:d9004b28 e30313aa mov x3=>DAT_d9009339,x19 ;= 2Eh . BL2:d9004b2c 8b100094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9004b30 00738cd2 mov param_1,#0x6398 BL2:d9004b34 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004b38 010040b9 ldr w1,[param_1]=>DAT_c8836398 BL2:d9004b3c 200000b0 adrp param_1,0xd9009000 BL2:d9004b40 00180c91 add param_1=>...,param_1,#0x306 ;= "DX2GSR2: 0x" BL2:d9004b44 02008052 mov w2,#0x0 BL2:d9004b48 e30313aa mov x3=>DAT_d9009339,x19 ;= 2Eh . BL2:d9004b4c 83100094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9004b50 00838cd2 mov param_1,#0x6418 BL2:d9004b54 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004b58 010040b9 ldr w1,[param_1]=>DAT_c8836418 BL2:d9004b5c 200000b0 adrp param_1,0xd9009000 BL2:d9004b60 00480c91 add param_1=>...,param_1,#0x312 ;= "DX3GSR2: 0x" BL2:d9004b64 02008052 mov w2,#0x0 BL2:d9004b68 e30313aa mov x3=>DAT_d9009339,x19 ;= 2Eh . BL2:d9004b6c 7b100094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9004b70 200000b0 adrp param_1,0xd9009000 BL2:d9004b74 00f80c91 add param_1=>...,param_1,#0x33e ;= "DDR init fail, reset...\n" ;"DDR init fail, reset..." BL2:d9004b78 3d100094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9004b7c 5bf6ff97 bl reset_system ;undefined reset_system(void) LAB_d9004b80: ;XREF[1,0]: d9004b80 BL2:d9004b80 00000014 b LAB_d9004b80 LAB_d9004b84: ;XREF[1,0]: d9004ab8 BL2:d9004b84 00038cd2 mov param_1,#0x6018 BL2:d9004b88 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004b8c 000040b9 ldr param_1,[param_1]=>DAT_c8836018 BL2:d9004b90 1f00046b cmp param_1,w4 BL2:d9004b94 e0f3ff54 b.eq LAB_d9004a10 BL2:d9004b98 00038cd2 mov param_1,#0x6018 BL2:d9004b9c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004ba0 000040b9 ldr param_1,[param_1]=>DAT_c8836018 BL2:d9004ba4 1f00036b cmp param_1,w3 BL2:d9004ba8 41f5ff54 b.ne LAB_d9004a50 BL2:d9004bac 99ffff17 b LAB_d9004a10 LAB_d9004bb0: ;XREF[1,0]: d9004a18 BL2:d9004bb0 9c830b91 add x28,x28,#0x2e0 BL2:d9004bb4 80574039 ldrb param_1,[x28, #0x15]=>acs.ddrs_version BL2:d9004bb8 1f080071 cmp param_1,#0x2 BL2:d9004bbc e9d9ff54 b.ls LAB_d90046f8 BL2:d9004bc0 602e41b9 ldr param_1,[x19, #0x12c]=>ddrs.ddr_func BL2:d9004bc4 e0040836 tbz param_1,#0x1,LAB_d9004c60 BL2:d9004bc8 00088cd2 mov param_1,#0x6040 BL2:d9004bcc 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004bd0 01028052 mov w1,#0x10 BL2:d9004bd4 010000b9 str w1,[param_1]=>DAT_c8836040 BL2:d9004bd8 81098cd2 mov x1,#0x604c BL2:d9004bdc 00028252 mov param_1,#0x1010 BL2:d9004be0 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9004be4 200000b9 str param_1,[x1]=>DAT_c883604c BL2:d9004be8 010a8cd2 mov x1,#0x6050 BL2:d9004bec 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9004bf0 200000b9 str param_1,[x1]=>DAT_c8836050 BL2:d9004bf4 810a8cd2 mov x1,#0x6054 BL2:d9004bf8 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9004bfc 200000b9 str param_1,[x1]=>DAT_c8836054 BL2:d9004c00 010b8cd2 mov x1,#0x6058 BL2:d9004c04 e0c30632 orr param_1,wzr,#0x4040404 BL2:d9004c08 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9004c0c 200000b9 str param_1,[x1]=>DAT_c8836058 BL2:d9004c10 810b8cd2 mov x1,#0x605c BL2:d9004c14 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9004c18 200000b9 str param_1,[x1]=>DAT_c883605c BL2:d9004c1c 010c8cd2 mov x1,#0x6060 BL2:d9004c20 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9004c24 200000b9 str param_1,[x1]=>DAT_c8836060 BL2:d9004c28 801d8cd2 mov param_1,#0x60ec BL2:d9004c2c 41008252 mov w1,#0x1002 BL2:d9004c30 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004c34 8102a072 movk w1,#0x14, LSL #16 BL2:d9004c38 010000b9 str w1,[param_1]=>DAT_c88360ec BL2:d9004c3c 001e8cd2 mov param_1,#0x60f0 BL2:d9004c40 41559552 mov w1,#0xaaaa BL2:d9004c44 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004c48 6104a072 movk w1,#0x23, LSL #16 BL2:d9004c4c 010000b9 str w1,[param_1]=>DAT_c88360f0 BL2:d9004c50 80008cd2 mov param_1,#0x6004 BL2:d9004c54 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004c58 e12e8052 mov w1,#0x177 BL2:d9004c5c 04000014 b LAB_d9004c6c LAB_d9004c60: ;XREF[1,0]: d9004bc4 BL2:d9004c60 80008cd2 mov param_1,#0x6004 BL2:d9004c64 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004c68 612e8052 mov w1,#0x173 LAB_d9004c6c: ;XREF[1,0]: d9004c5c BL2:d9004c6c 010000b9 str w1,[param_1]=>DAT_c8836004 LAB_d9004c70: ;XREF[1,0]: d9004c84 BL2:d9004c70 40008052 mov param_1,#0x2 BL2:d9004c74 fbf7ff97 bl udelay ;void udelay(undefined8 us) BL2:d9004c78 00038cd2 mov param_1,#0x6018 BL2:d9004c7c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004c80 000040b9 ldr param_1,[param_1]=>DAT_c8836018 BL2:d9004c84 60ff0736 tbz param_1,#0x0,LAB_d9004c70 BL2:d9004c88 20030091 add param_1,x25,#0x0 BL2:d9004c8c 00044539 ldrb param_1,[param_1, #0x141]=>ddrs.t_lpd... BL2:d9004c90 60020034 cbz param_1,LAB_d9004cdc BL2:d9004c94 80008cd2 mov param_1,#0x6004 BL2:d9004c98 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004c9c 61409f52 mov w1,#0xfa03 BL2:d9004ca0 010000b9 str w1,[param_1]=>DAT_c8836004 LAB_d9004ca4: ;XREF[1,0]: d9004cb8 BL2:d9004ca4 40008052 mov param_1,#0x2 BL2:d9004ca8 eef7ff97 bl udelay ;void udelay(undefined8 us) BL2:d9004cac 00038cd2 mov param_1,#0x6018 BL2:d9004cb0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004cb4 000040b9 ldr param_1,[param_1]=>DAT_c8836018 BL2:d9004cb8 60ff0736 tbz param_1,#0x0,LAB_d9004ca4 LAB_d9004cbc: ;XREF[1,0]: d9004d04 BL2:d9004cbc 642e41b9 ldr w4,[x19, #0x12c]=>ddrs.ddr_func BL2:d9004cc0 06034039 ldrb w6,[x24]=>BL21__DAT_d900a969 BL2:d9004cc4 220000d0 adrp x2,ddrs BL2:d9004cc8 84001f12 and w4,w4,#0x2 BL2:d9004ccc 47a06539 ldrb w7,[x2, #0x968]=>DAT_d900a968 BL2:d9004cd0 e003062a mov param_1,w6 BL2:d9004cd4 230000d0 adrp x3,ddrs BL2:d9004cd8 32000014 b LAB_d9004da0 LAB_d9004cdc: ;XREF[1,0]: d9004c90 BL2:d9004cdc 80008cd2 mov param_1,#0x6004 BL2:d9004ce0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004ce4 21009e52 mov w1,#0xf001 BL2:d9004ce8 010000b9 str w1,[param_1]=>DAT_c8836004 LAB_d9004cec: ;XREF[1,0]: d9004d00 BL2:d9004cec 40008052 mov param_1,#0x2 BL2:d9004cf0 dcf7ff97 bl udelay ;void udelay(undefined8 us) BL2:d9004cf4 00038cd2 mov param_1,#0x6018 BL2:d9004cf8 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004cfc 000040b9 ldr param_1,[param_1]=>DAT_c8836018 BL2:d9004d00 60ff0736 tbz param_1,#0x0,LAB_d9004cec BL2:d9004d04 eeffff17 b LAB_d9004cbc LAB_d9004d08: ;XREF[1,0]: d9004db8 BL2:d9004d08 3f900171 cmp w1,#0x64 BL2:d9004d0c 480b0054 b.hi LAB_d9004e74 BL2:d9004d10 05038cd2 mov x5,#0x6018 BL2:d9004d14 6510b9f2 movk x5,#0xc883, LSL #16 BL2:d9004d18 a80040b9 ldr tmp_var,[x5]=>DAT_c8836018 BL2:d9004d1c e5f78352 mov w5,#0x1fbf BL2:d9004d20 44000035 cbnz w4,LAB_d9004d28 BL2:d9004d24 e5f78152 mov w5,#0xfbf LAB_d9004d28: ;XREF[1,0]: d9004d20 BL2:d9004d28 0500b872 movk w5,#0xc000, LSL #16 BL2:d9004d2c 1f01056b cmp tmp_var,w5 BL2:d9004d30 200b0054 b.eq LAB_d9004e94 BL2:d9004d34 05038cd2 mov x5,#0x6018 BL2:d9004d38 6510b9f2 movk x5,#0xc883, LSL #16 BL2:d9004d3c a80040b9 ldr tmp_var,[x5]=>DAT_c8836018 BL2:d9004d40 e5f78352 mov w5,#0x1fbf BL2:d9004d44 44000035 cbnz w4,LAB_d9004d4c BL2:d9004d48 e5f78152 mov w5,#0xfbf LAB_d9004d4c: ;XREF[1,0]: d9004d44 BL2:d9004d4c 0500bc72 movk w5,#0xe000, LSL #16 BL2:d9004d50 1f01056b cmp tmp_var,w5 BL2:d9004d54 000a0054 b.eq LAB_d9004e94 BL2:d9004d58 05038cd2 mov x5,#0x6018 BL2:d9004d5c 6510b9f2 movk x5,#0xc883, LSL #16 BL2:d9004d60 a80040b9 ldr tmp_var,[x5]=>DAT_c8836018 BL2:d9004d64 e5f78352 mov w5,#0x1fbf BL2:d9004d68 44000035 cbnz w4,LAB_d9004d70 BL2:d9004d6c e5f78152 mov w5,#0xfbf LAB_d9004d70: ;XREF[1,0]: d9004d68 BL2:d9004d70 0500b472 movk w5,#0xa000, LSL #16 BL2:d9004d74 1f01056b cmp tmp_var,w5 BL2:d9004d78 e0080054 b.eq LAB_d9004e94 BL2:d9004d7c 05038cd2 mov x5,#0x6018 BL2:d9004d80 6510b9f2 movk x5,#0xc883, LSL #16 BL2:d9004d84 a80040b9 ldr tmp_var,[x5]=>DAT_c8836018 BL2:d9004d88 e5f78352 mov w5,#0x1fbf BL2:d9004d8c 44000035 cbnz w4,LAB_d9004d94 BL2:d9004d90 e5f78152 mov w5,#0xfbf LAB_d9004d94: ;XREF[1,0]: d9004d8c BL2:d9004d94 0500b072 movk w5,#0x8000, LSL #16 BL2:d9004d98 1f01056b cmp tmp_var,w5 BL2:d9004d9c c0070054 b.eq LAB_d9004e94 LAB_d9004da0: ;XREF[1,0]: d9004cd8 BL2:d9004da0 00040011 add param_1,param_1,#0x1 BL2:d9004da4 001c0053 uxtb param_1,param_1 BL2:d9004da8 e100000b add w1,w7,param_1 BL2:d9004dac 2100064b sub w1,w1,w6 BL2:d9004db0 1f280071 cmp param_1,#0xa BL2:d9004db4 211c0053 uxtb w1,w1 BL2:d9004db8 89faff54 b.ls LAB_d9004d08 BL2:d9004dbc 40030039 strb param_1,[x26]=>BL21__DAT_d900a969 BL2:d9004dc0 41a02539 strb w1,[x2, #0x968]=>DAT_d900a968 BL2:d9004dc4 1786ff34 cbz w23,LAB_d9003e84 BL2:d9004dc8 00038cd2 mov param_1,#0x6018 BL2:d9004dcc 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004dd0 340000b0 adrp x20,0xd9009000 BL2:d9004dd4 010040b9 ldr w1,[param_1]=>DAT_c8836018 BL2:d9004dd8 94da0c91 add x20,x20,#0x336 LAB_d9004ddc: ;XREF[1,0]: d9004ab0 BL2:d9004ddc 200000b0 adrp param_1,0xd9009000 ; FWD[2,0]: d90092e3,d9009336 BL2:d9004de0 e30314aa mov x3=>DAT_d9009336,x20 ;= ".Retry...\n" ;= 2Eh . BL2:d9004de4 00ac0c91 add param_1=>...,param_1,#0x32b ;= " PGSR0: 0x" BL2:d9004de8 02008052 mov w2,#0x0 BL2:d9004dec db0f0094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9004df0 00538cd2 mov param_1,#0x6298 BL2:d9004df4 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004df8 010040b9 ldr w1,[param_1]=>DAT_c8836298 BL2:d9004dfc 200000b0 adrp param_1,0xd9009000 BL2:d9004e00 e30314aa mov x3=>DAT_d9009336,x20 ;= 2Eh . BL2:d9004e04 00b80b91 add param_1=>...,param_1,#0x2ee ;= "DX0GSR2: 0x" BL2:d9004e08 02008052 mov w2,#0x0 BL2:d9004e0c d30f0094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9004e10 00638cd2 mov param_1,#0x6318 BL2:d9004e14 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004e18 010040b9 ldr w1,[param_1]=>DAT_c8836318 BL2:d9004e1c 200000b0 adrp param_1,0xd9009000 BL2:d9004e20 e30314aa mov x3=>DAT_d9009336,x20 ;= 2Eh . BL2:d9004e24 00e80b91 add param_1=>...,param_1,#0x2fa ;= "DX1GSR2: 0x" BL2:d9004e28 02008052 mov w2,#0x0 BL2:d9004e2c cb0f0094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9004e30 00738cd2 mov param_1,#0x6398 BL2:d9004e34 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004e38 010040b9 ldr w1,[param_1]=>DAT_c8836398 BL2:d9004e3c 200000b0 adrp param_1,0xd9009000 BL2:d9004e40 e30314aa mov x3=>DAT_d9009336,x20 ;= 2Eh . BL2:d9004e44 00180c91 add param_1=>...,param_1,#0x306 ;= "DX2GSR2: 0x" BL2:d9004e48 02008052 mov w2,#0x0 BL2:d9004e4c c30f0094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9004e50 00838cd2 mov param_1,#0x6418 BL2:d9004e54 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004e58 010040b9 ldr w1,[param_1]=>DAT_c8836418 BL2:d9004e5c 200000b0 adrp param_1,0xd9009000 BL2:d9004e60 00480c91 add param_1=>...,param_1,#0x312 ;= "DX3GSR2: 0x" BL2:d9004e64 02008052 mov w2,#0x0 BL2:d9004e68 e30314aa mov x3=>DAT_d9009336,x20 ;= 2Eh . BL2:d9004e6c bb0f0094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9004e70 05fcff17 b LAB_d9003e84 LAB_d9004e74: ;XREF[1,0]: d9004d0c BL2:d9004e74 60a42539 strb param_1,[x3, #0x969]=>BL21__DAT_d900a969 BL2:d9004e78 41a02539 strb w1,[x2, #0x968]=>DAT_d900a968 BL2:d9004e7c 37e2ff34 cbz w23,LAB_d9004ac0 BL2:d9004e80 200000b0 adrp param_1,0xd9009000 BL2:d9004e84 00f00c91 add param_1=>...,param_1,#0x33c ;= "LPDDR init fail, reset...\n" BL2:d9004e88 790f0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9004e8c 97f5ff97 bl reset_system ;undefined reset_system(void) LAB_d9004e90: ;XREF[1,0]: d9004e90 BL2:d9004e90 00000014 b LAB_d9004e90 LAB_d9004e94: ;XREF[4,0]: d9004d30,d9004d54,d9004d78,d9004d9c BL2:d9004e94 60a42539 strb param_1,[x3, #0x969]=>BL21__DAT_d900a969 BL2:d9004e98 41a02539 strb w1,[x2, #0x968]=>DAT_d900a968 BL2:d9004e9c 17feff17 b LAB_d90046f8 LAB_d9004ea0: ;XREF[2,0]: d9004700,d90048ec BL2:d9004ea0 a1024039 ldrb w1,[x21]=>ddrs BL2:d9004ea4 a0020091 add param_1,x21,#0x0 BL2:d9004ea8 21040051 sub w1,w1,#0x1 BL2:d9004eac 211c0053 uxtb w1,w1 BL2:d9004eb0 3f080071 cmp w1,#0x2 ;Ran (WeTek Play2 ACS) BL2:d9004eb4 c8000054 b.hi LAB_d9004ecc BL2:d9004eb8 017c40b9 ldr w1,[param_1, #offset ddrs.t_pub_pgcr1... BL2:d9004ebc 00028cd2 mov param_1,#0x6010 BL2:d9004ec0 21780312 and w1,w1,#0xefffffff BL2:d9004ec4 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004ec8 010000b9 str w1,[param_1]=>DAT_c8836010 LAB_d9004ecc: ;XREF[1,0]: d9004eb4 BL2:d9004ecc a0020091 add param_1,x21,#0x0 BL2:d9004ed0 01084039 ldrb w1,[param_1, #offset ddrs.ddr_2t_mode... BL2:d9004ed4 a1010034 cbz w1,LAB_d9004f08 BL2:d9004ed8 210000d0 adrp x1,0xd900a000 BL2:d9004edc 21004039 ldrb w1,[x1]=>ddrs BL2:d9004ee0 3f100071 cmp w1,#0x4 BL2:d9004ee4 20010054 b.eq LAB_d9004f08 BL2:d9004ee8 00d040b9 ldr param_1,[param_1, #offset ddrs.t_pub_... BL2:d9004eec 00080012 and param_1,param_1,#0x7 BL2:d9004ef0 1f0c0071 cmp param_1,#0x3 BL2:d9004ef4 a1000054 b.ne LAB_d9004f08 BL2:d9004ef8 80078cd2 mov param_1,#0x603c BL2:d9004efc 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004f00 e1038052 mov w1,#0x1f BL2:d9004f04 010000b9 str w1,[param_1]=>DAT_c883603c LAB_d9004f08: ;XREF[3,0]: d9004ed4,d9004ee4,d9004ef4 BL2:d9004f08 200000d0 adrp param_1,0xd900a000 BL2:d9004f0c 00d44b39 ldrb param_1,[param_1, #0x2f5]=>acs.ddrs_v... BL2:d9004f10 1f040071 cmp param_1,#0x1 ;Not ran (WeTek Play2 ACS) BL2:d9004f14 a8000054 b.hi LAB_d9004f28 LAB_d9004f18: ;XREF[3,0]: d9004f30,d9004f38,d900500c BL2:d9004f18 d6522591 add x22,x22,#0x954 BL2:d9004f1c c00240b9 ldr param_1,[x22]=>ddr0_enabled BL2:d9004f20 80070035 cbnz param_1,LAB_d9005010 BL2:d9004f24 3f000014 b LAB_d9005020 LAB_d9004f28: ;XREF[1,0]: d9004f14 BL2:d9004f28 b5020091 add x21,x21,#0x0 BL2:d9004f2c a0c24439 ldrb param_1,[x21, #0x130]=>ddrs.wr_adj_pe... BL2:d9004f30 40ffff34 cbz param_1,LAB_d9004f18 BL2:d9004f34 a0da4439 ldrb param_1,[x21, #0x136]=>ddrs.rd_adj_pe... BL2:d9004f38 00ffff34 cbz param_1,LAB_d9004f18 BL2:d9004f3c 200000b0 adrp param_1,0xd9009000 BL2:d9004f40 005c0d91 add param_1=>...,param_1,#0x357 ;= "DQS-corr enabled\n" BL2:d9004f44 4a0f0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9004f48 80078cd2 mov param_1,#0x603c BL2:d9004f4c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004f50 000040b9 ldr param_1,[param_1]=>DAT_c883603c BL2:d9004f54 a1c24439 ldrb w1,[x21, #0x130]=>ddrs.wr_adj_per__0 BL2:d9004f58 001c0072 ands param_1,param_1,#0xff BL2:d9004f5c 00149f1a csinc param_1,param_1,wzr,ne BL2:d9004f60 007c011b mul param_1,param_1,w1 BL2:d9004f64 810c8052 mov w1,#0x64 BL2:d9004f68 0008c11a udiv param_1,param_1,w1 BL2:d9004f6c 82078cd2 mov x2,#0x603c BL2:d9004f70 001c0012 and param_1,param_1,#0xff BL2:d9004f74 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9004f78 400000b9 str param_1,[x2]=>DAT_c883603c BL2:d9004f7c 00088cd2 mov param_1,#0x6040 BL2:d9004f80 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004f84 000040b9 ldr param_1,[param_1]=>DAT_c8836040 BL2:d9004f88 a2c64439 ldrb w2,[x21, #0x131]=>ddrs.wr_adj_per__1 BL2:d9004f8c 001c0072 ands param_1,param_1,#0xff BL2:d9004f90 00149f1a csinc param_1,param_1,wzr,ne BL2:d9004f94 007c021b mul param_1,param_1,w2 BL2:d9004f98 0008c11a udiv param_1,param_1,w1 BL2:d9004f9c 02088cd2 mov x2,#0x6040 BL2:d9004fa0 00100012 and param_1,param_1,#0x1f BL2:d9004fa4 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9004fa8 400000b9 str param_1,[x2]=>DAT_c8836040 BL2:d9004fac 80578cd2 mov param_1,#0x62bc BL2:d9004fb0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9004fb4 e303012a mov w3,w1 LAB_d9004fb8: ;XREF[1,0]: d9005008 ; FWD[2,0]: c88362bc,c883633c BL2:d9004fb8 010040b9 ldr w1,[param_1]=>DAT_c88362bc ; FWD[2,0]: d900a132,d900a133 BL2:d9004fbc a4ca4439 ldrb w4,[x21, #0x132]=>ddrs.wr_adj_per__2 BL2:d9004fc0 221c0072 ands w2,w1,#0xff BL2:d9004fc4 42149f1a csinc w2,w2,wzr,ne BL2:d9004fc8 213c48d3 ubfx x1,x1,#0x8,#0x8 BL2:d9004fcc 3f001f6b cmp w1,wzr BL2:d9004fd0 427c041b mul w2,w2,w4 ; FWD[2,0]: d900a138,d900a139 BL2:d9004fd4 a4e24439 ldrb w4,[x21, #0x138]=>ddrs.rd_adj_per__2 BL2:d9004fd8 21149f1a csinc w1,w1,wzr,ne BL2:d9004fdc 217c041b mul w1,w1,w4 BL2:d9004fe0 2108c31a udiv w1,w1,w3 BL2:d9004fe4 245c1853 lsl w4,w1,#0x8 BL2:d9004fe8 4208c31a udiv w2,w2,w3 BL2:d9004fec 8140012a orr w1,w4,w1, LSL #16 BL2:d9004ff0 2100022a orr w1,w1,w2 BL2:d9004ff4 82978cd2 mov x2,#0x64bc ; FWD[2,0]: c88362bc,c883633c BL2:d9004ff8 010408b8 str w1,[param_1], #0x80=>DAT_c88362bc BL2:d9004ffc 6210b9f2 movk x2,#0xc883, LSL #16 BL2:d9005000 1f0002eb cmp param_1,x2 BL2:d9005004 b5060091 add x21,x21,#0x1 BL2:d9005008 81fdff54 b.ne LAB_d9004fb8 BL2:d900500c c3ffff17 b LAB_d9004f18 LAB_d9005010: ;XREF[2,0]: d9004f20,d900501c BL2:d9005010 810992d2 mov x1,#0x904c BL2:d9005014 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9005018 210040b9 ldr w1,[x1]=>DAT_c883904c BL2:d900501c a1ff0736 tbz w1,#0x0,LAB_d9005010 LAB_d9005020: ;XREF[1,0]: d9004f24 BL2:d9005020 81622591 add x1,x20,#0x958 BL2:d9005024 210040b9 ldr w1,[x1]=>DAT_d900a958_pctl_ddr1 BL2:d9005028 a1000034 cbz w1,LAB_d900503c LAB_d900502c: ;XREF[1,0]: d9005038 BL2:d900502c 818992d2 mov x1,#0x944c BL2:d9005030 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9005034 210040b9 ldr w1,[x1]=>DAT_c883944c BL2:d9005038 a1ff0736 tbz w1,#0x0,LAB_d900502c LAB_d900503c: ;XREF[1,0]: d9005028 BL2:d900503c a0000034 cbz param_1,LAB_d9005050 BL2:d9005040 800092d2 mov param_1,#0x9004 BL2:d9005044 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005048 41008052 mov w1,#0x2 BL2:d900504c 010000b9 str w1,[param_1]=>DAT_c8839004 LAB_d9005050: ;XREF[1,0]: d900503c BL2:d9005050 94622591 add x20,x20,#0x958 BL2:d9005054 800240b9 ldr param_1,[x20]=>DAT_d900a958_pctl_ddr1 BL2:d9005058 a0000034 cbz param_1,LAB_d900506c BL2:d900505c 808092d2 mov param_1,#0x9404 BL2:d9005060 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005064 41008052 mov w1,#0x2 BL2:d9005068 010000b9 str w1,[param_1]=>DAT_c8839404 LAB_d900506c: ;XREF[1,0]: d9005058 BL2:d900506c 200000b0 adrp param_1,0xd900a000 BL2:d9005070 01502591 add x1,param_1,#0x954 BL2:d9005074 220040b9 ldr w2,[x1]=>ddr0_enabled BL2:d9005078 e10300aa mov x1,param_1 BL2:d900507c c2000034 cbz w2,LAB_d9005094 LAB_d9005080: ;XREF[1,0]: d9005090 BL2:d9005080 000192d2 mov param_1,#0x9008 BL2:d9005084 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005088 000040b9 ldr param_1,[param_1]=>DAT_c8839008 BL2:d900508c 1f0c0071 cmp param_1,#0x3 BL2:d9005090 81ffff54 b.ne LAB_d9005080 LAB_d9005094: ;XREF[1,0]: d900507c BL2:d9005094 200000b0 adrp param_1,0xd900a000 BL2:d9005098 02602591 add x2,param_1,#0x958 BL2:d900509c 430040b9 ldr w3,[x2]=>DAT_d900a958_pctl_ddr1 BL2:d90050a0 e20300aa mov x2,param_1 BL2:d90050a4 c3000034 cbz w3,LAB_d90050bc LAB_d90050a8: ;XREF[1,0]: d90050b8 BL2:d90050a8 008192d2 mov param_1,#0x9408 BL2:d90050ac 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90050b0 000040b9 ldr param_1,[param_1]=>DAT_c8839408 BL2:d90050b4 1f0c0071 cmp param_1,#0x3 BL2:d90050b8 81ffff54 b.ne LAB_d90050a8 LAB_d90050bc: ;XREF[1,0]: d90050a4 BL2:d90050bc 00488cd2 mov param_1,#0x6240 BL2:d90050c0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90050c4 030040b9 ldr w3,[param_1]=>DAT_c8836240 BL2:d90050c8 00488cd2 mov param_1,#0x6240 BL2:d90050cc 63001e32 orr w3,w3,#0x4 BL2:d90050d0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90050d4 030000b9 str w3,[param_1]=>DAT_c8836240 BL2:d90050d8 00488cd2 mov param_1,#0x6240 BL2:d90050dc 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90050e0 030040b9 ldr w3,[param_1]=>DAT_c8836240 BL2:d90050e4 00488cd2 mov param_1,#0x6240 BL2:d90050e8 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d90050ec 63781d12 and w3,w3,#0xfffffffb BL2:d90050f0 030000b9 str w3,[param_1]=>DAT_c8836240 BL2:d90050f4 20502591 add param_1,x1,#0x954 BL2:d90050f8 000040b9 ldr param_1,[param_1]=>ddr0_enabled BL2:d90050fc 20010034 cbz param_1,LAB_d9005120 BL2:d9005100 801190d2 mov param_1,#0x808c BL2:d9005104 a1338052 mov w1,#0x19d BL2:d9005108 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900510c 0110a172 movk w1,#0x880, LSL #16 BL2:d9005110 010000b9 str w1,[param_1]=>DAT_c883808c BL2:d9005114 001092d2 mov param_1,#0x9080 BL2:d9005118 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d900511c 000040b9 ldr param_1,[param_1]=>DAT_c8839080 LAB_d9005120: ;XREF[1,0]: d90050fc BL2:d9005120 40602591 add param_1,x2,#0x958 BL2:d9005124 000040b9 ldr param_1,[param_1]=>DAT_d900a958_pctl_... BL2:d9005128 20010034 cbz param_1,LAB_d900514c BL2:d900512c 801190d2 mov param_1,#0x808c BL2:d9005130 e1338052 mov w1,#0x19f BL2:d9005134 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005138 0110a172 movk w1,#0x880, LSL #16 BL2:d900513c 010000b9 str w1,[param_1]=>DAT_c883808c BL2:d9005140 009092d2 mov param_1,#0x9480 BL2:d9005144 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005148 000040b9 ldr param_1,[param_1]=>DAT_c8839480 LAB_d900514c: ;XREF[1,0]: d9005128 BL2:d900514c 200000b0 adrp param_1,0xd900a000 BL2:d9005150 00000091 add param_1,param_1,#0x0 BL2:d9005154 01144079 ldrh w1,[param_1, #offset ddrs.ddr_clk &0xff] BL2:d9005158 7be31c91 add x27,x27,#0x738 BL2:d900515c 80028052 mov param_1,#0x14 BL2:d9005160 2108c01a udiv w1,w1,param_1 BL2:d9005164 600340f9 ldr param_1,[x27]=>ddrt_pointer ; cfg_ddr_refi BL2:d9005168 005c4039 ldrb param_1,[param_1, #0x17] BL2:d900516c 2120002a orr w1,w1,param_1, LSL #0x8 BL2:d9005170 0002a452 mov param_1,#0x20100000 BL2:d9005174 2100002a orr w1,w1,param_1 BL2:d9005178 001290d2 mov param_1,#0x8090 BL2:d900517c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005180 010000b9 str w1,[param_1]=>DAT_c8838090 BL2:d9005184 00008052 mov param_1,#0x0 LAB_d9005188: ;XREF[1,0]: d9004ac4 BL2:d9005188 f35341a9 ldp x19,x20,[sp, #local_70+0x80] BL2:d900518c f55b42a9 ldp x21,x22,[sp, #local_60+0x80] BL2:d9005190 f76343a9 ldp x23,x24,[sp, #local_50+0x80] BL2:d9005194 f96b44a9 ldp x25,x26,[sp, #local_40+0x80] BL2:d9005198 fb7345a9 ldp x27,x28,[sp, #local_30+0x80] BL2:d900519c fd7bc8a8 ldp x29=>local_80,x30,[sp], #0x80 BL2:d90051a0 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined ddr_pre_init(void) ;loop undefined8 x0 ;XREF[1,0]: d900529c ;ddr_dual_r... undefined4 w2 ;XREF[1,0]: d9005594 ;ddr_type_1... undefined4 w1 ;XREF[1,0]: d90055d8 ;local_10 undefined8 -10 ;XREF[2,0]: d90051bc,d9005984 ;local_20 undefined8 -20 ;XREF[2,0]: d90051ac,d9005988 ;local_30 undefined8 -30 ;XREF[2,0]: d90051a4,d900598c ;pointer_to... undefined8 HASH... ;tmp_val undefined4 HASH... ;ddr_type undefined4 HASH... ;some_ddrt_... undefined1 HASH... ;Wild guesses which were not relevant in the end: ;> * it tries to fetch DDR clocks from 0xD900A00A - ;> * it tries to fetch DDR timings from 0xD900A148 onwards (?) ;> Some of those addresses may be pointing to acs.bin data. Not sure. ; ;0xD900A00A points to __ddr_setting.ddr_clk, and 0xD900A007 points ;to __ddr_setting.ddr_timing_ind, which equals to 0 by default. ; ;Ghidra sees chars, because ddr_timing_ind is an unsigned char. I've ;set those to be hexadecimal ints, but yeah...Amlogic keeps using ;unsigned chars instead of uint8_t everytime... ; ;Also 0xD900A007 can be equal to any of the CONFIG_DDR_TIMMING_* ;constants defined in arch/arm/include/asm/arch-gxb/ddr_define.h. ;XREF[1,0]: d9005bdc BL2:d90051a4 fd7bbda9 stp x29,x30,[sp, #local_30]! BL2:d90051a8 fd030091 mov x29,sp BL2:d90051ac f35301a9 stp x19,x20,[sp, #local_20+0x30] BL2:d90051b0 330000b0 adrp x19,0xd900a000 BL2:d90051b4 60020091 add x0,x19,#0x0 BL2:d90051b8 01144079 ldrh w1,[x0, #offset ddrs.ddr_clk &0xff] BL2:d90051bc f51300f9 str x21,[sp, #local_10+0x30] BL2:d90051c0 22200351 sub w2,w1,#0xc8 BL2:d90051c4 423c0053 uxth w2,w2 BL2:d90051c8 5f300571 cmp w2,#0x14c BL2:d90051cc 68000054 b.hi LAB_d90051d8 ;#define CONFIG_DDR_TIMMING_DDR3_7 0x07 BL2:d90051d0 e1008052 mov w1,#0x7 BL2:d90051d4 06000014 b LAB_d90051ec LAB_d90051d8: ;XREF[1,0]: d90051cc BL2:d90051d8 22540851 sub w2,w1,#0x215 BL2:d90051dc 423c0053 uxth w2,w2 BL2:d90051e0 5f140271 cmp w2,#0x85 BL2:d90051e4 88000054 b.hi LAB_d90051f4 ;#define CONFIG_DDR_TIMMING_DDR3_9 0x09 BL2:d90051e8 21018052 mov w1,#0x9 LAB_d90051ec: ;XREF[4,0]: d90051d4,d9005208,d9005220,d9005238 BL2:d90051ec 011c0039 strb w1,[x0, #offset ddrs.ddr_timing_index... BL2:d90051f0 17000014 b LAB_d900524c LAB_d90051f4: ;XREF[1,0]: d90051e4 BL2:d90051f4 226c0a51 sub w2,w1,#0x29b BL2:d90051f8 423c0053 uxth w2,w2 BL2:d90051fc 5f100271 cmp w2,#0x84 BL2:d9005200 68000054 b.hi LAB_d900520c ;#define CONFIG_DDR_TIMMING_DDR3_11 0x0B BL2:d9005204 61018052 mov w1,#0xB BL2:d9005208 f9ffff17 b LAB_d90051ec LAB_d900520c: ;XREF[1,0]: d9005200 BL2:d900520c 22800c51 sub w2,w1,#0x320 BL2:d9005210 423c0053 uxth w2,w2 BL2:d9005214 5f100271 cmp w2,#0x84 BL2:d9005218 68000054 b.hi LAB_d9005224 ;#define CONFIG_DDR_TIMMING_DDR3_13 0x0D ; ;This one gets ran on WeTek Play2. BL2:d900521c a1018052 mov w1,#0xD BL2:d9005220 f3ffff17 b LAB_d90051ec LAB_d9005224: ;XREF[1,0]: d9005218 BL2:d9005224 21940e51 sub w1,w1,#0x3a5 BL2:d9005228 213c0053 uxth w1,w1 BL2:d900522c 3fa81071 cmp w1,#0x42a BL2:d9005230 68000054 b.hi LAB_d900523c ;#define CONFIG_DDR_TIMMING_DDR3_14 0x0E BL2:d9005234 c1018052 mov w1,#0xE BL2:d9005238 edffff17 b LAB_d90051ec LAB_d900523c: ;XREF[1,0]: d9005230 BL2:d900523c 20000090 adrp x0,0xd9009000 BL2:d9005240 00a40d91 add x0=>s_DDR...,x0,#0x369 ;= "DDR clk setting error! Reset...\n" BL2:d9005244 8a0e0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9005248 a8f4ff97 bl reset_system ;undefined reset_system(void) LAB_d900524c: ;XREF[1,0]: d90051f0 BL2:d900524c 200000b0 adrp x0,0xd900a000 BL2:d9005250 01800b91 add x1,x0,#0x2e0 BL2:d9005254 21544039 ldrb w1,[x1, #0x15]=>acs.ddrs_version BL2:d9005258 f50300aa mov x21,x0 BL2:d900525c 3f080071 cmp w1,#0x2 BL2:d9005260 69010054 b.ls LAB_d900528c BL2:d9005264 60020091 add x0,x19,#0x0 BL2:d9005268 01044039 ldrb w1,[x0, #offset ddrs.ddr_type &0xff] ;Never ran (WeTek Play2 ACS) BL2:d900526c 3f040071 cmp w1,#0x1 BL2:d9005270 61000054 b.ne LAB_d900527c BL2:d9005274 21048052 mov w1,#0x21 BL2:d9005278 04000014 b LAB_d9005288 LAB_d900527c: ;XREF[1,0]: d9005270 BL2:d900527c 3f080071 cmp w1,#0x2 BL2:d9005280 61000054 b.ne LAB_d900528c BL2:d9005284 21068052 mov w1,#0x31 LAB_d9005288: ;XREF[1,0]: d9005278 BL2:d9005288 011c0039 strb w1,[x0, #offset ddrs.ddr_timing_index... LAB_d900528c: ;XREF[2,0]: d9005260,d9005280 BL2:d900528c 60020091 add x0,x19,#0x0 BL2:d9005290 210000b0 adrp x1,0xd900a000 BL2:d9005294 021c4039 ldrb w2,[x0, #offset ddrs.ddr_timing_index... BL2:d9005298 21200591 add x1=>ddrt,x1,#0x148 BL2:d900529c 000080d2 mov loop,#0x0 BL2:d90052a0 c30680d2 mov x3,#0x36 LAB_d90052a4: ;XREF[1,0]: d90052d8 BL2:d90052a4 057c039b mul x5,loop,x3 ; FWD[2,0]: d900a148,d900a17e BL2:d90052a8 a5686138 ldrb w5,[x5, x1, LSL ]=>ddrt BL2:d90052ac bf00026b cmp w5,w2 BL2:d90052b0 01010054 b.ne LAB_d90052d0 BL2:d90052b4 e203002a mov w2,loop BL2:d90052b8 c00680d2 mov loop,#0x36 ;arch/arm/cpu/armv8/common/firmware/plat/gxb/ddr/ddr.c ;(before "BL2 Closed-source" commit): ; p_ddr_timing = &__ddr_timming loop ;Sorry my keyboard is borked in X ; ;But yeah index=3 I guess. BL2:d90052bc 4104009b madd x1,x2,loop,x1 BL2:d90052c0 200000b0 adrp loop,0xd900a000 BL2:d90052c4 00e01c91 add loop,loop,#0x738 BL2:d90052c8 010000f9 str x1=>ddrt,[loop]=>ddrt_pointer BL2:d90052cc 04000014 b LAB_d90052dc LAB_d90052d0: ;XREF[1,0]: d90052b0 BL2:d90052d0 00040091 add loop,loop,#0x1 BL2:d90052d4 1f1c00f1 cmp loop,#0x7 BL2:d90052d8 61feff54 b.ne LAB_d90052a4 LAB_d90052dc: ;XREF[1,0]: d90052cc BL2:d90052dc 340000b0 adrp x20,0xd900a000 BL2:d90052e0 80e21c91 add loop,x20,#0x738 BL2:d90052e4 000040f9 ldr loop,[loop]=>ddrt_pointer BL2:d90052e8 a00000b5 cbnz loop,LAB_d90052fc BL2:d90052ec 20000090 adrp loop,0xd9009000 BL2:d90052f0 00280e91 add loop=>s_D...,loop,#0x38a ;= "DDR Timing err...\n" BL2:d90052f4 5e0e0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d90052f8 7cf4ff97 bl reset_system ;undefined reset_system(void) LAB_d90052fc: ;XREF[1,0]: d90052e8 BL2:d90052fc b5820b91 add x21,x21,#0x2e0 BL2:d9005300 a0564039 ldrb loop,[x21, #0x15]=>acs.ddrs_version BL2:d9005304 1f080071 cmp loop,#0x2 BL2:d9005308 490d0054 b.ls LAB_d90054b0 BL2:d900530c 60020091 add loop,x19,#0x0 BL2:d9005310 01044039 ldrb w1,[loop, #offset ddrs.ddr_type &0xff] ;Never ran (WeTek Play2 ACS) BL2:d9005314 3f080071 cmp w1,#0x2 BL2:d9005318 c10c0054 b.ne LAB_d90054b0 BL2:d900531c 419b8c52 mov w1,#0x64da BL2:d9005320 0104a072 movk w1,#0x20, LSL #16 BL2:d9005324 01d800b9 str w1,[loop, #offset ddrs.t_pub_dsgcr &0... BL2:d9005328 81dc8352 mov w1,#0x1ee4 BL2:d900532c 0103a072 movk w1,#0x18, LSL #16 BL2:d9005330 018400b9 str w1,[loop, #offset ddrs.t_pub_pgcr3 &0... BL2:d9005334 21118052 mov w1,#0x89 BL2:d9005338 01d000b9 str w1,[loop, #offset ddrs.t_pub_dcr &0xff] BL2:d900533c a1239352 mov w1,#0x991d BL2:d9005340 8100a072 movk w1,#0x4, LSL #16 BL2:d9005344 01dc00b9 str w1,[loop, #offset ddrs.t_pub_zq0pr &0... BL2:d9005348 21239352 mov w1,#0x9919 BL2:d900534c 8100a072 movk w1,#0x4, LSL #16 BL2:d9005350 01e000b9 str w1,[loop, #offset ddrs.t_pub_zq1pr &0... BL2:d9005354 21239352 mov w1,#0x9919 BL2:d9005358 8100a072 movk w1,#0x4, LSL #16 BL2:d900535c 01e400b9 str w1,[loop, #offset ddrs.t_pub_zq2pr &0... BL2:d9005360 21239352 mov w1,#0x9919 BL2:d9005364 8100a072 movk w1,#0x4, LSL #16 BL2:d9005368 01e800b9 str w1,[loop, #offset ddrs.t_pub_zq3pr &0... BL2:d900536c 21fc8552 mov w1,#0x2fe1 BL2:d9005370 410da072 movk w1,#0x6a, LSL #16 BL2:d9005374 01f400b9 str w1,[loop, #offset ddrs.t_pctl0_mcfg &... BL2:d9005378 01088052 mov w1,#0x40 BL2:d900537c 0104b072 movk w1,#0x8020, LSL #16 BL2:d9005380 01f800b9 str w1,[loop, #offset ddrs.t_pctl0_mcfg1 ... BL2:d9005384 00144079 ldrh loop,[loop, #offset ddrs.ddr_clk &0xff] BL2:d9005388 01200351 sub w1,loop,#0xc8 BL2:d900538c 213c0053 uxth w1,w1 BL2:d9005390 3f1c0371 cmp w1,#0xc7 BL2:d9005394 e8000054 b.hi LAB_d90053b0 BL2:d9005398 80e21c91 add loop,x20,#0x738 BL2:d900539c 000040f9 ldr loop,[loop]=>ddrt_pointer BL2:d90053a0 c1008052 mov w1,#0x6 BL2:d90053a4 01640039 strb w1,[loop, #0x19]=>ddrt[0].cfg_ddr_cl BL2:d90053a8 61008052 mov w1,#0x3 BL2:d90053ac 40000014 b LAB_d90054ac LAB_d90053b0: ;XREF[1,0]: d9005394 BL2:d90053b0 01400651 sub w1,loop,#0x190 BL2:d90053b4 213c0053 uxth w1,w1 BL2:d90053b8 3f100271 cmp w1,#0x84 BL2:d90053bc e8000054 b.hi LAB_d90053d8 BL2:d90053c0 80e21c91 add loop,x20,#0x738 BL2:d90053c4 000040f9 ldr loop,[loop]=>ddrt_pointer BL2:d90053c8 01018052 mov w1,#0x8 BL2:d90053cc 01640039 strb w1,[loop, #0x19]=>ddrt[0].cfg_ddr_cl BL2:d90053d0 81008052 mov w1,#0x4 BL2:d90053d4 36000014 b LAB_d90054ac LAB_d90053d8: ;XREF[1,0]: d90053bc BL2:d90053d8 01540851 sub w1,loop,#0x215 BL2:d90053dc 213c0053 uxth w1,w1 BL2:d90053e0 3f080171 cmp w1,#0x42 BL2:d90053e4 e8000054 b.hi LAB_d9005400 BL2:d90053e8 80e21c91 add loop,x20,#0x738 BL2:d90053ec 000040f9 ldr loop,[loop]=>ddrt_pointer BL2:d90053f0 21018052 mov w1,#0x9 BL2:d90053f4 01640039 strb w1,[loop, #0x19]=>ddrt[0].cfg_ddr_cl BL2:d90053f8 a1008052 mov w1,#0x5 BL2:d90053fc 2c000014 b LAB_d90054ac LAB_d9005400: ;XREF[1,0]: d90053e4 BL2:d9005400 01600951 sub w1,loop,#0x258 BL2:d9005404 213c0053 uxth w1,w1 BL2:d9005408 3f080171 cmp w1,#0x42 BL2:d900540c a8000054 b.hi LAB_d9005420 BL2:d9005410 80e21c91 add loop,x20,#0x738 BL2:d9005414 000040f9 ldr loop,[loop]=>ddrt_pointer BL2:d9005418 41018052 mov w1,#0xa BL2:d900541c 10000014 b LAB_d900545c LAB_d9005420: ;XREF[1,0]: d900540c BL2:d9005420 016c0a51 sub w1,loop,#0x29b BL2:d9005424 213c0053 uxth w1,w1 BL2:d9005428 3f040171 cmp w1,#0x41 BL2:d900542c a8000054 b.hi LAB_d9005440 BL2:d9005430 80e21c91 add loop,x20,#0x738 BL2:d9005434 000040f9 ldr loop,[loop]=>ddrt_pointer BL2:d9005438 61018052 mov w1,#0xb BL2:d900543c 08000014 b LAB_d900545c LAB_d9005440: ;XREF[1,0]: d900542c BL2:d9005440 01740b51 sub w1,loop,#0x2dd BL2:d9005444 213c0053 uxth w1,w1 BL2:d9005448 3f080171 cmp w1,#0x42 BL2:d900544c e8000054 b.hi LAB_d9005468 BL2:d9005450 80e21c91 add loop,x20,#0x738 BL2:d9005454 000040f9 ldr loop,[loop]=>ddrt_pointer BL2:d9005458 81018052 mov w1,#0xc LAB_d900545c: ;XREF[2,0]: d900541c,d900543c BL2:d900545c 01640039 strb w1,[loop, #0x19]=>ddrt[0].cfg_ddr_cl BL2:d9005460 c1008052 mov w1,#0x6 BL2:d9005464 12000014 b LAB_d90054ac LAB_d9005468: ;XREF[1,0]: d900544c BL2:d9005468 01800c51 sub w1,loop,#0x320 BL2:d900546c 213c0053 uxth w1,w1 BL2:d9005470 3f100271 cmp w1,#0x84 BL2:d9005474 a8000054 b.hi LAB_d9005488 BL2:d9005478 80e21c91 add loop,x20,#0x738 BL2:d900547c 000040f9 ldr loop,[loop]=>ddrt_pointer BL2:d9005480 c1018052 mov w1,#0xe BL2:d9005484 08000014 b LAB_d90054a4 LAB_d9005488: ;XREF[1,0]: d9005474 BL2:d9005488 00940e51 sub loop,loop,#0x3a5 BL2:d900548c 003c0053 uxth loop,loop BL2:d9005490 1fa81071 cmp loop,#0x42a BL2:d9005494 e8000054 b.hi LAB_d90054b0 BL2:d9005498 80e21c91 add loop,x20,#0x738 BL2:d900549c 000040f9 ldr loop,[loop]=>ddrt_pointer BL2:d90054a0 01028052 mov w1,#0x10 LAB_d90054a4: ;XREF[1,0]: d9005484 BL2:d90054a4 01640039 strb w1,[loop, #0x19]=>ddrt[0].cfg_ddr_cl BL2:d90054a8 01018052 mov w1,#0x8 LAB_d90054ac: ;XREF[4,0]: d90053ac,d90053d4,d90053fc,d9005464 BL2:d90054ac 016c0039 strb w1,[loop, #0x1b]=>ddrt[0].cfg_ddr_cwl LAB_d90054b0: ;XREF[3,0]: d9005308,d9005318,d9005494 BL2:d90054b0 60020091 add loop,x19,#0x0 BL2:d90054b4 013c8052 mov w1,#0x1e0 BL2:d90054b8 010001b9 str w1,[loop, #0x100]=>ddrs.t_pctl0_ppcfg BL2:d90054bc 01018052 mov w1,#0x8 BL2:d90054c0 011c01b9 str w1,[loop, #0x11c]=>ddrs.t_pctl0_dfiod... BL2:d90054c4 61024039 ldrb w1,[x19]=>ddrs BL2:d90054c8 3f040071 cmp w1,#0x1 BL2:d90054cc 01010054 b.ne LAB_d90054ec BL2:d90054d0 01018152 mov w1,#0x808 BL2:d90054d4 011c01b9 str w1,[loop, #0x11c]=>ddrs.t_pctl0_dfiod... BL2:d90054d8 e1118652 mov w1,#0x308f BL2:d90054dc 0120a872 movk w1,#0x4100, LSL #16 BL2:d90054e0 018800b9 str w1,[loop, #offset ddrs.t_pub_dxccr &0... BL2:d90054e4 01088052 mov w1,#0x40 BL2:d90054e8 2b000014 b LAB_d9005594 LAB_d90054ec: ;XREF[1,0]: d90054cc BL2:d90054ec 3f080071 cmp w1,#0x2 BL2:d90054f0 60050054 b.eq LAB_d900559c ;ddrs.ddr_channel_set == 0x3 (WeTek Play2 ACS) BL2:d90054f4 3f0c0071 cmp w1,#0x3 BL2:d90054f8 21010054 b.ne LAB_d900551c BL2:d90054fc 81818152 mov w1,#0xc0c BL2:d9005500 011c01b9 str w1,[loop, #0x11c]=>ddrs.t_pctl0_dfiod... BL2:d9005504 e1118652 mov w1,#0x308f BL2:d9005508 0160a872 movk w1,#0x4300, LSL #16 BL2:d900550c 018800b9 str w1,[loop, #offset ddrs.t_pub_dxccr &0... BL2:d9005510 01088052 mov w1,#0x40 BL2:d9005514 0104a072 movk w1,#0x20, LSL #16 BL2:d9005518 1f000014 b LAB_d9005594 LAB_d900551c: ;XREF[1,0]: d90054f8 BL2:d900551c 3f140071 cmp w1,#0x5 BL2:d9005520 21010054 b.ne LAB_d9005544 BL2:d9005524 a13f8052 mov w1,#0x1fd BL2:d9005528 010001b9 str w1,[loop, #0x100]=>ddrs.t_pctl0_ppcfg BL2:d900552c e1118652 mov w1,#0x308f BL2:d9005530 0120a872 movk w1,#0x4100, LSL #16 BL2:d9005534 018800b9 str w1,[loop, #offset ddrs.t_pub_dxccr &0... BL2:d9005538 01088052 mov w1,#0x40 BL2:d900553c 6100a072 movk w1,#0x3, LSL #16 BL2:d9005540 15000014 b LAB_d9005594 LAB_d9005544: ;XREF[1,0]: d9005520 BL2:d9005544 3f100071 cmp w1,#0x4 BL2:d9005548 01010054 b.ne LAB_d9005568 BL2:d900554c a13f8052 mov w1,#0x1fd BL2:d9005550 010001b9 str w1,[loop, #0x100]=>ddrs.t_pctl0_ppcfg BL2:d9005554 21008052 mov w1,#0x1 BL2:d9005558 01080039 strb w1,[loop, #offset ddrs.ddr_2t_mode &0... BL2:d900555c 01a08052 mov w1,#0x500 BL2:d9005560 6102a072 movk w1,#0x13, LSL #16 BL2:d9005564 0f000014 b LAB_d90055a0 LAB_d9005568: ;XREF[1,0]: d9005548 BL2:d9005568 3f180071 cmp w1,#0x6 BL2:d900556c e1010054 b.ne LAB_d90055a8 BL2:d9005570 a13f8052 mov w1,#0x1fd BL2:d9005574 010001b9 str w1,[loop, #0x100]=>ddrs.t_pctl0_ppcfg BL2:d9005578 81818152 mov w1,#0xc0c BL2:d900557c 011c01b9 str w1,[loop, #0x11c]=>ddrs.t_pctl0_dfiod... BL2:d9005580 e1118652 mov w1,#0x308f BL2:d9005584 0160a872 movk w1,#0x4300, LSL #16 BL2:d9005588 018800b9 str w1,[loop, #offset ddrs.t_pub_dxccr &0... BL2:d900558c 01088052 mov w1,#0x40 BL2:d9005590 6104a072 movk w1,#0x23, LSL #16 ;Gets ran (WeTek Play2 ACS) LAB_d9005594: ;XREF[3,0]: d90054e8,d9005518,d9005540 BL2:d9005594 02008052 mov ddr_dual_rank_sel,#0x0 BL2:d9005598 06000014 b LAB_d90055b0 LAB_d900559c: ;XREF[1,0]: d90054f0 BL2:d900559c e1830a32 orr w1,wzr,#0x400040 LAB_d90055a0: ;XREF[1,0]: d9005564 BL2:d90055a0 22008052 mov ddr_dual_rank_sel,#0x1 BL2:d90055a4 03000014 b LAB_d90055b0 LAB_d90055a8: ;XREF[1,0]: d900556c BL2:d90055a8 01008052 mov w1,#0x0 BL2:d90055ac e203012a mov ddr_dual_rank_sel,w1 LAB_d90055b0: ;XREF[2,0]: d9005598,d90055a4 BL2:d90055b0 a3058052 mov w3,#0x2d BL2:d90055b4 60020091 add loop,x19,#0x0 ;ddr_dmc_ctrl = 0x200040 | 0x2D BL2:d90055b8 2100032a orr w1,w1,w3 BL2:d90055bc 011800b9 str w1,[loop, #offset ddrs.ddr_dmc_ctrl &... BL2:d90055c0 017c40b9 ldr w1,[loop, #offset ddrs.t_pub_pgcr1 &0... BL2:d90055c4 21780312 and w1,w1,#0xefffffff BL2:d90055c8 2270022a orr ddr_dual_...,w1,ddr_dual_rank_sel, LS... BL2:d90055cc 01044039 ldrb w1,[loop, #offset ddrs.ddr_type &0xff] BL2:d90055d0 027c00b9 str ddr_dual_rank_sel,[loop, #offset ddrs... ;Never gets run (WeTek Play2 ACS) BL2:d90055d4 3f080071 cmp w1,#0x2 BL2:d90055d8 c1040054 b.ne LAB_d9005670 BL2:d90055dc 42780312 and ddr_dual_...,ddr_dual_r...,#0xefffffff BL2:d90055e0 027c00b9 str ddr_dual_rank_sel,[loop, #offset ddrs... BL2:d90055e4 82e21c91 add ddr_dual_rank_sel,x20,#0x738 BL2:d90055e8 420040f9 ldr ddr_dual_rank_sel,[ddr_dual_rank_sel]... BL2:d90055ec 1fe40179 strh wzr,[loop, #offset ddrs.t_pctl0_rsth_... BL2:d90055f0 436c4039 ldrb w3,[ddr_dual_rank_sel, #0x1b]=>ddrt[0... BL2:d90055f4 44704039 ldrb w4,[ddr_dual_rank_sel, #0x1c]=>ddrt[0... BL2:d90055f8 63040011 add w3,w3,#0x1 BL2:d90055fc 6300040b add w3,w3,w4 BL2:d9005600 64000012 and w4,w3,#0x1 BL2:d9005604 65008052 mov w5,#0x3 BL2:d9005608 86008052 mov w6,#0x4 BL2:d900560c 9f001f6b cmp w4,wzr BL2:d9005610 a410861a csel w4,w5,w6,ne BL2:d9005614 6300044b sub w3,w3,w4 BL2:d9005618 630cc11a sdiv w3,w3,ddr_type_1__notsure BL2:d900561c 03180279 strh w3,[loop, #0x10c]=>ddrs.t_pctl0_dfitp... BL2:d9005620 44644039 ldrb w4,[ddr_dual_rank_sel, #0x19]=>ddrt[0... BL2:d9005624 43584079 ldrh w3,[ddr_dual_rank_sel, #0x2c]=>ddrt[0... BL2:d9005628 47704039 ldrb w7,[ddr_dual_rank_sel, #0x1c]=>ddrt[0... BL2:d900562c 8400030b add w4,w4,w3 BL2:d9005630 8400070b add w4,w4,w7 BL2:d9005634 87000012 and w7,w4,#0x1 BL2:d9005638 ff001f6b cmp w7,wzr BL2:d900563c c500851a csel w5,w6,w5,eq BL2:d9005640 8400054b sub w4,w4,w5 BL2:d9005644 840cc11a sdiv w4,w4,ddr_type_1__notsure BL2:d9005648 041c0279 strh w4,[loop, #0x10e]=>ddrs.t_pctl0_dfitr... BL2:d900564c 44644039 ldrb w4,[ddr_dual_rank_sel, #0x19]=>ddrt[0... BL2:d9005650 45704039 ldrb w5,[ddr_dual_rank_sel, #0x1c]=>ddrt[0... BL2:d9005654 8400030b add w4,w4,w3 BL2:d9005658 1f080039 strb wzr,[loop, #offset ddrs.ddr_2t_mode &... BL2:d900565c 8400050b add w4,w4,w5 BL2:d9005660 425c4079 ldrh ddr_dual_rank_sel,[ddr_dual_rank_sel,... BL2:d9005664 44040036 tbz w4,#0x0,LAB_d90056ec BL2:d9005668 423c0011 add ddr_dual_rank_sel,ddr_dual_rank_sel,#0xf BL2:d900566c 21000014 b LAB_d90056f0 ;ddrs.ddr_type == CONFIG_DDR_TYPE_DDR3 == 0 (WeTek Play2 ACS) LAB_d9005670: ;XREF[1,0]: d90055d8 BL2:d9005670 21190035 cbnz ddr_type_1__notsure,LAB_d9005994 BL2:d9005674 82e21c91 add ddr_dual_rank_sel,x20,#0x738 BL2:d9005678 420040f9 ldr ddr_dual_rank_sel,[ddr_dual_rank_sel]... BL2:d900567c 86008052 mov w6,#0x4 BL2:d9005680 446c4039 ldrb w4,[ddr_dual_rank_sel, #0x1b]=>ddrt[0... ;(x & 1) == (x % 2) BL2:d9005684 43704039 ldrb w3,[ddr_dual_rank_sel, #0x1c]=>ddrt[0... BL2:d9005688 65008052 mov w5,#0x3 BL2:d900568c 8300030b add w3,w4,w3 BL2:d9005690 64000012 and w4,w3,#0x1 BL2:d9005694 9f001f6b cmp w4,wzr ;Gets run (WeTek Play2 ACS) BL2:d9005698 c400851a csel w4,w6,w5,eq BL2:d900569c 6400044b sub w4,w3,w4 BL2:d90056a0 43008052 mov w3,#0x2 ;((ddrt_pointer->cfg_ddr_cwl + ddrt_pointer->cfg_ddr_al) - ddr_dual_rank_sel) / 2 BL2:d90056a4 840cc31a sdiv w4,w4,w3 BL2:d90056a8 04180279 strh w4,[loop, #0x10c]=>ddrs.t_pctl0_dfitp... BL2:d90056ac 47644039 ldrb w7,[ddr_dual_rank_sel, #0x19]=>ddrt[0... BL2:d90056b0 44704039 ldrb w4,[ddr_dual_rank_sel, #0x1c]=>ddrt[0... BL2:d90056b4 e400040b add w4,w7,w4 BL2:d90056b8 87000012 and w7,w4,#0x1 BL2:d90056bc ff001f6b cmp w7,wzr BL2:d90056c0 c500851a csel w5,w6,w5,eq BL2:d90056c4 8400054b sub w4,w4,w5 BL2:d90056c8 830cc31a sdiv w3,w4,w3 BL2:d90056cc 031c0279 strh w3,[loop, #0x10e]=>ddrs.t_pctl0_dfitr... BL2:d90056d0 43644039 ldrb w3,[ddr_dual_rank_sel, #0x19]=>ddrt[0... BL2:d90056d4 42704039 ldrb ddr_dual_rank_sel,[ddr_dual_rank_sel,... BL2:d90056d8 6200020b add ddr_dual_rank_sel,w3,ddr_dual_rank_sel BL2:d90056dc 02010036 tbz ddr_dual_rank_sel,#0x0,LAB_d90056fc BL2:d90056e0 c2018052 mov ddr_dual_rank_sel,#0xe BL2:d90056e4 02200279 strh ddr_dual_rank_sel,[loop, #0x110]=>ddr... BL2:d90056e8 05000014 b LAB_d90056fc LAB_d90056ec: ;XREF[1,0]: d9005664 BL2:d90056ec 42440011 add ddr_dual_...,ddr_dual_r...,#0x11 LAB_d90056f0: ;XREF[1,0]: d900566c BL2:d90056f0 4300034b sub w3,ddr_dual_rank_sel,w3 BL2:d90056f4 630cc11a sdiv w3,w3,ddr_type_1__notsure LAB_d90056f8: ;XREF[1,0]: d9005a38 BL2:d90056f8 03200279 strh w3,[loop, #0x110]=>ddrs.t_pctl0_dfitp... LAB_d90056fc: ;XREF[3,0]: d90056dc,d90056e8,d9005998 BL2:d90056fc 94e21c91 add x20,x20,#0x738 BL2:d9005700 800240f9 ldr loop,[x20]=>ddrt_pointer BL2:d9005704 02644039 ldrb ddr_dual_rank_sel,[loop, #0x19]=>ddrt... ;0xD - 4 = 0x9 BL2:d9005708 42100051 sub ddr_dual_rank_sel,ddr_dual_rank_sel,#0x4 BL2:d900570c 44001d12 and w4,ddr_dual_rank_sel,#0x8 BL2:d9005710 45081c53 ubfiz w5,ddr_dual_rank_sel,#0x4,#0x3 BL2:d9005714 02684039 ldrb ddr_dual_rank_sel,[loop, #0x1a]=>ddrt... BL2:d9005718 847c0113 asr w4,w4,#0x1 BL2:d900571c 5f200071 cmp ddr_dual_rank_sel,#0x8 BL2:d9005720 843c0013 sxth w4,w4 BL2:d9005724 88000054 b.hi LAB_d9005734 BL2:d9005728 42100051 sub ddr_dual_rank_sel,ddr_dual_rank_sel,#0x4 BL2:d900572c 43081753 ubfiz w3,ddr_dual_rank_sel,#0x9,#0x3 BL2:d9005730 03000014 b LAB_d900573c LAB_d9005734: ;XREF[1,0]: d9005724 BL2:d9005734 420c41d3 ubfx ddr_du...,ddr_du...,#0x1,#0x3 BL2:d9005738 43581753 lsl w3,ddr_dual_rank_sel,#0x9 LAB_d900573c: ;XREF[1,0]: d9005730 BL2:d900573c 8400052a orr w4,w4,w5 BL2:d9005740 84081632 orr w4,w4,#0x1c00 BL2:d9005744 62020091 add ddr_dual_rank_sel,x19,#0x0 BL2:d9005748 6300042a orr w3,w3,w4 ;ddrs.t_pub_mr[0] = (((0x10 >> 1) & 7) << 9) | ((0x9 & 8) >> 1) | ; ((0x9 & 7) << 4) | 0x1C00 ; = 0x1C14 BL2:d900574c 43b00079 strh w3,[ddr_dual_rank_sel, #offset ddrs.t... BL2:d9005750 61030035 cbnz ddr_type_1__notsure,LAB_d90057bc BL2:d9005754 44144039 ldrb w4,[ddr_dual_rank_sel, #offset ddrs.d... BL2:d9005758 43184039 ldrb w3,[ddr_dual_rank_sel, #offset ddrs.d... BL2:d900575c 84781f53 lsl w4,w4,#0x1 BL2:d9005760 62001e53 ubfiz ddr_dual_rank_sel,w3,#0x2,#0x1 BL2:d9005764 84001932 orr w4,w4,#0x80 BL2:d9005768 8400022a orr w4,w4,ddr_dual_rank_sel BL2:d900576c 620441d3 ubfx ddr_dual_rank_sel,x3,#0x1,#0x1 BL2:d9005770 8418022a orr w4,w4,ddr_dual_rank_sel, LSL #0x6 BL2:d9005774 02704039 ldrb ddr_dual_rank_sel,[loop, #0x1c]=>ddrt... BL2:d9005778 630842d3 ubfx x3,x3,#0x2,#0x1 BL2:d900577c 8324032a orr w3,w4,w3, LSL #0x9 BL2:d9005780 e403012a mov w4,ddr_type_1__notsure BL2:d9005784 82000034 cbz ddr_dual_rank_sel,LAB_d9005794 ;Never gets ran (WeTek Play2 ACS) BL2:d9005788 04644039 ldrb w4,[loop, #0x19]=>ddrt[0].cfg_ddr_cl BL2:d900578c 8400024b sub w4,w4,ddr_dual_rank_sel BL2:d9005790 84041d53 ubfiz w4,w4,#0x3,#0x2 LAB_d9005794: ;XREF[1,0]: d9005784 BL2:d9005794 62020091 add ddr_dual_rank_sel,x19,#0x0 ;ddrs.t_pub_mr[1] = 0 << 1 | 0x80 | ((2 & 1) << 2) | ((0x2 >> 1 & 1) << 6) | ; ((0x2 >> 2 & 1) << 9) | 0 ; = 0xC0 BL2:d9005798 6400042a orr w4,w3,w4 BL2:d900579c 44b40079 strh w4,[ddr_dual_rank_sel, #offset ddrs.t... ;ddrs.t_pub_mr[2] = ((0x9 - 5 & 7) << 3) | 0x40 ; = 0x60 BL2:d90057a0 036c4039 ldrb w3,[loop, #0x1b]=>ddrt[0].cfg_ddr_cwl BL2:d90057a4 5fbc0079 strh wzr,[ddr_dual_rank_sel, #offset ddrs.... BL2:d90057a8 63140051 sub w3,w3,#0x5 BL2:d90057ac 63081d53 ubfiz w3,w3,#0x3,#0x3 BL2:d90057b0 63001a32 orr w3,w3,#0x40 BL2:d90057b4 43b80079 strh w3,[ddr_dual_rank_sel, #offset ddrs.t... BL2:d90057b8 23000014 b LAB_d9005844 LAB_d90057bc: ;XREF[1,0]: d9005750 BL2:d90057bc 3f040071 cmp ddr_type_1__notsure,#0x1 BL2:d90057c0 21010054 b.ne LAB_d90057e4 BL2:d90057c4 03684039 ldrb w3,[loop, #0x1a]=>ddrt[0].cfg_ddr_wr BL2:d90057c8 63080051 sub w3,w3,#0x2 BL2:d90057cc 63681b53 lsl w3,w3,#0x5 BL2:d90057d0 63040032 orr w3,w3,#0x3 BL2:d90057d4 43b40079 strh w3,[ddr_dual_rank_sel, #offset ddrs.t... BL2:d90057d8 03644039 ldrb w3,[loop, #0x19]=>ddrt[0].cfg_ddr_cl BL2:d90057dc 63080051 sub w3,w3,#0x2 BL2:d90057e0 16000014 b LAB_d9005838 LAB_d90057e4: ;XREF[1,0]: d90057c0 BL2:d90057e4 3f080071 cmp ddr_type_1__notsure,#0x2 BL2:d90057e8 e1020054 b.ne LAB_d9005844 BL2:d90057ec 02684039 ldrb ddr_dual_rank_sel,[loop, #0x1a]=>ddrt... BL2:d90057f0 5f240071 cmp ddr_dual_rank_sel,#0x9 BL2:d90057f4 68000054 b.hi LAB_d9005800 BL2:d90057f8 43080051 sub w3,ddr_dual_rank_sel,#0x2 BL2:d90057fc 02000014 b LAB_d9005804 LAB_d9005800: ;XREF[1,0]: d90057f4 BL2:d9005800 43280051 sub w3,ddr_dual_rank_sel,#0xa LAB_d9005804: ;XREF[1,0]: d90057fc BL2:d9005804 63081b53 ubfiz w3,w3,#0x5,#0x3 BL2:d9005808 63040032 orr w3,w3,#0x3 BL2:d900580c 62020091 add ddr_dual_rank_sel,x19,#0x0 BL2:d9005810 43b40079 strh w3,[ddr_dual_rank_sel, #offset ddrs.t... BL2:d9005814 03644039 ldrb w3,[loop, #0x19]=>ddrt[0].cfg_ddr_cl BL2:d9005818 04684039 ldrb w4,[loop, #0x1a]=>ddrt[0].cfg_ddr_wr BL2:d900581c 63080051 sub w3,w3,#0x2 BL2:d9005820 9f280071 cmp w4,#0xa BL2:d9005824 633c0013 sxth w3,w3 BL2:d9005828 04028052 mov w4,#0x10 BL2:d900582c e433841a csel w4,wzr,w4,cc BL2:d9005830 63001932 orr w3,w3,#0x80 BL2:d9005834 8300032a orr w3,w4,w3 LAB_d9005838: ;XREF[1,0]: d90057e0 BL2:d9005838 43b80079 strh w3,[ddr_dual_rank_sel, #offset ddrs.t... BL2:d900583c 43144039 ldrb w3,[ddr_dual_rank_sel, #offset ddrs.d... BL2:d9005840 43bc0079 strh w3,[ddr_dual_rank_sel, #offset ddrs.t... LAB_d9005844: ;XREF[2,0]: d90057b8,d90057e8 BL2:d9005844 030c4039 ldrb w3,[loop, #0x3]=>ddrt[0].cfg_ddr_rp BL2:d9005848 04084039 ldrb w4,[loop, #0x2]=>ddrt[0].cfg_ddr_wtr BL2:d900584c 635c1853 lsl w3,w3,#0x8 BL2:d9005850 6310042a orr w3,w3,w4, LSL #0x4 BL2:d9005854 04044039 ldrb w4,[loop, #0x1]=>ddrt[0].cfg_ddr_rtp BL2:d9005858 62020091 add ddr_dual_rank_sel,x19,#0x0 BL2:d900585c 6300042a orr w3,w3,w4 BL2:d9005860 04144039 ldrb w4,[loop, #0x5]=>ddrt[0].cfg_ddr_ras BL2:d9005864 3f080071 cmp ddr_type_1__notsure,#0x2 BL2:d9005868 6340042a orr w3,w3,w4, LSL #0x10 BL2:d900586c 04184039 ldrb w4,[loop, #0x6]=>ddrt[0].cfg_ddr_rrd BL2:d9005870 6358042a orr w3,w3,w4, LSL #0x16 BL2:d9005874 04104039 ldrb w4,[loop, #0x4]=>ddrt[0].cfg_ddr_rcd BL2:d9005878 6368042a orr w3,w3,w4, LSL #0x1a ;ddrs.t_pub_dtpr[0] = 0xD << 8 | 0x7 << 4 | 0x7 | 0x25 << 0x10 | 0x7 << 0x16 | ; 0xD << 0x1A ; = 0x35E50D77 BL2:d900587c 436400b9 str w3,[ddr_dual_rank_sel, #offset ddrs.t... BL2:d9005880 03244039 ldrb w3,[loop, #0x9]=>ddrt[0].cfg_ddr_mod BL2:d9005884 04284039 ldrb w4,[loop, #0xa]=>ddrt[0].cfg_ddr_faw BL2:d9005888 63741e53 lsl w3,w3,#0x2 BL2:d900588c 6314042a orr w3,w3,w4, LSL #0x5 BL2:d9005890 041c4079 ldrh w4,[loop, #0xe]=>ddrt[0].cfg_ddr_rfc BL2:d9005894 632c042a orr w3,w3,w4, LSL #11 BL2:d9005898 042c4039 ldrb w4,[loop, #0xb]=>ddrt[0].cfg_ddr_wlmrd BL2:d900589c 6350042a orr w3,w3,w4, LSL #20 BL2:d90058a0 04304039 ldrb w4,[loop, #0xc]=>ddrt[0].cfg_ddr_wlo ;ddrs.t_pub_dtpr[1] = 0x4 << 2 | 0x21 << 5 | 0x118 << 0xB | 0x28 << 0x14 | ; 0x7 << 0x1A ; = 0x1E88C430 BL2:d90058a4 6368042a orr w3,w3,w4, LSL #26 BL2:d90058a8 436800b9 str w3,[ddr_dual_rank_sel, #offset ddrs.t... BL2:d90058ac a1000054 b.ne LAB_d90058c0 BL2:d90058b0 04684079 ldrh w4,[loop, #0x34]=>ddrt[0].cfg_ddr_tao... BL2:d90058b4 84080051 sub w4,w4,#0x2 ;Not run (WeTek Play2 ACS) BL2:d90058b8 6378042a orr w3,w3,w4, LSL #0x1e BL2:d90058bc 436800b9 str w3,[ddr_dual_rank_sel, #offset ddrs.t... LAB_d90058c0: ;XREF[1,0]: d90058ac BL2:d90058c0 03244079 ldrh w3,[loop, #0x12]=>ddrt[0].cfg_ddr_dllk BL2:d90058c4 04344039 ldrb w4,[loop, #0xd]=>ddrt[0].cfg_ddr_xp BL2:d90058c8 63300d53 lsl w3,w3,#19 BL2:d90058cc 6328042a orr w3,w3,w4, LSL #0xa BL2:d90058d0 04204079 ldrh w4,[loop, #0x10]=>ddrt[0].cfg_ddr_xs BL2:d90058d4 62020091 add ddr_dual_rank_sel,x19,#0x0 BL2:d90058d8 6300042a orr w3,w3,w4 BL2:d90058dc 436c00b9 str w3,[ddr_dual_rank_sel, #offset ddrs.t... BL2:d90058e0 031c4039 ldrb w3,[loop, #0x7]=>ddrt[0].cfg_ddr_rc BL2:d90058e4 04504039 ldrb w4,[loop, #0x14]=>ddrt[0].cfg_ddr_cke BL2:d90058e8 63641a53 lsl w3,w3,#0x6 BL2:d90058ec 6334042a orr w3,w3,w4, LSL #13 BL2:d90058f0 04204039 ldrb w4,[loop, #0x8]=>ddrt[0].cfg_ddr_mrd BL2:d90058f4 21040051 sub ddr_type_...,ddr_type_1...,#0x1 BL2:d90058f8 6348042a orr w3,w3,w4, LSL #18 BL2:d90058fc 211c0053 uxtb ddr_type_1__notsure,ddr_type_1__notsure BL2:d9005900 437000b9 str w3,[ddr_dual_rank_sel, #offset ddrs.t... BL2:d9005904 3f040071 cmp ddr_type_1__notsure,#0x1 BL2:d9005908 c8000054 b.hi LAB_d9005920 BL2:d900590c 01584079 ldrh ddr_type_1__notsure,[loop, #0x2c]=>dd... BL2:d9005910 24080011 add w4,ddr_type_1__notsure,#0x2 BL2:d9005914 210c042a orr ddr_type_...,ddr_type_1...,w4, LSL #0x3 BL2:d9005918 2300032a orr w3,ddr_type_1__notsure,w3 BL2:d900591c 437000b9 str w3,[ddr_dual_rank_sel, #offset ddrs.t... LAB_d9005920: ;XREF[1,0]: d9005908 BL2:d9005920 02184039 ldrb ddr_dual_rank_sel,[loop, #0x6]=>ddrt[... BL2:d9005924 03284039 ldrb w3,[loop, #0xa]=>ddrt[0].cfg_ddr_faw BL2:d9005928 61020091 add ddr_type_1__notsure,x19,#0x0 BL2:d900592c 6300020b add w3,w3,ddr_dual_rank_sel BL2:d9005930 63040051 sub w3,w3,#0x1 BL2:d9005934 620cc21a sdiv ddr_dual_rank_sel,w3,ddr_dual_rank_sel BL2:d9005938 23f440b9 ldr w3,[ddr_type_1__notsure, #offset ddrs... BL2:d900593c 42040e53 ubfiz ddr_du...,ddr_du...,#0x12,#0x2 BL2:d9005940 63740c12 and w3,w3,#0xfff3ffff BL2:d9005944 4200032a orr ddr_dual_rank_sel,ddr_dual_rank_sel,w3 BL2:d9005948 22f400b9 str ddr_dual_rank_sel,[ddr_type_1__notsur... BL2:d900594c 23f840b9 ldr w3,[ddr_type_1__notsure, #offset ddrs... BL2:d9005950 02284039 ldrb ddr_dual_rank_sel,[loop, #0xa]=>ddrt[... BL2:d9005954 01184039 ldrb ddr_type_1__notsure,[loop, #0x6]=>ddr... BL2:d9005958 63741612 and w3,w3,#0xfffffcff BL2:d900595c 4008c11a udiv loop,ddr_dual_rank_sel,ddr_type_1__no... BL2:d9005960 0288011b msub ddr_du...,loop,ddr_type_...,ddr_dual_... BL2:d9005964 421c0053 uxtb ddr_dual_rank_sel,ddr_dual_rank_sel BL2:d9005968 00008052 mov loop,#0x0 BL2:d900596c 62000034 cbz ddr_dual_rank_sel,LAB_d9005978 BL2:d9005970 2100024b sub ddr_type_...,ddr_type_1...,ddr_dual_r... BL2:d9005974 20081853 ubfiz loop,ddr_type_1__notsure,#0x8,#0x3 LAB_d9005978: ;XREF[1,0]: d900596c BL2:d9005978 73020091 add x19,x19,#0x0 ;ddrs.t_pctl0_mcfg1 = ((_ddrt_pointer->cfg_ddr_rrd - ddr_chl_set & 7) << 8) | ddrs.t_pctl0_mcfg1 & 0xfffffcff ; = ((0x7 - (0x21 / 0x7) & 7) << 8) | 0x80200000 & 0xFFFFFCFF BL2:d900597c 0000032a orr loop,loop,w3 BL2:d9005980 60fa00b9 str loop,[x19, #offset ddrs.t_pctl0_mcfg1... BL2:d9005984 f51340f9 ldr x21,[sp, #local_10+0x30] BL2:d9005988 f35341a9 ldp x19,x20,[sp, #local_20+0x30] BL2:d900598c fd7bc3a8 ldp x29=>local_30,x30,[sp], #0x30 BL2:d9005990 c0035fd6 ret LAB_d9005994: ;XREF[1,0]: d9005670 BL2:d9005994 3f040071 cmp ddr_type_1__notsure,#0x1 BL2:d9005998 21ebff54 b.ne LAB_d90056fc BL2:d900599c 82e21c91 add ddr_dual_rank_sel,x20,#0x738 BL2:d90059a0 420040f9 ldr ddr_dual_rank_sel,[ddr_dual_rank_sel]... BL2:d90059a4 1fe40179 strh wzr,[loop, #offset ddrs.t_pctl0_rsth_... BL2:d90059a8 436c4039 ldrb w3,[ddr_dual_rank_sel, #0x1b]=>ddrt[0... BL2:d90059ac 44704039 ldrb w4,[ddr_dual_rank_sel, #0x1c]=>ddrt[0... BL2:d90059b0 63040011 add w3,w3,#0x1 BL2:d90059b4 6300040b add w3,w3,w4 BL2:d90059b8 64000012 and w4,w3,#0x1 BL2:d90059bc 87008052 mov w7,#0x4 BL2:d90059c0 66008052 mov w6,#0x3 BL2:d90059c4 9f001f6b cmp w4,wzr BL2:d90059c8 e400861a csel w4,w7,w6,eq BL2:d90059cc 6400044b sub w4,w3,w4 BL2:d90059d0 43008052 mov w3,#0x2 BL2:d90059d4 840cc31a sdiv w4,w4,w3 BL2:d90059d8 04180279 strh w4,[loop, #0x10c]=>ddrs.t_pctl0_dfitp... BL2:d90059dc 45644039 ldrb w5,[ddr_dual_rank_sel, #0x19]=>ddrt[0... BL2:d90059e0 44584079 ldrh w4,[ddr_dual_rank_sel, #0x2c]=>ddrt[0... BL2:d90059e4 48704039 ldrb w8,[ddr_dual_rank_sel, #0x1c]=>ddrt[0... BL2:d90059e8 a500040b add w5,w5,w4 BL2:d90059ec a500080b add w5,w5,w8 BL2:d90059f0 a8000012 and w8,w5,#0x1 BL2:d90059f4 1f011f6b cmp w8,wzr BL2:d90059f8 e600861a csel w6,w7,w6,eq BL2:d90059fc a500064b sub w5,w5,w6 BL2:d9005a00 a50cc31a sdiv w5,w5,w3 BL2:d9005a04 051c0279 strh w5,[loop, #0x10e]=>ddrs.t_pctl0_dfitr... BL2:d9005a08 45644039 ldrb w5,[ddr_dual_rank_sel, #0x19]=>ddrt[0... BL2:d9005a0c 46704039 ldrb w6,[ddr_dual_rank_sel, #0x1c]=>ddrt[0... BL2:d9005a10 a500040b add w5,w5,w4 BL2:d9005a14 1f080039 strb wzr,[loop, #offset ddrs.ddr_2t_mode &... BL2:d9005a18 a500060b add w5,w5,w6 BL2:d9005a1c 425c4079 ldrh ddr_dual_rank_sel,[ddr_dual_rank_sel,... BL2:d9005a20 65000036 tbz w5,#0x0,LAB_d9005a2c BL2:d9005a24 423c0011 add ddr_dual_rank_sel,ddr_dual_rank_sel,#15 BL2:d9005a28 02000014 b LAB_d9005a30 LAB_d9005a2c: ;XREF[1,0]: d9005a20 BL2:d9005a2c 42440011 add ddr_dual_rank_sel,ddr_dual_rank_sel,#17 LAB_d9005a30: ;XREF[1,0]: d9005a28 BL2:d9005a30 4400044b sub w4,ddr_dual_rank_sel,w4 BL2:d9005a34 830cc31a sdiv w3,w4,w3 BL2:d9005a38 30ffff17 b LAB_d90056f8 ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined ddr_test(void) ;ret undefined8 x0 ;XREF[2,0]: d9005a68,d9005aa0 ;ret_ undefined8 x0 ;XREF[1,0]: d9005aa0 ;local_10 undefined8 -10 ;XREF[2,0]: d9005a44,d9005b1c ;local_20 undefined8 -20 ;XREF[2,0]: d9005a3c,d9005b20 ;XREF[1,0]: d9005c70 BL2:d9005a3c fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d9005a40 fd030091 mov x29,sp BL2:d9005a44 f30b00f9 str x19,[sp, #local_10+0x20] BL2:d9005a48 21008052 mov w1,#0x1 BL2:d9005a4c 0026b8d2 mov x0,#0xc1300000 BL2:d9005a50 010000b9 str w1,[x0]=>DAT_c1300000 BL2:d9005a54 df3f03d5 isb BL2:d9005a58 bf3f03d5 dmb SY BL2:d9005a5c 330000b0 adrp x19,0xd900a000 BL2:d9005a60 60020091 add x0,x19,#0x0 BL2:d9005a64 000c40b9 ldr w0,[x0, #offset ddrs.ddr_base_addr &0... ;Both memTestDataBus, memTestAddressBus, and memTestDevice are derived from a ;public-domain memtest software. BL2:d9005a68 0c0a0094 bl memTestDataBus ;undefined8 memTestDataBus(uint * add... BL2:d9005a6c c0000034 cbz ret,LAB_d9005a84 BL2:d9005a70 20000090 adrp ret,0xd9009000 BL2:d9005a74 00740e91 add ret=>s_Da...,ret,#0x39d ;= "DataBus test failed!!!\n" BL2:d9005a78 7d0c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9005a7c 9bf2ff97 bl reset_system ;undefined reset_system(void) BL2:d9005a80 04000014 b LAB_d9005a90 LAB_d9005a84: ;XREF[1,0]: d9005a6c BL2:d9005a84 20000090 adrp ret,0xd9009000 BL2:d9005a88 00d40e91 add ret=>s_Da...,ret,#0x3b5 ;= "DataBus test pass!\n" BL2:d9005a8c 780c0094 bl serial_puts ;void serial_puts(char * param_1) LAB_d9005a90: ;XREF[1,0]: d9005a80 BL2:d9005a90 60020091 add ret,x19,#0x0 BL2:d9005a94 01104079 ldrh w1,[ret, #offset ddrs.ddr_size &0xff] BL2:d9005a98 000c40b9 ldr ret,[ret, #offset ddrs.ddr_base_addr ... BL2:d9005a9c 212c0c53 lsl w1,w1,#0x14 BL2:d9005aa0 170a0094 bl memTestAddressBus ;ulong memTestAddressBus(uint * param... BL2:d9005aa4 c0000034 cbz ret_,LAB_d9005abc BL2:d9005aa8 20000090 adrp ret_,0xd9009000 BL2:d9005aac 00240f91 add ret_=>s_A...,ret_,#0x3c9 ;= "AddrBus test failed!!!\n" BL2:d9005ab0 6f0c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9005ab4 8df2ff97 bl reset_system ;undefined reset_system(void) BL2:d9005ab8 04000014 b LAB_d9005ac8 LAB_d9005abc: ;XREF[1,0]: d9005aa4 BL2:d9005abc 20000090 adrp ret_,0xd9009000 BL2:d9005ac0 00840f91 add ret_=>s_A...,ret_,#0x3e1 ;= "AddrBus test pass!\n" BL2:d9005ac4 6a0c0094 bl serial_puts ;void serial_puts(char * param_1) LAB_d9005ac8: ;XREF[1,0]: d9005ab8 BL2:d9005ac8 73020091 add x19,x19,#0x0 BL2:d9005acc 600e4039 ldrb ret_,[x19, #offset ddrs.ddr_full_test... BL2:d9005ad0 e0010034 cbz ret_,LAB_d9005b0c BL2:d9005ad4 7cf2ff97 bl watchdog_disable ;undefined watchdog_disable(void) BL2:d9005ad8 61124079 ldrh w1,[x19, #offset ddrs.ddr_size &0xff] BL2:d9005adc 600e40b9 ldr ret_,[x19, #offset ddrs.ddr_base_addr... BL2:d9005ae0 212c0c53 lsl w1,w1,#0x14 BL2:d9005ae4 580a0094 bl memTestDevice ;ulong memTestDevice(uint * param_1, ... BL2:d9005ae8 c0000034 cbz ret_,LAB_d9005b00 BL2:d9005aec 20000090 adrp ret_,0xd9009000 BL2:d9005af0 00d40f91 add ret_=>s_D...,ret_,#0x3f5 ;= "Device test failed!!!\n" BL2:d9005af4 5e0c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9005af8 7cf2ff97 bl reset_system ;undefined reset_system(void) BL2:d9005afc 04000014 b LAB_d9005b0c LAB_d9005b00: ;XREF[1,0]: d9005ae8 BL2:d9005b00 20000090 adrp ret_,0xd9009000 BL2:d9005b04 00301091 add ret_=>s_D...,ret_,#0x40c ;= "Device test pass!\n" BL2:d9005b08 590c0094 bl serial_puts ;void serial_puts(char * param_1) LAB_d9005b0c: ;XREF[2,0]: d9005ad0,d9005afc BL2:d9005b0c 0026b8d2 mov ret_,#DAT_c1300000 BL2:d9005b10 1f0000b9 str wzr,[ret_]=>DAT_c1300000 BL2:d9005b14 df3f03d5 isb BL2:d9005b18 bf3f03d5 dmb SY BL2:d9005b1c f30b40f9 ldr x19,[sp, #local_10+0x20] BL2:d9005b20 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9005b24 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 ddr_init(int param_1) ;param_1 int w0 ;XREF[1,0]: d9005c08 ;ret undefined8 x0 ;XREF[1,0]: d9005c08 ;local_10 undefined8 -10 ;XREF[2,0]: d9005b3c,d9005c84 ;local_20 undefined8 -20 ;XREF[2,0]: d9005b38,d9005c80 ;local_30 undefined8 -30 ;XREF[2,0]: d9005b34,d9005c7c ;local_40 undefined8 -40 ;XREF[2,0]: d9005b30,d9005c78 ;local_50 undefined8 -50 ;XREF[2,0]: d9005b28,d9005c88 ;chl_auto undefined1 HASH... ;About the function name: It's a guess. It is possible that they derived this far from the original one found in their old sources, but it's also possible that the name is actually incorrect, but *as far as I can tell* that's the correct name. ;XREF[2,0]: d9007e54,d9007f98 BL2:d9005b28 fd7bbba9 stp x29,x30,[sp, #local_50]! BL2:d9005b2c fd030091 mov x29,sp BL2:d9005b30 f35301a9 stp x19,x20,[sp, #local_40+0x50] BL2:d9005b34 f55b02a9 stp x21,x22,[sp, #local_30+0x50] BL2:d9005b38 f76303a9 stp x23,x24,[sp, #local_20+0x50] BL2:d9005b3c f96b04a9 stp x25,x26,[sp, #local_10+0x50] BL2:d9005b40 f503002a mov w21,param_1 BL2:d9005b44 330000b0 adrp x19,0xd900a000 BL2:d9005b48 6ef6ff97 bl ddr_init_pll ;undefined ddr_init_pll(void) BL2:d9005b4c 60024039 ldrb param_1,[x19]=>ddrs BL2:d9005b50 14008052 mov w20,#0x0 ;arch/arm/include/asm/arch-gxb/ddr_define.h:#define CONFIG_DDR_CHL_AUTO 0xF ;So: ddrs.ddr_channel_set == CONFIG_DDR_CHL_AUTO BL2:d9005b54 1f3c0071 cmp param_1,#0xf BL2:d9005b58 01010054 b.ne LAB_d9005b78 BL2:d9005b5c 200000b0 adrp param_1,0xd900a000 BL2:d9005b60 00200b91 add param_1,param_1,#0x2c8 BL2:d9005b64 00044079 ldrh param_1,[param_1, #0x2]=>plls.pxp BL2:d9005b68 80000035 cbnz param_1,LAB_d9005b78 BL2:d9005b6c 60008052 mov param_1,#0x3 BL2:d9005b70 60020039 strb param_1,[x19]=>ddrs BL2:d9005b74 34008052 mov w20,#0x1 LAB_d9005b78: ;XREF[2,0]: d9005b58,d9005b68 BL2:d9005b78 360000b0 adrp x22,0xd900a000 BL2:d9005b7c 37000090 adrp x23,0xd9009000 BL2:d9005b80 38000090 adrp x24,0xd9009000 BL2:d9005b84 39000090 adrp x25,0xd9009000 BL2:d9005b88 d6a22591 add x22,x22,#0x968 BL2:d9005b8c f7861091 add x23,x23,#0x421 BL2:d9005b90 187f1091 add x24,x24,#0x41f BL2:d9005b94 39030991 add x25,x25,#0x240 LAB_d9005b98: ;XREF[1,0]: d9005c38 BL2:d9005b98 60020091 add param_1,x19,#0x0 BL2:d9005b9c 00044039 ldrb param_1,[param_1, #offset ddrs.ddr_ty... ;Address 0xD900A968 doesn't exist...weird BL2:d9005ba0 df020039 strb wzr,[x22]=>DAT_d900a968 BL2:d9005ba4 00040051 sub param_1,param_1,#0x1 BL2:d9005ba8 001c0053 uxtb param_1,param_1 BL2:d9005bac 1f040071 cmp param_1,#0x1 ;The instructions below mean: ; pbVal3 => pointer to 0xD900941F + 2, so 0xD9009421 ; ^^^^^^^^^^ ^^^^^^^^^^ ; "LPDDR chl: " "DDR chl: " ;They redefine it to be a pointer to 0xD900941F later on if - 1U is less than 2. 0xD900A000 is where ;the ddrs_ structure begins, so it must be a pointer to __ddr_setting.ddr_type, ;which can be either one of these (grepped in Amlogic U-Boot tree): ; ;arch/arm/include/asm/arch-gxb/ddr_define.h:#define CONFIG_DDR_TYPE_DDR3 0 ;arch/arm/include/asm/arch-gxb/ddr_define.h:#define CONFIG_DDR_TYPE_LPDDR2 1 ;arch/arm/include/asm/arch-gxb/ddr_define.h:#define CONFIG_DDR_TYPE_LPDDR3 2 ; ;If it's equal to CONFIG_DDR_TYPE_DDR3 then ` - 1U` ;will be equal to 255, which is < 2, while if it's equal to ;CONFIG_DDR_TYPE_LPDDR* it won't exceed 2. BL2:d9005bb0 68000054 b.hi LAB_d9005bbc BL2:d9005bb4 e00318aa mov param_1=>s_LPDDR_chl:_d900941f,x24 ;= "LPDDR chl: " BL2:d9005bb8 02000014 b LAB_d9005bc0 LAB_d9005bbc: ;XREF[1,0]: d9005bb0 BL2:d9005bbc e00317aa mov param_1=>s_DDR_chl:_d900941f+2,x23 ;= "DDR chl: " LAB_d9005bc0: ;XREF[1,0]: d9005bb8 BL2:d9005bc0 2b0c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9005bc4 60024039 ldrb param_1,[x19]=>ddrs BL2:d9005bc8 a10180d2 mov x1,#0xd BL2:d9005bcc 00040051 sub param_1,param_1,#0x1 BL2:d9005bd0 007c4093 sxtw param_1,param_1 ;This serial_puts call below basically does this: ; if (contents of d900a000) - 1 == 0: serial_puts("Rank0 only") ; <...> ; else if (contents of d900a000) - 1 == 3: serial_puts("Rank0+1 diff") ;0xD900A000 points to __ddr_setting.ddr_channel_set (acs), so it can be ;equal to: ; ;#define CONFIG_DDR0_RANK0_ONLY 1 ;#define CONFIG_DDR0_RANK01_SAME 2 ;#define CONFIG_DDR0_RANK01_DIFF 3 ;#define CONFIG_DDR01_SHARE_AC 4 ;#define CONFIG_DDR0_ONLY_16BIT 5 ;#define CONFIG_DDR0_RANK01_DIFF_16BIT 6 ; ;linux-amlogic -- libera.chat: ;* f_ looks at Amlogic staff. ; Nice obfuscation attempt. Too bad I figured out how it worked :P BL2:d9005bd4 0064019b madd param_...,param_1,x1,x25 ;= "Rank0+1 diff" BL2:d9005bd8 250c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9005bdc 72fdff97 bl ddr_pre_init ;undefined ddr_pre_init(void) BL2:d9005be0 7a020091 add x26,x19,#0x0 BL2:d9005be4 20000090 adrp param_1,0xd9009000 BL2:d9005be8 23000090 adrp x3,0xd9009000 BL2:d9005bec 41174079 ldrh w1,[x26, #offset ddrs.ddr_clk &0xff] BL2:d9005bf0 00ac1091 add param_1=>s__@_d900942b,param_1,#0x42b ;= " @ " BL2:d9005bf4 22008052 mov w2,#0x1 BL2:d9005bf8 63bc1091 add x3=>s_MHz_d900942f,x3,#0x42f ;= "MHz" BL2:d9005bfc 570c0094 bl serial_print_new ;void serial_print_new(char * prefix,... ;bVar3 might be a switch to enable LPDDR init? Here it's set to false (==0) in line 16 ; ;EDIT: Maybe not... BL2:d9005c00 14020034 cbz w20,LAB_d9005c40 BL2:d9005c04 00008052 mov param_1,#0x0 BL2:d9005c08 92f8ff97 bl ddr_init_pctl ;undefined8 ddr_init_pctl(int param_1) BL2:d9005c0c a0000035 cbnz ret,LAB_d9005c20 BL2:d9005c10 20000090 adrp ret,0xd9009000 BL2:d9005c14 00cc1091 add ret=>s__-_PASS_d9009433,ret,#0x433 ;= " - PASS\n" BL2:d9005c18 150c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9005c1c 0e000014 b LAB_d9005c54 LAB_d9005c20: ;XREF[1,0]: d9005c0c BL2:d9005c20 20000090 adrp ret,0xd9009000 BL2:d9005c24 00f01091 add ret=>s__-_FAIL_d900943c,ret,#0x43c ;= " - FAIL\n" BL2:d9005c28 110c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9005c2c 61024039 ldrb w1,[x19]=>ddrs BL2:d9005c30 20040051 sub ret,w1,#0x1 BL2:d9005c34 60020039 strb ret,[x19]=>ddrs BL2:d9005c38 01fbff35 cbnz w1,LAB_d9005b98 BL2:d9005c3c 06000014 b LAB_d9005c54 LAB_d9005c40: ;XREF[1,0]: d9005c00 BL2:d9005c40 20000090 adrp ret,0xd9009000 BL2:d9005c44 00781691 add ret=>CHAR_NL,ret,#0x59e ;= '\n' BL2:d9005c48 090c0094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9005c4c 20008052 mov ret,#0x1 BL2:d9005c50 80f8ff97 bl ddr_init_pctl ;undefined8 ddr_init_pctl(int param_1) LAB_d9005c54: ;XREF[2,0]: d9005c1c,d9005c3c BL2:d9005c54 5df7ff97 bl ddr_init_dmc ;undefined8 ddr_init_dmc(void) BL2:d9005c58 fcf6ff97 bl ddr_print_info ;undefined ddr_print_info(void) BL2:d9005c5c 200000b0 adrp ret,0xd900a000 BL2:d9005c60 00200b91 add ret,ret,#0x2c8 BL2:d9005c64 00044079 ldrh ret,[ret, #0x2]=>plls.pxp BL2:d9005c68 60000035 cbnz ret,LAB_d9005c74 BL2:d9005c6c 55000034 cbz w21,LAB_d9005c74 BL2:d9005c70 73ffff97 bl ddr_test ;undefined ddr_test(void) LAB_d9005c74: ;XREF[2,0]: d9005c68,d9005c6c BL2:d9005c74 00008052 mov ret,#0x0 BL2:d9005c78 f35341a9 ldp x19,x20,[sp, #local_40+0x50] BL2:d9005c7c f55b42a9 ldp x21,x22,[sp, #local_30+0x50] BL2:d9005c80 f76343a9 ldp x23,x24,[sp, #local_20+0x50] BL2:d9005c84 f96b44a9 ldp x25,x26,[sp, #local_10+0x50] BL2:d9005c88 fd7bc5a8 ldp x29=>local_50,x30,[sp], #0x50 BL2:d9005c8c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined pinmux_init(void) ;message undefined8 x0 ;XREF[1,0]: d9005d58 ;XREF[1,0]: d9007e34 BL2:d9005c90 009788d2 mov x0,#0x44b8 BL2:d9005c94 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9005c98 010040b9 ldr w1,[x0]=>DAT_c88344b8 BL2:d9005c9c 808988d2 mov x0,#0x444c BL2:d9005ca0 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9005ca4 020040b9 ldr w2,[x0]=>DAT_c883444c BL2:d9005ca8 808988d2 mov x0,#0x444c BL2:d9005cac 42140c32 orr w2,w2,#0x3f00000 BL2:d9005cb0 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9005cb4 020000b9 str w2,[x0]=>DAT_c883444c BL2:d9005cb8 008988d2 mov x0,#0x4448 BL2:d9005cbc 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9005cc0 020040b9 ldr w2,[x0]=>DAT_c8834448 BL2:d9005cc4 008988d2 mov x0,#0x4448 BL2:d9005cc8 42140c32 orr w2,w2,#0x3f00000 BL2:d9005ccc 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9005cd0 020000b9 str w2,[x0]=>DAT_c8834448 BL2:d9005cd4 009788d2 mov x0,#0x44b8 BL2:d9005cd8 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9005cdc 020040b9 ldr w2,[x0]=>DAT_c88344b8 BL2:d9005ce0 009788d2 mov x0,#0x44b8 BL2:d9005ce4 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9005ce8 42701112 and w2,w2,#0xffff8fff BL2:d9005cec 020000b9 str w2,[x0]=>DAT_c88344b8 BL2:d9005cf0 008a88d2 mov x0,#0x4450 BL2:d9005cf4 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9005cf8 000040b9 ldr w0,[x0]=>DAT_c8834450 BL2:d9005cfc 4002c037 tbnz w0,#0x18,LAB_d9005d44 BL2:d9005d00 800280d2 mov x0,#0x14 BL2:d9005d04 0002b9f2 movk x0,#0xc810, LSL #16 BL2:d9005d08 010040b9 ldr w1,[x0]=>DAT_c8100014 BL2:d9005d0c 800280d2 mov x0,#0x14 BL2:d9005d10 21741312 and w1,w1,#0xffffe7ff BL2:d9005d14 0002b9f2 movk x0,#0xc810, LSL #16 BL2:d9005d18 010000b9 str w1,[x0]=>DAT_c8100014 BL2:d9005d1c 009a88d2 mov x0,#0x44d0 BL2:d9005d20 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9005d24 010040b9 ldr w1,[x0]=>DAT_c88344d0 BL2:d9005d28 009a88d2 mov x0,#0x44d0 BL2:d9005d2c 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9005d30 21041732 orr w1,w1,#0x600 BL2:d9005d34 010000b9 str w1,[x0]=>DAT_c88344d0 BL2:d9005d38 20000090 adrp x0,0xd9009000 BL2:d9005d3c 00141191 add x0=>s__sd...,x0,#0x445 ;= "\nsdio debug board detected " BL2:d9005d40 06000014 b LAB_d9005d58 LAB_d9005d44: ;XREF[1,0]: d9005cfc BL2:d9005d44 009788d2 mov x0,#0x44b8 BL2:d9005d48 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9005d4c 010000b9 str w1,[x0]=>DAT_c88344b8 BL2:d9005d50 20000090 adrp x0,0xd9009000 BL2:d9005d54 00841191 add x0=>s__no...,x0,#0x461 ;= "\nno sdio debug board detected " LAB_d9005d58: ;XREF[1,0]: d9005d40 BL2:d9005d58 c50b0014 b serial_puts ;void serial_puts(char * param_1) ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined bl2_does_nothing_at_all__notsure(void) ;XREF[1,0]: d9007e4c BL2:d9005d5c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined NDMA_set_table_position_secure(uint param_1, undefined4 param_2, undefined4 param_3) ;param_1 uint w0 ;param_2 undefined4 w1 ;param_3 undefined4 w2 ;(!) Not sure about the function name (!) ;XREF[2,0]: d90020b8,d90031b8 BL2:d9005d60 240000b0 adrp x4,0xd900a000 BL2:d9005d64 037c7ed3 ubfiz x3,param_1,#0x2,#0x20 BL2:d9005d68 84002691 add x4,x4,#0x980 BL2:d9005d6c 816823b8 str param_2,[x4, x3, LSL #0x0] BL2:d9005d70 240000b0 adrp x4,0xd900a000 BL2:d9005d74 84c02591 add x4,x4,#0x970 BL2:d9005d78 816823b8 str param_2,[x4, x3, LSL #0x0] BL2:d9005d7c 240000b0 adrp x4,0xd900a000 BL2:d9005d80 84402691 add x4,x4,#0x990 BL2:d9005d84 826823b8 str param_3,[x4, x3, LSL #0x0] BL2:d9005d88 1f0c0071 cmp param_1,#0x3 BL2:d9005d8c e8060054 b.hi switchD_d9005da4::caseD_4 BL2:d9005d90 23000090 adrp x3,0xd9009000 BL2:d9005d94 63001291 add x3,x3,#0x480 BL2:d9005d98 64486038 ldrb w4,[x3, param_1, UXTW ]=>switchD_d900...;= 23h BL2:d9005d9c 65000010 adr x5,0xd9005da8 BL2:d9005da0 a488248b add x4,x5,w4, SXTB #0x2 switchD: ; FWD[5,0]: d9005da8,d9005dd4,d9005e00,d9005e34 ; d9005e68 BL2:d9005da4 80001fd6 br x4 caseD_3: ;XREF[1,0]: d9005da4 BL2:d9005da8 801084d2 mov param_1,#0x2084 BL2:d9005dac 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9005db0 010000b9 str param_2,[param_1]=>DAT_da832084 BL2:d9005db4 801184d2 mov param_1,#0x208c BL2:d9005db8 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9005dbc 020000b9 str param_3,[param_1]=>DAT_da83208c BL2:d9005dc0 803c84d2 mov param_1,#0x21e4 BL2:d9005dc4 6010b9f2 movk param_1=>DAT_c88321e4,#0xc883, LSL #16 BL2:d9005dc8 010040b9 ldr param_2,[param_1]=>DAT_c88321e4 BL2:d9005dcc 21000532 orr param_2,param_2,#0x8000000 BL2:d9005dd0 16000014 b LAB_d9005e28 caseD_2: ;XREF[1,0]: d9005da4 BL2:d9005dd4 000f84d2 mov param_1,#0x2078 BL2:d9005dd8 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9005ddc 010000b9 str param_2,[param_1]=>DAT_da832078 BL2:d9005de0 001084d2 mov param_1,#0x2080 BL2:d9005de4 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9005de8 020000b9 str param_3,[param_1]=>DAT_da832080 BL2:d9005dec 803c84d2 mov param_1,#0x21e4 BL2:d9005df0 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005df4 010040b9 ldr param_2,[param_1]=>DAT_c88321e4 BL2:d9005df8 21000632 orr param_2,param_2,#0x4000000 BL2:d9005dfc 0b000014 b LAB_d9005e28 caseD_1: ;XREF[1,0]: d9005da4 BL2:d9005e00 800d84d2 mov param_1,#0x206c BL2:d9005e04 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9005e08 010000b9 str param_2,[param_1]=>DAT_da83206c BL2:d9005e0c 800e84d2 mov param_1,#0x2074 BL2:d9005e10 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9005e14 020000b9 str param_3,[param_1]=>DAT_da832074 BL2:d9005e18 803c84d2 mov param_1,#0x21e4 BL2:d9005e1c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005e20 010040b9 ldr param_2,[param_1]=>DAT_c88321e4 BL2:d9005e24 21000732 orr param_2,param_2,#0x2000000 LAB_d9005e28: ;XREF[2,0]: d9005dd0,d9005dfc BL2:d9005e28 803c84d2 mov param_1,#0x21e4 BL2:d9005e2c 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005e30 0d000014 b LAB_d9005e64 caseD_0: ;XREF[1,0]: d9005da4 BL2:d9005e34 000c84d2 mov param_1,#0x2060 BL2:d9005e38 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9005e3c 010000b9 str param_2,[param_1]=>DAT_da832060 BL2:d9005e40 000d84d2 mov param_1,#0x2068 BL2:d9005e44 6050bbf2 movk param_1,#0xda83, LSL #16 BL2:d9005e48 020000b9 str param_3,[param_1]=>DAT_da832068 BL2:d9005e4c 803c84d2 mov param_1,#0x21e4 BL2:d9005e50 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005e54 010040b9 ldr param_2,[param_1]=>DAT_c88321e4 BL2:d9005e58 803c84d2 mov param_1,#0x21e4 BL2:d9005e5c 21000832 orr param_2,param_2,#0x1000000 BL2:d9005e60 6050bbf2 movk param_1=>DAT_da8321e4,#0xda83, LSL #16 LAB_d9005e64: ;XREF[1,0]: d9005e30 ; FWD[2,0]: c88321e4,da8321e4 BL2:d9005e64 010000b9 str param_2,[param_1]=>DAT_c88321e4 caseD_4: ;XREF[2,0]: d9005d8c,d9005da4 BL2:d9005e68 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9005e6c(int param_1) ;param_1 int w0 ;XREF[3,0]: d9002120,d9002190,d9003214 BL2:d9005e6c 013884d2 mov x1,#0x21c0 BL2:d9005e70 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9005e74 220040b9 ldr w2,[x1]=>DAT_da8321c0 BL2:d9005e78 013884d2 mov x1,#0x21c0 BL2:d9005e7c 42001232 orr w2,w2,#0x4000 BL2:d9005e80 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9005e84 220000b9 str w2,[x1]=>DAT_da8321c0 BL2:d9005e88 813c84d2 mov x1,#0x21e4 BL2:d9005e8c 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9005e90 210040b9 ldr w1,[x1]=>DAT_da8321e4 BL2:d9005e94 22008052 mov w2,#0x1 BL2:d9005e98 00200011 add param_1,param_1,#0x8 BL2:d9005e9c 4020c01a lsl param_1,w2,param_1 BL2:d9005ea0 0000012a orr param_1,param_1,w1 BL2:d9005ea4 813c84d2 mov x1,#0x21e4 BL2:d9005ea8 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9005eac 200000b9 str param_1,[x1]=>DAT_da8321e4 BL2:d9005eb0 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9005eb4(uint param_1) ;param_1 uint w0 ;XREF[2,0]: d90021a8,d900321c BL2:d9005eb4 210000b0 adrp x1,0xd900a000 BL2:d9005eb8 21002691 add x1,x1,#0x980 BL2:d9005ebc 215860b8 ldr w1,[x1, param_1, UXTW #0x2] BL2:d9005ec0 21010034 cbz w1,LAB_d9005ee4 BL2:d9005ec4 00701d53 lsl param_1,param_1,#0x3 BL2:d9005ec8 e11f8052 mov w1,#0xff BL2:d9005ecc 2020c01a lsl param_1,w1,param_1 LAB_d9005ed0: ;XREF[1,0]: d9005ee0 BL2:d9005ed0 013984d2 mov x1,#0x21c8 BL2:d9005ed4 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9005ed8 210040b9 ldr w1,[x1]=>DAT_da8321c8 BL2:d9005edc 1f00016a tst param_1,w1 BL2:d9005ee0 81ffff54 b.ne LAB_d9005ed0 LAB_d9005ee4: ;XREF[1,0]: d9005ec0 BL2:d9005ee4 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9005ee8(int param_1) ;param_1 int w0 ;XREF[2,0]: d90021b0,d9003234 BL2:d9005ee8 813c84d2 mov x1,#0x21e4 BL2:d9005eec 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9005ef0 210040b9 ldr w1,[x1]=>DAT_c88321e4 BL2:d9005ef4 00200011 add param_1,param_1,#0x8 BL2:d9005ef8 22008052 mov w2,#0x1 BL2:d9005efc 4020c01a lsl param_1,w2,param_1 BL2:d9005f00 2000200a bic param_1,w1,param_1 BL2:d9005f04 813c84d2 mov x1,#0x21e4 BL2:d9005f08 6110b9f2 movk x1,#0xc883, LSL #16 BL2:d9005f0c 200000b9 str param_1,[x1]=>DAT_c88321e4 BL2:d9005f10 803c84d2 mov param_1,#0x21e4 BL2:d9005f14 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005f18 000040b9 ldr param_1,[param_1]=>DAT_c88321e4 BL2:d9005f1c 1f0c1872 tst param_1,#0xf00 BL2:d9005f20 01010054 b.ne LAB_d9005f40 BL2:d9005f24 003884d2 mov param_1,#0x21c0 BL2:d9005f28 6010b9f2 movk param_1,#0xc883, LSL #16 BL2:d9005f2c 010040b9 ldr w1,[param_1]=>DAT_c88321c0 BL2:d9005f30 003884d2 mov param_1,#0x21c0 BL2:d9005f34 21781112 and w1,w1,#0xffffbfff BL2:d9005f38 6010b9f2 movk param_1=>DAT_c88321c0,#0xc883, LSL #16 BL2:d9005f3c 010000b9 str w1,[param_1]=>DAT_c88321c0 LAB_d9005f40: ;XREF[1,0]: d9005f20 BL2:d9005f40 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9005f44(uint param_1, int param_2, int param_3, int param_4, int param_5, int param_6, uint param_7, int param_8, uint param_9, undefined4 param_10, uint param_11, undefined4 param_12_00, uint param_13, undefined4 param_14_00, int param_15, undefined4 param_16, int param_17) ;param_1 uint w0 ;param_2 int w1 ;param_3 int w2 ;param_4 int w3 ;param_5 int w4 ;param_6 int w5 ;param_7 uint w6 ;param_8 int w7 ;param_9 uint 0 ;XREF[1,0]: d9005f7c ;param_10 undefined4 4 ;param_11 uint 8 ;XREF[1,0]: d9005f64 ;param_12_00 undefined4 c ;param_13 uint 10 ;XREF[1,0]: d9005f70 ;param_14_00 undefined4 14 ;param_15 int 18 ;XREF[1,0]: d9005f9c ;param_16 undefined4 1c ;param_17 int 20 ;XREF[1,0]: d9005f90 ;XREF[1,0]: d900320c BL2:d9005f44 2a0000b0 adrp x10,0xd900a000 BL2:d9005f48 097c7ed3 ubfiz x9,param_1,#0x2,#0x20 BL2:d9005f4c 4ac12591 add x10,x10,#0x970 BL2:d9005f50 0b208052 mov w11,#0x100 BL2:d9005f54 486969b8 ldr w8,[x10, x9, LSL #0x0] BL2:d9005f58 0b20a872 movk w11,#0x4100, LSL #16 BL2:d9005f5c 6155012a orr param_2,w11,param_2, LSL #0x15 BL2:d9005f60 010100b9 str param_2,[x8] BL2:d9005f64 e10b40b9 ldr param_2,[sp, #param_11] BL2:d9005f68 c610072a orr param_7,param_7,param_8, LSL #0x4 BL2:d9005f6c 010500b9 str param_2,[x8, #0x4] BL2:d9005f70 e11340b9 ldr param_2,[sp, #param_13] BL2:d9005f74 c520052a orr param_6,param_7,param_6, LSL #0x8 BL2:d9005f78 010900b9 str param_2,[x8, #0x8] BL2:d9005f7c e10340b9 ldr param_2,[sp]=>param_9 BL2:d9005f80 a428042a orr param_5,param_6,param_5, LSL #0xa BL2:d9005f84 21600012 and param_2,param_2,#0x1ffffff BL2:d9005f88 010d00b9 str param_2,[x8, #0xc] BL2:d9005f8c 832c032a orr param_4,param_5,param_4, LSL #0xb BL2:d9005f90 e12340b9 ldr param_2,[sp, #param_17] BL2:d9005f94 6230022a orr param_3,param_4,param_3, LSL #0xc BL2:d9005f98 4638012a orr param_7,param_3,param_2, LSL #0xe BL2:d9005f9c e11b40b9 ldr param_2,[sp, #param_15] BL2:d9005fa0 220000b0 adrp param_3,0xd900a000 BL2:d9005fa4 42402691 add param_3,param_3,#0x990 BL2:d9005fa8 1f1100b9 str wzr,[x8, #0x10] BL2:d9005fac c640012a orr param_7,param_7,param_2, LSL #0x10 BL2:d9005fb0 426869b8 ldr param_3,[param_3, x9, LSL #0x0] BL2:d9005fb4 416969b8 ldr param_2,[x10, x9, LSL #0x0] BL2:d9005fb8 1f1500b9 str wzr,[x8, #0x14] BL2:d9005fbc 061900b9 str param_7,[x8, #0x18] BL2:d9005fc0 3f00026b cmp param_2,param_3 BL2:d9005fc4 a1000054 b.ne LAB_d9005fd8 BL2:d9005fc8 210000b0 adrp param_2,0xd900a000 BL2:d9005fcc 21002691 add param_2,param_2,#0x980 BL2:d9005fd0 216869b8 ldr param_2,[param_2, x9, LSL #0x0] BL2:d9005fd4 02000014 b LAB_d9005fdc LAB_d9005fd8: ;XREF[1,0]: d9005fc4 BL2:d9005fd8 21800011 add param_2,param_2,#0x20 LAB_d9005fdc: ;XREF[1,0]: d9005fd4 BL2:d9005fdc 416929b8 str param_2,[x10, x9, LSL #0x0] BL2:d9005fe0 005c1853 lsl param_1,param_1,#0x8 BL2:d9005fe4 013984d2 mov param_2,#0x21c8 BL2:d9005fe8 00000032 orr param_1,param_1,#0x1 BL2:d9005fec 6110b9f2 movk param_2,#0xc883, LSL #16 BL2:d9005ff0 200000b9 str param_1,[param_2]=>DAT_c88321c8 BL2:d9005ff4 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9005ff8(uint param_1, int param_2, int param_3, uint param_4, uint param_5, uint param_6, int param_7) ;param_1 uint w0 ;param_2 int w1 ;param_3 int w2 ;param_4 uint w3 ;param_5 uint w4 ;param_6 uint w5 ;param_7 int w6 ;XREF[2,0]: d900210c,d9002174 BL2:d9005ff8 290000b0 adrp x9,0xd900a000 BL2:d9005ffc 087c7ed3 ubfiz x8,param_1,#0x2,#0x20 BL2:d9006000 29c12591 add x9,x9,#0x970 BL2:d9006004 276968b8 ldr w7,[x9, x8, LSL #0x0] BL2:d9006008 0a28a852 mov w10,#0x41400000 BL2:d900600c 4155012a orr param_2,w10,param_2, LSL #0x15 BL2:d9006010 e10000b9 str param_2,[x7] BL2:d9006014 e50400b9 str param_6,[x7, #0x4] BL2:d9006018 ff0800b9 str wzr,[x7, #0x8] BL2:d900601c 84600012 and param_5,param_5,#0x1ffffff BL2:d9006020 e40c00b9 str param_5,[x7, #0xc] BL2:d9006024 ff1000b9 str wzr,[x7, #0x10] BL2:d9006028 6310062a orr param_4,param_4,param_7, LSL #0x4 BL2:d900602c 6220022a orr param_3,param_4,param_3, LSL #0x8 BL2:d9006030 ff1400b9 str wzr,[x7, #0x14] BL2:d9006034 e21800b9 str param_3,[x7, #0x18] BL2:d9006038 22000090 adrp param_3,0xd900a000 BL2:d900603c 42402691 add param_3,param_3,#0x990 BL2:d9006040 216968b8 ldr param_2,[x9, x8, LSL #0x0] BL2:d9006044 426868b8 ldr param_3,[param_3, x8, LSL #0x0] BL2:d9006048 3f00026b cmp param_2,param_3 BL2:d900604c a1000054 b.ne LAB_d9006060 BL2:d9006050 21000090 adrp param_2,0xd900a000 BL2:d9006054 21002691 add param_2,param_2,#0x980 BL2:d9006058 216868b8 ldr param_2,[param_2, x8, LSL #0x0] BL2:d900605c 02000014 b LAB_d9006064 LAB_d9006060: ;XREF[1,0]: d900604c BL2:d9006060 21800011 add param_2,param_2,#0x20 LAB_d9006064: ;XREF[1,0]: d900605c BL2:d9006064 216928b8 str param_2,[x9, x8, LSL #0x0] BL2:d9006068 005c1853 lsl param_1,param_1,#0x8 BL2:d900606c 013984d2 mov param_2,#0x21c8 BL2:d9006070 00000032 orr param_1,param_1,#0x1 BL2:d9006074 6150bbf2 movk param_2,#0xda83, LSL #16 BL2:d9006078 200000b9 str param_1,[param_2]=>DAT_da8321c8 BL2:d900607c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9006080(void) ;XREF[1,0]: d9006644 BL2:d9006080 018790d2 mov x1,#0x8438 BL2:d9006084 a01a8052 mov w0,#0xd5 BL2:d9006088 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d900608c 003c1033 bfm w0,w0,#0x10,#0xf BL2:d9006090 200000b9 str w0,[x1]=>DAT_da838438 BL2:d9006094 009b90d2 mov x0,#0x84d8 BL2:d9006098 e1ff8b52 mov w1,#0x5fff BL2:d900609c 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d90060a0 a1feab72 movk w1,#0x5ff5, LSL #16 BL2:d90060a4 010000b9 str w1,[x0]=>DAT_da8384d8 BL2:d90060a8 809b90d2 mov x0,#0x84dc BL2:d90060ac e1ff8b52 mov w1,#0x5fff BL2:d90060b0 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d90060b4 a1feab72 movk w1,#0x5ff5, LSL #16 BL2:d90060b8 010000b9 str w1,[x0]=>DAT_da8384dc BL2:d90060bc 809a90d2 mov x0,#0x84d4 BL2:d90060c0 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d90060c4 a1008052 mov w1,#0x5 BL2:d90060c8 010000b9 str w1,[x0]=>DAT_da8384d4 BL2:d90060cc 009a90d2 mov x0,#0x84d0 BL2:d90060d0 a1e28f52 mov w1,#0x7f15 BL2:d90060d4 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d90060d8 a102a072 movk w1,#0x15, LSL #16 BL2:d90060dc 010000b9 str w1,[x0]=>DAT_da8384d0 BL2:d90060e0 809290d2 mov x0,#0x8494 BL2:d90060e4 01008012 mov w1,#0xffffffff BL2:d90060e8 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d90060ec 829990d2 mov x2,#0x84cc BL2:d90060f0 010000b9 str w1,[x0]=>DAT_da838494 BL2:d90060f4 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d90060f8 e0f30032 orr w0,wzr,#0x55555555 BL2:d90060fc 400000b9 str w0,[x2]=>DAT_da8384cc BL2:d9006100 029990d2 mov x2,#0x84c8 BL2:d9006104 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9006108 400000b9 str w0,[x2]=>DAT_da8384c8 BL2:d900610c 028990d2 mov x2,#0x8448 BL2:d9006110 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9006114 410000b9 str w1,[x2]=>DAT_da838448 BL2:d9006118 828890d2 mov x2,#0x8444 BL2:d900611c 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9006120 400000b9 str w0,[x2]=>DAT_da838444 BL2:d9006124 028890d2 mov x2,#0x8440 BL2:d9006128 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d900612c 400000b9 str w0,[x2]=>DAT_da838440 BL2:d9006130 828990d2 mov x2,#0x844c BL2:d9006134 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9006138 410000b9 str w1,[x2]=>DAT_da83844c BL2:d900613c 028a90d2 mov x2,#0x8450 BL2:d9006140 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9006144 410000b9 str w1,[x2]=>DAT_da838450 BL2:d9006148 818a90d2 mov x1,#0x8454 BL2:d900614c 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d9006150 200000b9 str w0,[x1]=>DAT_da838454 BL2:d9006154 018b90d2 mov x1,#0x8458 BL2:d9006158 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d900615c 200000b9 str w0,[x1]=>DAT_da838458 BL2:d9006160 21000090 adrp x1,0xd900a000 BL2:d9006164 22001d91 add x2,x1,#0x740 BL2:d9006168 400040f9 ldr x0,[x2]=>DAT_d900a740 BL2:d900616c 800200b4 cbz x0,LAB_d90061bc LAB_d9006170: ;XREF[1,0]: d90061c0 BL2:d9006170 23001d91 add x3,x1,#0x740 BL2:d9006174 630440f9 ldr x3,[x3, #0x8]=>DAT_d900a748 BL2:d9006178 027c50d3 ubfx x2,x0,#0x10,#0x10 BL2:d900617c 0000030b add w0,w0,w3 BL2:d9006180 00040051 sub w0,w0,#0x1 BL2:d9006184 003c1012 and w0,w0,#0xffff0000 BL2:d9006188 0000022a orr w0,w0,w2 BL2:d900618c 828090d2 mov x2,#0x8404 BL2:d9006190 6250bbf2 movk x2,#0xda83, LSL #16 BL2:d9006194 400000b9 str w0,[x2]=>DAT_da838404 BL2:d9006198 808390d2 mov x0,#0x841c BL2:d900619c 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d90061a0 020040b9 ldr w2,[x0]=>DAT_da83841c BL2:d90061a4 808390d2 mov x0,#0x841c BL2:d90061a8 42000032 orr w2,w2,#0x1 BL2:d90061ac 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d90061b0 020000b9 str w2,[x0]=>DAT_da83841c BL2:d90061b4 22008052 mov w2,#0x1 BL2:d90061b8 03000014 b LAB_d90061c4 LAB_d90061bc: ;XREF[1,0]: d900616c BL2:d90061bc 420440f9 ldr x2,[x2, #0x8]=>DAT_d900a748 BL2:d90061c0 82fdffb5 cbnz x2,LAB_d9006170 LAB_d90061c4: ;XREF[1,0]: d90061b8 BL2:d90061c4 23001d91 add x3,x1,#0x740 BL2:d90061c8 600840f9 ldr x0,[x3, #0x10]=>DAT_d900a750 BL2:d90061cc 600000b5 cbnz x0,LAB_d90061d8 BL2:d90061d0 630c40f9 ldr x3,[x3, #0x18]=>DAT_d900a758 BL2:d90061d4 630200b4 cbz x3,LAB_d9006220 LAB_d90061d8: ;XREF[1,0]: d90061cc BL2:d90061d8 21001d91 add x1,x1,#0x740 BL2:d90061dc 210c40f9 ldr x1,[x1, #0x18]=>DAT_d900a758 BL2:d90061e0 027c50d3 ubfx x2,x0,#0x10,#0x10 BL2:d90061e4 0000010b add w0,w0,w1 BL2:d90061e8 00040051 sub w0,w0,#0x1 BL2:d90061ec 003c1012 and w0,w0,#0xffff0000 BL2:d90061f0 018190d2 mov x1,#0x8408 BL2:d90061f4 0000022a orr w0,w0,w2 BL2:d90061f8 6150bbf2 movk x1,#0xda83, LSL #16 BL2:d90061fc 200000b9 str w0,[x1]=>DAT_da838408 BL2:d9006200 808390d2 mov x0,#0x841c BL2:d9006204 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9006208 010040b9 ldr w1,[x0]=>DAT_da83841c BL2:d900620c 808390d2 mov x0,#0x841c BL2:d9006210 21001f32 orr w1,w1,#0x2 BL2:d9006214 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d9006218 010000b9 str w1,[x0]=>DAT_da83841c BL2:d900621c 02000014 b LAB_d9006224 LAB_d9006220: ;XREF[1,0]: d90061d4 BL2:d9006220 22010034 cbz w2,LAB_d9006244 LAB_d9006224: ;XREF[1,0]: d900621c BL2:d9006224 008090d2 mov x0,#0x8400 BL2:d9006228 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d900622c 0100b052 mov w1,#0x80000000 BL2:d9006230 010000b9 str w1,[x0]=>DAT_da838400 LAB_d9006234: ;XREF[1,0]: d9006240 BL2:d9006234 008090d2 mov x0,#0x8400 BL2:d9006238 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d900623c 000040b9 ldr w0,[x0]=>DAT_da838400 BL2:d9006240 a0ffff37 tbnz w0,#0x1f,LAB_d9006234 LAB_d9006244: ;XREF[1,0]: d9006220 BL2:d9006244 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9006248(undefined8 * param_1, ulong param_2) ;param_1 undefined8 * x0 ;param_2 ulong x1 ;XREF[1,0]: d90063c0 BL2:d9006248 030040f9 ldr x3,[param_1] BL2:d900624c 22000090 adrp x2,0xd900a000 BL2:d9006250 42001d91 add x2,x2,#0x740 BL2:d9006254 217c7cd3 ubfiz param_2,param_2,#0x4,#0x20 BL2:d9006258 000440f9 ldr param_1,[param_1, #0x8] BL2:d900625c 4400018b add x4,x2,param_2 BL2:d9006260 436821f8 str x3,[x2, param_2, LSL #0x0]=>DAT_d900a740 BL2:d9006264 800400f9 str param_1,[x4, #0x8]=>DAT_d900a748 BL2:d9006268 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined parse_fip(long param_1) ;param_1 long x0 ;local_8 undefined8 -8 ;XREF[1,0]: d9006318 ;local_10 undefined8 -10 ;XREF[2,0]: d90062ac,d9006310 ;local_20 undefined8 -20 ;XREF[2,0]: d9006290,d90063e0 ;local_30 undefined8 -30 ;XREF[2,0]: d900627c,d90063dc ;local_40 undefined8 -40 ;XREF[2,0]: d9006278,d90063d8 ;local_50 undefined8 -50 ;XREF[2,0]: d900626c,d90063e4 ;XREF[1,0]: d9006634 BL2:d900626c fd7bbba9 stp x29,x30,[sp, #local_50]! BL2:d9006270 fd030091 mov x29,sp BL2:d9006274 010044b9 ldr w1,[param_1, #0x400] BL2:d9006278 f35301a9 stp x19,x20,[sp, #local_40+0x50] BL2:d900627c f55b02a9 stp x21,x22,[sp, #local_30+0x50] BL2:d9006280 13c01091 add x19,param_1,#0x430 BL2:d9006284 15400091 add x21,param_1,#0x10 BL2:d9006288 20648852 mov param_1,#0x4321 BL2:d900628c a0ecb072 movk param_1,#0x8765, LSL #16 BL2:d9006290 f76303a9 stp x23,x24,[sp, #local_20+0x50] BL2:d9006294 3f00006b cmp w1,param_1 BL2:d9006298 81000054 b.ne LAB_d90062a8 BL2:d900629c 000000f0 adrp param_1,0xd9009000 BL2:d90062a0 00101291 add param_1=>...,param_1,#0x484 ;= "New fip structure!\n" BL2:d90062a4 720a0094 bl serial_puts ;void serial_puts(char * param_1) LAB_d90062a8: ;XREF[1,0]: d9006298 BL2:d90062a8 37000090 adrp x23,0xd900a000 BL2:d90062ac bf7f04a9 stp xzr,xzr,[x29, #local_10+0x50] BL2:d90062b0 f7820c91 add x23,x23,#0x320 BL2:d90062b4 38008052 mov w24,#0x1 LAB_d90062b8: ;XREF[1,0]: d90063d4 BL2:d90062b8 a00e40f9 ldr param_1,[x21, #0x18] BL2:d90062bc e00800b4 cbz param_1,LAB_d90063d8 BL2:d90062c0 b60240b9 ldr w22,[x21] BL2:d90062c4 f40317aa mov x20,x23 LAB_d90062c8: ;XREF[1,0]: d90063c8 ; FWD[2,0]: d900a324,d900a34c BL2:d90062c8 800640b9 ldr param_1,[x20, #0x4]=>DAT_d900a324 ;= 3DFD6697h ;= AABBCCDDh BL2:d90062cc 00080034 cbz param_1,LAB_d90063cc BL2:d90062d0 df02006b cmp w22,param_1 BL2:d90062d4 81070054 b.ne LAB_d90063c4 BL2:d90062d8 980200b9 str w24,[x20]=>DAT_d900a320 BL2:d90062dc a00a40f9 ldr param_1,[x21, #0x10] BL2:d90062e0 00304091 add param_1,param_1,#0xc, LSL #12 BL2:d90062e4 800600f9 str param_1,[x20, #0x8]=>DAT_d900a328 BL2:d90062e8 a00e40f9 ldr param_1,[x21, #0x18] BL2:d90062ec 800a00f9 str param_1,[x20, #0x10]=>DAT_d900a330 BL2:d90062f0 610240b9 ldr w1,[x19] BL2:d90062f4 a0ec9052 mov param_1,#0x8765 BL2:d90062f8 8046a272 movk param_1,#0x1234, LSL #16 BL2:d90062fc 3f00006b cmp w1,param_1 BL2:d9006300 21060054 b.ne LAB_d90063c4 BL2:d9006304 600640f9 ldr param_1,[x19, #0x8] BL2:d9006308 800e00f9 str param_1,[x20, #0x18]=>DAT_d900a338 ;= 0000000001000000h BL2:d900630c 601240f9 ldr param_1,[x19, #0x20] BL2:d9006310 a02300f9 str param_1,[x29, #local_10+0x50] BL2:d9006314 601640f9 ldr param_1,[x19, #0x28] BL2:d9006318 a02700f9 str param_1,[x29, #local_8+0x50] BL2:d900631c e0889a52 mov param_1,#0xd447 BL2:d9006320 00a1ad72 movk param_1,#0x6d08, LSL #16 BL2:d9006324 df02006b cmp w22,param_1 BL2:d9006328 c0020054 b.eq LAB_d9006380 BL2:d900632c a0009a52 mov param_1,#0xd005 BL2:d9006330 203cb172 movk param_1,#0x89e1, LSL #16 BL2:d9006334 df02006b cmp w22,param_1 BL2:d9006338 61040054 b.ne LAB_d90063c4 BL2:d900633c 610a40f9 ldr x1,[x19, #0x10] BL2:d9006340 004a80d2 mov param_1,#0x250 BL2:d9006344 0042bbf2 movk param_1,#0xda10, LSL #16 BL2:d9006348 010000b9 str w1,[param_1]=>DAT_da100250 BL2:d900634c 804980d2 mov param_1,#0x24c BL2:d9006350 0042bbf2 movk param_1,#0xda10, LSL #16 BL2:d9006354 000040b9 ldr param_1,[param_1]=>DAT_da10024c BL2:d9006358 610e40f9 ldr x1,[x19, #0x18] BL2:d900635c 003c1012 and param_1,param_1,#0xffff0000 BL2:d9006360 21644ad3 ubfx x1,x1,#0xa,#0x10 BL2:d9006364 2100002a orr w1,w1,param_1 BL2:d9006368 804980d2 mov param_1,#0x24c BL2:d900636c 0042bbf2 movk param_1,#0xda10, LSL #16 BL2:d9006370 010000b9 str w1,[param_1]=>DAT_da10024c BL2:d9006374 a0030191 add param_1,x29,#0x40 BL2:d9006378 21008052 mov w1,#0x1 BL2:d900637c 11000014 b LAB_d90063c0 LAB_d9006380: ;XREF[1,0]: d9006328 BL2:d9006380 610a40f9 ldr x1,[x19, #0x10] BL2:d9006384 804a80d2 mov param_1,#0x254 BL2:d9006388 0042bbf2 movk param_1,#0xda10, LSL #16 BL2:d900638c 010000b9 str w1,[param_1]=>DAT_da100254 BL2:d9006390 804980d2 mov param_1,#0x24c BL2:d9006394 0042bbf2 movk param_1,#0xda10, LSL #16 BL2:d9006398 000040b9 ldr param_1,[param_1]=>DAT_da10024c BL2:d900639c 610e40f9 ldr x1,[x19, #0x18] BL2:d90063a0 003c0012 and param_1,param_1,#0xffff BL2:d90063a4 21fc4ad3 lsr x1,x1,#0xa BL2:d90063a8 0140012a orr w1,param_1,w1, LSL #0x10 BL2:d90063ac 804980d2 mov param_1,#0x24c BL2:d90063b0 0042bbf2 movk param_1,#0xda10, LSL #16 BL2:d90063b4 010000b9 str w1,[param_1]=>DAT_da10024c BL2:d90063b8 a0030191 add param_1,x29,#0x40 BL2:d90063bc 01008052 mov w1,#0x0 LAB_d90063c0: ;XREF[1,0]: d900637c BL2:d90063c0 a2ffff97 bl FUN_d9006248 ;undefined FUN_d9006248(undefined8 * ... LAB_d90063c4: ;XREF[3,0]: d90062d4,d9006300,d9006338 BL2:d90063c4 94a20091 add x20,x20,#0x28 BL2:d90063c8 c0ffff17 b LAB_d90062c8 LAB_d90063cc: ;XREF[1,0]: d90062cc BL2:d90063cc b5a20091 add x21,x21,#0x28 BL2:d90063d0 73420191 add x19,x19,#0x50 BL2:d90063d4 b9ffff17 b LAB_d90062b8 LAB_d90063d8: ;XREF[1,0]: d90062bc BL2:d90063d8 f35341a9 ldp x19,x20,[sp, #local_40+0x50] BL2:d90063dc f55b42a9 ldp x21,x22,[sp, #local_30+0x50] BL2:d90063e0 f76343a9 ldp x23,x24,[sp, #local_20+0x50] BL2:d90063e4 fd7bc5a8 ldp x29=>local_50,x30,[sp], #0x50 BL2:d90063e8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined parse_bl30x(ulong param_1, undefined8 param_2, byte * image_str) ;param_1 ulong x0 ;param_2 undefined8 x1 ;image_str byte * x2 ;local_10_i... undefined8 -10 ;XREF[2,0]: d90063f8,d9006424 ;local_20 undefined8 -20 ;XREF[1,0]: d900641c ;local_30 undefined8 -30 ;XREF[1,0]: d9006418 ;local_40 undefined8 -40 ;XREF[2,0]: d90063f4,d9006440 ;local_50 undefined8 -50 ;XREF[2,0]: d90063ec,d9006444 ;XREF[1,0]: d900673c BL2:d90063ec fd7bbba9 stp x29,x30,[sp, #local_50]! BL2:d90063f0 fd030091 mov x29,sp BL2:d90063f4 f35301a9 stp x19,x20,[sp, #local_40+0x50] BL2:d90063f8 a22300f9 str image_str,[x29, #local_10_imgstring+0... BL2:d90063fc f40300aa mov x20,param_1 BL2:d9006400 f30301aa mov x19,param_2 BL2:d9006404 790a0094 bl FUN_d9008de8 ;undefined FUN_d9008de8(undefined8 pa... BL2:d9006408 e00314aa mov param_1,x20 BL2:d900640c e103132a mov param_2,w19 BL2:d9006410 a2830091 add image_str,x29,#0x20 BL2:d9006414 03008052 mov w3,#0x0 BL2:d9006418 bf7f02a9 stp xzr,xzr,[x29, #local_30+0x50] BL2:d900641c bf7f03a9 stp xzr,xzr,[x29, #local_20+0x50] BL2:d9006420 8befff97 bl sha2 ;undefined sha2(ulong param_1, uint p... BL2:d9006424 a42340f9 ldr x4,[x29, #local_10_imgstring+0x50] BL2:d9006428 e003142a mov param_1,w20 BL2:d900642c e103132a mov param_2,w19 BL2:d9006430 a2830091 add image_str,x29,#0x20 BL2:d9006434 03048052 mov w3,#0x20 BL2:d9006438 aeefff97 bl send_bl30x ;undefined send_bl30x(int addr, uint ... BL2:d900643c 720a0094 bl FUN_d9008e04 ;undefined FUN_d9008e04(undefined8 pa... BL2:d9006440 f35341a9 ldp x19,x20,[sp, #local_40+0x50] BL2:d9006444 fd7bc5a8 ldp x29=>local_50,x30,[sp], #0x50 BL2:d9006448 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d900644c(undefined8 param_1, undefined8 param_2, undefined8 param_3) ;param_1 undefined8 x0 ;param_2 undefined8 x1 ;param_3 undefined8 x2 ;local_10 undefined8 -10 ;XREF[2,0]: d9006488,d9006494 ;local_20 undefined8 -20 ;XREF[1,0]: d9006454 ;local_30 undefined8 -30 ;XREF[1,0]: d900644c ;XREF[2,0]: d90064e8,d90081a4 BL2:d900644c fd7bbda9 stp x29,x30,[sp, #local_30]! BL2:d9006450 fd030091 mov x29,sp BL2:d9006454 f35301a9 stp x19,x20,[sp, #local_20+0x30] BL2:d9006458 f30300aa mov x19,param_1 BL2:d900645c 03ebff97 bl FUN_d9001068 ;undefined * FUN_d9001068(void) BL2:d9006460 f40300aa mov x20,param_1 BL2:d9006464 37ebff97 bl bl2_plat_get_bl31_ep_info ;undefined8 bl2_plat_get_bl31_ep_info... BL2:d9006468 e10300aa mov param_2,param_1 BL2:d900646c 140c00f9 str x20,[param_1, #0x18] BL2:d9006470 130400f9 str x19,[param_1, #0x8] BL2:d9006474 000440b9 ldr param_1,[param_1, #0x4] BL2:d9006478 00781f12 and param_1,param_1,#0xfffffffe BL2:d900647c 200400b9 str param_1,[param_2, #0x4] BL2:d9006480 a0598052 mov param_1,#0x2cd BL2:d9006484 201000b9 str param_1,[param_2, #0x10] BL2:d9006488 a11300f9 str param_2,[x29, #local_10+0x30] BL2:d900648c 0ef0ff97 bl watchdog_disable ;undefined watchdog_disable(void) BL2:d9006490 560a0094 bl FUN_d9008de8 ;undefined FUN_d9008de8(undefined8 pa... BL2:d9006494 a11340f9 ldr param_2,[x29, #local_10+0x30] BL2:d9006498 020080d2 mov param_3,#0x0 BL2:d900649c 200080d2 mov param_1,#0x1 BL2:d90064a0 200c00f9 str param_1,[param_2, #0x18] BL2:d90064a4 e30302aa mov x3,param_3 BL2:d90064a8 0000b8d2 mov param_1,#0xc0000000 BL2:d90064ac e40302aa mov x4,param_3 BL2:d90064b0 e50302aa mov x5,param_3 BL2:d90064b4 e60302aa mov x6,param_3 BL2:d90064b8 e70302aa mov x7,param_3 BL2:d90064bc b60a0094 bl FUN_d9008f94 ;undefined FUN_d9008f94(undefined8 * ... ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d90064c0(undefined8 param_1, undefined8 param_2, undefined8 param_3) ;param_1 undefined8 x0 ;param_2 undefined8 x1 ;param_3 undefined8 x2 ;local_10 undefined8 -10 ;XREF[2,0]: d90064c0,d90064f8 ;XREF[1,0]: d9006574 BL2:d90064c0 fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d90064c4 fd030091 mov x29,sp BL2:d90064c8 ddecff97 bl get_boot_device ;uint get_boot_device(void) BL2:d90064cc 1f1400f1 cmp param_1,#0x5 BL2:d90064d0 e1000054 b.ne LAB_d90064ec BL2:d90064d4 000000f0 adrp param_1,0xd9009000 BL2:d90064d8 00601291 add param_1=>...,param_1,#0x498 ;= "USB mode!\n" BL2:d90064dc e4090094 bl serial_puts ;void serial_puts(char * param_1) BL2:d90064e0 80a088d2 mov param_1,#0x4504 BL2:d90064e4 8020bbf2 movk param_1,#0xd904, LSL #16 BL2:d90064e8 d9ffff97 bl FUN_d900644c ;undefined FUN_d900644c(undefined8 pa... LAB_d90064ec: ;XREF[1,0]: d90064d0 BL2:d90064ec 000000f0 adrp param_1,0xd9009000 BL2:d90064f0 00b80691 add param_1=>...,param_1,#0x1ae ;= "reset...\n" BL2:d90064f4 de090094 bl serial_puts ;void serial_puts(char * param_1) BL2:d90064f8 fd7bc1a8 ldp x29=>local_10,x30,[sp], #0x10 BL2:d90064fc fbefff17 b reset_system ;undefined reset_system(void) ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;ulong aml_check(int * param_1, int * param_2, undefined8 param_3, int param_4) ;param_1 int * x0 ;param_2 int * x1 ;param_3 undefined8 x2 ;param_4 int w3 ;local_10 undefined8 -10 ;XREF[2,0]: d9006518,d9006528 ;local_18 undefined8 -18 ;XREF[2,0]: d9006514,d9006524 ;local_20 undefined8 -20 ;XREF[2,0]: d900650c,d9006520 ;local_30 undefined8 -30 ;XREF[2,0]: d9006508,d9006580 ;local_40 undefined8 -40 ;XREF[2,0]: d9006500,d9006584 ;XREF[2,0]: d9006628,d9006690 BL2:d9006500 fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d9006504 fd030091 mov x29,sp BL2:d9006508 f35301a9 stp x19,x20,[sp, #local_30+0x40] BL2:d900650c a11300f9 str param_2,[x29, #local_20+0x40] BL2:d9006510 f40300aa mov x20,param_1 BL2:d9006514 a21700f9 str param_3,[x29, #local_18+0x40] BL2:d9006518 a31b00f9 str param_4,[x29, #local_10+0x40] BL2:d900651c 330a0094 bl FUN_d9008de8 ;undefined FUN_d9008de8(undefined8 pa... BL2:d9006520 a11340f9 ldr param_2,[x29, #local_20+0x40] BL2:d9006524 a21740f9 ldr param_3,[x29, #local_18+0x40] BL2:d9006528 a31b40f9 ldr param_4,[x29, #local_10+0x40] BL2:d900652c e00314aa mov param_1,x20 BL2:d9006530 42f3ff97 bl aml_data_check ;int aml_data_check(int * param_1, in... BL2:d9006534 f303002a mov w19,param_1 BL2:d9006538 00020034 cbz param_1,LAB_d9006578 BL2:d900653c 000000f0 adrp param_1,0xd9009000 BL2:d9006540 008c1291 add param_1=>...,param_1,#0x4a3 ;= "aml log : SIG CHK : " BL2:d9006544 ca090094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9006548 607e4093 sxtw param_1,w19 BL2:d900654c e9090094 bl serial_put_dec ;undefined serial_put_dec(ulong param_1) BL2:d9006550 000000f0 adrp param_1,0xd9009000 BL2:d9006554 00e01291 add param_1=>...,param_1,#0x4b8 ;= " for address 0x" BL2:d9006558 c5090094 bl serial_puts ;void serial_puts(char * param_1) BL2:d900655c e00314aa mov param_1,x20 BL2:d9006560 01048052 mov param_2,#0x20 BL2:d9006564 ce090094 bl serial_put_hex ;undefined serial_put_hex(ulong param... BL2:d9006568 000000f0 adrp param_1,0xd9009000 BL2:d900656c 00781691 add param_1=>CHAR_NL,param_1,#0x59e ;= '\n' BL2:d9006570 bf090094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9006574 d3ffff97 bl FUN_d90064c0 ;undefined FUN_d90064c0(undefined8 pa... LAB_d9006578: ;XREF[1,0]: d9006538 BL2:d9006578 230a0094 bl FUN_d9008e04 ;undefined FUN_d9008e04(undefined8 pa... BL2:d900657c e003132a mov param_1,w19 BL2:d9006580 f35341a9 ldp x19,x20,[sp, #local_30+0x40] BL2:d9006584 fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d9006588 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined bl2_load_image(void) ;img_name char * x19 ;XREF[1,0]: d9006650 ;local_10 undefined8 -10 ;XREF[1,0]: d900659c ;local_20 undefined8 -20 ;XREF[1,0]: d9006594 ;local_30 undefined8 -30 ;XREF[1,0]: d9006598 ;local_40 undefined8 -40 ;XREF[1,0]: d900658c ;XREF[2,0]: d9007e5c,d900801c BL2:d900658c fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d9006590 fd030091 mov x29,sp BL2:d9006594 f55b02a9 stp x21,x22,[sp, #local_20+0x40] BL2:d9006598 f35301a9 stp x19,x20,[sp, #local_30+0x40] BL2:d900659c f76303a9 stp x23,x24,[sp, #local_10+0x40] BL2:d90065a0 6bebff97 bl dump_ddr_data ;undefined dump_ddr_data(void) BL2:d90065a4 0030a0d2 mov x0,#DDR:DAT_01800000 BL2:d90065a8 1e0a0094 bl FUN_d9008e20 ;undefined FUN_d9008e20(void) BL2:d90065ac 030000f0 adrp x3,0xd9009000 BL2:d90065b0 0128a0d2 mov x1,#DDR:DAT_01400000 BL2:d90065b4 020088d2 mov x2,#0x4000 BL2:d90065b8 63201391 add x3=>s_fip_header_d90094c8,x3,#0x4c8 ;= "fip header" BL2:d90065bc 000098d2 mov x0,#0xc000 BL2:d90065c0 bbecff97 bl storage_load ;undefined8 storage_load(ulong src, u... BL2:d90065c4 0128a0d2 mov x1,#DDR:DAT_01400000 BL2:d90065c8 002ea0d2 mov x0,#0x1700000 BL2:d90065cc 020088d2 mov x2,#0x4000 BL2:d90065d0 59090094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d90065d4 0028a0d2 mov x0,#0x1400000 BL2:d90065d8 010040b9 ldr w1,[x0]=>DDR:DAT_01400000 BL2:d90065dc 20008052 mov w0,#0x1 BL2:d90065e0 804cb572 movk w0,#0xaa64, LSL #16 BL2:d90065e4 3f00006b cmp w1,w0 BL2:d90065e8 36008052 mov w22,#0x1 BL2:d90065ec 01010054 b.ne LAB_d900660c BL2:d90065f0 800080d2 mov x0,#0x4 BL2:d90065f4 0028a0f2 movk x0,#0x140, LSL #16 BL2:d90065f8 010040b9 ldr w1,[x0]=>DDR:DAT_01400004 BL2:d90065fc 00cf8a52 mov w0,#0x5678 BL2:d9006600 8046a272 movk w0,#0x1234, LSL #16 BL2:d9006604 3f00006b cmp w1,w0 BL2:d9006608 f6079f1a cset w22,ne LAB_d900660c: ;XREF[1,0]: d90065ec BL2:d900660c 004580d2 mov x0,#0x228 BL2:d9006610 0002b9f2 movk x0,#0xc810, LSL #16 BL2:d9006614 180040b9 ldr w24,[x0]=>DAT_c8100228 BL2:d9006618 0128a0d2 mov x1,#DDR:DAT_01400000 BL2:d900661c 02008852 mov w2,#0x4000 BL2:d9006620 e303162a mov w3,w22 BL2:d9006624 002ea0d2 mov x0,#0x1700000 BL2:d9006628 b6ffff97 bl aml_check ;ulong aml_check(int * param_1, int *... BL2:d900662c 0028a0d2 mov x0,#DDR:DAT_01400000 BL2:d9006630 33000090 adrp x19,0xd900a000 BL2:d9006634 0effff97 bl parse_fip ;undefined parse_fip(long param_1) BL2:d9006638 73820c91 add x19,x19,#0x320 BL2:d900663c 150080d2 mov x21,#0x0 BL2:d9006640 18031c12 and w24,w24,#0x10 BL2:d9006644 8ffeff97 bl FUN_d9006080 ;undefined FUN_d9006080(void) BL2:d9006648 73820091 add x19,x19,#0x20 BL2:d900664c f40315aa mov x20,x21 LAB_d9006650: ;XREF[1,0]: d9006794 ; FWD[3,0]: d900a324,d900a34c,register:00004098 BL2:d9006650 60425eb8 ldur w0,[img_name, #-0x1c] ;= 3DFD6697h ;= AABBCCDDh BL2:d9006654 200a0034 cbz w0,LAB_d9006798 BL2:d9006658 60025eb8 ldur w0,[img_name, #-0x20]=>DAT_d900a320 BL2:d900665c a0090034 cbz w0,LAB_d9006790 BL2:d9006660 172ea0d2 mov x23,#0x1700000 BL2:d9006664 58000035 cbnz w24,LAB_d900666c BL2:d9006668 77825ff8 ldur x23,[img_name, #-0x8]=>DAT_d900a338 ;= 0000000001000000h LAB_d900666c: ;XREF[1,0]: d9006664 BL2:d900666c 62025ff8 ldur x2,[img_name, #-0x10]=>DAT_d900a330 BL2:d9006670 60825ef8 ldur x0,[img_name, #-0x18]=>DAT_d900a328 BL2:d9006674 e10317aa mov x1=>DDR:DAT_01000000,x23 BL2:d9006678 e30313aa mov x3=>s_bl30,img_name BL2:d900667c 8cecff97 bl storage_load ;undefined8 storage_load(ulong src, u... BL2:d9006680 61825ff8 ldur x1=>DDR:DAT_0100...,[img_name, #-0x8]...;= 0000000001000000h BL2:d9006684 62025fb8 ldur w2,[img_name, #-0x10]=>DAT_d900a330 BL2:d9006688 e00317aa mov x0=>DDR:DAT_01000000,x23 BL2:d900668c e303162a mov w3,w22 BL2:d9006690 9cffff97 bl aml_check ;ulong aml_check(int * param_1, int *... BL2:d9006694 60425eb8 ldur w0,[img_name, #-0x1c]=>DAT_d900a324 ;= 3DFD6697h BL2:d9006698 a1009a52 mov w1,#0xd005 BL2:d900669c 213cb172 movk w1,#0x89e1, LSL #16 BL2:d90066a0 1f00016b cmp w0,w1 BL2:d90066a4 00050054 b.eq LAB_d9006744 BL2:d90066a8 a1009a52 mov w1,#0xd005 BL2:d90066ac 213cb172 movk w1,#0x89e1, LSL #16 BL2:d90066b0 1f00016b cmp w0,w1 BL2:d90066b4 e8020054 b.hi LAB_d9006710 BL2:d90066b8 e1d28c52 mov w1,#0x6697 BL2:d90066bc a1bfa772 movk w1,#0x3dfd, LSL #16 BL2:d90066c0 1f00016b cmp w0,w1 BL2:d90066c4 60030054 b.eq LAB_d9006730 BL2:d90066c8 e1889a52 mov w1,#0xd447 BL2:d90066cc 01a1ad72 movk w1,#0x6d08, LSL #16 BL2:d90066d0 1f00016b cmp w0,w1 BL2:d90066d4 e1050054 b.ne LAB_d9006790 BL2:d90066d8 64eaff97 bl FUN_d9001068 ;undefined * FUN_d9001068(void) BL2:d90066dc f40300aa mov x20,x0 BL2:d90066e0 98eaff97 bl bl2_plat_get_bl31_ep_info ;undefined8 bl2_plat_get_bl31_ep_info... BL2:d90066e4 140c00f9 str x20,[x0, #0x18] BL2:d90066e8 61825ff8 ldur x1,[img_name, #-0x8]=>DAT_d900a338 ;= 0000000001000000h BL2:d90066ec f50300aa mov x21,x0 BL2:d90066f0 800640f9 ldr x0,[x20, #0x8] BL2:d90066f4 010400f9 str x1=>DDR:DAT_01000000,[x0, #0x8] BL2:d90066f8 62025ff8 ldur x2,[img_name, #-0x10]=>DAT_d900a330 BL2:d90066fc 021000b9 str w2,[x0, #0x10] BL2:d9006700 a10600f9 str x1=>DDR:DAT_01000000,[x21, #0x8] BL2:d9006704 e10315aa mov x1,x21 BL2:d9006708 c0eaff97 bl FUN_d9001208 ;undefined FUN_d9001208(undefined8 pa... BL2:d900670c 21000014 b LAB_d9006790 LAB_d9006710: ;XREF[1,0]: d90066b4 BL2:d9006710 c11a9a52 mov w1,#0xd0d6 BL2:d9006714 c1fdb472 movk w1,#0xa7ee, LSL #16 BL2:d9006718 1f00016b cmp w0,w1 BL2:d900671c 80020054 b.eq LAB_d900676c BL2:d9006720 a19b9952 mov w1,#0xccdd BL2:d9006724 6157b572 movk w1,#0xaabb, LSL #16 BL2:d9006728 1f00016b cmp w0,w1 BL2:d900672c 21030054 b.ne LAB_d9006790 LAB_d9006730: ;XREF[1,0]: d90066c4 BL2:d9006730 60825ff8 ldur x0=>DDR:DAT_0100...,[img_name, #-0x8]...;= 0000000001000000h BL2:d9006734 61025ff8 ldur x1,[img_name, #-0x10]=>DAT_d900a330 BL2:d9006738 e20313aa mov x2=>s_bl30,img_name BL2:d900673c 2cffff97 bl parse_bl30x ;undefined parse_bl30x(ulong param_1,... BL2:d9006740 14000014 b LAB_d9006790 LAB_d9006744: ;XREF[1,0]: d90066a4 BL2:d9006744 800e40f9 ldr x0,[x20, #0x18] BL2:d9006748 62825ff8 ldur x2=>DDR:DAT_0100...,[img_name, #-0x8]...;= 0000000001000000h BL2:d900674c 020400f9 str x2=>DDR:DAT_01000000,[x0, #0x8] BL2:d9006750 61025ff8 ldur x1,[img_name, #-0x10]=>DAT_d900a330 BL2:d9006754 011000b9 str w1,[x0, #0x10] BL2:d9006758 810a40f9 ldr x1,[x20, #0x10] BL2:d900675c 410000b4 cbz x1,LAB_d9006764 BL2:d9006760 220400f9 str x2=>DDR:DAT_01000000,[x1, #0x8] LAB_d9006764: ;XREF[1,0]: d900675c BL2:d9006764 afeaff97 bl FUN_d9001220 ;undefined FUN_d9001220(undefined8 pa... BL2:d9006768 0a000014 b LAB_d9006790 LAB_d900676c: ;XREF[1,0]: d900671c BL2:d900676c 801640f9 ldr x0,[x20, #0x28] BL2:d9006770 62825ff8 ldur x2=>DDR:DAT_0100...,[img_name, #-0x8]...;= 0000000001000000h BL2:d9006774 020400f9 str x2=>DDR:DAT_01000000,[x0, #0x8] BL2:d9006778 61025ff8 ldur x1,[img_name, #-0x10]=>DAT_d900a330 BL2:d900677c 011000b9 str w1,[x0, #0x10] BL2:d9006780 811240f9 ldr x1,[x20, #0x20] BL2:d9006784 410000b4 cbz x1,LAB_d900678c BL2:d9006788 220400f9 str x2=>DDR:DAT_01000000,[x1, #0x8] LAB_d900678c: ;XREF[1,0]: d9006784 BL2:d900678c aaeaff97 bl bl2_plat_set_bl33_ep_info ;undefined bl2_plat_set_bl33_ep_info(... LAB_d9006790: ;XREF[6,0]: d900665c,d90066d4,d900670c,d900672c ; d9006740,d9006768 BL2:d9006790 73a20091 add img_name,img_name,#0x28 BL2:d9006794 afffff17 b LAB_d9006650 LAB_d9006798: ;XREF[1,0]: d9006654 BL2:d9006798 97eaff97 bl FUN_d90011f4 ;undefined FUN_d90011f4(void) BL2:d900679c 93090094 bl FUN_d9008de8 ;undefined FUN_d9008de8(undefined8 pa... BL2:d90067a0 49efff97 bl watchdog_disable ;undefined watchdog_disable(void) BL2:d90067a4 020080d2 mov x2,#0x0 BL2:d90067a8 0000b8d2 mov x0,#0xc0000000 BL2:d90067ac e10315aa mov x1,x21 BL2:d90067b0 e30302aa mov x3,x2 BL2:d90067b4 e40302aa mov x4,x2 BL2:d90067b8 e50302aa mov x5,x2 BL2:d90067bc e60302aa mov x6,x2 BL2:d90067c0 e70302aa mov x7,x2 BL2:d90067c4 f4090094 bl FUN_d9008f94 ;undefined FUN_d9008f94(undefined8 * ... ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d90067c8(void) ;XREF[1,0]: d900765c BL2:d90067c8 00a588d2 mov x0,#0x4528 BL2:d90067cc 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90067d0 01008f12 mov w1,#0xffff87ff BL2:d90067d4 010000b9 str w1,[x0]=>DAT_c8834528 BL2:d90067d8 009e88d2 mov x0,#0x44f0 BL2:d90067dc 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d90067e0 e11f8f12 mov w1,#0xffff8700 BL2:d90067e4 010000b9 str w1,[x0]=>DAT_c88344f0 BL2:d90067e8 009888d2 mov x0,#0x44c0 BL2:d90067ec 6010b9f2 movk x0=>DAT_c88344c0,#0xc883, LSL #16 BL2:d90067f0 01febf52 mov w1,#0xfff00000 BL2:d90067f4 010000b9 str w1,[x0]=>DAT_c88344c0 BL2:d90067f8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined4 FUN_d90067fc(void) ;XREF[2,0]: d9007428,d90076b8 BL2:d90067fc 000089d2 mov x0,#0x4800 BL2:d9006800 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9006804 0100b052 mov w1,#0x80000000 BL2:d9006808 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d900680c 000089d2 mov x0,#0x4800 BL2:d9006810 01008752 mov w1,#0x3800 BL2:d9006814 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9006818 6100a072 movk w1,#0x3, LSL #16 BL2:d900681c 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9006820 000089d2 mov x0,#0x4800 BL2:d9006824 e11f8f52 mov w1,#0x78ff BL2:d9006828 e000baf2 movk x0,#0xd007, LSL #16 BL2:d900682c 2100a072 movk w1,#0x1, LSL #16 BL2:d9006830 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9006834 000089d2 mov x0,#0x4800 BL2:d9006838 41018752 mov w1,#0x380a BL2:d900683c e000baf2 movk x0,#0xd007, LSL #16 BL2:d9006840 6100a072 movk w1,#0x3, LSL #16 BL2:d9006844 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9006848 20000090 adrp x0,0xd900a000 BL2:d900684c 00886639 ldrb w0,[x0, #0x9a2]=>DAT_d900a9a2 BL2:d9006850 00023836 tbz w0,#0x7,LAB_d9006890 BL2:d9006854 000089d2 mov x0,#0x4800 BL2:d9006858 010e8f52 mov w1,#0x7870 BL2:d900685c e000baf2 movk x0,#0xd007, LSL #16 BL2:d9006860 2100a072 movk w1,#0x1, LSL #16 BL2:d9006864 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9006868 000089d2 mov x0,#0x4800 BL2:d900686c 41008752 mov w1,#0x3802 BL2:d9006870 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9006874 6100a072 movk w1,#0x3, LSL #16 BL2:d9006878 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d900687c 000089d2 mov x0,#0x4800 BL2:d9006880 a1818552 mov w1,#0x2c0d BL2:d9006884 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9006888 8102a072 movk w1,#0x14, LSL #16 BL2:d900688c 05000014 b LAB_d90068a0 LAB_d9006890: ;XREF[1,0]: d9006850 BL2:d9006890 000089d2 mov x0,#0x4800 BL2:d9006894 a1018752 mov w1,#0x380d BL2:d9006898 e000baf2 movk x0,#0xd007, LSL #16 BL2:d900689c 0102a072 movk w1,#0x10, LSL #16 LAB_d90068a0: ;XREF[1,0]: d900688c BL2:d90068a0 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90068a4 000089d2 mov x0,#0x4800 BL2:d90068a8 01008752 mov w1,#0x3800 BL2:d90068ac e000baf2 movk x0,#0xd007, LSL #16 BL2:d90068b0 6100a072 movk w1,#0x3, LSL #16 BL2:d90068b4 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90068b8 000089d2 mov x0,#0x4800 BL2:d90068bc 01008752 mov w1,#0x3800 BL2:d90068c0 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90068c4 6100a072 movk w1,#0x3, LSL #16 BL2:d90068c8 010000b9 str w1,[x0]=>DAT_d0074800 LAB_d90068cc: ;XREF[1,0]: d90068e0 BL2:d90068cc 000089d2 mov x0,#0x4800 BL2:d90068d0 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90068d4 010040b9 ldr w1,[x0]=>DAT_d0074800 BL2:d90068d8 206856d3 ubfx x0,x1,#0x16,#0x5 BL2:d90068dc e0000034 cbz w0,LAB_d90068f8 BL2:d90068e0 61ffdf36 tbz w1,#0x1b,LAB_d90068cc BL2:d90068e4 000089d2 mov x0,#0x4800 BL2:d90068e8 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90068ec 0100b052 mov w1,#0x80000000 BL2:d90068f0 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90068f4 20108052 mov w0,#0x81 LAB_d90068f8: ;XREF[1,0]: d90068dc BL2:d90068f8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d90068fc(uint param_1, undefined4 * param_2) ;param_1 uint w0 ;param_2 undefined4 * x1 ;local_1 undefined1 -1 ;XREF[1,0]: d90069ac ;local_2 undefined1 -2 ;XREF[1,0]: d90069a8 ;local_3 undefined1 -3 ;XREF[1,0]: d90069a4 ;local_4 undefined1 -4 ;XREF[1,0]: d90069a0 ;local_5 undefined1 -5 ;XREF[1,0]: d900699c ;local_6 undefined1 -6 ;XREF[1,0]: d9006998 ;local_7 undefined1 -7 ;XREF[1,0]: d9006994 ;local_8 undefined1 -8 ;XREF[1,0]: d9006990 ;local_9 undefined1 -9 ;XREF[1,0]: d9006958 ;local_a undefined1 -a ;XREF[1,0]: d900698c ;local_b undefined1 -b ;XREF[1,0]: d9006924 ;local_c undefined1 -c ;XREF[1,0]: d9006988 ;local_d undefined1 -d ;XREF[1,0]: d900694c ;local_e undefined1 -e ;XREF[1,0]: d9006920 ;local_f undefined1 -f ;XREF[1,0]: d9006984 ;local_10 undefined1 -10 ;XREF[1,0]: d9006980 ;local_11 undefined1 -11 ;XREF[1,0]: d900697c ;local_12 undefined1 -12 ;XREF[1,0]: d9006978 ;local_13 undefined1 -13 ;XREF[1,0]: d9006948 ;local_14 undefined1 -14 ;XREF[1,0]: d9006944 ;local_15 undefined1 -15 ;XREF[1,0]: d9006974 ;local_16 undefined1 -16 ;XREF[1,0]: d900693c ;local_17 undefined1 -17 ;XREF[1,0]: d900691c ;local_18 undefined1 -18 ;XREF[1,0]: d9006970 ;local_19 undefined1 -19 ;XREF[1,0]: d9006908 ;local_1a undefined1 -1a ;XREF[1,0]: d9006904 ;local_1b undefined1 -1b ;XREF[1,0]: d900696c ;local_1c undefined1 -1c ;XREF[1,0]: d9006968 ;local_1d undefined1 -1d ;XREF[1,0]: d9006964 ;local_1e undefined1 -1e ;XREF[1,0]: d9006960 ;local_1f undefined1 -1f ;XREF[1,0]: d9006938 ;local_20 undefined1 -20 ;XREF[1,0]: d9006934 ;XREF[1,0]: d9007050 BL2:d90068fc ff8300d1 sub sp,sp,#0x20 BL2:d9006900 040f8052 mov w4,#0x78 BL2:d9006904 e41b0039 strb w4,[sp, #local_1a+0x20] BL2:d9006908 e41f0039 strb w4,[sp, #local_19+0x20] BL2:d900690c c40e8052 mov w4,#0x76 BL2:d9006910 82008052 mov w2,#0x4 BL2:d9006914 860e8052 mov w6,#0x74 BL2:d9006918 07018052 mov w7,#0x8 BL2:d900691c e4270039 strb w4,[sp, #local_17+0x20] BL2:d9006920 e44b0039 strb w4,[sp, #local_e+0x20] BL2:d9006924 e4570039 strb w4,[sp, #local_b+0x20] BL2:d9006928 040e8052 mov w4,#0x70 BL2:d900692c c30f8052 mov w3,#0x7e BL2:d9006930 450e8052 mov w5,#0x72 BL2:d9006934 e2030039 strb w2,[sp]=>local_20 BL2:d9006938 e2070039 strb w2,[sp, #local_1f+0x20] BL2:d900693c e62b0039 strb w6,[sp, #local_16+0x20] BL2:d9006940 820f8052 mov w2,#0x7c BL2:d9006944 e7330039 strb w7,[sp, #local_14+0x20] BL2:d9006948 e7370039 strb w7,[sp, #local_13+0x20] BL2:d900694c e64f0039 strb w6,[sp, #local_d+0x20] BL2:d9006950 67018052 mov w7,#0xb BL2:d9006954 06028052 mov w6,#0x10 BL2:d9006958 e45f0039 strb w4,[sp, #local_9+0x20] BL2:d900695c 44008052 mov w4,#0x2 BL2:d9006960 e20b0039 strb w2,[sp, #local_1e+0x20] BL2:d9006964 e30f0039 strb w3,[sp, #local_1d+0x20] BL2:d9006968 ff130039 strb wzr,[sp, #local_1c+0x20] BL2:d900696c e2170039 strb w2,[sp, #local_1b+0x20] BL2:d9006970 e2230039 strb w2,[sp, #local_18+0x20] BL2:d9006974 e52f0039 strb w5,[sp, #local_15+0x20] BL2:d9006978 ff3b0039 strb wzr,[sp, #local_12+0x20] BL2:d900697c ff3f0039 strb wzr,[sp, #local_11+0x20] BL2:d9006980 e7430039 strb w7,[sp, #local_10+0x20] BL2:d9006984 e3470039 strb w3,[sp, #local_f+0x20] BL2:d9006988 e6530039 strb w6,[sp, #local_c+0x20] BL2:d900698c e55b0039 strb w5,[sp, #local_a+0x20] BL2:d9006990 e4630039 strb w4,[sp, #local_8+0x20] BL2:d9006994 ff670039 strb wzr,[sp, #local_7+0x20] BL2:d9006998 e36b0039 strb w3,[sp, #local_6+0x20] BL2:d900699c e26f0039 strb w2,[sp, #local_5+0x20] BL2:d90069a0 ff730039 strb wzr,[sp, #local_4+0x20] BL2:d90069a4 ff770039 strb wzr,[sp, #local_3+0x20] BL2:d90069a8 ff7b0039 strb wzr,[sp, #local_2+0x20] BL2:d90069ac ff7f0039 strb wzr,[sp, #local_1+0x20] BL2:d90069b0 1f1c0071 cmp param_1,#0x7 BL2:d90069b4 60020054 b.eq LAB_d9006a00 BL2:d90069b8 1ffc0371 cmp param_1,#0xff BL2:d90069bc 60020054 b.eq LAB_d9006a08 BL2:d90069c0 1f1c0071 cmp param_1,#0x7 BL2:d90069c4 03008052 mov w3,#0x0 BL2:d90069c8 e80d0054 b.hi LAB_d9006b84 BL2:d90069cc 60020035 cbnz param_1,LAB_d9006a18 BL2:d90069d0 820b8f52 mov w2,#0x785c BL2:d90069d4 2200a072 movk w2,#0x1, LSL #16 BL2:d90069d8 220000b9 str w2,[param_2] BL2:d90069dc a2188f52 mov w2,#0x78c5 BL2:d90069e0 2200a072 movk w2,#0x1, LSL #16 BL2:d90069e4 220400b9 str w2,[param_2, #0x4] BL2:d90069e8 02008752 mov w2,#0x3800 BL2:d90069ec 6200a072 movk w2,#0x3, LSL #16 BL2:d90069f0 220800b9 str w2,[param_2, #0x8] BL2:d90069f4 e403002a mov w4,param_1 BL2:d90069f8 62008052 mov w2,#0x3 BL2:d90069fc 09000014 b LAB_d9006a20 LAB_d9006a00: ;XREF[1,0]: d90069b4 BL2:d9006a00 e41f8052 mov w4,#0xff BL2:d9006a04 03000014 b LAB_d9006a10 LAB_d9006a08: ;XREF[1,0]: d90069bc BL2:d9006a08 e403002a mov w4,param_1 BL2:d9006a0c e0008052 mov param_1,#0x7 LAB_d9006a10: ;XREF[1,0]: d9006a04 BL2:d9006a10 02008052 mov w2,#0x0 BL2:d9006a14 03000014 b LAB_d9006a20 LAB_d9006a18: ;XREF[1,0]: d90069cc BL2:d9006a18 e403002a mov w4,param_1 BL2:d9006a1c e203032a mov w2,w3 LAB_d9006a20: ;XREF[2,0]: d90069fc,d9006a14 BL2:d9006a20 00741e53 lsl param_1,param_1,#0x2 BL2:d9006a24 e303022a mov w3,w2 BL2:d9006a28 050080d2 mov x5,#0x0 LAB_d9006a2c: ;XREF[1,0]: d9006aa8 BL2:d9006a2c a60a8f52 mov w6,#0x7855 BL2:d9006a30 2600a072 movk w6,#0x1, LSL #16 BL2:d9006a34 265823b8 str w6,[param_2, w3, UXTW #0x2] BL2:d9006a38 46008752 mov w6,#0x3802 BL2:d9006a3c 67040011 add w7,w3,#0x1 BL2:d9006a40 6600a072 movk w6,#0x3, LSL #16 BL2:d9006a44 267827b8 str w6,[param_2, x7, LSL #0x2] BL2:d9006a48 06009752 mov w6,#0xb800 BL2:d9006a4c a8100011 add w8,w5,#0x4 BL2:d9006a50 2600a072 movk w6,#0x1, LSL #16 BL2:d9006a54 67080011 add w7,w3,#0x2 BL2:d9006a58 0601062a orr w6,w8,w6 BL2:d9006a5c 267827b8 str w6,[param_2, x7, LSL #0x2] BL2:d9006a60 46008752 mov w6,#0x3802 BL2:d9006a64 670c0011 add w7,w3,#0x3 BL2:d9006a68 6600a072 movk w6,#0x3, LSL #16 BL2:d9006a6c 267827b8 str w6,[param_2, x7, LSL #0x2] BL2:d9006a70 0600050b add w6,param_1,w5 BL2:d9006a74 e96b6638 ldrb w9,[sp, x6, LSL ] BL2:d9006a78 06008752 mov w6,#0x3800 BL2:d9006a7c 2600a072 movk w6,#0x1, LSL #16 BL2:d9006a80 68100011 add w8,w3,#0x4 BL2:d9006a84 2601062a orr w6,w9,w6 BL2:d9006a88 267828b8 str w6,[param_2, x8, LSL #0x2] BL2:d9006a8c 06008752 mov w6,#0x3800 BL2:d9006a90 67140011 add w7,w3,#0x5 BL2:d9006a94 6600a072 movk w6,#0x3, LSL #16 BL2:d9006a98 a5040091 add x5,x5,#0x1 BL2:d9006a9c 265827b8 str w6,[param_2, w7, UXTW #0x2] BL2:d9006aa0 bf1000f1 cmp x5,#0x4 BL2:d9006aa4 63180011 add w3,w3,#0x6 BL2:d9006aa8 21fcff54 b.ne LAB_d9006a2c BL2:d9006aac a00a8f52 mov param_1,#0x7855 BL2:d9006ab0 43600011 add w3,w2,#0x18 BL2:d9006ab4 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006ab8 207823b8 str param_1,[param_2, x3, LSL #0x2] BL2:d9006abc 40008752 mov param_1,#0x3802 BL2:d9006ac0 43640011 add w3,w2,#0x19 BL2:d9006ac4 6000a072 movk param_1,#0x3, LSL #16 BL2:d9006ac8 207823b8 str param_1,[param_2, x3, LSL #0x2] BL2:d9006acc a0019752 mov param_1,#0xb80d BL2:d9006ad0 43680011 add w3,w2,#0x1a BL2:d9006ad4 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006ad8 207823b8 str param_1,[param_2, x3, LSL #0x2] BL2:d9006adc 40008752 mov param_1,#0x3802 BL2:d9006ae0 436c0011 add w3,w2,#0x1b BL2:d9006ae4 6000a072 movk param_1,#0x3, LSL #16 BL2:d9006ae8 207823b8 str param_1,[param_2, x3, LSL #0x2] BL2:d9006aec 00008752 mov param_1,#0x3800 BL2:d9006af0 43700011 add w3,w2,#0x1c BL2:d9006af4 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006af8 207823b8 str param_1,[param_2, x3, LSL #0x2] BL2:d9006afc 03008752 mov w3,#0x3800 BL2:d9006b00 6300a072 movk w3,#0x3, LSL #16 BL2:d9006b04 45740011 add w5,w2,#0x1d BL2:d9006b08 40780011 add param_1,w2,#0x1e BL2:d9006b0c 237825b8 str w3,[param_2, x5, LSL #0x2] BL2:d9006b10 9f180071 cmp w4,#0x6 BL2:d9006b14 e303002a mov w3,param_1 BL2:d9006b18 41010054 b.ne LAB_d9006b40 BL2:d9006b1c 60168f52 mov param_1,#0x78b3 BL2:d9006b20 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006b24 207823b8 str param_1,[param_2, x3, LSL #0x2] BL2:d9006b28 03008752 mov w3,#0x3800 BL2:d9006b2c 40800011 add param_1,w2,#0x20 BL2:d9006b30 6300a072 movk w3,#0x3, LSL #16 BL2:d9006b34 427c0011 add w2,w2,#0x1f BL2:d9006b38 237822b8 str w3,[param_2, x2, LSL #0x2] BL2:d9006b3c 03000014 b LAB_d9006b48 LAB_d9006b40: ;XREF[1,0]: d9006b18 BL2:d9006b40 9ffc0371 cmp w4,#0xff BL2:d9006b44 60020054 b.eq LAB_d9006b90 LAB_d9006b48: ;XREF[1,0]: d9006b3c BL2:d9006b48 c2048f52 mov w2,#0x7826 BL2:d9006b4c 2200a072 movk w2,#0x1, LSL #16 BL2:d9006b50 225820b8 str w2,[param_2, param_1, UXTW #0x2] BL2:d9006b54 a20b8f52 mov w2,#0x785d BL2:d9006b58 03040011 add w3,param_1,#0x1 BL2:d9006b5c 2200a072 movk w2,#0x1, LSL #16 BL2:d9006b60 227823b8 str w2,[param_2, x3, LSL #0x2] BL2:d9006b64 02008752 mov w2,#0x3800 BL2:d9006b68 030c0011 add w3,param_1,#0x3 BL2:d9006b6c 6200a072 movk w2,#0x3, LSL #16 BL2:d9006b70 00080011 add param_1,param_1,#0x2 BL2:d9006b74 03000014 b LAB_d9006b80 LAB_d9006b78: ;XREF[1,0]: d9006bbc BL2:d9006b78 a2018752 mov w2,#0x380d BL2:d9006b7c 0202a072 movk w2,#0x10, LSL #16 LAB_d9006b80: ;XREF[1,0]: d9006b74 BL2:d9006b80 227820b8 str w2,[param_2, param_1, LSL #0x2] LAB_d9006b84: ;XREF[2,0]: d90069c8,d9006bec BL2:d9006b84 3f5823b8 str wzr,[param_2, w3, UXTW #0x2] BL2:d9006b88 ff830091 add sp,sp,#0x20 BL2:d9006b8c c0035fd6 ret LAB_d9006b90: ;XREF[1,0]: d9006b44 BL2:d9006b90 e01f8f52 mov param_1,#0x78ff BL2:d9006b94 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006b98 207823b8 str param_1,[param_2, x3, LSL #0x2] BL2:d9006b9c 40008752 mov param_1,#0x3802 BL2:d9006ba0 437c0011 add w3,w2,#0x1f BL2:d9006ba4 6000a072 movk param_1,#0x3, LSL #16 BL2:d9006ba8 207823b8 str param_1,[param_2, x3, LSL #0x2] BL2:d9006bac 20000090 adrp param_1,0xd900a000 BL2:d9006bb0 04886639 ldrb w4,[param_1, #0x9a2]=>DAT_d900a9a2 BL2:d9006bb4 43840011 add w3,w2,#0x21 BL2:d9006bb8 40800011 add param_1,w2,#0x20 BL2:d9006bbc e4fd3f36 tbz w4,#0x7,LAB_d9006b78 BL2:d9006bc0 040e8f52 mov w4,#0x7870 BL2:d9006bc4 2400a072 movk w4,#0x1, LSL #16 BL2:d9006bc8 247820b8 str w4,[param_2, param_1, LSL #0x2] BL2:d9006bcc 40008752 mov param_1,#0x3802 BL2:d9006bd0 6000a072 movk param_1,#0x3, LSL #16 BL2:d9006bd4 205823b8 str param_1,[param_2, w3, UXTW #0x2] BL2:d9006bd8 a0818552 mov param_1,#0x2c0d BL2:d9006bdc 438c0011 add w3,w2,#0x23 BL2:d9006be0 8002a072 movk param_1,#0x14, LSL #16 BL2:d9006be4 42880011 add w2,w2,#0x22 BL2:d9006be8 207822b8 str param_1,[param_2, x2, LSL #0x2] BL2:d9006bec e6ffff17 b LAB_d9006b84 ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9006bf0(uint param_1, undefined4 * param_2) ;param_1 uint w0 ;param_2 undefined4 * x1 ;local_50 undefined8 -50 ;XREF[2,0]: d9006bf8,d9006df4 ;local_60 undefined8 -60 ;XREF[2,0]: d9006bf0,d9006df8 ;XREF[1,0]: d9007064 BL2:d9006bf0 fd7bbaa9 stp x29,x30,[sp, #local_60]! BL2:d9006bf4 fd030091 mov x29,sp BL2:d9006bf8 f35301a9 stp x19,x20,[sp, #local_50+0x60] BL2:d9006bfc f30301aa mov x19,param_2 BL2:d9006c00 010000f0 adrp param_2,0xd9009000 BL2:d9006c04 f403002a mov w20,param_1 BL2:d9006c08 21601391 add param_2=>DAT_d90094d8,param_2,#0x4d8 BL2:d9006c0c a0830091 add param_1,x29,#0x20 BL2:d9006c10 e20780d2 mov x2,#0x3f BL2:d9006c14 c8070094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d9006c18 9f560071 cmp w20,#0x15 BL2:d9006c1c 000a0054 b.eq LAB_d9006d5c BL2:d9006c20 94030035 cbnz w20,LAB_d9006c90 BL2:d9006c24 60078f52 mov param_1,#0x783b BL2:d9006c28 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006c2c 600200b9 str param_1,[x19] BL2:d9006c30 20178f52 mov param_1,#0x78b9 BL2:d9006c34 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006c38 600600b9 str param_1,[x19, #0x4] BL2:d9006c3c 81008052 mov param_2,#0x4 BL2:d9006c40 60220091 add param_1,x19,#0x8 LAB_d9006c44: ;XREF[1,0]: d9006c78 BL2:d9006c44 820a8f52 mov w2,#0x7854 BL2:d9006c48 2200a072 movk w2,#0x1, LSL #16 BL2:d9006c4c 020000b9 str w2,[param_1] BL2:d9006c50 02009752 mov w2,#0xb800 BL2:d9006c54 2200a072 movk w2,#0x1, LSL #16 BL2:d9006c58 2200022a orr w2,param_2,w2 BL2:d9006c5c 020400b9 str w2,[param_1, #0x4] BL2:d9006c60 02008752 mov w2,#0x3800 BL2:d9006c64 2200a072 movk w2,#0x1, LSL #16 BL2:d9006c68 21040011 add param_2,param_2,#0x1 BL2:d9006c6c 020800b9 str w2,[param_1, #0x8] BL2:d9006c70 3f340071 cmp param_2,#0xd BL2:d9006c74 00300091 add param_1,param_1,#0xc BL2:d9006c78 61feff54 b.ne LAB_d9006c44 BL2:d9006c7c c0168f52 mov param_1,#0x78b6 BL2:d9006c80 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006c84 607600b9 str param_1,[x19, #0x74] BL2:d9006c88 c00380d2 mov param_1,#0x1e BL2:d9006c8c 59000014 b LAB_d9006df0 LAB_d9006c90: ;XREF[1,0]: d9006c20 BL2:d9006c90 9f520071 cmp w20,#0x14 BL2:d9006c94 e8050054 b.hi LAB_d9006d50 BL2:d9006c98 60078f52 mov param_1,#0x783b BL2:d9006c9c 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006ca0 600200b9 str param_1,[x19] BL2:d9006ca4 20178f52 mov param_1,#0x78b9 BL2:d9006ca8 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006cac 600600b9 str param_1,[x19, #0x4] BL2:d9006cb0 800a8f52 mov param_1,#0x7854 BL2:d9006cb4 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006cb8 600a00b9 str param_1,[x19, #0x8] BL2:d9006cbc 80009752 mov param_1,#0xb804 BL2:d9006cc0 9406140b add w20,w20,w20, LSL #0x1 BL2:d9006cc4 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006cc8 a2830091 add x2,x29,#0x20 BL2:d9006ccc 600e00b9 str param_1,[x19, #0xc] BL2:d9006cd0 e003142a mov param_1,w20 BL2:d9006cd4 01686238 ldrb param_2,[param_1, x2, LSL ] BL2:d9006cd8 00008752 mov param_1,#0x3800 BL2:d9006cdc 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006ce0 2000002a orr param_1,param_2,param_1 BL2:d9006ce4 601200b9 str param_1,[x19, #0x10] BL2:d9006ce8 800a8f52 mov param_1,#0x7854 BL2:d9006cec 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006cf0 601600b9 str param_1,[x19, #0x14] BL2:d9006cf4 a0009752 mov param_1,#0xb805 BL2:d9006cf8 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006cfc 601a00b9 str param_1,[x19, #0x18] BL2:d9006d00 80060011 add param_1,w20,#0x1 BL2:d9006d04 41686038 ldrb param_2,[x2, param_1, LSL ] BL2:d9006d08 00008752 mov param_1,#0x3800 BL2:d9006d0c 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006d10 2000002a orr param_1,param_2,param_1 BL2:d9006d14 601e00b9 str param_1,[x19, #0x1c] BL2:d9006d18 800a8f52 mov param_1,#0x7854 BL2:d9006d1c 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006d20 602200b9 str param_1,[x19, #0x20] BL2:d9006d24 e0009752 mov param_1,#0xb807 BL2:d9006d28 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006d2c 940a0011 add w20,w20,#0x2 BL2:d9006d30 602600b9 str param_1,[x19, #0x24] BL2:d9006d34 41687438 ldrb param_2,[x2, x20, LSL ] BL2:d9006d38 00008752 mov param_1,#0x3800 BL2:d9006d3c 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006d40 2000002a orr param_1,param_2,param_1 BL2:d9006d44 602a00b9 str param_1,[x19, #0x28] BL2:d9006d48 c0168f52 mov param_1,#0x78b6 BL2:d9006d4c 26000014 b LAB_d9006de4 LAB_d9006d50: ;XREF[1,0]: d9006c94 BL2:d9006d50 9ffe0371 cmp w20,#0xff BL2:d9006d54 000080d2 mov param_1,#0x0 BL2:d9006d58 c1040054 b.ne LAB_d9006df0 LAB_d9006d5c: ;XREF[1,0]: d9006c1c BL2:d9006d5c 60078f52 mov param_1,#0x783b BL2:d9006d60 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006d64 600200b9 str param_1,[x19] BL2:d9006d68 20178f52 mov param_1,#0x78b9 BL2:d9006d6c 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006d70 600600b9 str param_1,[x19, #0x4] BL2:d9006d74 800a8f52 mov param_1,#0x7854 BL2:d9006d78 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006d7c 600a00b9 str param_1,[x19, #0x8] BL2:d9006d80 80009752 mov param_1,#0xb804 BL2:d9006d84 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006d88 600e00b9 str param_1,[x19, #0xc] BL2:d9006d8c 00008752 mov param_1,#0x3800 BL2:d9006d90 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006d94 601200b9 str param_1,[x19, #0x10] BL2:d9006d98 800a8f52 mov param_1,#0x7854 BL2:d9006d9c 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006da0 601600b9 str param_1,[x19, #0x14] BL2:d9006da4 a0009752 mov param_1,#0xb805 BL2:d9006da8 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006dac 601a00b9 str param_1,[x19, #0x18] BL2:d9006db0 00008752 mov param_1,#0x3800 BL2:d9006db4 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006db8 601e00b9 str param_1,[x19, #0x1c] BL2:d9006dbc 800a8f52 mov param_1,#0x7854 BL2:d9006dc0 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006dc4 602200b9 str param_1,[x19, #0x20] BL2:d9006dc8 e0009752 mov param_1,#0xb807 BL2:d9006dcc 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006dd0 602600b9 str param_1,[x19, #0x24] BL2:d9006dd4 00008752 mov param_1,#0x3800 BL2:d9006dd8 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006ddc 602a00b9 str param_1,[x19, #0x28] BL2:d9006de0 c01a8f52 mov param_1,#0x78d6 LAB_d9006de4: ;XREF[1,0]: d9006d4c BL2:d9006de4 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006de8 602e00b9 str param_1,[x19, #0x2c] BL2:d9006dec 800180d2 mov param_1,#0xc LAB_d9006df0: ;XREF[2,0]: d9006c8c,d9006d58 BL2:d9006df0 7f7a20b8 str wzr,[x19, param_1, LSL #0x2] BL2:d9006df4 f35341a9 ldp x19,x20,[sp, #local_50+0x60] BL2:d9006df8 fd7bc6a8 ldp x29=>local_60,x30,[sp], #0x60 BL2:d9006dfc c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9006e00(uint param_1, undefined4 * param_2) ;param_1 uint w0 ;param_2 undefined4 * x1 ;XREF[1,0]: d9007018 BL2:d9006e00 1ffc0371 cmp param_1,#0xff BL2:d9006e04 a0000054 b.eq LAB_d9006e18 BL2:d9006e08 1f1c0071 cmp param_1,#0x7 BL2:d9006e0c 020080d2 mov x2,#0x0 BL2:d9006e10 c8050054 b.hi LAB_d9006ec8 BL2:d9006e14 02000014 b LAB_d9006e1c LAB_d9006e18: ;XREF[1,0]: d9006e04 BL2:d9006e18 00008052 mov param_1,#0x0 LAB_d9006e1c: ;XREF[1,0]: d9006e14 BL2:d9006e1c e21d8f52 mov w2,#0x78ef BL2:d9006e20 2200a072 movk w2,#0x1, LSL #16 BL2:d9006e24 220000b9 str w2,[param_2] BL2:d9006e28 22119752 mov w2,#0xb889 BL2:d9006e2c 2200a072 movk w2,#0x1, LSL #16 BL2:d9006e30 220400b9 str w2,[param_2, #0x4] BL2:d9006e34 62008752 mov w2,#0x3803 BL2:d9006e38 6200a072 movk w2,#0x3, LSL #16 BL2:d9006e3c 220800b9 str w2,[param_2, #0x8] BL2:d9006e40 02008752 mov w2,#0x3800 BL2:d9006e44 2200a072 movk w2,#0x1, LSL #16 BL2:d9006e48 0000022a orr param_1,param_1,w2 BL2:d9006e4c 200c00b9 str param_1,[param_2, #0xc] BL2:d9006e50 00008752 mov param_1,#0x3800 BL2:d9006e54 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006e58 201000b9 str param_1,[param_2, #0x10] BL2:d9006e5c 00008752 mov param_1,#0x3800 BL2:d9006e60 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006e64 201400b9 str param_1,[param_2, #0x14] BL2:d9006e68 00008752 mov param_1,#0x3800 BL2:d9006e6c 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006e70 201800b9 str param_1,[param_2, #0x18] BL2:d9006e74 40008752 mov param_1,#0x3802 BL2:d9006e78 6000a072 movk param_1,#0x3, LSL #16 BL2:d9006e7c 201c00b9 str param_1,[param_2, #0x1c] BL2:d9006e80 20000090 adrp param_1,0xd900a000 BL2:d9006e84 00886639 ldrb param_1,[param_1, #0x9a2]=>DAT_d900a9a2 BL2:d9006e88 80013836 tbz param_1,#0x7,LAB_d9006eb8 BL2:d9006e8c 000e8f52 mov param_1,#0x7870 BL2:d9006e90 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006e94 202000b9 str param_1,[param_2, #0x20] BL2:d9006e98 40008752 mov param_1,#0x3802 BL2:d9006e9c 6000a072 movk param_1,#0x3, LSL #16 BL2:d9006ea0 202400b9 str param_1,[param_2, #0x24] BL2:d9006ea4 a0818552 mov param_1,#0x2c0d BL2:d9006ea8 8002a072 movk param_1,#0x14, LSL #16 BL2:d9006eac 202800b9 str param_1,[param_2, #0x28] BL2:d9006eb0 620180d2 mov x2,#0xb BL2:d9006eb4 05000014 b LAB_d9006ec8 LAB_d9006eb8: ;XREF[1,0]: d9006e88 BL2:d9006eb8 a0018752 mov param_1,#0x380d BL2:d9006ebc 0002a072 movk param_1,#0x10, LSL #16 BL2:d9006ec0 202000b9 str param_1,[param_2, #0x20] BL2:d9006ec4 220180d2 mov x2,#0x9 LAB_d9006ec8: ;XREF[2,0]: d9006e10,d9006eb4 BL2:d9006ec8 3f7822b8 str wzr,[param_2, x2, LSL #0x2] BL2:d9006ecc c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9006ed0(uint param_1, undefined4 * param_2) ;param_1 uint w0 ;param_2 undefined4 * x1 ;local_d undefined1 -d ;XREF[1,0]: d9006f08 ;local_e undefined1 -e ;XREF[1,0]: d9006efc ;local_f undefined1 -f ;XREF[1,0]: d9006eec ;local_10 undefined1 -10 ;XREF[1,0]: d9006ee4 ;local_50 undefined1 -50 ;XREF[1,0]: d9006f88 ;local_60 undefined8 -60 ;XREF[2,0]: d9006ed8,d9006fc0 ;local_70 undefined8 -70 ;XREF[2,0]: d9006ed0,d9006fc4 ;XREF[1,0]: d900703c BL2:d9006ed0 fd7bb9a9 stp x29,x30,[sp, #local_70]! BL2:d9006ed4 fd030091 mov x29,sp BL2:d9006ed8 f35301a9 stp x19,x20,[sp, #local_60+0x70] BL2:d9006edc f303002a mov w19,param_1 BL2:d9006ee0 000b8012 mov param_1,#0xffffffa7 BL2:d9006ee4 a0830139 strb param_1,[x29, #local_10+0x70] BL2:d9006ee8 600b8012 mov param_1,#0xffffffa4 BL2:d9006eec a0870139 strb param_1,[x29, #local_f+0x70] BL2:d9006ef0 f40301aa mov x20,param_2 BL2:d9006ef4 400b8012 mov param_1,#0xffffffa5 BL2:d9006ef8 010000f0 adrp param_2,0xd9009000 BL2:d9006efc a08b0139 strb param_1,[x29, #local_e+0x70] BL2:d9006f00 21601391 add param_2,param_2,#0x4d8 BL2:d9006f04 200b8012 mov param_1,#0xffffffa6 BL2:d9006f08 a08f0139 strb param_1,[x29, #local_d+0x70] BL2:d9006f0c 21000191 add param_2=>DAT_d9009518,param_2,#0x40 BL2:d9006f10 a0830091 add param_1,x29,#0x20 BL2:d9006f14 820780d2 mov x2,#0x3c BL2:d9006f18 07070094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d9006f1c 7ffe0371 cmp w19,#0xff BL2:d9006f20 a0000054 b.eq LAB_d9006f34 BL2:d9006f24 7f3a0071 cmp w19,#0xe BL2:d9006f28 000080d2 mov param_1,#0x0 BL2:d9006f2c 88040054 b.hi LAB_d9006fbc BL2:d9006f30 02000014 b LAB_d9006f38 LAB_d9006f34: ;XREF[1,0]: d9006f20 BL2:d9006f34 13008052 mov w19,#0x0 LAB_d9006f38: ;XREF[1,0]: d9006f30 BL2:d9006f38 73761e53 lsl w19,w19,#0x2 BL2:d9006f3c e20314aa mov x2,x20 BL2:d9006f40 030080d2 mov x3,#0x0 LAB_d9006f44: ;XREF[1,0]: d9006fb4 BL2:d9006f44 20148f52 mov param_1,#0x78a1 BL2:d9006f48 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006f4c 400000b9 str param_1,[x2] BL2:d9006f50 00009752 mov param_1,#0xb800 BL2:d9006f54 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006f58 400400b9 str param_1,[x2, #0x4] BL2:d9006f5c a0830191 add param_1,x29,#0x60 BL2:d9006f60 61686038 ldrb param_2,[x3, param_1, LSL ] BL2:d9006f64 00009752 mov param_1,#0xb800 BL2:d9006f68 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006f6c 2000002a orr param_1,param_2,param_1 BL2:d9006f70 400800b9 str param_1,[x2, #0x8] BL2:d9006f74 40008752 mov param_1,#0x3802 BL2:d9006f78 6000a072 movk param_1,#0x3, LSL #16 BL2:d9006f7c 400c00b9 str param_1,[x2, #0xc] BL2:d9006f80 a4830091 add x4,x29,#0x20 BL2:d9006f84 6002030b add param_1,w19,w3 BL2:d9006f88 81686038 ldrb param_2,[x4, param_1, LSL ]=>local_50 BL2:d9006f8c 00008752 mov param_1,#0x3800 BL2:d9006f90 2000a072 movk param_1,#0x1, LSL #16 BL2:d9006f94 2000002a orr param_1,param_2,param_1 BL2:d9006f98 401000b9 str param_1,[x2, #0x10] BL2:d9006f9c 00018752 mov param_1,#0x3808 BL2:d9006fa0 6000a072 movk param_1,#0x3, LSL #16 BL2:d9006fa4 63040091 add x3,x3,#0x1 BL2:d9006fa8 401400b9 str param_1,[x2, #0x14] BL2:d9006fac 7f1000f1 cmp x3,#0x4 BL2:d9006fb0 42600091 add x2,x2,#0x18 BL2:d9006fb4 81fcff54 b.ne LAB_d9006f44 BL2:d9006fb8 000380d2 mov param_1,#0x18 LAB_d9006fbc: ;XREF[1,0]: d9006f2c BL2:d9006fbc 9f7a20b8 str wzr,[x20, param_1, LSL #0x2] BL2:d9006fc0 f35341a9 ldp x19,x20,[sp, #local_60+0x70] BL2:d9006fc4 fd7bc7a8 ldp x29=>local_70,x30,[sp], #0x70 BL2:d9006fc8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9006fcc(void) ;local_200 undefined4 -200 ;XREF[1,0]: d90070b0 ;local_210 undefined8 -210 ;XREF[2,0]: d9006fe4,d90070c8 ;local_220 undefined8 -220 ;XREF[2,0]: d9006fd0,d90070cc ;XREF[1,0]: d90075dc BL2:d9006fcc ff0308d1 sub sp,sp,#0x200 BL2:d9006fd0 fd7bbea9 stp x29,x30,[sp, #local_220+0x200]! BL2:d9006fd4 21000090 adrp x1,0xd900a000 BL2:d9006fd8 fd030091 mov x29,sp BL2:d9006fdc 20802691 add x0=>DAT_d900a9a0,x1,#0x9a0 BL2:d9006fe0 020c4079 ldrh w2,[x0, #0x6]=>DAT_d900a9a6 BL2:d9006fe4 f35301a9 stp x19,x20,[sp, #local_210+0x220] BL2:d9006fe8 f40301aa mov x20,x1 BL2:d9006fec e2060034 cbz w2,LAB_d90070c8 BL2:d9006ff0 00084079 ldrh w0,[x0, #0x4]=>DAT_d900a9a4 BL2:d9006ff4 33000090 adrp x19,0xd900a000 BL2:d9006ff8 1f140171 cmp w0,#0x45 BL2:d9006ffc e0020054 b.eq LAB_d9007058 BL2:d9007000 08010054 b.hi LAB_d9007020 BL2:d9007004 1fb00071 cmp w0,#0x2c BL2:d9007008 01030054 b.ne LAB_d9007068 BL2:d900700c 60722591 add x0,x19,#0x95c BL2:d9007010 000040b9 ldr w0,[x0]=>DAT_d900a95c BL2:d9007014 a1830091 add x1,x29,#0x20 BL2:d9007018 7affff97 bl FUN_d9006e00 ;undefined FUN_d9006e00(uint param_1,... BL2:d900701c 13000014 b LAB_d9007068 LAB_d9007020: ;XREF[1,0]: d9007000 BL2:d9007020 1f600271 cmp w0,#0x98 BL2:d9007024 00010054 b.eq LAB_d9007044 BL2:d9007028 1fb00371 cmp w0,#0xec BL2:d900702c e1010054 b.ne LAB_d9007068 BL2:d9007030 60722591 add x0,x19,#0x95c BL2:d9007034 000040b9 ldr w0,[x0]=>DAT_d900a95c BL2:d9007038 a1830091 add x1,x29,#0x20 BL2:d900703c a5ffff97 bl FUN_d9006ed0 ;undefined FUN_d9006ed0(uint param_1,... BL2:d9007040 0a000014 b LAB_d9007068 LAB_d9007044: ;XREF[1,0]: d9007024 BL2:d9007044 60722591 add x0,x19,#0x95c BL2:d9007048 000040b9 ldr w0,[x0]=>DAT_d900a95c BL2:d900704c a1830091 add x1,x29,#0x20 BL2:d9007050 2bfeff97 bl FUN_d90068fc ;undefined FUN_d90068fc(uint param_1,... BL2:d9007054 05000014 b LAB_d9007068 LAB_d9007058: ;XREF[1,0]: d9006ffc BL2:d9007058 60722591 add x0,x19,#0x95c BL2:d900705c 000040b9 ldr w0,[x0]=>DAT_d900a95c BL2:d9007060 a1830091 add x1,x29,#0x20 BL2:d9007064 e3feff97 bl FUN_d9006bf0 ;undefined FUN_d9006bf0(uint param_1,... LAB_d9007068: ;XREF[5,0]: d9007008,d900701c,d900702c,d9007040 ; d9007054 BL2:d9007068 73722591 add x19,x19,#0x95c BL2:d900706c 600240b9 ldr w0,[x19]=>DAT_d900a95c BL2:d9007070 94822691 add x20,x20,#0x9a0 BL2:d9007074 810e4079 ldrh w1,[x20, #0x6]=>DAT_d900a9a6 BL2:d9007078 00040011 add w0,w0,#0x1 BL2:d900707c 1f00016b cmp w0,w1 BL2:d9007080 00309f1a csel w0,w0,wzr,cc BL2:d9007084 600200b9 str w0,[x19]=>DAT_d900a95c BL2:d9007088 000080d2 mov x0,#0x0 LAB_d900708c: ;XREF[1,0]: d90070c4 BL2:d900708c 010089d2 mov x1,#0x4800 BL2:d9007090 e100baf2 movk x1,#0xd007, LSL #16 BL2:d9007094 210040b9 ldr w1,[x1]=>DAT_d0074800 BL2:d9007098 216856d3 ubfx x1,x1,#0x16,#0x5 BL2:d900709c 3f7c0071 cmp w1,#0x1f BL2:d90070a0 40010054 b.eq LAB_d90070c8 BL2:d90070a4 00100091 add x0,x0,#0x4 BL2:d90070a8 a2830091 add x2,x29,#0x20 BL2:d90070ac 4100008b add x1,x2,x0 BL2:d90070b0 21c05fb8 ldur w1,[x1, #local_200+0x1fc] BL2:d90070b4 a1000034 cbz w1,LAB_d90070c8 BL2:d90070b8 020089d2 mov x2,#0x4800 BL2:d90070bc e200baf2 movk x2,#0xd007, LSL #16 BL2:d90070c0 410000b9 str w1,[x2]=>DAT_d0074800 BL2:d90070c4 f2ffff17 b LAB_d900708c LAB_d90070c8: ;XREF[3,0]: d9006fec,d90070a0,d90070b4 BL2:d90070c8 f35341a9 ldp x19,x20,[sp, #local_210+0x220] BL2:d90070cc fd7bc2a8 ldp x29=>local_220,x30,[sp], #0x20 BL2:d90070d0 ff030891 add sp,sp,#0x200 BL2:d90070d4 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined4 FUN_d90070d8(void) ;local_10 undefined8 -10 ;XREF[2,0]: d90073e8,d90073ec ;local_20 undefined8 -20 ;XREF[2,0]: d90070fc,d9007478 ;local_30 undefined8 -30 ;XREF[2,0]: d90070ec,d9007474 ;local_40 undefined8 -40 ;XREF[2,0]: d90070e0,d9007470 ;local_50 undefined8 -50 ;XREF[2,0]: d90070d8,d900747c ;XREF[1,0]: d900759c BL2:d90070d8 fd7bbba9 stp x29,x30,[sp, #local_50]! BL2:d90070dc fd030091 mov x29,sp BL2:d90070e0 f35301a9 stp x19,x20,[sp, #local_40+0x50] BL2:d90070e4 130000f0 adrp x19,0xd900a000 BL2:d90070e8 74a249b9 ldr w20,[x19, #0x9a0]=>DAT_d900a9a0 BL2:d90070ec f55b02a9 stp x21,x22,[sp, #local_30+0x50] BL2:d90070f0 94160012 and w20,w20,#0x3f BL2:d90070f4 f503002a mov w21,w0 BL2:d90070f8 004080d2 mov x0,#0x200 BL2:d90070fc f71b00f9 str x23,[sp, #local_20+0x50] BL2:d9007100 0030a0f2 movk x0,#0x180, LSL #16 BL2:d9007104 f703012a mov w23,w1 BL2:d9007108 82167dd3 ubfiz x2,x20,#0x3,#0x6 BL2:d900710c 01008052 mov w1,#0x0 BL2:d9007110 68060094 bl memset ;ulong memset(ulong param_1, undefine... BL2:d9007114 96167dd3 ubfiz x22,x20,#0x3,#0x6 BL2:d9007118 004080d2 mov x0,#0x200 BL2:d900711c 0030a0f2 movk x0,#0x180, LSL #16 BL2:d9007120 e10316aa mov x1,x22 BL2:d9007124 42070094 bl inv_dcache_range ;undefined inv_dcache_range(ulong par... LAB_d9007128: ;XREF[1,0]: d9007138 BL2:d9007128 000089d2 mov x0,#0x4800 BL2:d900712c e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007130 000040b9 ldr w0,[x0]=>DAT_d0074800 BL2:d9007134 006856d3 ubfx x0,x0,#0x16,#0x5 BL2:d9007138 80ffff35 cbnz w0,LAB_d9007128 BL2:d900713c 60822691 add x0,x19,#0x9a0 BL2:d9007140 000c4039 ldrb w0,[x0, #0x3]=>DAT_d900a9a3 BL2:d9007144 00020036 tbz w0,#0x0,LAB_d9007184 BL2:d9007148 000089d2 mov x0,#0x4800 BL2:d900714c 01008752 mov w1,#0x3800 BL2:d9007150 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007154 6100a072 movk w1,#0x3, LSL #16 BL2:d9007158 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d900715c 000089d2 mov x0,#0x4800 BL2:d9007160 41148f52 mov w1,#0x78a2 BL2:d9007164 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007168 2100a072 movk w1,#0x1, LSL #16 BL2:d900716c 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007170 000089d2 mov x0,#0x4800 BL2:d9007174 01008752 mov w1,#0x3800 BL2:d9007178 e000baf2 movk x0,#0xd007, LSL #16 BL2:d900717c 6100a072 movk w1,#0x3, LSL #16 BL2:d9007180 010000b9 str w1,[x0]=>DAT_d0074800 LAB_d9007184: ;XREF[1,0]: d9007144 BL2:d9007184 000089d2 mov x0,#0x4800 BL2:d9007188 01008752 mov w1,#0x3800 BL2:d900718c e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007190 6100a072 movk w1,#0x3, LSL #16 BL2:d9007194 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007198 000089d2 mov x0,#0x4800 BL2:d900719c 01008f52 mov w1,#0x7800 BL2:d90071a0 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90071a4 2100a072 movk w1,#0x1, LSL #16 BL2:d90071a8 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90071ac 000089d2 mov x0,#0x4800 BL2:d90071b0 01009752 mov w1,#0xb800 BL2:d90071b4 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90071b8 2100a072 movk w1,#0x1, LSL #16 BL2:d90071bc 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90071c0 60822691 add x0,x19,#0x9a0 BL2:d90071c4 00084039 ldrb w0,[x0, #0x2]=>DAT_d900a9a2 BL2:d90071c8 c0003036 tbz w0,#0x6,LAB_d90071e0 BL2:d90071cc 000089d2 mov x0,#0x4800 BL2:d90071d0 01009752 mov w1,#0xb800 BL2:d90071d4 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90071d8 2100a072 movk w1,#0x1, LSL #16 BL2:d90071dc 010000b9 str w1,[x0]=>DAT_d0074800 LAB_d90071e0: ;XREF[1,0]: d90071c8 BL2:d90071e0 00009752 mov w0,#0xb800 BL2:d90071e4 2000a072 movk w0,#0x1, LSL #16 BL2:d90071e8 a11e0012 and w1,w21,#0xff BL2:d90071ec 2100002a orr w1,w1,w0 BL2:d90071f0 000089d2 mov x0,#0x4800 BL2:d90071f4 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90071f8 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90071fc 00009752 mov w0,#0xb800 BL2:d9007200 2000a072 movk w0,#0x1, LSL #16 BL2:d9007204 a13e48d3 ubfx x1,x21,#0x8,#0x8 BL2:d9007208 2100002a orr w1,w1,w0 BL2:d900720c 000089d2 mov x0,#0x4800 BL2:d9007210 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007214 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007218 000089d2 mov x0,#0x4800 BL2:d900721c 01009752 mov w1,#0xb800 BL2:d9007220 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007224 2100a072 movk w1,#0x1, LSL #16 BL2:d9007228 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d900722c 60822691 add x0,x19,#0x9a0 BL2:d9007230 00084039 ldrb w0,[x0, #0x2]=>DAT_d900a9a2 BL2:d9007234 c0003036 tbz w0,#0x6,LAB_d900724c BL2:d9007238 000089d2 mov x0,#0x4800 BL2:d900723c 01068f52 mov w1,#0x7830 BL2:d9007240 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007244 2100a072 movk w1,#0x1, LSL #16 BL2:d9007248 010000b9 str w1,[x0]=>DAT_d0074800 LAB_d900724c: ;XREF[1,0]: d9007234 BL2:d900724c 60822691 add x0,x19,#0x9a0 BL2:d9007250 00084039 ldrb w0,[x0, #0x2]=>DAT_d900a9a2 BL2:d9007254 80043836 tbz w0,#0x7,LAB_d90072e4 BL2:d9007258 000089d2 mov x0,#0x4800 BL2:d900725c 01008752 mov w1,#0x3800 BL2:d9007260 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007264 6100a072 movk w1,#0x3, LSL #16 BL2:d9007268 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d900726c 000089d2 mov x0,#0x4800 BL2:d9007270 010e8f52 mov w1,#0x7870 BL2:d9007274 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007278 2100a072 movk w1,#0x1, LSL #16 BL2:d900727c 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007280 000089d2 mov x0,#0x4800 BL2:d9007284 41008752 mov w1,#0x3802 BL2:d9007288 e000baf2 movk x0,#0xd007, LSL #16 BL2:d900728c 6100a072 movk w1,#0x3, LSL #16 BL2:d9007290 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007294 000089d2 mov x0,#0x4800 BL2:d9007298 a1818552 mov w1,#0x2c0d BL2:d900729c e000baf2 movk x0,#0xd007, LSL #16 BL2:d90072a0 8102a072 movk w1,#0x14, LSL #16 BL2:d90072a4 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90072a8 000089d2 mov x0,#0x4800 BL2:d90072ac 41008752 mov w1,#0x3802 BL2:d90072b0 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90072b4 6100a072 movk w1,#0x3, LSL #16 BL2:d90072b8 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90072bc 000089d2 mov x0,#0x4800 BL2:d90072c0 01008f52 mov w1,#0x7800 BL2:d90072c4 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90072c8 2100a072 movk w1,#0x1, LSL #16 BL2:d90072cc 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90072d0 000089d2 mov x0,#0x4800 BL2:d90072d4 41008752 mov w1,#0x3802 BL2:d90072d8 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90072dc 6100a072 movk w1,#0x3, LSL #16 BL2:d90072e0 0a000014 b LAB_d9007308 LAB_d90072e4: ;XREF[1,0]: d9007254 BL2:d90072e4 000089d2 mov x0,#0x4800 BL2:d90072e8 01058752 mov w1,#0x3828 BL2:d90072ec e000baf2 movk x0,#0xd007, LSL #16 BL2:d90072f0 6100a072 movk w1,#0x3, LSL #16 BL2:d90072f4 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90072f8 000089d2 mov x0,#0x4800 BL2:d90072fc a1018752 mov w1,#0x380d BL2:d9007300 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007304 0102a072 movk w1,#0x10, LSL #16 LAB_d9007308: ;XREF[1,0]: d90072e0 BL2:d9007308 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d900730c e13e0012 and w1,w23,#0xffff BL2:d9007310 000089d2 mov x0,#0x4800 BL2:d9007314 21040c32 orr w1,w1,#0x300000 BL2:d9007318 e000baf2 movk x0,#0xd007, LSL #16 BL2:d900731c 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007320 2006a052 mov w0,#0x310000 BL2:d9007324 1740572a orr w23,w0,w23, LSR #0x10 BL2:d9007328 000089d2 mov x0,#0x4800 BL2:d900732c e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007330 170000b9 str w23,[x0]=>DAT_d0074800 BL2:d9007334 01408052 mov w1,#0x200 BL2:d9007338 000089d2 mov x0,#0x4800 BL2:d900733c e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007340 4106a072 movk w1,#0x32, LSL #16 BL2:d9007344 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007348 000089d2 mov x0,#0x4800 BL2:d900734c 01308052 mov w1,#0x180 BL2:d9007350 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007354 6106a072 movk w1,#0x33, LSL #16 BL2:d9007358 b53a0012 and w21,w21,#0x7fff BL2:d900735c 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007360 b50a0311 add w21,w21,#0xc2 BL2:d9007364 000089d2 mov x0,#0x4800 BL2:d9007368 e000baf2 movk x0,#0xd007, LSL #16 BL2:d900736c b50a0d32 orr w21,w21,#0x380000 BL2:d9007370 150000b9 str w21,[x0]=>DAT_d0074800 BL2:d9007374 61a249b9 ldr w1,[x19, #0x9a0]=>DAT_d900a9a0 BL2:d9007378 000089d2 mov x0,#0x4800 BL2:d900737c 215440d3 ubfx x1,x1,#0x0,#0x16 BL2:d9007380 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007384 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007388 000089d2 mov x0,#0x4800 BL2:d900738c 01008752 mov w1,#0x3800 BL2:d9007390 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007394 6100a072 movk w1,#0x3, LSL #16 BL2:d9007398 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d900739c 000089d2 mov x0,#0x4800 BL2:d90073a0 01008752 mov w1,#0x3800 BL2:d90073a4 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90073a8 6100a072 movk w1,#0x3, LSL #16 BL2:d90073ac 010000b9 str w1,[x0]=>DAT_d0074800 LAB_d90073b0: ;XREF[1,0]: d90073c0 BL2:d90073b0 000089d2 mov x0,#0x4800 BL2:d90073b4 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90073b8 000040b9 ldr w0,[x0]=>DAT_d0074800 BL2:d90073bc 006856d3 ubfx x0,x0,#0x16,#0x5 BL2:d90073c0 80ffff35 cbnz w0,LAB_d90073b0 BL2:d90073c4 004080d2 mov x0,#0x200 BL2:d90073c8 95060051 sub w21,w20,#0x1 BL2:d90073cc 0030a0f2 movk x0,#0x180, LSL #16 BL2:d90073d0 150c158b add x21,x0,x21, LSL #0x3 LAB_d90073d4: ;XREF[1,0]: d90073f0 BL2:d90073d4 004080d2 mov x0,#0x200 BL2:d90073d8 0030a0f2 movk x0,#0x180, LSL #16 BL2:d90073dc e10316aa mov x1,x22 BL2:d90073e0 a0060094 bl FUN_d9008e60 ;undefined FUN_d9008e60(ulong param_1... BL2:d90073e4 a00240f9 ldr x0,[x21] BL2:d90073e8 a02300f9 str x0,[x29, #local_10+0x50] BL2:d90073ec a02340f9 ldr x0,[x29, #local_10+0x50] BL2:d90073f0 20ffffb4 cbz x0,LAB_d90073d4 BL2:d90073f4 00008052 mov w0,#0x0 LAB_d90073f8: ;XREF[1,0]: d9007460 BL2:d90073f8 01004c11 add w1,w0,#0x300, LSL #12 BL2:d90073fc 21000111 add w1,w1,#0x40 BL2:d9007400 1f00146b cmp w0,w20 BL2:d9007404 21701d53 lsl w1,w1,#0x3 BL2:d9007408 e2020054 b.cs LAB_d9007464 BL2:d900740c 350040b9 ldr w21,[x1] BL2:d9007410 a17658d3 ubfx x1,x21,#0x18,#0x6 BL2:d9007414 3ffc0071 cmp w1,#0x3f BL2:d9007418 61010054 b.ne LAB_d9007444 BL2:d900741c 73822691 add x19,x19,#0x9a0 BL2:d9007420 600e4039 ldrb w0,[x19, #0x3]=>DAT_d900a9a3 BL2:d9007424 40000036 tbz w0,#0x0,LAB_d900742c BL2:d9007428 f5fcff97 bl FUN_d90067fc ;undefined4 FUN_d90067fc(void) LAB_d900742c: ;XREF[1,0]: d9007424 BL2:d900742c b55650d3 ubfx x21,x21,#0x10,#0x6 BL2:d9007430 bf260071 cmp w21,#0x9 BL2:d9007434 a0108052 mov w0,#0x85 BL2:d9007438 41108052 mov w1,#0x82 BL2:d900743c 2080801a csel w0,w1,w0,hi BL2:d9007440 0c000014 b LAB_d9007470 LAB_d9007444: ;XREF[1,0]: d9007418 BL2:d9007444 c0000035 cbnz w0,LAB_d900745c BL2:d9007448 a14a9552 mov w1,#0xaa55 BL2:d900744c b5460212 and w21,w21,#0xc000ffff BL2:d9007450 0100b872 movk w1,#0xc000, LSL #16 BL2:d9007454 bf02016b cmp w21,w1 BL2:d9007458 a1000054 b.ne LAB_d900746c LAB_d900745c: ;XREF[1,0]: d9007444 BL2:d900745c 00040011 add w0,w0,#0x1 BL2:d9007460 e6ffff17 b LAB_d90073f8 LAB_d9007464: ;XREF[1,0]: d9007408 BL2:d9007464 00008052 mov w0,#0x0 BL2:d9007468 02000014 b LAB_d9007470 LAB_d900746c: ;XREF[1,0]: d9007458 BL2:d900746c 60108052 mov w0,#0x83 LAB_d9007470: ;XREF[2,0]: d9007440,d9007468 BL2:d9007470 f35341a9 ldp x19,x20,[sp, #local_40+0x50] BL2:d9007474 f55b42a9 ldp x21,x22,[sp, #local_30+0x50] BL2:d9007478 f71b40f9 ldr x23,[sp, #local_20+0x50] BL2:d900747c fd7bc5a8 ldp x29=>local_50,x30,[sp], #0x50 BL2:d9007480 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;int FUN_d9007484(uint param_1, uint param_2, uint param_3) ;param_1 uint w0 ;param_2 uint w1 ;param_3 uint w2 ;local_8 undefined8 -8 ;XREF[2,0]: d9007598,d90075a4 ;local_c undefined4 -c ;XREF[2,0]: d9007530,d90075f4 ;local_10 undefined4 -10 ;XREF[2,0]: d90074f4,d90075ac ;local_20 undefined8 -20 ;XREF[2,0]: d90074ac,d900760c ;local_30 undefined8 -30 ;XREF[2,0]: d900748c,d9007608 ;local_40 undefined8 -40 ;XREF[2,0]: d9007494,d9007604 ;local_50 undefined8 -50 ;XREF[2,0]: d90074a4,d9007600 ;local_60 undefined8 -60 ;XREF[2,0]: d90074a0,d90075fc ;local_70 undefined8 -70 ;XREF[2,0]: d9007484,d9007610 ;XREF[3,0]: d9007804,d90078a8,d9007944 BL2:d9007484 fd7bb9a9 stp x29,x30,[sp, #local_70]! BL2:d9007488 fd030091 mov x29,sp BL2:d900748c f96b04a9 stp x25,x26,[sp, #local_30+0x70] BL2:d9007490 190000f0 adrp x25,0xd900a000 BL2:d9007494 f76303a9 stp x23,x24,[sp, #local_40+0x70] BL2:d9007498 f803002a mov w24,param_1 BL2:d900749c 20a349b9 ldr param_1,[x25, #0x9a0]=>DAT_d900a9a0 BL2:d90074a0 f35301a9 stp x19,x20,[sp, #local_60+0x70] BL2:d90074a4 f55b02a9 stp x21,x22,[sp, #local_50+0x70] BL2:d90074a8 005440d3 ubfx param_1,param_1,#0x0,#0x16 BL2:d90074ac fb7305a9 stp x27,x28,[sp, #local_20+0x70] BL2:d90074b0 f403012a mov w20,param_2 BL2:d90074b4 f503022a mov w21,param_3 BL2:d90074b8 13140012 and w19,param_1,#0x3f BL2:d90074bc 80006836 tbz param_1,#0xd,LAB_d90074cc BL2:d90074c0 003046d3 ubfx param_1,param_1,#0x6,#0x7 BL2:d90074c4 00701d53 lsl param_1,param_1,#0x3 BL2:d90074c8 06000014 b LAB_d90074e0 LAB_d90074cc: ;XREF[1,0]: d90074bc BL2:d90074cc 00404ed3 ubfx param_1,param_1,#0xe,#0x3 BL2:d90074d0 1f040071 cmp param_1,#0x1 BL2:d90074d4 01808052 mov param_2,#0x400 BL2:d90074d8 00408052 mov param_1,#0x200 BL2:d90074dc 2080801a csel param_1,param_2,param_1,hi LAB_d90074e0: ;XREF[1,0]: d90074c8 BL2:d90074e0 137c131b mul w19,param_1,w19 BL2:d90074e4 7f064071 cmp w19,#0x1, LSL #12 BL2:d90074e8 17408052 mov w23,#0x200 BL2:d90074ec 00208052 mov param_1,#0x100 BL2:d90074f0 e032801a csel param_1,w23,param_1,cc BL2:d90074f4 a06300b9 str param_1,[x29, #local_10+0x70] BL2:d90074f8 e103152a mov param_2,w21 BL2:d90074fc e003142a mov param_1,w20 BL2:d9007500 160000f0 adrp x22,0xd900a000 BL2:d9007504 1a0000f0 adrp x26,0xd900a000 BL2:d9007508 1b0000f0 adrp x27,0xd900a000 BL2:d900750c 48060094 bl inv_dcache_range ;undefined inv_dcache_range(ulong par... BL2:d9007510 17008052 mov w23,#0x0 BL2:d9007514 d6821d91 add x22,x22,#0x760 BL2:d9007518 5a431291 add x26,x26,#0x490 BL2:d900751c 7b431091 add x27,x27,#0x410 LAB_d9007520: ;XREF[1,0]: d90075f8 BL2:d9007520 ff02156b cmp w23,w21 BL2:d9007524 02060054 b.cs LAB_d90075e4 BL2:d9007528 02070011 add param_3,w24,#0x1 BL2:d900752c c00640b9 ldr param_1,[x22, #0x4]=>DAT_d900a764 BL2:d9007530 a26700b9 str param_3,[x29, #local_c+0x70] BL2:d9007534 c10a40b9 ldr param_2,[x22, #0x8]=>DAT_d900a768 BL2:d9007538 60020034 cbz param_1,LAB_d9007584 BL2:d900753c 247c0153 lsr w4,param_2,#0x1 BL2:d9007540 050bc41a udiv w5,w24,w4 BL2:d9007544 1f240071 cmp param_1,#0x9 BL2:d9007548 a17c011b mul param_2,w5,param_2 BL2:d900754c 48010054 b.hi LAB_d9007574 BL2:d9007550 a47c041b mul w4,w5,w4 BL2:d9007554 1f180071 cmp param_1,#0x6 BL2:d9007558 0403044b sub w4,w24,w4 BL2:d900755c 61000054 b.ne LAB_d9007568 BL2:d9007560 636b6438 ldrb w3,[x27, x4, LSL ]=>DAT_d900a410 BL2:d9007564 02000014 b LAB_d900756c LAB_d9007568: ;XREF[1,0]: d900755c BL2:d9007568 436b6438 ldrb w3,[x26, x4, LSL ]=>DAT_d900a490 LAB_d900756c: ;XREF[1,0]: d9007564 BL2:d900756c 7800010b add w24,w3,param_2 BL2:d9007570 05000014 b LAB_d9007584 LAB_d9007574: ;XREF[1,0]: d900754c BL2:d9007574 1fa00071 cmp param_1,#0x28 BL2:d9007578 61000054 b.ne LAB_d9007584 BL2:d900757c a3e0041b msub w3,w5,w4,w24 BL2:d9007580 3804030b add w24,param_2,w3, LSL #0x1 LAB_d9007584: ;XREF[3,0]: d9007538,d9007570,d9007578 BL2:d9007584 19008052 mov w25,#0x0 BL2:d9007588 fc02140b add w28,w23,w20 LAB_d900758c: ;XREF[1,0]: d90075e0 BL2:d900758c e403182a mov w4,w24 LAB_d9007590: ;XREF[1,0]: d90075bc BL2:d9007590 e003042a mov param_1,w4 BL2:d9007594 e1031c2a mov param_2,w28 BL2:d9007598 a43700f9 str x4,[x29, #local_8+0x70] BL2:d900759c cffeff97 bl FUN_d90070d8 ;undefined4 FUN_d90070d8(void) BL2:d90075a0 1f080271 cmp param_1,#0x82 BL2:d90075a4 a43740f9 ldr x4,[x29, #local_8+0x70] BL2:d90075a8 21020054 b.ne LAB_d90075ec BL2:d90075ac a26340b9 ldr param_3,[x29, #local_10+0x70] BL2:d90075b0 8400020b add w4,w4,param_3 BL2:d90075b4 8100184b sub param_2,w4,w24 BL2:d90075b8 3ffc0f71 cmp param_2,#0x3ff BL2:d90075bc a9feff54 b.ls LAB_d9007590 BL2:d90075c0 020000f0 adrp param_3,ddrs BL2:d90075c4 41802691 add param_2,param_3,#0x9a0 BL2:d90075c8 210c4079 ldrh param_2,[param_2, #0x6]=>DAT_d900a9a6 BL2:d90075cc 3f03016b cmp w25,param_2 BL2:d90075d0 62010054 b.cs LAB_d90075fc BL2:d90075d4 20008052 mov param_1,#0x1 BL2:d90075d8 39070011 add w25,w25,#0x1 BL2:d90075dc 7cfeff97 bl FUN_d9006fcc ;undefined FUN_d9006fcc(void) BL2:d90075e0 ebffff17 b LAB_d900758c LAB_d90075e4: ;XREF[1,0]: d9007524 BL2:d90075e4 00008052 mov param_1,#0x0 BL2:d90075e8 05000014 b LAB_d90075fc LAB_d90075ec: ;XREF[1,0]: d90075a8 BL2:d90075ec 80000035 cbnz param_1,LAB_d90075fc BL2:d90075f0 f702130b add w23,w23,w19 BL2:d90075f4 b86740b9 ldr w24,[x29, #local_c+0x70] BL2:d90075f8 caffff17 b LAB_d9007520 LAB_d90075fc: ;XREF[3,0]: d90075d0,d90075e8,d90075ec BL2:d90075fc f35341a9 ldp x19,x20,[sp, #local_60+0x70] BL2:d9007600 f55b42a9 ldp x21,x22,[sp, #local_50+0x70] BL2:d9007604 f76343a9 ldp x23,x24,[sp, #local_40+0x70] BL2:d9007608 f96b44a9 ldp x25,x26,[sp, #local_30+0x70] BL2:d900760c fb7345a9 ldp x27,x28,[sp, #local_20+0x70] BL2:d9007610 fd7bc7a8 ldp x29=>local_70,x30,[sp], #0x70 BL2:d9007614 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;int nfio_init(void) ;local_a undefined1 -a ;XREF[1,0]: d9007694 ;local_20 undefined8 -20 ;XREF[2,0]: d900762c,d90078f4 ;local_30 undefined8 -30 ;XREF[2,0]: d9007618,d90078f8 ;XREF[1,0]: d9001894 BL2:d9007618 fd7bbda9 stp x29,x30,[sp, #local_30]! BL2:d900761c fd030091 mov x29,sp BL2:d9007620 010180d2 mov x1,#0x8 BL2:d9007624 000080d2 mov x0,#0x0 BL2:d9007628 a2830091 add x2,x29,#0x20 BL2:d900762c f35301a9 stp x19,x20,[sp, #local_20+0x30] BL2:d9007630 c8ebff97 bl efuse_read ;undefined efuse_read(long param_1, l... BL2:d9007634 20809d52 mov w0,#0xec01 BL2:d9007638 130000f0 adrp x19,0xd900a000 BL2:d900763c 601da072 movk w0,#0xeb, LSL #16 BL2:d9007640 60a209b9 str w0,[x19, #0x9a0]=>DAT_d900a9a0 BL2:d9007644 007c1053 lsr w0,w0,#0x10 BL2:d9007648 74822691 add x20,x19,#0x9a0 BL2:d900764c 00601932 orr w0,w0,#0xffffff80 BL2:d9007650 800a0039 strb w0,[x20, #0x2]=>DAT_d900a9a2 BL2:d9007654 e00f8012 mov w0,#0xffffff80 BL2:d9007658 800e0039 strb w0,[x20, #0x3]=>DAT_d900a9a3 BL2:d900765c 5bfcff97 bl FUN_d90067c8 ;undefined FUN_d90067c8(void) BL2:d9007660 000088d2 mov x0,#0x4000 BL2:d9007664 21408052 mov w1,#0x201 BL2:d9007668 e000baf2 movk x0,#0xd007, LSL #16 BL2:d900766c 0104b272 movk w1,#0x9020, LSL #16 BL2:d9007670 010000b9 str w1,[x0]=>DAT_d0074000 BL2:d9007674 810e4039 ldrb w1,[x20, #0x3]=>DAT_d900a9a3 BL2:d9007678 800c8052 mov w0,#0x64 BL2:d900767c 0000b072 movk w0,#0x8000, LSL #16 BL2:d9007680 211043d3 ubfx x1,x1,#0x3,#0x2 BL2:d9007684 0128012a orr w1,w0,w1, LSL #0xa BL2:d9007688 800089d2 mov x0,#0x4804 BL2:d900768c e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007690 010000b9 str w1,[x0]=>DAT_d0074804 BL2:d9007694 a09b4039 ldrb w0,[x29, #local_a+0x30] BL2:d9007698 00012836 tbz w0,#0x5,LAB_d90076b8 BL2:d900769c 800089d2 mov x0,#0x4804 BL2:d90076a0 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90076a4 010040b9 ldr w1,[x0]=>DAT_d0074804 BL2:d90076a8 800089d2 mov x0,#0x4804 BL2:d90076ac 21000f32 orr w1,w1,#0x20000 BL2:d90076b0 e000baf2 movk x0=>DAT_d0074804,#0xd007, LSL #16 BL2:d90076b4 010000b9 str w1,[x0]=>DAT_d0074804 LAB_d90076b8: ;XREF[1,0]: d9007698 BL2:d90076b8 51fcff97 bl FUN_d90067fc ;undefined4 FUN_d90067fc(void) BL2:d90076bc c0110035 cbnz w0,LAB_d90078f4 BL2:d90076c0 000089d2 mov x0,#0x4800 BL2:d90076c4 01008752 mov w1,#0x3800 BL2:d90076c8 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90076cc 6100a072 movk w1,#0x3, LSL #16 BL2:d90076d0 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90076d4 000089d2 mov x0,#0x4800 BL2:d90076d8 01128f52 mov w1,#0x7890 BL2:d90076dc e000baf2 movk x0,#0xd007, LSL #16 BL2:d90076e0 2100a072 movk w1,#0x1, LSL #16 BL2:d90076e4 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90076e8 000089d2 mov x0,#0x4800 BL2:d90076ec 61008752 mov w1,#0x3803 BL2:d90076f0 e000baf2 movk x0,#0xd007, LSL #16 BL2:d90076f4 6100a072 movk w1,#0x3, LSL #16 BL2:d90076f8 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d90076fc 000089d2 mov x0,#0x4800 BL2:d9007700 01009752 mov w1,#0xb800 BL2:d9007704 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007708 2100a072 movk w1,#0x1, LSL #16 BL2:d900770c 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007710 000089d2 mov x0,#0x4800 BL2:d9007714 61008752 mov w1,#0x3803 BL2:d9007718 e000baf2 movk x0,#0xd007, LSL #16 BL2:d900771c 6100a072 movk w1,#0x3, LSL #16 BL2:d9007720 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007724 000089d2 mov x0,#0x4800 BL2:d9007728 61008752 mov w1,#0x3803 BL2:d900772c e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007730 4100a072 movk w1,#0x2, LSL #16 BL2:d9007734 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d9007738 000089d2 mov x0,#0x4800 BL2:d900773c 01008752 mov w1,#0x3800 BL2:d9007740 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007744 6100a072 movk w1,#0x3, LSL #16 BL2:d9007748 010000b9 str w1,[x0]=>DAT_d0074800 BL2:d900774c 000089d2 mov x0,#0x4800 BL2:d9007750 01008752 mov w1,#0x3800 BL2:d9007754 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007758 6100a072 movk w1,#0x3, LSL #16 BL2:d900775c 010000b9 str w1,[x0]=>DAT_d0074800 LAB_d9007760: ;XREF[1,0]: d9007770 BL2:d9007760 000089d2 mov x0,#0x4800 BL2:d9007764 e000baf2 movk x0,#0xd007, LSL #16 BL2:d9007768 000040b9 ldr w0,[x0]=>DAT_d0074800 BL2:d900776c 006856d3 ubfx x0,x0,#0x16,#0x5 BL2:d9007770 80ffff35 cbnz w0,LAB_d9007760 BL2:d9007774 000289d2 mov x0,#0x4810 BL2:d9007778 e000baf2 movk x0,#0xd007, LSL #16 BL2:d900777c 000040b9 ldr w0,[x0]=>DAT_d0074810 BL2:d9007780 61822691 add x1,x19,#0x9a0 BL2:d9007784 001c0053 uxtb w0,w0 BL2:d9007788 20080079 strh w0,[x1, #0x4]=>DAT_d900a9a4 BL2:d900778c 1f140171 cmp w0,#0x45 BL2:d9007790 a0020054 b.eq LAB_d90077e4 BL2:d9007794 28010054 b.hi LAB_d90077b8 BL2:d9007798 1f1c0071 cmp w0,#0x7 BL2:d900779c a0020054 b.eq LAB_d90077f0 BL2:d90077a0 89020054 b.ls LAB_d90077f0 BL2:d90077a4 1f800071 cmp w0,#0x20 BL2:d90077a8 40020054 b.eq LAB_d90077f0 BL2:d90077ac 1fb00071 cmp w0,#0x2c BL2:d90077b0 60010054 b.eq LAB_d90077dc BL2:d90077b4 0f000014 b LAB_d90077f0 LAB_d90077b8: ;XREF[1,0]: d9007794 BL2:d90077b8 1f600271 cmp w0,#0x98 BL2:d90077bc 00010054 b.eq LAB_d90077dc BL2:d90077c0 89010054 b.ls LAB_d90077f0 BL2:d90077c4 1fb40271 cmp w0,#0xad BL2:d90077c8 40010054 b.eq LAB_d90077f0 BL2:d90077cc 1fb00371 cmp w0,#0xec BL2:d90077d0 01010054 b.ne LAB_d90077f0 BL2:d90077d4 e0018052 mov w0,#0xf BL2:d90077d8 04000014 b LAB_d90077e8 LAB_d90077dc: ;XREF[2,0]: d90077b0,d90077bc BL2:d90077dc 00018052 mov w0,#0x8 BL2:d90077e0 02000014 b LAB_d90077e8 LAB_d90077e4: ;XREF[1,0]: d9007790 BL2:d90077e4 c0028052 mov w0,#0x16 LAB_d90077e8: ;XREF[2,0]: d90077d8,d90077e0 BL2:d90077e8 200c0079 strh w0,[x1, #0x6]=>DAT_d900a9a6 BL2:d90077ec 03000014 b LAB_d90077f8 LAB_d90077f0: ;XREF[7,0]: d900779c,d90077a0,d90077a8,d90077b4 ; d90077c0,d90077c8,d90077d0 BL2:d90077f0 60822691 add x0,x19,#0x9a0 BL2:d90077f4 1f0c0079 strh wzr,[x0, #0x6]=>DAT_d900a9a6 LAB_d90077f8: ;XREF[1,0]: d90077ec BL2:d90077f8 00008052 mov w0,#0x0 BL2:d90077fc 0130a052 mov w1,#DDR:DAT_01800000 BL2:d9007800 02308052 mov w2,#0x180 BL2:d9007804 20ffff97 bl FUN_d9007484 ;int FUN_d9007484(uint param_1, uint ... BL2:d9007808 1f080271 cmp w0,#0x82 BL2:d900780c 01050054 b.ne LAB_d90078ac BL2:d9007810 61822691 add x1,x19,#0x9a0 BL2:d9007814 22084079 ldrh w2,[x1, #0x4]=>DAT_d900a9a4 BL2:d9007818 5f140171 cmp w2,#0x45 BL2:d900781c c1000054 b.ne LAB_d9007834 BL2:d9007820 200c4039 ldrb w0,[x1, #0x3]=>DAT_d900a9a3 BL2:d9007824 3f0c0079 strh wzr,[x1, #0x6]=>DAT_d900a9a6 BL2:d9007828 00000032 orr w0,w0,#0x1 BL2:d900782c 200c0039 strb w0,[x1, #0x3]=>DAT_d900a9a3 BL2:d9007830 1b000014 b LAB_d900789c LAB_d9007834: ;XREF[1,0]: d900781c BL2:d9007834 210c4039 ldrb w1,[x1, #0x3]=>DAT_d900a9a3 BL2:d9007838 211043d3 ubfx x1,x1,#0x3,#0x2 BL2:d900783c 81030035 cbnz w1,LAB_d90078ac BL2:d9007840 5fb00371 cmp w2,#0xec BL2:d9007844 60000054 b.eq LAB_d9007850 BL2:d9007848 5f600271 cmp w2,#0x98 BL2:d900784c 01030054 b.ne LAB_d90078ac LAB_d9007850: ;XREF[1,0]: d9007844 BL2:d9007850 60822691 add x0,x19,#0x9a0 BL2:d9007854 010c4039 ldrb w1,[x0, #0x3]=>DAT_d900a9a3 BL2:d9007858 42008052 mov w2,#0x2 BL2:d900785c 41041d33 bfm w1,w2,#0x1d,#0x1 BL2:d9007860 010c0039 strb w1,[x0, #0x3]=>DAT_d900a9a3 BL2:d9007864 800089d2 mov x0,#0x4804 BL2:d9007868 e000baf2 movk x0,#0xd007, LSL #16 BL2:d900786c 010040b9 ldr w1,[x0]=>DAT_d0074804 BL2:d9007870 800089d2 mov x0,#0x4804 BL2:d9007874 21001532 orr w1,w1,#0x800 BL2:d9007878 e000baf2 movk x0,#0xd007, LSL #16 BL2:d900787c 010000b9 str w1,[x0]=>DAT_d0074804 BL2:d9007880 009e88d2 mov x0,#0x44f0 BL2:d9007884 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9007888 010040b9 ldr w1,[x0]=>DAT_c88344f0 BL2:d900788c 009e88d2 mov x0,#0x44f0 BL2:d9007890 21781012 and w1,w1,#0xffff7fff BL2:d9007894 6010b9f2 movk x0,#0xc883, LSL #16 BL2:d9007898 010000b9 str w1,[x0]=>DAT_c88344f0 LAB_d900789c: ;XREF[1,0]: d9007830 BL2:d900789c 00008052 mov w0,#0x0 BL2:d90078a0 0130a052 mov w1,#DDR:DAT_01800000 BL2:d90078a4 02308052 mov w2,#0x180 BL2:d90078a8 f7feff97 bl FUN_d9007484 ;int FUN_d9007484(uint param_1, uint ... LAB_d90078ac: ;XREF[3,0]: d900780c,d900783c,d900784c BL2:d90078ac 0130a0d2 mov x1,#0x1800000 BL2:d90078b0 230040b9 ldr w3,[x1]=>DDR:DAT_01800000 BL2:d90078b4 62822691 add x2,x19,#0x9a0 BL2:d90078b8 63a209b9 str w3,[x19, #0x9a0]=>DAT_d900a9a0 BL2:d90078bc 23084079 ldrh w3,[x1, #offset DDR:DAT_01800004 &0xff] BL2:d90078c0 21600191 add x1,x1,#0x58 BL2:d90078c4 43080079 strh w3,[x2, #0x4]=>DAT_d900a9a4 BL2:d90078c8 23e05a78 ldurh w3,[x1, #-0x52]=>DDR:DAT_01800006 BL2:d90078cc 430c0079 strh w3,[x2, #0x6]=>DAT_d900a9a6 BL2:d90078d0 430c4039 ldrb w3,[x2, #0x3]=>DAT_d900a9a3 BL2:d90078d4 63741912 and w3,w3,#0xffffff9f BL2:d90078d8 430c0039 strb w3,[x2, #0x3]=>DAT_d900a9a3 BL2:d90078dc 230440b9 ldr w3,[x1, #0x4]=>DDR:DAT_0180005c BL2:d90078e0 020000f0 adrp x2,0xd900a000 BL2:d90078e4 210840b9 ldr w1,[x1, #0x8]=>DDR:DAT_01800060 BL2:d90078e8 42801d91 add x2,x2,#0x760 BL2:d90078ec 430400b9 str w3,[x2, #0x4]=>DAT_d900a764 BL2:d90078f0 410800b9 str w1,[x2, #0x8]=>DAT_d900a768 LAB_d90078f4: ;XREF[1,0]: d90076bc BL2:d90078f4 f35341a9 ldp x19,x20,[sp, #local_20+0x30] BL2:d90078f8 fd7bc3a8 ldp x29=>local_30,x30,[sp], #0x30 BL2:d90078fc c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;int nand_read(undefined8 param_1, uint param_2, uint param_3, uint param_4) ;param_1 undefined8 x0 ;param_2 uint w1 ;param_3 uint w2 ;param_4 uint w3 ;XREF[1,0]: d9001a14 BL2:d9007900 e003012a mov param_1,param_2 BL2:d9007904 e103022a mov param_2,param_3 BL2:d9007908 020000f0 adrp param_3,0xd900a000 BL2:d900790c 44a049b9 ldr w4,[param_3, #0x9a0]=>DAT_d900a9a0 BL2:d9007910 05808052 mov w5,#0x400 BL2:d9007914 845440d3 ubfx x4,x4,#0x0,#0x16 BL2:d9007918 82404ed3 ubfx param_3,x4,#0xe,#0x3 BL2:d900791c 5f040071 cmp param_3,#0x1 BL2:d9007920 02408052 mov param_3,#0x200 BL2:d9007924 a280821a csel param_3,w5,param_3,hi BL2:d9007928 05340012 and w5,param_1,#0x3fff BL2:d900792c e5000035 cbnz w5,LAB_d9007948 BL2:d9007930 84140012 and w4,w4,#0x3f BL2:d9007934 447c041b mul w4,param_3,w4 BL2:d9007938 0008c41a udiv param_1,param_1,w4 BL2:d900793c 00040011 add param_1,param_1,#0x1 BL2:d9007940 e203032a mov param_3,param_4 BL2:d9007944 d0feff17 b FUN_d9007484 ;int FUN_d9007484(uint param_1, uint ... LAB_d9007948: ;XREF[1,0]: d900792c BL2:d9007948 c0108052 mov param_1,#0x86 BL2:d900794c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9007950(long param_1, long param_2) ;param_1 long x0 ;param_2 long x1 ;XREF[2,0]: d9007a68,d9007c58 BL2:d9007950 020080d2 mov x2,#0x0 BL2:d9007954 e303022a mov w3,w2 BL2:d9007958 e40302aa mov x4,x2 LAB_d900795c: ;XREF[1,0]: d9007988 BL2:d900795c 050844b9 ldr w5,[param_1, #0x408] BL2:d9007960 7f00056b cmp w3,w5 BL2:d9007964 42010054 b.cs LAB_d900798c BL2:d9007968 256862b8 ldr w5,[param_2, x2, LSL #0x0] BL2:d900796c 63040011 add w3,w3,#0x1 BL2:d9007970 a400048b add x4,x5,x4 BL2:d9007974 056862b8 ldr w5,[param_1, x2, LSL #0x0] BL2:d9007978 840005cb sub x4,x4,x5 BL2:d900797c 246822b8 str w4,[param_2, x2, LSL #0x0] BL2:d9007980 84fc6093 asr x4,x4,#0x20 BL2:d9007984 42100091 add x2,x2,#0x4 BL2:d9007988 f5ffff17 b LAB_d900795c LAB_d900798c: ;XREF[1,0]: d9007964 BL2:d900798c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9007990(uint * param_1, uint * param_2, long param_3, uint * param_4) ;param_1 uint * x0 ;param_2 uint * x1 ;param_3 long x2 ;param_4 uint * x3 ;local_8 undefined8 -8 ;XREF[2,0]: d9007a64,d9007a6c ;local_10 undefined8 -10 ;XREF[2,0]: d9007a60,d9007a70 ;local_20 undefined8 -20 ;XREF[2,0]: d900799c,d9007a80 ;local_30 undefined8 -30 ;XREF[2,0]: d9007998,d9007a7c ;local_40 undefined8 -40 ;XREF[2,0]: d9007990,d9007a84 ;XREF[4,0]: d9007b40,d9007b64,d9007b90,d9007be0 BL2:d9007990 fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d9007994 fd030091 mov x29,sp BL2:d9007998 f35301a9 stp x19,x20,[sp, #local_30+0x40] BL2:d900799c f51300f9 str x21,[sp, #local_20+0x40] BL2:d90079a0 f30300aa mov x19,param_1 BL2:d90079a4 f40301aa mov x20,param_2 BL2:d90079a8 00008052 mov param_1,#0x0 LAB_d90079ac: ;XREF[1,0]: d90079c0 BL2:d90079ac 610a44b9 ldr param_2,[x19, #0x408] BL2:d90079b0 1f00016b cmp param_1,param_2 BL2:d90079b4 82000054 b.cs LAB_d90079c4 BL2:d90079b8 9f5a20b8 str wzr,[x20, param_1, UXTW #0x2] BL2:d90079bc 00040011 add param_1,param_1,#0x1 BL2:d90079c0 fbffff17 b LAB_d90079ac LAB_d90079c4: ;XREF[1,0]: d90079b4 BL2:d90079c4 15008052 mov w21,#0x0 LAB_d90079c8: ;XREF[1,0]: d9007a78 BL2:d90079c8 600a44b9 ldr param_1,[x19, #0x408] BL2:d90079cc bf02006b cmp w21,param_1 BL2:d90079d0 62050054 b.cs LAB_d9007a7c BL2:d90079d4 800240b9 ldr param_1,[x20] BL2:d90079d8 465875b8 ldr w6,[param_3, w21, UXTW #0x2] BL2:d90079dc 610040b9 ldr param_2,[param_4] BL2:d90079e0 670644b9 ldr w7,[x19, #0x404] BL2:d90079e4 c100a19b umaddl param_2,w6,param_2,param_1 BL2:d90079e8 650240b9 ldr w5,[x19] BL2:d90079ec 207c4092 and param_1,param_2,#0xffffffff BL2:d90079f0 e77c011b mul w7,w7,param_2 BL2:d90079f4 e500a59b umaddl x5,w7,w5,param_1 BL2:d90079f8 24008052 mov w4,#0x1 BL2:d90079fc 000080d2 mov param_1,#0x0 LAB_d9007a00: ;XREF[1,0]: d9007a40 BL2:d9007a00 680a44b9 ldr w8,[x19, #0x408] BL2:d9007a04 00100091 add param_1,param_1,#0x4 BL2:d9007a08 9f00086b cmp w4,w8 BL2:d9007a0c 21fc60d3 lsr param_2,param_2,#0x20 BL2:d9007a10 a5fc60d3 lsr x5,x5,#0x20 BL2:d9007a14 82010054 b.cs LAB_d9007a44 BL2:d9007a18 696860b8 ldr w9,[param_4, param_1, LSL #0x0] BL2:d9007a1c 886a60b8 ldr w8,[x20, param_1, LSL #0x0] BL2:d9007a20 84040011 add w4,w4,#0x1 BL2:d9007a24 c820a99b umaddl x8,w6,w9,x8 BL2:d9007a28 0101018b add param_2,x8,param_2 BL2:d9007a2c 686a60b8 ldr w8,[x19, param_1, LSL #0x0] BL2:d9007a30 e514a89b umaddl x5,w7,w8,x5 BL2:d9007a34 a540218b add x5,x5,param_2, UXTW BL2:d9007a38 8802008b add x8,x20,param_1 BL2:d9007a3c 05c11fb8 stur w5,[x8, #-0x4] BL2:d9007a40 f0ffff17 b LAB_d9007a00 LAB_d9007a44: ;XREF[1,0]: d9007a14 BL2:d9007a44 a100018b add param_2,x5,param_2 BL2:d9007a48 84040051 sub w4,w4,#0x1 BL2:d9007a4c 817a24b8 str param_2,[x20, x4, LSL #0x2] BL2:d9007a50 21fc60d3 lsr param_2,param_2,#0x20 BL2:d9007a54 010100b4 cbz param_2,LAB_d9007a74 BL2:d9007a58 e00313aa mov param_1,x19 BL2:d9007a5c e10314aa mov param_2,x20 BL2:d9007a60 a21b00f9 str param_3,[x29, #local_10+0x40] BL2:d9007a64 a31f00f9 str param_4,[x29, #local_8+0x40] BL2:d9007a68 baffff97 bl FUN_d9007950 ;undefined FUN_d9007950(long param_1,... BL2:d9007a6c a31f40f9 ldr param_4,[x29, #local_8+0x40] BL2:d9007a70 a21b40f9 ldr param_3,[x29, #local_10+0x40] LAB_d9007a74: ;XREF[1,0]: d9007a54 BL2:d9007a74 b5060011 add w21,w21,#0x1 BL2:d9007a78 d4ffff17 b LAB_d90079c8 LAB_d9007a7c: ;XREF[1,0]: d90079d0 BL2:d9007a7c f35341a9 ldp x19,x20,[sp, #local_30+0x40] BL2:d9007a80 f51340f9 ldr x21,[sp, #local_20+0x40] BL2:d9007a84 fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d9007a88 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9007a8c(uint * param_1, undefined * param_2, uint * param_3) ;param_1 uint * x0 ;param_2 undefined * x1 ;param_3 uint * x2 ;local_10 undefined8 -10 ;XREF[2,0]: d9007ab4,d9007c6c ;local_20 undefined8 -20 ;XREF[2,0]: d9007a9c,d9007c68 ;local_30 undefined8 -30 ;XREF[2,0]: d9007a94,d9007c64 ;local_40 undefined8 -40 ;XREF[2,0]: d9007aa4,d9007c60 ;local_50 undefined8 -50 ;XREF[2,0]: d9007a8c,d9007c70 ;XREF[1,0]: d9007ce0 BL2:d9007a8c fd7bbba9 stp x29,x30,[sp, #local_50]! BL2:d9007a90 fd030091 mov x29,sp BL2:d9007a94 f55b02a9 stp x21,x22,[sp, #local_30+0x50] BL2:d9007a98 160844b9 ldr w22,[param_1, #0x408] BL2:d9007a9c f76303a9 stp x23,x24,[sp, #local_20+0x50] BL2:d9007aa0 5508168b add x21,param_3,x22, LSL #0x2 BL2:d9007aa4 f35301a9 stp x19,x20,[sp, #local_40+0x50] BL2:d9007aa8 f80302aa mov x24,param_3 BL2:d9007aac f30300aa mov x19,param_1 BL2:d9007ab0 560c168b add x22,param_3,x22, LSL #0x3 BL2:d9007ab4 f96b04a9 stp x25,x26,[sp, #local_10+0x50] BL2:d9007ab8 f70301aa mov x23,param_2 BL2:d9007abc 000080d2 mov param_1,#0x0 BL2:d9007ac0 0200b812 mov param_3,#0x3fffffff LAB_d9007ac4: ;XREF[1,0]: d9007b10 BL2:d9007ac4 610a44b9 ldr param_2,[x19, #0x408] BL2:d9007ac8 1f00016b cmp param_1,param_2 BL2:d9007acc 42020054 b.cs LAB_d9007b14 BL2:d9007ad0 2100020b add param_2,param_2,param_3 BL2:d9007ad4 2100004b sub param_2,param_2,param_1 BL2:d9007ad8 21741e53 lsl param_2,param_2,#0x2 BL2:d9007adc 230c0011 add w3,param_2,#0x3 BL2:d9007ae0 e403012a mov w4,param_2 BL2:d9007ae4 e46a6438 ldrb w4,[x23, x4, LSL ] BL2:d9007ae8 e36a6338 ldrb w3,[x23, x3, LSL ] BL2:d9007aec 6360042a orr w3,w3,w4, LSL #0x18 BL2:d9007af0 24040011 add w4,param_2,#0x1 BL2:d9007af4 e46a6438 ldrb w4,[x23, x4, LSL ] BL2:d9007af8 21080011 add param_2,param_2,#0x2 BL2:d9007afc e16a6138 ldrb param_2,[x23, param_2, LSL ] BL2:d9007b00 6340042a orr w3,w3,w4, LSL #0x10 BL2:d9007b04 6120012a orr param_2,w3,param_2, LSL #0x8 BL2:d9007b08 017b20b8 str param_2,[x24, param_1, LSL #0x2] BL2:d9007b0c 00040091 add param_1,param_1,#0x1 BL2:d9007b10 edffff17 b LAB_d9007ac4 LAB_d9007b14: ;XREF[1,0]: d9007acc BL2:d9007b14 600242b9 ldr param_1,[x19, #0x200] BL2:d9007b18 19008052 mov w25,#0x0 LAB_d9007b1c: ;XREF[1,0]: d9007b2c BL2:d9007b1c 1f001f6b cmp param_1,wzr BL2:d9007b20 8d000054 b.le LAB_d9007b30 BL2:d9007b24 39070011 add w25,w25,#0x1 BL2:d9007b28 007c0113 asr param_1,param_1,#0x1 BL2:d9007b2c fcffff17 b LAB_d9007b1c LAB_d9007b30: ;XREF[1,0]: d9007b20 BL2:d9007b30 e00313aa mov param_1,x19 BL2:d9007b34 e10316aa mov param_2,x22 BL2:d9007b38 e20318aa mov param_3,x24 BL2:d9007b3c 63120891 add x3,x19,#0x204 BL2:d9007b40 94ffff97 bl FUN_d9007990 ;undefined FUN_d9007990(uint * param_... BL2:d9007b44 390b0051 sub w25,w25,#0x2 BL2:d9007b48 f40316aa mov x20,x22 BL2:d9007b4c 3a008052 mov w26,#0x1 LAB_d9007b50: ;XREF[1,0]: d9007bb0 BL2:d9007b50 3903f837 tbnz w25,#0x1f,LAB_d9007bb4 BL2:d9007b54 e00313aa mov param_1,x19 BL2:d9007b58 e10315aa mov param_2,x21 BL2:d9007b5c e20314aa mov param_3,x20 BL2:d9007b60 e30314aa mov x3,x20 BL2:d9007b64 8bffff97 bl FUN_d9007990 ;undefined FUN_d9007990(uint * param_... BL2:d9007b68 600242b9 ldr param_1,[x19, #0x200] BL2:d9007b6c 9f0216eb cmp x20,x22 BL2:d9007b70 4123d91a lsl param_2,w26,w25 BL2:d9007b74 9412989a csel x20,x20,x24,ne BL2:d9007b78 3f00006a tst param_2,param_1 BL2:d9007b7c 20010054 b.eq LAB_d9007ba0 BL2:d9007b80 e00313aa mov param_1,x19 BL2:d9007b84 e10314aa mov param_2,x20 BL2:d9007b88 e20315aa mov param_3,x21 BL2:d9007b8c e30316aa mov x3,x22 BL2:d9007b90 80ffff97 bl FUN_d9007990 ;undefined FUN_d9007990(uint * param_... BL2:d9007b94 e00315aa mov param_1,x21 BL2:d9007b98 f50314aa mov x21,x20 BL2:d9007b9c f40300aa mov x20,param_1 LAB_d9007ba0: ;XREF[1,0]: d9007b7c BL2:d9007ba0 e00314aa mov param_1,x20 BL2:d9007ba4 39070051 sub w25,w25,#0x1 BL2:d9007ba8 f40315aa mov x20,x21 BL2:d9007bac f50300aa mov x21,param_1 BL2:d9007bb0 e8ffff17 b LAB_d9007b50 LAB_d9007bb4: ;XREF[1,0]: d9007b50 BL2:d9007bb4 620a44b9 ldr param_3,[x19, #0x408] BL2:d9007bb8 01008052 mov param_2,#0x0 BL2:d9007bbc 42747ed3 ubfiz param_3,param_3,#0x2,#0x1e BL2:d9007bc0 e00316aa mov param_1,x22 BL2:d9007bc4 bb030094 bl memset ;ulong memset(ulong param_1, undefine... BL2:d9007bc8 20008052 mov param_1,#0x1 BL2:d9007bcc c00200b9 str param_1,[x22] BL2:d9007bd0 e10315aa mov param_2,x21 BL2:d9007bd4 e00313aa mov param_1,x19 BL2:d9007bd8 e20314aa mov param_3,x20 BL2:d9007bdc e30316aa mov x3,x22 BL2:d9007be0 6cffff97 bl FUN_d9007990 ;undefined FUN_d9007990(uint * param_... LAB_d9007be4: ;XREF[1,0]: d9007c5c BL2:d9007be4 610a44b9 ldr param_2,[x19, #0x408] BL2:d9007be8 e003012a mov param_1,param_2 LAB_d9007bec: ;XREF[1,0]: d9007c04 BL2:d9007bec 20030034 cbz param_1,LAB_d9007c50 BL2:d9007bf0 00040051 sub param_1,param_1,#0x1 BL2:d9007bf4 a35a60b8 ldr w3,[x21, param_1, UXTW #0x2] BL2:d9007bf8 625a60b8 ldr param_3,[x19, param_1, UXTW #0x2] BL2:d9007bfc 7f00026b cmp w3,param_3 BL2:d9007c00 63000054 b.cc LAB_d9007c0c BL2:d9007c04 49ffff54 b.ls LAB_d9007bec BL2:d9007c08 12000014 b LAB_d9007c50 LAB_d9007c0c: ;XREF[1,0]: d9007c00 BL2:d9007c0c 20040051 sub param_1,param_2,#0x1 BL2:d9007c10 b5ca208b add x21,x21,param_1, SXTW #0x2 BL2:d9007c14 e10317aa mov param_2,x23 BL2:d9007c18 030080d2 mov x3,#0x0 LAB_d9007c1c: ;XREF[1,0]: d9007c4c BL2:d9007c1c 2002f837 tbnz param_1,#0x1f,LAB_d9007c60 BL2:d9007c20 a26a63b8 ldr param_3,[x21, x3, LSL #0x0] BL2:d9007c24 00040051 sub param_1,param_1,#0x1 BL2:d9007c28 447c1853 lsr w4,param_3,#0x18 BL2:d9007c2c 24000039 strb w4,[param_2] BL2:d9007c30 447c1053 lsr w4,param_3,#0x10 BL2:d9007c34 24040039 strb w4,[param_2, #0x1] BL2:d9007c38 447c0853 lsr w4,param_3,#0x8 BL2:d9007c3c 24080039 strb w4,[param_2, #0x2] BL2:d9007c40 220c0039 strb param_3,[param_2, #0x3] BL2:d9007c44 631000d1 sub x3,x3,#0x4 BL2:d9007c48 21100091 add param_2,param_2,#0x4 BL2:d9007c4c f4ffff17 b LAB_d9007c1c LAB_d9007c50: ;XREF[2,0]: d9007bec,d9007c08 BL2:d9007c50 e00313aa mov param_1,x19 BL2:d9007c54 e10315aa mov param_2,x21 BL2:d9007c58 3effff97 bl FUN_d9007950 ;undefined FUN_d9007950(long param_1,... BL2:d9007c5c e2ffff17 b LAB_d9007be4 LAB_d9007c60: ;XREF[1,0]: d9007c1c BL2:d9007c60 f35341a9 ldp x19,x20,[sp, #local_40+0x50] BL2:d9007c64 f55b42a9 ldp x21,x22,[sp, #local_30+0x50] BL2:d9007c68 f76343a9 ldp x23,x24,[sp, #local_20+0x50] BL2:d9007c6c f96b44a9 ldp x25,x26,[sp, #local_10+0x50] BL2:d9007c70 fd7bc5a8 ldp x29=>local_50,x30,[sp], #0x50 BL2:d9007c74 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;bool FUN_d9007c78(uint * param_1, long param_2, long param_3, uint * param_4) ;param_1 uint * x0 ;param_2 long x1 ;param_3 long x2 ;param_4 uint * x3 ;local_10 undefined8 -10 ;XREF[2,0]: d9007cc8,d9007cd0 ;local_20e undefined1 -20e ;XREF[1,0]: d9007d14 ;local_20f undefined1 -20f ;XREF[1,0]: d9007ce4 ;local_210 undefined1 -210 ;XREF[1,0]: d9007ce8 ;local_220 undefined8 -220 ;XREF[2,0]: d9007c8c,d9007d6c ;local_230 undefined8 -230 ;XREF[2,0]: d9007c84,d9007d68 ;local_240 undefined8 -240 ;XREF[2,0]: d9007c7c,d9007d70 ;XREF[1,0]: d9002fcc BL2:d9007c78 ff4308d1 sub sp,sp,#0x210 BL2:d9007c7c fd7bbda9 stp x29,x30,[sp, #local_240+0x210]! BL2:d9007c80 fd030091 mov x29,sp BL2:d9007c84 f35301a9 stp x19,x20,[sp, #local_230+0x240] BL2:d9007c88 140844b9 ldr w20,[param_1, #0x408] BL2:d9007c8c f51300f9 str x21,[sp, #local_220+0x240] BL2:d9007c90 846a1b53 lsl w4,w20,#0x5 BL2:d9007c94 9f001071 cmp w4,#0x400 BL2:d9007c98 f30300aa mov x19,param_1 BL2:d9007c9c f50302aa mov x21,param_3 BL2:d9007ca0 e0000054 b.eq LAB_d9007cbc BL2:d9007ca4 9f002071 cmp w4,#0x800 BL2:d9007ca8 a0000054 b.eq LAB_d9007cbc BL2:d9007cac 9f044071 cmp w4,#0x1, LSL #12 BL2:d9007cb0 60000054 b.eq LAB_d9007cbc LAB_d9007cb4: ;XREF[1,0]: d9007d48 BL2:d9007cb4 00008052 mov param_1,#0x0 BL2:d9007cb8 2c000014 b LAB_d9007d68 LAB_d9007cbc: ;XREF[3,0]: d9007ca0,d9007ca8,d9007cb0 BL2:d9007cbc 94761e53 lsl w20,w20,#0x2 BL2:d9007cc0 82767e92 and param_3,x20,#0xfffffffc BL2:d9007cc4 a0c30091 add param_1,x29,#0x30 BL2:d9007cc8 a31b01f9 str param_4,[x29, #local_10+0x240] BL2:d9007ccc 9a030094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d9007cd0 a31b41f9 ldr param_4,[x29, #local_10+0x240] BL2:d9007cd4 e00313aa mov param_1,x19 BL2:d9007cd8 e20303aa mov param_3,param_4 BL2:d9007cdc a1c30091 add param_2,x29,#0x30 BL2:d9007ce0 6bffff97 bl FUN_d9007a8c ;undefined FUN_d9007a8c(uint * param_... BL2:d9007ce4 b3c74039 ldrb w19,[x29, #local_20f+0x240] BL2:d9007ce8 a0c34039 ldrb param_1,[x29, #local_210+0x240] BL2:d9007cec 73020052 eor w19,w19,#0x1 BL2:d9007cf0 7302002a orr w19,w19,param_1 BL2:d9007cf4 94820051 sub w20,w20,#0x20 BL2:d9007cf8 731e0053 uxtb w19,w19 BL2:d9007cfc 030080d2 mov param_4,#0x0 BL2:d9007d00 805a00d1 sub param_1,x20,#0x16 LAB_d9007d04: ;XREF[1,0]: d9007d28 BL2:d9007d04 7f0000eb cmp param_4,param_1 BL2:d9007d08 22010054 b.cs LAB_d9007d2c BL2:d9007d0c a2c30091 add param_3,x29,#0x30 BL2:d9007d10 4100038b add param_2,param_3,param_4 BL2:d9007d14 21084039 ldrb param_2,[x1, #local_20e+0x210] BL2:d9007d18 63040091 add param_4,param_4,#0x1 BL2:d9007d1c e103212a mvn param_2,param_2 BL2:d9007d20 211c0053 uxtb param_2,param_2 BL2:d9007d24 7302012a orr w19,w19,param_2 BL2:d9007d28 f7ffff17 b LAB_d9007d04 LAB_d9007d2c: ;XREF[1,0]: d9007d08 BL2:d9007d2c a1cb0091 add param_2,x29,#0x32 BL2:d9007d30 2000008b add param_1,param_2,param_1 BL2:d9007d34 010000d0 adrp param_2,0xd9009000 BL2:d9007d38 21601591 add param_2=>DAT_d9009558,param_2,#0x558 BL2:d9007d3c 820280d2 mov param_3,#0x14 BL2:d9007d40 70030094 bl FUN_d9008b00 ;int FUN_d9008b00(long param_1, long ... BL2:d9007d44 0000132a orr param_1,param_1,w19 BL2:d9007d48 60fbff35 cbnz param_1,LAB_d9007cb4 BL2:d9007d4c a2c30091 add param_3,x29,#0x30 BL2:d9007d50 4000148b add param_1,param_3,x20 BL2:d9007d54 e10315aa mov param_2,x21 BL2:d9007d58 020480d2 mov param_3,#0x20 BL2:d9007d5c 69030094 bl FUN_d9008b00 ;int FUN_d9008b00(long param_1, long ... BL2:d9007d60 1f001f6b cmp param_1,wzr BL2:d9007d64 e0179f1a cset param_1,eq LAB_d9007d68: ;XREF[1,0]: d9007cb8 BL2:d9007d68 f35341a9 ldp x19,x20,[sp, #local_230+0x240] BL2:d9007d6c f51340f9 ldr x21,[sp, #local_220+0x240] BL2:d9007d70 fd7bc3a8 ldp x29=>local_240,x30,[sp], #0x30 BL2:d9007d74 ff430891 add sp,sp,#0x210 BL2:d9007d78 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined customer_id_check_new(void) ;local_10 undefined8 -10 ;XREF[2,0]: d9007d7c,d9007db8 ;XREF[1,0]: d9007e38 BL2:d9007d7c fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d9007d80 fd030091 mov x29,sp BL2:d9007d84 00a187d2 mov x0,#0x3d08 BL2:d9007d88 2020bbf2 movk x0,#0xd901, LSL #16 BL2:d9007d8c 000040f9 ldr x0,[x0]=>DAT_d9013d08 BL2:d9007d90 400100b4 cbz x0,LAB_d9007db8 BL2:d9007d94 010000f0 adrp x1,0xd900a000 BL2:d9007d98 21200b91 add x1,x1,#0x2c8 BL2:d9007d9c 210840f9 ldr x1,[x1, #0x10]=>plls.customer_id BL2:d9007da0 1f0001eb cmp x0,x1 BL2:d9007da4 a0000054 b.eq LAB_d9007db8 BL2:d9007da8 000000d0 adrp x0,0xd9009000 BL2:d9007dac 00c01591 add x0=>s__ER...,x0,#0x570 ;= "\nERROR! Customer ID not match!\n" BL2:d9007db0 af030094 bl serial_puts ;void serial_puts(char * param_1) LAB_d9007db4: ;XREF[1,0]: d9007db4 BL2:d9007db4 00000014 b LAB_d9007db4 LAB_d9007db8: ;XREF[2,0]: d9007d90,d9007da4 BL2:d9007db8 fd7bc1a8 ldp x29=>local_10,x30,[sp], #0x10 BL2:d9007dbc c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined print_version(void) ;local_10 undefined8 -10 ;XREF[2,0]: d9007dc0,d9007e00 ;XREF[1,0]: d9007e3c BL2:d9007dc0 fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d9007dc4 fd030091 mov x29,sp BL2:d9007dc8 000000d0 adrp x0,0xd9009000 BL2:d9007dcc 00401691 add x0=>s__TE:_d9009590,x0,#0x590 ;= "\nTE: " BL2:d9007dd0 a7030094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9007dd4 003193d2 mov x0,#0x9988 BL2:d9007dd8 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9007ddc 000040b9 ldr w0,[x0]=>DAT_c1109988 BL2:d9007de0 c4030094 bl serial_put_dec ;undefined serial_put_dec(ulong param_1) BL2:d9007de4 000000d0 adrp x0,0xd9009000 BL2:d9007de8 00581691 add x0=>s__BL2_d9009596,x0,#0x596 ;= "\n\nBL2 " BL2:d9007dec a0030094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9007df0 000000d0 adrp x0,0xd9009000 BL2:d9007df4 00400091 add x0=>s_Bui...,x0,#0x10 ;= "Built : 09:01:42, Oct 11 2016. \n... BL2:d9007df8 9d030094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9007dfc 000000d0 adrp x0,0xd9009000 BL2:d9007e00 fd7bc1a8 ldp x29=>local_10,x30,[sp], #0x10 BL2:d9007e04 00741691 add x0=>DAT_d900959d,x0,#0x59d ;= 0Ah BL2:d9007e08 99030014 b serial_puts ;void serial_puts(char * param_1) ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined bl21_handler_new(void) ;local_10 undefined8 -10 ;XREF[2,0]: d9007e0c,d9007e20 ;XREF[1,0]: d9007e40 BL2:d9007e0c fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d9007e10 fd030091 mov x29,sp BL2:d9007e14 008096d2 mov x0,#0xb400 BL2:d9007e18 0020bbf2 movk x0,#0xd900, LSL #16 ;I think this runs a BL21 function BL2:d9007e1c 00003fd6 blr x0=>bl21_board_init_new BL2:d9007e20 fd7bc1a8 ldp x29=>local_10,x30,[sp], #0x10 BL2:d9007e24 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined bl2_main(undefined8 param_1, undefined8 param_2, ulong param_3) ;param_1 undefined8 x0 ;param_2 undefined8 x1 ;param_3 ulong x2 ;local_10 undefined8 -10 ;XREF[1,0]: d9007e28 ;BL1 has a watchdog (see docs/watchdog.md). either ddr_init() or bl2_load_images() disables it. ;XREF[1,0]: d900104c BL2:d9007e28 fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d9007e2c fd030091 mov x29,sp BL2:d9007e30 f3010094 bl FUN_d90085fc ;undefined FUN_d90085fc(void) BL2:d9007e34 97f7ff97 bl pinmux_init ;undefined pinmux_init(void) BL2:d9007e38 d1ffff97 bl customer_id_check_new ;undefined customer_id_check_new(void) BL2:d9007e3c e1ffff97 bl print_version ;undefined print_version(void) BL2:d9007e40 f3ffff97 bl bl21_handler_new ;undefined bl21_handler_new(void) BL2:d9007e44 dd000094 bl bl2_arch_setup ;undefined bl2_arch_setup(void) BL2:d9007e48 1e000094 bl bl2_usb_handler ;undefined8 bl2_usb_handler(undefined... BL2:d9007e4c c4f7ff97 bl bl2_does_nothing_at_all__notsure ;undefined bl2_does_nothing_at_all__n... BL2:d9007e50 20008052 mov param_1,#0x1 BL2:d9007e54 35f7ff97 bl ddr_init ;undefined8 ddr_init(int param_1) BL2:d9007e58 d6e4ff97 bl bl2_platform_setup ;undefined bl2_platform_setup(void) BL2:d9007e5c ccf9ff97 bl bl2_load_image ;undefined bl2_load_image(void) BL2:d9007e60 000000d0 adrp param_1,0xd9009000 BL2:d9007e64 00801691 add param_1=>...,param_1,#0x5a0 ;= "NEVER BE HERE\n" BL2:d9007e68 81030094 bl serial_puts ;void serial_puts(char * param_1) LAB_d9007e6c: ;XREF[1,0]: d9007e6c BL2:d9007e6c 00000014 b LAB_d9007e6c ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 FUN_d9007e70(long param_1, ulong param_2, long param_3) ;param_1 long x0 ;param_2 ulong x1 ;param_3 long x2 ;local_8 undefined8 -8 ;XREF[2,0]: d9007e84,d9007e98 ;local_10 undefined8 -10 ;XREF[2,0]: d9007e7c,d9007e9c ;local_20 undefined8 -20 ;XREF[2,0]: d9007e78,d9007eb4 ;local_30 undefined8 -30 ;XREF[2,0]: d9007e70,d9007eb8 ;XREF[1,0]: d9001a54 BL2:d9007e70 fd7bbda9 stp x29,x30,[sp, #local_30]! BL2:d9007e74 fd030091 mov x29,sp BL2:d9007e78 f30b00f9 str x19,[sp, #local_20+0x30] BL2:d9007e7c a11300f9 str param_2,[x29, #local_10+0x30] BL2:d9007e80 f30300aa mov x19,param_1 BL2:d9007e84 a21700f9 str param_3,[x29, #local_8+0x30] BL2:d9007e88 d8030094 bl FUN_d9008de8 ;undefined FUN_d9008de8(undefined8 pa... BL2:d9007e8c 010000f0 adrp param_2,0xd900a000 BL2:d9007e90 21401491 add param_2,param_2,#0x510 BL2:d9007e94 210040b9 ldr param_2,[param_2]=>DAT_d900a510 ;= 0200C000h BL2:d9007e98 a21740f9 ldr param_3,[x29, #local_8+0x30] BL2:d9007e9c a01340f9 ldr param_1,[x29, #local_10+0x30] BL2:d9007ea0 21304051 sub param_2,param_2,#0xc, LSL #12 BL2:d9007ea4 6102018b add param_2,x19,param_2 BL2:d9007ea8 23030094 bl memcpy ;ulong memcpy(ulong param_1, long par... BL2:d9007eac d6030094 bl FUN_d9008e04 ;undefined FUN_d9008e04(undefined8 pa... BL2:d9007eb0 000080d2 mov param_1,#0x0 BL2:d9007eb4 f30b40f9 ldr x19,[sp, #local_20+0x30] BL2:d9007eb8 fd7bc3a8 ldp x29=>local_30,x30,[sp], #0x30 BL2:d9007ebc c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 bl2_usb_handler(undefined8 param_1, undefined8 param_2, ulong param_3) ;param_1 undefined8 x0 ;param_2 undefined8 x1 ;param_3 ulong x2 ;local_10 undefined8 -10 ;XREF[2,0]: d9007ed0,d90081ac ;local_20 undefined8 -20 ;XREF[2,0]: d9007ec0,d90081b0 ;Looks like BL2 USB-related stuff...which is a "special mode" when sending BL2 with the burning tool. Not sure... ; ;XREF[1,0]: d9007e48 BL2:d9007ec0 fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d9007ec4 fd030091 mov x29,sp BL2:d9007ec8 800380d2 mov param_1,#0x1c BL2:d9007ecc 0042bbf2 movk param_1=>DAT_da10001c,#0xda10, LSL #16 BL2:d9007ed0 f35301a9 stp x19,x20,[sp, #local_10+0x20] BL2:d9007ed4 130040b9 ldr w19,[param_1]=>DAT_da10001c BL2:d9007ed8 59e6ff97 bl get_boot_device ;uint get_boot_device(void) BL2:d9007edc 1f1400f1 cmp param_1,#0x5 BL2:d9007ee0 743e4cd3 ubfx x20,x19,#0xc,#0x4 BL2:d9007ee4 60000054 b.eq LAB_d9007ef0 BL2:d9007ee8 9f0a0071 cmp w20,#0x2 BL2:d9007eec 61120054 b.ne LAB_d9008138 LAB_d9007ef0: ;XREF[1,0]: d9007ee4 BL2:d9007ef0 000000d0 adrp param_1,0xd9009000 BL2:d9007ef4 00d01691 add param_1=>...,param_1,#0x5b4 ;= "BL2 USB \n" BL2:d9007ef8 5d030094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9007efc 000098d2 mov param_1,#0xc000 BL2:d9007f00 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9007f04 030040b9 ldr w3,[param_1]=>DAT_d900c000 BL2:d9007f08 000098d2 mov param_1,#0xc000 BL2:d9007f0c 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9007f10 040440b9 ldr w4,[param_1, #offset DAT_d900c004 &0xff] BL2:d9007f14 000098d2 mov param_1,#0xc000 BL2:d9007f18 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9007f1c 010840b9 ldr param_2,[param_1, #offset DAT_d900c00... BL2:d9007f20 62f59d52 mov param_3,#0xefab BL2:d9007f24 000098d2 mov param_1,#0xc000 BL2:d9007f28 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9007f2c c20aaf72 movk param_3,#0x7856, LSL #16 BL2:d9007f30 020000b9 str param_3,[param_1]=>DAT_d900c000 BL2:d9007f34 9f000871 cmp w4,#0x200 BL2:d9007f38 a1000054 b.ne LAB_d9007f4c BL2:d9007f3c 60b59952 mov param_1,#0xcdab BL2:d9007f40 4082a672 movk param_1,#0x3412, LSL #16 BL2:d9007f44 7f00006b cmp w3,param_1 BL2:d9007f48 c0000054 b.eq LAB_d9007f60 LAB_d9007f4c: ;XREF[1,0]: d9007f38 BL2:d9007f4c 000098d2 mov param_1,#0xc000 BL2:d9007f50 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9007f54 411c8052 mov param_2,#0xe2 BL2:d9007f58 010c00b9 str param_2,[param_1, #offset DAT_d900c00... BL2:d9007f5c 66000014 b switchD_d9007f88::caseD_4 LAB_d9007f60: ;XREF[1,0]: d9007f48 BL2:d9007f60 21304051 sub param_2,param_2,#0xc, LSL #12 BL2:d9007f64 21780351 sub param_2,param_2,#0xde BL2:d9007f68 3f0c0071 cmp param_2,#0x3 BL2:d9007f6c 601c8052 mov param_1,#0xe3 BL2:d9007f70 c80b0054 b.hi LAB_d90080e8 BL2:d9007f74 000000d0 adrp param_1,0xd9009000 BL2:d9007f78 00c01691 add param_1,param_1,#0x5b0 BL2:d9007f7c 02486138 ldrb param_3,[param_1, param_2, UXTW ]=>sw... BL2:d9007f80 63000010 adr x3,0xd9007f8c BL2:d9007f84 6288228b add param_3,x3,param_3, SXTB #0x2 switchD: ; FWD[5,0]: d9007f8c,d9007f94,d9007fbc,d9008030 ; d90080f4 BL2:d9007f88 40001fd6 br param_3 caseD_c0de: ;XREF[1,0]: d9007f88 BL2:d9007f8c 801c8052 mov param_1,#0xe4 BL2:d9007f90 56000014 b LAB_d90080e8 caseD_c0df: ;XREF[1,0]: d9007f88 BL2:d9007f94 00008052 mov param_1,#0x0 BL2:d9007f98 e4f6ff97 bl ddr_init ;undefined8 ddr_init(int param_1) BL2:d9007f9c b8e6ff97 bl FUN_d9001a7c ;uint FUN_d9001a7c(void) BL2:d9007fa0 010098d2 mov param_2,#0xc000 BL2:d9007fa4 0120bbf2 movk param_2,#0xd900, LSL #16 BL2:d9007fa8 1f001f6b cmp param_1,wzr BL2:d9007fac 201800b9 str param_1,[param_2, #offset DAT_d900c01... BL2:d9007fb0 a01c8052 mov param_1,#0xe5 BL2:d9007fb4 00009f1a csel param_1,param_1,wzr,eq BL2:d9007fb8 4c000014 b LAB_d90080e8 caseD_c0e1: ;XREF[1,0]: d9007f88 BL2:d9007fbc 804b80d2 mov param_1,#0x25c BL2:d9007fc0 0042bbf2 movk param_1,#0xda10, LSL #16 BL2:d9007fc4 010040b9 ldr param_2,[param_1]=>DAT_da10025c BL2:d9007fc8 804b80d2 mov param_1,#0x25c BL2:d9007fcc 21000132 orr param_2,param_2,#0x80000000 BL2:d9007fd0 0042bbf2 movk param_1,#0xda10, LSL #16 BL2:d9007fd4 010000b9 str param_2,[param_1]=>DAT_da10025c BL2:d9007fd8 010098d2 mov param_2,#0xc000 BL2:d9007fdc 0120bbf2 movk param_2,#0xd900, LSL #16 BL2:d9007fe0 211840b9 ldr param_2,[param_2, #offset DAT_d900c01... BL2:d9007fe4 000098d2 mov param_1,#0xc000 BL2:d9007fe8 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9007fec 3f040071 cmp param_2,#0x1 BL2:d9007ff0 001c40b9 ldr param_1,[param_1, #offset DAT_d900c01... BL2:d9007ff4 c0000054 b.eq LAB_d900800c BL2:d9007ff8 3f080071 cmp param_2,#0x2 BL2:d9007ffc 61010054 b.ne LAB_d9008028 BL2:d9008000 e003002a mov param_1,param_1 BL2:d9008004 00003fd6 blr param_1 BL2:d9008008 06000014 b LAB_d9008020 LAB_d900800c: ;XREF[1,0]: d9007ff4 BL2:d900800c 010000d0 adrp param_2,0xd900a000 BL2:d9008010 21401491 add param_2=>DAT_d900a510,param_2,#0x510 ;= 0200C000h BL2:d9008014 200000b9 str param_1,[param_2]=>DAT_d900a510 ;= 0200C000h BL2:d9008018 66e4ff97 bl bl2_platform_setup ;undefined bl2_platform_setup(void) BL2:d900801c 5cf9ff97 bl bl2_load_image ;undefined bl2_load_image(void) LAB_d9008020: ;XREF[1,0]: d9008008 BL2:d9008020 00008052 mov param_1,#0x0 BL2:d9008024 31000014 b LAB_d90080e8 LAB_d9008028: ;XREF[1,0]: d9007ffc BL2:d9008028 201d8052 mov param_1,#0xe9 BL2:d900802c 2f000014 b LAB_d90080e8 caseD_c0e0: ;XREF[1,0]: d9007f88 BL2:d9008030 000098d2 mov param_1,#0xc000 BL2:d9008034 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9008038 001840b9 ldr param_1,[param_1, #offset DAT_d900c01... BL2:d900803c 1f040071 cmp param_1,#0x1 BL2:d9008040 21050054 b.ne LAB_d90080e4 BL2:d9008044 000098d2 mov param_1,#0xc000 BL2:d9008048 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d900804c 052440b9 ldr w5,[param_1, #offset DAT_d900c024 &0xff] BL2:d9008050 000098d2 mov param_1,#0xc000 BL2:d9008054 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9008058 021c40b9 ldr param_3,[param_1, #offset DAT_d900c01... BL2:d900805c 000098d2 mov param_1,#0xc000 BL2:d9008060 0020bbf2 movk param_1,#0xd900, LSL #16 BL2:d9008064 032040b9 ldr w3,[param_1, #offset DAT_d900c020 &0xff] BL2:d9008068 010080d2 mov param_2,#0x0 BL2:d900806c 647c0213 asr w4,w3,#0x2 BL2:d9008070 e003012a mov param_1,param_2 BL2:d9008074 63040012 and w3,w3,#0x3 LAB_d9008078: ;XREF[1,0]: d900808c BL2:d9008078 9f00016b cmp w4,param_2 BL2:d900807c a0000054 b.eq LAB_d9008090 BL2:d9008080 467861b8 ldr w6,[param_3, param_2, LSL #0x2] BL2:d9008084 21040091 add param_2,param_2,#0x1 BL2:d9008088 0000060b add param_1,param_1,w6 BL2:d900808c fbffff17 b LAB_d9008078 LAB_d9008090: ;XREF[1,0]: d900807c BL2:d9008090 7f040071 cmp w3,#0x1 BL2:d9008094 817c7ed3 ubfiz param_2,x4,#0x2,#0x20 BL2:d9008098 61000054 b.ne LAB_d90080a4 BL2:d900809c 41686138 ldrb param_2,[param_3, param_2, LSL ] BL2:d90080a0 09000014 b LAB_d90080c4 LAB_d90080a4: ;XREF[1,0]: d9008098 BL2:d90080a4 7f080071 cmp w3,#0x2 BL2:d90080a8 61000054 b.ne LAB_d90080b4 BL2:d90080ac 41686178 ldrh param_2,[param_3, param_2, LSL #0x0] BL2:d90080b0 05000014 b LAB_d90080c4 LAB_d90080b4: ;XREF[1,0]: d90080a8 BL2:d90080b4 7f0c0071 cmp w3,#0x3 BL2:d90080b8 81000054 b.ne LAB_d90080c8 BL2:d90080bc 416861b8 ldr param_2,[param_3, param_2, LSL #0x0] BL2:d90080c0 215c0012 and param_2,param_2,#0xffffff LAB_d90080c4: ;XREF[2,0]: d90080a0,d90080b0 BL2:d90080c4 0000010b add param_1,param_1,param_2 LAB_d90080c8: ;XREF[1,0]: d90080b8 BL2:d90080c8 010098d2 mov param_2,#0xc000 BL2:d90080cc 0120bbf2 movk param_2,#0xd900, LSL #16 BL2:d90080d0 1f00056b cmp param_1,w5 BL2:d90080d4 202800b9 str param_1,[param_2, #offset DAT_d900c02... BL2:d90080d8 c01c8052 mov param_1,#0xe6 BL2:d90080dc 00109f1a csel param_1,param_1,wzr,ne BL2:d90080e0 02000014 b LAB_d90080e8 LAB_d90080e4: ;XREF[1,0]: d9008040 BL2:d90080e4 001d8052 mov param_1,#0xe8 LAB_d90080e8: ;XREF[6,0]: d9007f70,d9007f90,d9007fb8,d9008024 ; d900802c,d90080e0 BL2:d90080e8 010098d2 mov param_2,#0xc000 BL2:d90080ec 0120bbf2 movk param_2,#0xd900, LSL #16 BL2:d90080f0 200c00b9 str param_1,[param_2, #offset DAT_d900c00... caseD_4: ;XREF[2,0]: d9007f5c,d9007f88 BL2:d90080f4 80a180d2 mov param_1,#0x50c BL2:d90080f8 8020bbf2 movk param_1,#0xd904, LSL #16 BL2:d90080fc 010040b9 ldr param_2,[param_1]=>DAT_d904050c BL2:d9008100 40048052 mov param_1,#0x22 BL2:d9008104 0050aa72 movk param_1,#0x5280, LSL #16 BL2:d9008108 3f00006b cmp param_2,param_1 BL2:d900810c e0000054 b.eq LAB_d9008128 BL2:d9008110 c09f8052 mov param_1,#0x4fe BL2:d9008114 0080b272 movk param_1,#0x9400, LSL #16 BL2:d9008118 3f00006b cmp param_2,param_1 BL2:d900811c a0000054 b.eq LAB_d9008130 BL2:d9008120 80a088d2 mov param_1,#0x4504 BL2:d9008124 1f000014 b LAB_d90081a0 LAB_d9008128: ;XREF[1,0]: d900810c BL2:d9008128 00c888d2 mov param_1,#0x4640 BL2:d900812c 1d000014 b LAB_d90081a0 LAB_d9008130: ;XREF[1,0]: d900811c BL2:d9008130 00a788d2 mov param_1,#0x4538 BL2:d9008134 1b000014 b LAB_d90081a0 LAB_d9008138: ;XREF[1,0]: d9007eec BL2:d9008138 9f060071 cmp w20,#0x1 BL2:d900813c 61030054 b.ne LAB_d90081a8 BL2:d9008140 000000b0 adrp param_1,0xd9009000 BL2:d9008144 00f81691 add param_1=>...,param_1,#0x5be ;= "Skip usb!\n" BL2:d9008148 c9020094 bl serial_puts ;void serial_puts(char * param_1) BL2:d900814c 736e1012 and w19,w19,#0xffff0fff BL2:d9008150 800380d2 mov param_1,#0x1c BL2:d9008154 0042bbf2 movk param_1,#0xda10, LSL #16 BL2:d9008158 73021332 orr w19,w19,#0x2000 BL2:d900815c 130000b9 str w19,[param_1]=>DAT_da10001c BL2:d9008160 80a180d2 mov param_1,#0x50c BL2:d9008164 8020bbf2 movk param_1,#0xd904, LSL #16 BL2:d9008168 010040b9 ldr param_2,[param_1]=>DAT_d904050c BL2:d900816c 40048052 mov param_1,#0x22 BL2:d9008170 0050aa72 movk param_1,#0x5280, LSL #16 BL2:d9008174 3f00006b cmp param_2,param_1 BL2:d9008178 e0000054 b.eq LAB_d9008194 BL2:d900817c c09f8052 mov param_1,#0x4fe BL2:d9008180 0080b272 movk param_1,#0x9400, LSL #16 BL2:d9008184 3f00006b cmp param_2,param_1 BL2:d9008188 a0000054 b.eq LAB_d900819c BL2:d900818c 00be87d2 mov param_1,#0x3df0 BL2:d9008190 04000014 b LAB_d90081a0 LAB_d9008194: ;XREF[1,0]: d9008178 BL2:d9008194 80a987d2 mov param_1,#0x3d4c BL2:d9008198 02000014 b LAB_d90081a0 LAB_d900819c: ;XREF[1,0]: d9008188 BL2:d900819c 80c487d2 mov param_1,#0x3e24 LAB_d90081a0: ;XREF[5,0]: d9008124,d900812c,d9008134,d9008190 ; d9008198 BL2:d90081a0 8020bbf2 movk param_1,#0xd904, LSL #16 BL2:d90081a4 aaf8ff97 bl FUN_d900644c ;undefined FUN_d900644c(undefined8 pa... LAB_d90081a8: ;XREF[1,0]: d900813c BL2:d90081a8 00008052 mov param_1,#0x0 BL2:d90081ac f35341a9 ldp x19,x20,[sp, #local_10+0x20] BL2:d90081b0 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d90081b4 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined bl2_arch_setup(void) ;local_10 undefined8 -10 ;XREF[2,0]: d90081b8,d90081cc ;XREF[1,0]: d9007e44 BL2:d90081b8 fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d90081bc fd030091 mov x29,sp BL2:d90081c0 0006a0d2 mov x0,#0x300000 BL2:d90081c4 90030094 bl write_cpacr ;undefined write_cpacr(undefined8 par... BL2:d90081c8 29eaff97 bl saradc_ch1_get ;ulong saradc_ch1_get(void) BL2:d90081cc fd7bc1a8 ldp x29=>local_10,x30,[sp], #0x10 BL2:d90081d0 3be9ff17 b pll_init ;undefined8 pll_init(void) ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d90081d4(uint param_1) ;param_1 uint w0 ;XREF[3,0]: d900849c,d9008500,d9008550 BL2:d90081d4 02440072 ands w2,param_1,#0x3ffff BL2:d90081d8 e103002a mov w1,param_1 BL2:d90081dc e1000054 b.ne LAB_d90081f8 BL2:d90081e0 000000b0 adrp param_1,0xd9009000 BL2:d90081e4 030000b0 adrp x3,0xd9009000 BL2:d90081e8 00241791 add param_1=>DAT_d90095c9,param_1,#0x5c9 ;= 0Dh BL2:d90081ec 21741e53 lsl w1,w1,#0x2 BL2:d90081f0 637c1691 add x3=>CHAR_NUL,x3,#0x59f ;= '\0' BL2:d90081f4 d9020014 b serial_print_new ;void serial_print_new(char * prefix,... LAB_d90081f8: ;XREF[1,0]: d90081dc BL2:d90081f8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 FUN_d90081fc(char * param_1, ulong param_2, uint param_3, uint param_4) ;param_1 char * x0 ;param_2 ulong x1 ;param_3 uint w2 ;param_4 uint w3 ;local_10 undefined8 -10 ;XREF[2,0]: d900821c,d9008238 ;local_20 undefined8 -20 ;XREF[2,0]: d9008218,d900828c ;local_30 undefined8 -30 ;XREF[2,0]: d9008204,d9008288 ;local_40 undefined8 -40 ;XREF[2,0]: d90081fc,d9008290 ;XREF[6,0]: d90082dc,d9008380,d90083dc,d9008410 ; d90084ec,d9008544 BL2:d90081fc fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d9008200 fd030091 mov x29,sp BL2:d9008204 f35301a9 stp x19,x20,[sp, #local_30+0x40] BL2:d9008208 f30300aa mov x19,param_1 BL2:d900820c 000000b0 adrp param_1,0xd9009000 BL2:d9008210 00341791 add param_1=>s__d90095cd,param_1,#0x5cd ;= " " BL2:d9008214 f403032a mov w20,param_4 BL2:d9008218 f51300f9 str x21,[sp, #local_20+0x40] BL2:d900821c a11b00f9 str param_2,[x29, #local_10+0x40] BL2:d9008220 f503022a mov w21,param_3 ;" -W[0xSOMETHING,R:0xSOMETHING" BL2:d9008224 92020094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9008228 e00313aa mov param_1,x19 BL2:d900822c 90020094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9008230 130000b0 adrp x19,0xd9009000 BL2:d9008234 737e1691 add x19,x19,#0x59f BL2:d9008238 a11b40f9 ldr param_2,[x29, #local_10+0x40] BL2:d900823c 000000b0 adrp param_1,0xd9009000 BL2:d9008240 e30313aa mov param_4=>CHAR_NUL,x19 ;= '\0' BL2:d9008244 00401791 add param_1=>s_-W[0x_d90095d0,param_1,#0x5d0;= "-W[0x" BL2:d9008248 02008052 mov param_3,#0x0 BL2:d900824c c3020094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9008250 000000b0 adrp param_1,0xd9009000 BL2:d9008254 e103152a mov param_2,w21 BL2:d9008258 e30313aa mov param_4=>CHAR_NUL,x19 ;= '\0' BL2:d900825c 00581791 add param_1=>s_]:0x_d90095d6,param_1,#0x5d6 ;= "]:0x" BL2:d9008260 02008052 mov param_3,#0x0 BL2:d9008264 bd020094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9008268 000000b0 adrp param_1,0xd9009000 BL2:d900826c 030000b0 adrp param_4,0xd9009000 BL2:d9008270 e103142a mov param_2,w20 BL2:d9008274 006c1791 add param_1=>s_,R:0x_d90095db,param_1,#0x5db;= ",R:0x" BL2:d9008278 02008052 mov param_3,#0x0 BL2:d900827c 63781691 add param_4=>CHAR_NL,param_4,#0x59e ;= '\n' BL2:d9008280 b6020094 bl serial_print_new ;void serial_print_new(char * prefix,... BL2:d9008284 20008052 mov param_1,#0x1 BL2:d9008288 f35341a9 ldp x19,x20,[sp, #local_30+0x40] BL2:d900828c f51340f9 ldr x21,[sp, #local_20+0x40] BL2:d9008290 fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d9008294 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 memTestDataBus(uint * address) ;address uint * x0 ;XREF[1,0]: d90082b4 ;ret undefined8 x0 ;XREF[1,0]: d90082b4 ;pattern undefined4 w19 ;XREF[1,0]: d90082c0 ;local_10 undefined8 -10 ;XREF[2,0]: d90082a0,d90082f0 ;local_20 undefined8 -20 ;XREF[2,0]: d90082a8,d90082ec ;local_30 undefined8 -30 ;XREF[2,0]: d9008298,d90082f4 ;XREF[1,0]: d9005a68 BL2:d9008298 fd7bbda9 stp x29,x30,[sp, #local_30]! BL2:d900829c fd030091 mov x29,sp BL2:d90082a0 f55b02a9 stp x21,x22,[sp, #local_10+0x30] BL2:d90082a4 160000b0 adrp x22,0xd9009000 BL2:d90082a8 f35301a9 stp x19,x20,[sp, #local_20+0x30] BL2:d90082ac f50300aa mov x21,address BL2:d90082b0 14048052 mov w20,#0x20 BL2:d90082b4 00008052 mov ret,#0x0 BL2:d90082b8 33008052 mov w19,#0x1 BL2:d90082bc d6861791 add x22,x22,#0x5e1 LAB_d90082c0: ;XREF[1,0]: d90082e8 BL2:d90082c0 b30200b9 str pattern,[x21] BL2:d90082c4 a30240b9 ldr w3,[x21] BL2:d90082c8 7f00136b cmp w3,pattern BL2:d90082cc a0000054 b.eq LAB_d90082e0 BL2:d90082d0 e00316aa mov ret=>s_DATA_d90095e1,x22 ;= "DATA" BL2:d90082d4 e103152a mov w1,w21 BL2:d90082d8 e203132a mov w2,pattern BL2:d90082dc c8ffff97 bl FUN_d90081fc ;undefined8 FUN_d90081fc(char * param... LAB_d90082e0: ;XREF[1,0]: d90082cc BL2:d90082e0 94060071 subs w20,w20,#0x1 BL2:d90082e4 737a1f53 lsl pattern,pattern,#0x1 BL2:d90082e8 c1feff54 b.ne LAB_d90082c0 BL2:d90082ec f35341a9 ldp pattern,x20,[sp, #local_20+0x30] BL2:d90082f0 f55b42a9 ldp x21,x22,[sp, #local_10+0x30] BL2:d90082f4 fd7bc3a8 ldp x29=>local_30,x30,[sp], #0x30 BL2:d90082f8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;ulong memTestAddressBus(uint * param_1, ulong param_2) ;param_1 uint * x0 ;param_2 ulong x1 ;local_10 undefined8 -10 ;XREF[2,0]: d900831c,d9008438 ;local_20 undefined8 -20 ;XREF[2,0]: d9008318,d9008434 ;local_30 undefined8 -30 ;XREF[2,0]: d9008310,d9008430 ;local_40 undefined8 -40 ;XREF[2,0]: d900830c,d900842c ;local_50 undefined8 -50 ;XREF[2,0]: d9008308,d9008428 ;local_60 undefined8 -60 ;XREF[2,0]: d90082fc,d900843c ;XREF[1,0]: d9005aa0 BL2:d90082fc fd7bbaa9 stp x29,x30,[sp, #local_60]! BL2:d9008300 fd030091 mov x29,sp BL2:d9008304 217c0253 lsr param_2,param_2,#0x2 BL2:d9008308 f35301a9 stp x19,x20,[sp, #local_50+0x60] BL2:d900830c f55b02a9 stp x21,x22,[sp, #local_40+0x60] BL2:d9008310 f76303a9 stp x23,x24,[sp, #local_30+0x60] BL2:d9008314 35040051 sub w21,param_2,#0x1 BL2:d9008318 f96b04a9 stp x25,x26,[sp, #local_20+0x60] BL2:d900831c fb7305a9 stp x27,x28,[sp, #local_10+0x60] BL2:d9008320 f30300aa mov x19,param_1 BL2:d9008324 21008052 mov param_2,#0x1 BL2:d9008328 e2f30132 orr w2,wzr,#0xaaaaaaaa LAB_d900832c: ;XREF[1,0]: d9008340 BL2:d900832c 2000156a ands param_1,param_2,w21 BL2:d9008330 a0000054 b.eq LAB_d9008344 BL2:d9008334 207c7ed3 ubfiz param_1,param_2,#0x2,#0x20 BL2:d9008338 626a20b8 str w2,[x19, param_1, LSL #0x0] BL2:d900833c 21781f53 lsl param_2,param_2,#0x1 BL2:d9008340 fbffff17 b LAB_d900832c LAB_d9008344: ;XREF[1,0]: d9008330 BL2:d9008344 e1f30032 orr param_2,wzr,#0x55555555 BL2:d9008348 170000b0 adrp x23,0xd9009000 BL2:d900834c 610200b9 str param_2,[x19] BL2:d9008350 34008052 mov w20,#0x1 BL2:d9008354 f6f30132 orr w22,wzr,#0xaaaaaaaa BL2:d9008358 f79a1791 add x23,x23,#0x5e6 LAB_d900835c: ;XREF[1,0]: d9008388 BL2:d900835c 9f02156a tst w20,w21 BL2:d9008360 60010054 b.eq LAB_d900838c BL2:d9008364 817e7ed3 ubfiz param_2,x20,#0x2,#0x20 BL2:d9008368 636a61b8 ldr w3,[x19, param_2, LSL #0x0] BL2:d900836c 7f00166b cmp w3,w22 BL2:d9008370 a0000054 b.eq LAB_d9008384 BL2:d9008374 e00317aa mov param_1=>DAT_d90095e6,x23 ;= 41h A BL2:d9008378 81761e53 lsl param_2,w20,#0x2 BL2:d900837c e2f30132 orr w2,wzr,#0xaaaaaaaa BL2:d9008380 9fffff97 bl FUN_d90081fc ;undefined8 FUN_d90081fc(char * param... LAB_d9008384: ;XREF[1,0]: d9008370 BL2:d9008384 947a1f53 lsl w20,w20,#0x1 BL2:d9008388 f5ffff17 b LAB_d900835c LAB_d900838c: ;XREF[1,0]: d9008360 BL2:d900838c fcf30132 orr w28,wzr,#0xaaaaaaaa BL2:d9008390 1a0000b0 adrp x26,0xd9009000 BL2:d9008394 1b0000b0 adrp x27,0xd9009000 BL2:d9008398 7c0200b9 str w28,[x19] BL2:d900839c 34008052 mov w20,#0x1 BL2:d90083a0 f9f30032 orr w25,wzr,#0x55555555 BL2:d90083a4 5aaf1791 add x26,x26,#0x5eb BL2:d90083a8 7bc71791 add x27,x27,#0x5f1 LAB_d90083ac: ;XREF[1,0]: d9008424 BL2:d90083ac 9f02156a tst w20,w21 BL2:d90083b0 c0030054 b.eq LAB_d9008428 BL2:d90083b4 977e7ed3 ubfiz x23,x20,#0x2,#0x20 BL2:d90083b8 796a37b8 str w25,[x19, x23, LSL #0x0] BL2:d90083bc 610240b9 ldr param_2,[x19] BL2:d90083c0 98761e53 lsl w24,w20,#0x2 BL2:d90083c4 3f001c6b cmp param_2,w28 BL2:d90083c8 c0000054 b.eq LAB_d90083e0 BL2:d90083cc 630240b9 ldr w3,[x19] BL2:d90083d0 e0031aaa mov param_1=>s_ADDR2_d90095eb,x26 ;= "ADDR2" BL2:d90083d4 e103182a mov param_2,w24 BL2:d90083d8 e2f30032 orr w2,wzr,#0x55555555 BL2:d90083dc 88ffff97 bl FUN_d90081fc ;undefined8 FUN_d90081fc(char * param... LAB_d90083e0: ;XREF[1,0]: d90083c8 BL2:d90083e0 36008052 mov w22,#0x1 LAB_d90083e4: ;XREF[1,0]: d9008418 BL2:d90083e4 df02156a tst w22,w21 BL2:d90083e8 a0010054 b.eq LAB_d900841c BL2:d90083ec c17e7ed3 ubfiz param_2,x22,#0x2,#0x20 BL2:d90083f0 636a61b8 ldr w3,[x19, param_2, LSL #0x0] BL2:d90083f4 7f001c6b cmp w3,w28 BL2:d90083f8 e0000054 b.eq LAB_d9008414 BL2:d90083fc df02146b cmp w22,w20 BL2:d9008400 a0000054 b.eq LAB_d9008414 BL2:d9008404 e0031baa mov param_1=>s_ADDR3_d90095f1,x27 ;= "ADDR3" BL2:d9008408 e103182a mov param_2,w24 BL2:d900840c e2f30032 orr w2,wzr,#0x55555555 BL2:d9008410 7bffff97 bl FUN_d90081fc ;undefined8 FUN_d90081fc(char * param... LAB_d9008414: ;XREF[2,0]: d90083f8,d9008400 BL2:d9008414 d67a1f53 lsl w22,w22,#0x1 BL2:d9008418 f3ffff17 b LAB_d90083e4 LAB_d900841c: ;XREF[1,0]: d90083e8 BL2:d900841c 7c6a37b8 str w28,[x19, x23, LSL #0x0] BL2:d9008420 947a1f53 lsl w20,w20,#0x1 BL2:d9008424 e2ffff17 b LAB_d90083ac LAB_d9008428: ;XREF[1,0]: d90083b0 BL2:d9008428 f35341a9 ldp x19,x20,[sp, #local_50+0x60] BL2:d900842c f55b42a9 ldp x21,x22,[sp, #local_40+0x60] BL2:d9008430 f76343a9 ldp x23,x24,[sp, #local_30+0x60] BL2:d9008434 f96b44a9 ldp x25,x26,[sp, #local_20+0x60] BL2:d9008438 fb7345a9 ldp x27,x28,[sp, #local_10+0x60] BL2:d900843c fd7bc6a8 ldp x29=>local_60,x30,[sp], #0x60 BL2:d9008440 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;ulong memTestDevice(uint * param_1, ulong param_2) ;param_1 uint * x0 ;param_2 ulong x1 ;local_10 undefined8 -10 ;XREF[2,0]: d9008474,d900857c ;local_20 undefined8 -20 ;XREF[2,0]: d9008470,d9008578 ;local_30 undefined8 -30 ;XREF[2,0]: d9008450,d9008574 ;local_40 undefined8 -40 ;XREF[2,0]: d900844c,d900856c ;local_50 undefined8 -50 ;XREF[2,0]: d900846c,d9008570 ;local_60 undefined8 -60 ;XREF[2,0]: d9008444,d9008580 ;XREF[1,0]: d9005ae4 BL2:d9008444 fd7bbaa9 stp x29,x30,[sp, #local_60]! BL2:d9008448 fd030091 mov x29,sp BL2:d900844c f55b02a9 stp x21,x22,[sp, #local_40+0x60] BL2:d9008450 f76303a9 stp x23,x24,[sp, #local_30+0x60] BL2:d9008454 150000b0 adrp x21,0xd9009000 BL2:d9008458 f70300aa mov x23,param_1 BL2:d900845c 000000b0 adrp param_1,0xd9009000 BL2:d9008460 00dc1791 add param_1=>...,param_1,#0x5f7 ;= "\nTotal Size 0x" BL2:d9008464 02008052 mov w2,#0x0 BL2:d9008468 a37a1691 add x3=>CHAR_NL,x21,#0x59e ;= '\n' BL2:d900846c f35301a9 stp x19,x20,[sp, #local_50+0x60] BL2:d9008470 f96b04a9 stp x25,x26,[sp, #local_20+0x60] BL2:d9008474 fb2b00f9 str x27,[sp, #local_10+0x60] BL2:d9008478 367c0253 lsr w22,param_2,#0x2 BL2:d900847c 130080d2 mov x19,#0x0 BL2:d9008480 36020094 bl serial_print_new ;void serial_print_new(char * prefix,... LAB_d9008484: ;XREF[1,0]: d90084a4 BL2:d9008484 7f02166b cmp w19,w22 BL2:d9008488 60060011 add param_1,w19,#0x1 BL2:d900848c e2000054 b.cs LAB_d90084a8 BL2:d9008490 61f67ed3 lsl param_2,x19,#0x2 BL2:d9008494 e06a21b8 str param_1,[x23, param_2, LSL #0x0] BL2:d9008498 e003132a mov param_1,w19 BL2:d900849c 4effff97 bl FUN_d90081d4 ;undefined FUN_d90081d4(uint param_1) BL2:d90084a0 73060091 add x19,x19,#0x1 BL2:d90084a4 f8ffff17 b LAB_d9008484 LAB_d90084a8: ;XREF[1,0]: d900848c BL2:d90084a8 a07a1691 add param_1=>CHAR_NL,x21,#0x59e ;= '\n' BL2:d90084ac 14008052 mov w20,#0x0 BL2:d90084b0 1a0000b0 adrp x26,0xd9009000 BL2:d90084b4 ee010094 bl serial_puts ;void serial_puts(char * param_1) BL2:d90084b8 f90317aa mov x25,x23 BL2:d90084bc f303142a mov w19,w20 BL2:d90084c0 5a1b1891 add x26,x26,#0x606 BL2:d90084c4 3b008012 mov w27,#0xfffffffe LAB_d90084c8: ;XREF[1,0]: d9008508 BL2:d90084c8 7f02166b cmp w19,w22 BL2:d90084cc 78060011 add w24,w19,#0x1 BL2:d90084d0 e0010054 b.eq LAB_d900850c BL2:d90084d4 230340b9 ldr w3,[x25] BL2:d90084d8 7f00186b cmp w3,w24 BL2:d90084dc c0000054 b.eq LAB_d90084f4 BL2:d90084e0 e0031aaa mov param_1=>s_FULL_d9009606,x26 ;= "FULL" BL2:d90084e4 61761e53 lsl param_2,w19,#0x2 BL2:d90084e8 e203182a mov w2,w24 BL2:d90084ec 44ffff97 bl FUN_d90081fc ;undefined8 FUN_d90081fc(char * param... BL2:d90084f0 f403002a mov w20,param_1 LAB_d90084f4: ;XREF[1,0]: d90084dc BL2:d90084f4 6003134b sub param_1,w27,w19 BL2:d90084f8 204700b8 str param_1,[x25], #0x4 BL2:d90084fc e003132a mov param_1,w19 BL2:d9008500 35ffff97 bl FUN_d90081d4 ;undefined FUN_d90081d4(uint param_1) BL2:d9008504 f303182a mov w19,w24 BL2:d9008508 f0ffff17 b LAB_d90084c8 LAB_d900850c: ;XREF[1,0]: d90084d0 BL2:d900850c a07a1691 add param_1=>CHAR_NL,x21,#0x59e ;= '\n' BL2:d9008510 190000b0 adrp x25,0xd9009000 BL2:d9008514 d6010094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9008518 13008052 mov w19,#0x0 BL2:d900851c 38008012 mov w24,#0xfffffffe BL2:d9008520 392f1891 add x25,x25,#0x60b LAB_d9008524: ;XREF[1,0]: d900855c BL2:d9008524 7f02166b cmp w19,w22 BL2:d9008528 c0010054 b.eq LAB_d9008560 BL2:d900852c e30240b9 ldr w3,[x23] BL2:d9008530 0203134b sub w2,w24,w19 BL2:d9008534 7f00026b cmp w3,w2 BL2:d9008538 a0000054 b.eq LAB_d900854c BL2:d900853c e00319aa mov param_1=>s_FULL2_d900960b,x25 ;= "FULL2" BL2:d9008540 61761e53 lsl param_2,w19,#0x2 BL2:d9008544 2effff97 bl FUN_d90081fc ;undefined8 FUN_d90081fc(char * param... BL2:d9008548 f403002a mov w20,param_1 LAB_d900854c: ;XREF[1,0]: d9008538 BL2:d900854c e003132a mov param_1,w19 BL2:d9008550 21ffff97 bl FUN_d90081d4 ;undefined FUN_d90081d4(uint param_1) BL2:d9008554 73060011 add w19,w19,#0x1 BL2:d9008558 f7120091 add x23,x23,#0x4 BL2:d900855c f2ffff17 b LAB_d9008524 LAB_d9008560: ;XREF[1,0]: d9008528 BL2:d9008560 a07a1691 add param_1=>CHAR_NL,x21,#0x59e ;= '\n' BL2:d9008564 c2010094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9008568 e003142a mov param_1,w20 BL2:d900856c f55b42a9 ldp x21,x22,[sp, #local_40+0x60] BL2:d9008570 f35341a9 ldp x19,x20,[sp, #local_50+0x60] BL2:d9008574 f76343a9 ldp x23,x24,[sp, #local_30+0x60] BL2:d9008578 f96b44a9 ldp x25,x26,[sp, #local_20+0x60] BL2:d900857c fb2b40f9 ldr x27,[sp, #local_10+0x60] BL2:d9008580 fd7bc6a8 ldp x29=>local_60,x30,[sp], #0x60 BL2:d9008584 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008588(void) ;local_10 undefined8 -10 ;XREF[2,0]: d9008598,d90085f0 ;local_20 undefined8 -20 ;XREF[2,0]: d9008588,d90085f4 ;XREF[1,0]: d9008604 BL2:d9008588 fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d900858c fd030091 mov x29,sp BL2:d9008590 80a98fd2 mov x0,#0x7d4c BL2:d9008594 0022b8f2 movk x0,#0xc110, LSL #16 BL2:d9008598 f30b00f9 str x19,[sp, #local_10+0x20] ;Very much undocumented. BL2:d900859c 07020094 bl mmio_read_X__notsure ;undefined4 mmio_read_X__notsure(unde... BL2:d90085a0 131c0053 uxtb w19,w0 BL2:d90085a4 00b588d2 mov x0,#0x45a8 BL2:d90085a8 6050bbf2 movk x0,#0xda83, LSL #16 BL2:d90085ac 03020094 bl mmio_read_X__notsure ;undefined4 mmio_read_X__notsure(unde... BL2:d90085b0 e1e30032 orr w1,wzr,#0x11111111 BL2:d90085b4 1f00016b cmp w0,w1 BL2:d90085b8 00010054 b.eq LAB_d90085d8 BL2:d90085bc 22228252 mov w2,#0x1111 BL2:d90085c0 2266a272 movk w2,#0x1331, LSL #16 BL2:d90085c4 1f00026b cmp w0,w2 BL2:d90085c8 61018052 mov w1,#0xb BL2:d90085cc 80018052 mov w0,#0xc BL2:d90085d0 2100801a csel w1,w1,w0,eq BL2:d90085d4 02000014 b LAB_d90085dc LAB_d90085d8: ;XREF[1,0]: d90085b8 BL2:d90085d8 41018052 mov w1,#0xa LAB_d90085dc: ;XREF[1,0]: d90085d4 BL2:d90085dc 731e0853 lsl w19,w19,#0x18 BL2:d90085e0 000000d0 adrp x0,0xd900a000 BL2:d90085e4 6122012a orr w1,w19,w1, LSL #0x8 BL2:d90085e8 00802591 add x0=>DAT_d900a960,x0,#0x960 BL2:d90085ec 010000b9 str w1,[x0]=>DAT_d900a960 BL2:d90085f0 f30b40f9 ldr x19,[sp, #local_10+0x20] BL2:d90085f4 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d90085f8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d90085fc(void) ;local_10 undefined8 -10 ;XREF[2,0]: d90085fc,d900862c ;XREF[1,0]: d9007e30 BL2:d90085fc fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d9008600 fd030091 mov x29,sp BL2:d9008604 e1ffff97 bl FUN_d9008588 ;undefined FUN_d9008588(void) BL2:d9008608 000000d0 adrp x0,0xd900a000 BL2:d900860c 00802591 add x0,x0,#0x960 BL2:d9008610 010040b9 ldr w1,[x0]=>DAT_d900a960 BL2:d9008614 000000d0 adrp x0,0xd900a000 BL2:d9008618 00201e91 add x0=>DAT_d900a788,x0,#0x788 BL2:d900861c 227c1853 lsr w2,w1,#0x18 BL2:d9008620 213c48d3 ubfx x1,x1,#0x8,#0x8 BL2:d9008624 020000b9 str w2,[x0]=>DAT_d900a788 BL2:d9008628 010400b9 str w1,[x0, #0x4]=>DAT_d900a78c BL2:d900862c fd7bc1a8 ldp x29=>local_10,x30,[sp], #0x10 BL2:d9008630 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008634(ulong * param_1, ulong param_2, ulong * param_3, uint param_4) ;param_1 ulong * x0 ;param_2 ulong x1 ;param_3 ulong * x2 ;param_4 uint w3 ;local_10 undefined8 -10 ;XREF[2,0]: d9008654,d9008828 ;local_20 undefined8 -20 ;XREF[2,0]: d9008650,d9008824 ;local_30 undefined8 -30 ;XREF[2,0]: d900863c,d9008820 ;local_40 undefined8 -40 ;XREF[2,0]: d9008664,d900881c ;local_50 undefined8 -50 ;XREF[2,0]: d9008634,d900882c ;XREF[2,0]: d90087f4,d9008998 BL2:d9008634 fd7bbba9 stp x29,x30,[sp, #local_50]! BL2:d9008638 fd030091 mov x29,sp BL2:d900863c f55b02a9 stp x21,x22,[sp, #local_30+0x50] BL2:d9008640 f60302aa mov x22,param_3 BL2:d9008644 02018012 mov param_3,#0xfffffff7 BL2:d9008648 627c021b mul param_3,param_4,param_3 BL2:d900864c 429c0011 add param_3,param_3,#0x27 BL2:d9008650 f76303a9 stp x23,x24,[sp, #local_20+0x50] BL2:d9008654 f96b04a9 stp x25,x26,[sp, #local_10+0x50] BL2:d9008658 f83f8052 mov w24,#0x1ff BL2:d900865c 39008052 mov w25,#0x1 BL2:d9008660 3923c21a lsl w25,w25,param_3 BL2:d9008664 f35301a9 stp x19,x20,[sp, #local_40+0x50] BL2:d9008668 0223c21a lsl param_3,w24,param_3 BL2:d900866c 7f0c0071 cmp param_4,#0x3 BL2:d9008670 f503032a mov w21,param_4 BL2:d9008674 587c4093 sxtw x24,param_3 BL2:d9008678 29010054 b.ls LAB_d900869c BL2:d900867c 000000b0 adrp param_1,0xd9009000 BL2:d9008680 010000b0 adrp param_2,0xd9009000 BL2:d9008684 030000b0 adrp param_4,0xd9009000 BL2:d9008688 00c01b91 add param_1=>...,param_1,#0x6f0 ;= "init_xlation_table" BL2:d900868c 21e01891 add param_2=>...,param_2,#0x638 ;= "lib/aarch64/xlat_tables.c" BL2:d9008690 42188052 mov param_3,#0xc2 BL2:d9008694 63481991 add param_4=>...,param_4,#0x652 ;= "level <= 3" BL2:d9008698 54000014 b LAB_d90087e8 LAB_d900869c: ;XREF[1,0]: d9008678 BL2:d900869c 1a0000d0 adrp x26,0xd900a000 BL2:d90086a0 170000d0 adrp x23,0xd900a000 BL2:d90086a4 5ac32491 add x26,x26,#0x930 BL2:d90086a8 f7922591 add x23,x23,#0x964 LAB_d90086ac: ;XREF[1,0]: d9008818 BL2:d90086ac 020040f9 ldr param_3,[param_1] BL2:d90086b0 030440f9 ldr param_4,[param_1, #0x8] BL2:d90086b4 4300038b add param_4,param_3,param_4 BL2:d90086b8 7f0001eb cmp param_4,param_2 BL2:d90086bc 68000054 b.hi LAB_d90086c8 BL2:d90086c0 00600091 add param_1,param_1,#0x18 BL2:d90086c4 52000014 b LAB_d900880c LAB_d90086c8: ;XREF[1,0]: d90086bc BL2:d90086c8 3400198b add x20,param_2,x25 BL2:d90086cc 5f0014eb cmp param_3,x20 BL2:d90086d0 62090054 b.cs LAB_d90087fc BL2:d90086d4 5f0001eb cmp param_3,param_2 BL2:d90086d8 a8060054 b.hi LAB_d90087ac BL2:d90086dc 7f0014eb cmp param_4,x20 BL2:d90086e0 63060054 b.cc LAB_d90087ac BL2:d90086e4 041040b9 ldr w4,[param_1, #0x10] BL2:d90086e8 e20300aa mov param_3,param_1 BL2:d90086ec 06600091 add x6,param_1,#0x18 LAB_d90086f0: ;XREF[1,0]: d900871c BL2:d90086f0 430000cb sub param_4,param_3,param_1 BL2:d90086f4 6700068b add x7,param_4,x6 BL2:d90086f8 e50440f9 ldr x5,[x7, #0x8] BL2:d90086fc 650200b4 cbz x5,LAB_d9008748 BL2:d9008700 636866f8 ldr param_4,[param_4, x6, LSL #0x0] BL2:d9008704 7f0014eb cmp param_4,x20 BL2:d9008708 02020054 b.cs LAB_d9008748 BL2:d900870c a500038b add x5,x5,param_4 BL2:d9008710 bf0001eb cmp x5,param_2 BL2:d9008714 68000054 b.hi LAB_d9008720 LAB_d9008718: ;XREF[2,0]: d900872c,d9008740 BL2:d9008718 42600091 add param_3,param_3,#0x18 BL2:d900871c f5ffff17 b LAB_d90086f0 LAB_d9008720: ;XREF[1,0]: d9008714 BL2:d9008720 e71040b9 ldr w7,[x7, #0x10] BL2:d9008724 8700070a and w7,w4,w7 BL2:d9008728 ff00046b cmp w7,w4 BL2:d900872c 60ffff54 b.eq LAB_d9008718 BL2:d9008730 7f0001eb cmp param_4,param_2 BL2:d9008734 e403072a mov w4,w7 BL2:d9008738 a8030054 b.hi LAB_d90087ac BL2:d900873c bf0014eb cmp x5,x20 BL2:d9008740 c2feff54 b.cs LAB_d9008718 BL2:d9008744 1a000014 b LAB_d90087ac LAB_d9008748: ;XREF[2,0]: d90086fc,d9008708 BL2:d9008748 2403f837 tbnz w4,#0x1f,LAB_d90087ac BL2:d900874c bf0e0071 cmp w21,#0x3 BL2:d9008750 82001e12 and param_3,w4,#0x4 BL2:d9008754 730080d2 mov x19,#0x3 BL2:d9008758 73069f9a csinc x19,x19,xzr,eq BL2:d900875c 5f001f6b cmp param_3,wzr BL2:d9008760 020480d2 mov param_3,#0x20 BL2:d9008764 e203829a csel param_3,xzr,param_3,eq BL2:d9008768 730201aa orr x19,x19,param_2 BL2:d900876c 730202aa orr x19,x19,param_3 BL2:d9008770 031080d2 mov param_4,#0x80 BL2:d9008774 82001f72 ands param_3,w4,#0x2 BL2:d9008778 63009f9a csel param_4,param_4,xzr,eq BL2:d900877c 730203aa orr x19,x19,param_4 BL2:d9008780 c4000036 tbz w4,#0x0,LAB_d9008798 BL2:d9008784 62000035 cbnz param_3,LAB_d9008790 BL2:d9008788 730a78b2 orr x19,x19,#0x700 BL2:d900878c 06000014 b LAB_d90087a4 LAB_d9008790: ;XREF[1,0]: d9008784 BL2:d9008790 02e080d2 mov param_3,#0x700 BL2:d9008794 02000014 b LAB_d900879c LAB_d9008798: ;XREF[1,0]: d9008780 BL2:d9008798 82c080d2 mov param_3,#0x604 LAB_d900879c: ;XREF[1,0]: d9008794 BL2:d900879c 0208e0f2 movk param_3,#0x40, LSL #48 BL2:d90087a0 730202aa orr x19,x19,param_3 LAB_d90087a4: ;XREF[1,0]: d900878c BL2:d90087a4 7f0600b1 cmn x19,#0x1 BL2:d90087a8 c1020054 b.ne LAB_d9008800 LAB_d90087ac: ;XREF[5,0]: d90086d8,d90086e0,d9008738,d9008744 ; d9008748 BL2:d90087ac e20240b9 ldr param_3,[x23] BL2:d90087b0 440340f9 ldr x4,[x26] BL2:d90087b4 43040011 add param_4,param_3,#0x1 BL2:d90087b8 e30200b9 str param_4,[x23] BL2:d90087bc 425874d3 ubfiz param_3,param_3,#0xc,#0x17 BL2:d90087c0 7f100071 cmp param_4,#0x4 BL2:d90087c4 8200028b add param_3,x4,param_3 BL2:d90087c8 29010054 b.ls LAB_d90087ec BL2:d90087cc 000000b0 adrp param_1,0xd9009000 BL2:d90087d0 010000b0 adrp param_2,0xd9009000 BL2:d90087d4 030000b0 adrp param_4,0xd9009000 BL2:d90087d8 00c01b91 add param_1=>...,param_1,#0x6f0 ;= "init_xlation_table" BL2:d90087dc 21e01891 add param_2=>...,param_2,#0x638 ;= "lib/aarch64/xlat_tables.c" BL2:d90087e0 a21c8052 mov param_3,#0xe5 BL2:d90087e4 63741991 add param_4=>...,param_4,#0x65d ;= "next_xlat <= MAX_XLAT_TABLES" LAB_d90087e8: ;XREF[1,0]: d9008698 BL2:d90087e8 97000094 bl __assert ;undefined __assert(byte * param_1, u... LAB_d90087ec: ;XREF[1,0]: d90087c8 BL2:d90087ec a3060011 add param_4,w21,#0x1 BL2:d90087f0 530440b2 orr x19,param_3,#0x3 BL2:d90087f4 90ffff97 bl FUN_d9008634 ;undefined FUN_d9008634(ulong * param... BL2:d90087f8 02000014 b LAB_d9008800 LAB_d90087fc: ;XREF[1,0]: d90086d0 BL2:d90087fc 130080d2 mov x19,#0x0 LAB_d9008800: ;XREF[2,0]: d90087a8,d90087f8 BL2:d9008800 d30200f9 str x19,[x22] BL2:d9008804 e10314aa mov param_2,x20 BL2:d9008808 d6220091 add x22,x22,#0x8 LAB_d900880c: ;XREF[1,0]: d90086c4 BL2:d900880c 020440f9 ldr param_3,[param_1, #0x8] BL2:d9008810 620000b4 cbz param_3,LAB_d900881c BL2:d9008814 3f0018ea tst param_2,x24 BL2:d9008818 a1f4ff54 b.ne LAB_d90086ac LAB_d900881c: ;XREF[1,0]: d9008810 BL2:d900881c f35341a9 ldp x19,x20,[sp, #local_40+0x50] BL2:d9008820 f55b42a9 ldp x21,x22,[sp, #local_30+0x50] BL2:d9008824 f76343a9 ldp x23,x24,[sp, #local_20+0x50] BL2:d9008828 f96b44a9 ldp x25,x26,[sp, #local_10+0x50] BL2:d900882c fd7bc5a8 ldp x29=>local_50,x30,[sp], #0x50 BL2:d9008830 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined mmap_add_region(ulong param_1, ulong param_2, undefined4 param_3) ;param_1 ulong x0 ;param_2 ulong x1 ;param_3 undefined4 w2 ;local_10 undefined8 -10 ;XREF[2,0]: d9008844,d9008920 ;local_20 undefined8 -20 ;XREF[2,0]: d9008840,d900891c ;local_30 undefined8 -30 ;XREF[2,0]: d900883c,d9008918 ;local_40 undefined8 -40 ;XREF[2,0]: d9008834,d9008924 ;XREF[10,0]: d9001298,d90012ac,d90012c4,d90012d8 ; d90012e8,d90012f8,d9001308,d9001318 ; d9001328,d9001338 BL2:d9008834 fd7bbca9 stp x29,x30,[sp, #local_40]! BL2:d9008838 fd030091 mov x29,sp BL2:d900883c f35301a9 stp x19,x20,[sp, #local_30+0x40] BL2:d9008840 f55b02a9 stp x21,x22,[sp, #local_20+0x40] BL2:d9008844 f71b00f9 str x23,[sp, #local_10+0x40] BL2:d9008848 f50300aa mov x21,param_1 BL2:d900884c 002c4092 and param_1,param_1,#0xfff BL2:d9008850 f40301aa mov x20,param_2 BL2:d9008854 f703022a mov w23,param_3 BL2:d9008858 200100b4 cbz param_1,LAB_d900887c BL2:d900885c 000000b0 adrp param_1,0xd9009000 BL2:d9008860 010000b0 adrp param_2,0xd9009000 BL2:d9008864 030000b0 adrp x3,0xd9009000 BL2:d9008868 00a01891 add param_1=>...,param_1,#0x628 ;= "mmap_add_region" BL2:d900886c 21e01891 add param_2=>...,param_2,#0x638 ;= "lib/aarch64/xlat_tables.c" BL2:d9008870 020c8052 mov param_3,#0x60 BL2:d9008874 63e81991 add x3=>s_IS_...,x3,#0x67a ;= "IS_PAGE_ALIGNED(base)" BL2:d9008878 0a000014 b LAB_d90088a0 LAB_d900887c: ;XREF[1,0]: d9008858 BL2:d900887c 202c4092 and param_1,param_2,#0xfff BL2:d9008880 200100b4 cbz param_1,LAB_d90088a4 BL2:d9008884 000000b0 adrp param_1,0xd9009000 BL2:d9008888 010000b0 adrp param_2,0xd9009000 BL2:d900888c 030000b0 adrp x3,0xd9009000 BL2:d9008890 00a01891 add param_1=>...,param_1,#0x628 ;= "mmap_add_region" BL2:d9008894 21e01891 add param_2=>...,param_2,#0x638 ;= "lib/aarch64/xlat_tables.c" BL2:d9008898 220c8052 mov param_3,#0x61 BL2:d900889c 63401a91 add x3=>s_IS_...,x3,#0x690 ;= "IS_PAGE_ALIGNED(size)" LAB_d90088a0: ;XREF[2,0]: d9008878,d90088f8 BL2:d90088a0 69000094 bl __assert ;undefined __assert(byte * param_1, u... LAB_d90088a4: ;XREF[1,0]: d9008880 BL2:d90088a4 a10300b4 cbz param_2,LAB_d9008918 BL2:d90088a8 160000d0 adrp x22,0xd900a000 BL2:d90088ac d3621e91 add x19,x22,#0x798 LAB_d90088b0: ;XREF[1,0]: d9008908 BL2:d90088b0 e00313aa mov param_1=>DAT_d900a7b0,x19 ; FWD[2,0]: d900a798,d900a7b0 BL2:d90088b4 018441f8 ldr param_2,[param_1], #0x18=>DAT_d900a798 BL2:d90088b8 3f0015eb cmp param_2,x21 BL2:d90088bc 03020054 b.cc LAB_d90088fc LAB_d90088c0: ;XREF[1,0]: d9008900 BL2:d90088c0 d6621e91 add x22,x22,#0x798 BL2:d90088c4 c2020691 add param_3,x22,#0x180 BL2:d90088c8 e10313aa mov param_2=>DAT_d900a798,x19 BL2:d90088cc 420013cb sub param_3,param_3,x19 BL2:d90088d0 ae000094 bl FUN_d9008b88 ;undefined * FUN_d9008b88(undefined *... BL2:d90088d4 c0c640f9 ldr param_1,[x22, #0x188]=>DAT_d900a920 BL2:d90088d8 a00100b4 cbz param_1,LAB_d900890c BL2:d90088dc 000000b0 adrp param_1,0xd9009000 BL2:d90088e0 010000b0 adrp param_2,0xd9009000 BL2:d90088e4 030000b0 adrp x3,0xd9009000 BL2:d90088e8 00a01891 add param_1,param_1,#0x628 BL2:d90088ec 21e01891 add param_2,param_2,#0x638 BL2:d90088f0 620e8052 mov param_3,#0x73 BL2:d90088f4 63981a91 add x3=>s_mm_...,x3,#0x6a6 ;= "mm_last->size == 0" BL2:d90088f8 eaffff17 b LAB_d90088a0 LAB_d90088fc: ;XREF[1,0]: d90088bc BL2:d90088fc 610640f9 ldr param_2,[x19, #0x8]=>DAT_d900a7a0 BL2:d9008900 01feffb4 cbz param_2,LAB_d90088c0 BL2:d9008904 f30300aa mov x19,param_1 BL2:d9008908 eaffff17 b LAB_d90088b0 LAB_d900890c: ;XREF[1,0]: d90088d8 BL2:d900890c 750200f9 str x21,[x19]=>DAT_d900a798 BL2:d9008910 740600f9 str x20,[x19, #0x8]=>DAT_d900a7a0 BL2:d9008914 771200b9 str w23,[x19, #0x10]=>DAT_d900a7a8 LAB_d9008918: ;XREF[1,0]: d90088a4 BL2:d9008918 f35341a9 ldp x19,x20,[sp, #local_30+0x40] BL2:d900891c f55b42a9 ldp x21,x22,[sp, #local_20+0x40] BL2:d9008920 f71b40f9 ldr x23,[sp, #local_10+0x40] BL2:d9008924 fd7bc4a8 ldp x29=>local_40,x30,[sp], #0x40 BL2:d9008928 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d900892c(void) ;local_10 undefined8 -10 ;XREF[2,0]: d900892c,d9008984 ;XREF[1,0]: d900133c BL2:d900892c fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d9008930 fd030091 mov x29,sp BL2:d9008934 01008052 mov w1,#0x0 BL2:d9008938 020088d2 mov x2,#0x4000 BL2:d900893c 002ca0d2 mov x0,#0x1600000 BL2:d9008940 5c000094 bl memset ;ulong memset(ulong param_1, undefine... BL2:d9008944 00009ed2 mov x0,#0xf000 BL2:d9008948 01008052 mov w1,#0x0 BL2:d900894c 820080d2 mov x2,#0x4 BL2:d9008950 e02ba0f2 movk x0,#0x15f, LSL #16 BL2:d9008954 57000094 bl memset ;ulong memset(ulong param_1, undefine... BL2:d9008958 000000d0 adrp x0,0xd900a000 BL2:d900895c 012ca0d2 mov x1,#0x1600000 BL2:d9008960 00c02491 add x0,x0,#0x930 BL2:d9008964 010000f9 str x1,[x0]=>DAT_d900a930 BL2:d9008968 00009ed2 mov x0,#0xf000 BL2:d900896c 010000d0 adrp x1,0xd900a000 BL2:d9008970 e02ba0f2 movk x0,#0x15f, LSL #16 BL2:d9008974 21e02491 add x1,x1,#0x938 BL2:d9008978 200000f9 str x0,[x1]=>DAT_d900a938 BL2:d900897c 02009ed2 mov x2,#0xf000 BL2:d9008980 000000d0 adrp x0,0xd900a000 BL2:d9008984 fd7bc1a8 ldp x29=>local_10,x30,[sp], #0x10 BL2:d9008988 00601e91 add x0=>DAT_d900a798,x0,#0x798 BL2:d900898c 010080d2 mov x1,#0x0 BL2:d9008990 e22ba0f2 movk x2,#0x15f, LSL #16 BL2:d9008994 23008052 mov w3,#0x1 BL2:d9008998 27ffff17 b FUN_d9008634 ;undefined FUN_d9008634(ulong * param... ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d900899c(void) ;local_10 undefined8 -10 ;XREF[2,0]: d900899c,d9008a3c ;XREF[1,0]: d9001348 BL2:d900899c fd7bbfa9 stp x29,x30,[sp, #local_10]! BL2:d90089a0 fd030091 mov x29,sp BL2:d90089a4 8a010094 bl read_current_el ;undefined8 read_current_el(void) BL2:d90089a8 000c42d3 ubfx x0,x0,#0x2,#0x2 BL2:d90089ac 1f0400f1 cmp x0,#0x1 BL2:d90089b0 20010054 b.eq LAB_d90089d4 BL2:d90089b4 000000b0 adrp x0,0xd9009000 BL2:d90089b8 010000b0 adrp x1,0xd9009000 BL2:d90089bc 030000b0 adrp x3,0xd9009000 BL2:d90089c0 00601891 add x0=>s_enable_mmu_el1_d9009618,x0,#0x618 ;= "enable_mmu_el1" BL2:d90089c4 21e01891 add x1=>s_lib...,x1,#0x638 ;= "lib/aarch64/xlat_tables.c" BL2:d90089c8 c2218052 mov w2,#0x10e BL2:d90089cc 63e41a91 add x3=>s_IS_IN_EL(1)_d90096b9,x3,#0x6b9 ;= "IS_IN_EL(1)" BL2:d90089d0 0a000014 b LAB_d90089f8 LAB_d90089d4: ;XREF[1,0]: d90089b0 BL2:d90089d4 84010094 bl read_sctlr_el1 ;undefined8 read_sctlr_el1(void) BL2:d90089d8 20010036 tbz w0,#0x0,LAB_d90089fc BL2:d90089dc 000000b0 adrp x0,0xd9009000 BL2:d90089e0 010000b0 adrp x1,0xd9009000 BL2:d90089e4 030000b0 adrp x3,0xd9009000 BL2:d90089e8 00601891 add x0=>s_enable_mmu_el1_d9009618,x0,#0x618 ;= "enable_mmu_el1" BL2:d90089ec 21e01891 add x1=>s_lib...,x1,#0x638 ;= "lib/aarch64/xlat_tables.c" BL2:d90089f0 e2218052 mov w2,#0x10f BL2:d90089f4 63141b91 add x3=>s_(re...,x3,#0x6c5 ;= "(read_sctlr_el1() & SCTLR_M_BIT) ... LAB_d90089f8: ;XREF[1,0]: d90089d0 BL2:d90089f8 13000094 bl __assert ;undefined __assert(byte * param_1, u... LAB_d90089fc: ;XREF[1,0]: d90089d8 BL2:d90089fc e09f80d2 mov x0,#0x4ff BL2:d9008a00 77010094 bl write_mair_el1 ;undefined write_mair_el1(undefined8 ... BL2:d9008a04 70010094 bl FUN_d9008fc4 ;undefined FUN_d9008fc4(void) BL2:d9008a08 00a486d2 mov x0,#0x3520 BL2:d9008a0c 7a010094 bl write_tcr_el1 ;undefined write_tcr_el1(undefined8 p... BL2:d9008a10 000000d0 adrp x0,0xd900a000 BL2:d9008a14 00e02491 add x0,x0,#0x938 BL2:d9008a18 000040f9 ldr x0,[x0]=>DAT_d900a938 BL2:d9008a1c 78010094 bl FUN_00000800 ;undefined FUN_00000800(undefined8 pa... BL2:d9008a20 59010094 bl FUN_d9008f84 ;undefined FUN_d9008f84(void) BL2:d9008a24 5a010094 bl FUN_d9008f8c ;undefined FUN_d9008f8c(void) BL2:d9008a28 6f010094 bl read_sctlr_el1 ;undefined8 read_sctlr_el1(void) BL2:d9008a2c e1008252 mov w1,#0x1007 BL2:d9008a30 0101a072 movk w1,#0x8, LSL #16 BL2:d9008a34 2000002a orr w0,w1,w0 BL2:d9008a38 6d010094 bl write_sctlr_el1 ;undefined write_sctlr_el1(undefined8... BL2:d9008a3c fd7bc1a8 ldp x29=>local_10,x30,[sp], #0x10 BL2:d9008a40 53010014 b FUN_d9008f8c ;undefined FUN_d9008f8c(void) ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined __assert(byte * param_1, undefined8 param_2, ulong param_3, byte * param_4) ;param_1 byte * x0 ;param_2 undefined8 x1 ;param_3 ulong x2 ;param_4 byte * x3 ;local_8 undefined8 -8 ;XREF[2,0]: d9008a5c,d9008a94 ;local_10 undefined8 -10 ;XREF[2,0]: d9008a60,d9008a7c ;local_20 undefined8 -20 ;XREF[1,0]: d9008a4c ;local_30 undefined8 -30 ;XREF[1,0]: d9008a44 ;XREF[3,0]: d90087e8,d90088a0,d90089f8 BL2:d9008a44 fd7bbda9 stp x29,x30,[sp, #local_30]! BL2:d9008a48 fd030091 mov x29,sp BL2:d9008a4c f30b00f9 str x19,[sp, #local_20+0x30] BL2:d9008a50 f30300aa mov x19,param_1 BL2:d9008a54 000000b0 adrp param_1,0xd9009000 BL2:d9008a58 00401c91 add param_1=>...,param_1,#0x710 ;= "ASSERT: " BL2:d9008a5c a31700f9 str param_4,[x29, #local_8+0x30] BL2:d9008a60 a21300f9 str param_3,[x29, #local_10+0x30] BL2:d9008a64 82000094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9008a68 e00313aa mov param_1,x19 BL2:d9008a6c 80000094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9008a70 000000b0 adrp param_1,0xd9009000 BL2:d9008a74 00641c91 add param_1=>DAT_d9009719,param_1,#0x719 ;= 20h BL2:d9008a78 7d000094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9008a7c a21340f9 ldr param_3,[x29, #local_10+0x30] BL2:d9008a80 e003022a mov param_1,param_3 BL2:d9008a84 9b000094 bl serial_put_dec ;undefined serial_put_dec(ulong param_1) BL2:d9008a88 000000b0 adrp param_1,0xd9009000 BL2:d9008a8c 00701c91 add param_1=>DAT_d900971c,param_1,#0x71c ;= 3Eh > BL2:d9008a90 77000094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9008a94 a31740f9 ldr param_4,[x29, #local_8+0x30] BL2:d9008a98 e00303aa mov param_1,param_4 BL2:d9008a9c 74000094 bl serial_puts ;void serial_puts(char * param_1) BL2:d9008aa0 000000b0 adrp param_1,0xd9009000 BL2:d9008aa4 00341c91 add param_1=>s__d9009708+5,param_1,#0x70d ;= "\n\r" BL2:d9008aa8 71000094 bl serial_puts ;void serial_puts(char * param_1) LAB_d9008aac: ;XREF[1,0]: d9008aac BL2:d9008aac 00000014 b LAB_d9008aac ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;ulong memset(ulong param_1, undefined param_2, long param_3) ;param_1 ulong x0 ;param_2 undefined w1 ;param_3 long x2 ;local_10 undefined8 -10 ;XREF[2,0]: d9008ab8,d9008af4 ;local_20 undefined8 -20 ;XREF[2,0]: d9008ab0,d9008af8 ;XREF[7,0]: d9001088,d9001450,d90020a4,d9007110 ; d9007bc4,d9008940,d9008954 BL2:d9008ab0 fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d9008ab4 fd030091 mov x29,sp BL2:d9008ab8 f30b00f9 str x19,[sp, #local_10+0x20] BL2:d9008abc f30300aa mov x19,param_1 BL2:d9008ac0 000080d2 mov param_1,#0x0 LAB_d9008ac4: ;XREF[1,0]: d9008ad4 BL2:d9008ac4 1f0002eb cmp param_1,param_3 BL2:d9008ac8 80000054 b.eq LAB_d9008ad8 BL2:d9008acc 616a2038 strb param_2,[x19, param_1, LSL ] BL2:d9008ad0 00040091 add param_1,param_1,#0x1 BL2:d9008ad4 fcffff17 b LAB_d9008ac4 LAB_d9008ad8: ;XREF[1,0]: d9008ac8 BL2:d9008ad8 e00313aa mov param_1,x19 BL2:d9008adc 01008092 mov param_2,#-0x1 BL2:d9008ae0 d3000094 bl inv_dcache_range ;undefined inv_dcache_range(ulong par... BL2:d9008ae4 e00313aa mov param_1,x19 BL2:d9008ae8 01008092 mov param_2,#-0x1 BL2:d9008aec dd000094 bl FUN_d9008e60 ;undefined FUN_d9008e60(ulong param_1... BL2:d9008af0 e00313aa mov param_1,x19 BL2:d9008af4 f30b40f9 ldr x19,[sp, #local_10+0x20] BL2:d9008af8 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9008afc c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;int FUN_d9008b00(long param_1, long param_2, long param_3) ;param_1 long x0 ;param_2 long x1 ;param_3 long x2 ;XREF[5,0]: d9001700,d9002f60,d9002f8c,d9007d40 ; d9007d5c BL2:d9008b00 030080d2 mov x3,#0x0 LAB_d9008b04: ;XREF[1,0]: d9008b20 BL2:d9008b04 7f0002eb cmp x3,param_3 BL2:d9008b08 20010054 b.eq LAB_d9008b2c BL2:d9008b0c 05686338 ldrb w5,[param_1, x3, LSL ] BL2:d9008b10 63040091 add x3,x3,#0x1 BL2:d9008b14 2400038b add x4,param_2,x3 BL2:d9008b18 84f05f38 ldurb w4,[x4, #-0x1] BL2:d9008b1c bf00046b cmp w5,w4 BL2:d9008b20 20ffff54 b.eq LAB_d9008b04 BL2:d9008b24 a000044b sub param_1,w5,w4 BL2:d9008b28 02000014 b LAB_d9008b30 LAB_d9008b2c: ;XREF[1,0]: d9008b08 BL2:d9008b2c 00008052 mov param_1,#0x0 LAB_d9008b30: ;XREF[1,0]: d9008b28 BL2:d9008b30 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;ulong memcpy(ulong param_1, long param_2, long param_3) ;param_1 ulong x0 ;param_2 long x1 ;param_3 long x2 ;local_10 undefined8 -10 ;XREF[2,0]: d9008b3c,d9008b7c ;local_20 undefined8 -20 ;XREF[2,0]: d9008b34,d9008b80 ;XREF[19,0]: d90013d8,d9001d8c,d9001e10,d90022dc ; d90023b0,d9002428,d9002568,d9002dc4 ; d9002e3c,d9002e70,d9002e90,d9002eb4 ; d9002f24,d90065d0,d9006c14,d9006f18 ; d9007ccc,d9007ea8,d9008bb0 BL2:d9008b34 fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d9008b38 fd030091 mov x29,sp BL2:d9008b3c f30b00f9 str x19,[sp, #local_10+0x20] BL2:d9008b40 030080d2 mov x3,#0x0 BL2:d9008b44 f30300aa mov x19,param_1 LAB_d9008b48: ;XREF[1,0]: d9008b5c BL2:d9008b48 7f0002eb cmp x3,param_3 BL2:d9008b4c a0000054 b.eq LAB_d9008b60 BL2:d9008b50 20686338 ldrb param_1,[param_2, x3, LSL ] BL2:d9008b54 606a2338 strb param_1,[x19, x3, LSL ] BL2:d9008b58 63040091 add x3,x3,#0x1 BL2:d9008b5c fbffff17 b LAB_d9008b48 LAB_d9008b60: ;XREF[1,0]: d9008b4c BL2:d9008b60 e00313aa mov param_1,x19 BL2:d9008b64 01008092 mov param_2,#-0x1 BL2:d9008b68 b1000094 bl inv_dcache_range ;undefined inv_dcache_range(ulong par... BL2:d9008b6c e00313aa mov param_1,x19 BL2:d9008b70 01008092 mov param_2,#-0x1 BL2:d9008b74 bb000094 bl FUN_d9008e60 ;undefined FUN_d9008e60(ulong param_1... BL2:d9008b78 e00313aa mov param_1,x19 BL2:d9008b7c f30b40f9 ldr x19,[sp, #local_10+0x20] BL2:d9008b80 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9008b84 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined * FUN_d9008b88(undefined * param_1, long param_2, ulong param_3) ;param_1 undefined * x0 ;param_2 long x1 ;param_3 ulong x2 ;local_10 undefined8 -10 ;XREF[3,0]: d9008b94,d9008ba8,d9008bec ;local_20 undefined8 -20 ;XREF[3,0]: d9008b88,d9008bac,d9008bf0 ;XREF[1,0]: d90088d0 BL2:d9008b88 fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d9008b8c fd030091 mov x29,sp BL2:d9008b90 050001cb sub x5,param_1,param_2 BL2:d9008b94 f35301a9 stp x19,x20,[sp, #local_10+0x20] BL2:d9008b98 bf0002eb cmp x5,param_3 BL2:d9008b9c e30300aa mov x3,param_1 BL2:d9008ba0 f40302aa mov x20,param_3 BL2:d9008ba4 83000054 b.cc LAB_d9008bb4 BL2:d9008ba8 f35341a9 ldp x19,x20,[sp, #local_10+0x20] BL2:d9008bac fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9008bb0 e1ffff17 b memcpy ;ulong memcpy(ulong param_1, long par... LAB_d9008bb4: ;XREF[1,0]: d9008ba4 BL2:d9008bb4 2400028b add x4,param_2,param_3 BL2:d9008bb8 1300028b add x19,param_1,param_3 LAB_d9008bbc: ;XREF[1,0]: d9008bcc BL2:d9008bbc 7f0203eb cmp x19,x3 BL2:d9008bc0 80000054 b.eq LAB_d9008bd0 BL2:d9008bc4 80fc5f38 ldrb param_1,[x4, #-0x1]! BL2:d9008bc8 60fe1f38 strb param_1,[x19, #-0x1]! BL2:d9008bcc fcffff17 b LAB_d9008bbc LAB_d9008bd0: ;XREF[1,0]: d9008bc0 BL2:d9008bd0 e00313aa mov param_1,x19 BL2:d9008bd4 e10314aa mov param_2,x20 BL2:d9008bd8 95000094 bl inv_dcache_range ;undefined inv_dcache_range(ulong par... BL2:d9008bdc e00313aa mov param_1,x19 BL2:d9008be0 e10314aa mov param_2,x20 BL2:d9008be4 9f000094 bl FUN_d9008e60 ;undefined FUN_d9008e60(ulong param_1... BL2:d9008be8 e00313aa mov param_1,x19 BL2:d9008bec f35341a9 ldp x19,x20,[sp, #local_10+0x20] BL2:d9008bf0 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9008bf4 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;int strcmp(long param_1, long param_2) ;param_1 long x0 ;param_2 long x1 ;XREF[1,0]: d9002330 BL2:d9008bf8 030080d2 mov x3,#0x0 LAB_d9008bfc: ;XREF[1,0]: d9008c10 BL2:d9008bfc 02686338 ldrb w2,[param_1, x3, LSL ] BL2:d9008c00 24686338 ldrb w4,[param_2, x3, LSL ] BL2:d9008c04 5f00046b cmp w2,w4 BL2:d9008c08 a1000054 b.ne LAB_d9008c1c BL2:d9008c0c 63040091 add x3,x3,#0x1 BL2:d9008c10 62ffff35 cbnz w2,LAB_d9008bfc BL2:d9008c14 e003022a mov param_1,w2 BL2:d9008c18 02000014 b LAB_d9008c20 LAB_d9008c1c: ;XREF[1,0]: d9008c08 BL2:d9008c1c 4000044b sub param_1,w2,w4 LAB_d9008c20: ;XREF[1,0]: d9008c18 BL2:d9008c20 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;void serial_putc(char c) ;c char w0 ;XREF[3,0]: d9008c88,d9008cd8,d9008d40 BL2:d9008c24 1f280071 cmp c,#'\n' BL2:d9008c28 21010054 b.ne LAB_d9008c4c LAB_d9008c2c: ;XREF[1,0]: d9008c38 BL2:d9008c2c 819980d2 mov x1,#0x4cc BL2:d9008c30 0102b9f2 movk x1,#0xc810, LSL #16 BL2:d9008c34 210040b9 ldr w1,[x1]=>DAT_c81004cc BL2:d9008c38 a1ffaf37 tbnz w1,#0x15,LAB_d9008c2c BL2:d9008c3c 019880d2 mov x1,#0x4c0 BL2:d9008c40 0102b9f2 movk x1,#0xc810, LSL #16 BL2:d9008c44 a2018052 mov w2,#0xd BL2:d9008c48 220000b9 str w2,[x1]=>DAT_c81004c0 LAB_d9008c4c: ;XREF[2,0]: d9008c28,d9008c58 BL2:d9008c4c 819980d2 mov x1,#0x4cc BL2:d9008c50 0102b9f2 movk x1,#0xc810, LSL #16 BL2:d9008c54 210040b9 ldr w1,[x1]=>DAT_c81004cc BL2:d9008c58 a1ffaf37 tbnz w1,#0x15,LAB_d9008c4c BL2:d9008c5c 019880d2 mov x1,#0x4c0 BL2:d9008c60 0102b9f2 movk x1,#0xc810, LSL #16 BL2:d9008c64 200000b9 str c,[x1]=>DAT_c81004c0 BL2:d9008c68 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;void serial_puts(char * param_1) ;param_1 char * x0 ;local_10 undefined8 -10 ;XREF[2,0]: d9008c74,d9008c90 ;local_20 undefined8 -20 ;XREF[2,0]: d9008c6c,d9008c94 ;XREF[86,0]: d90015c8,d90015dc,d900162c,d9001714 ; d9001728,d9001890,d900195c,d9001964 ; d9001970,d9001978,d9001984,d900199c ; d90019b4,d90019cc,d9001aa8,d9001ba4 ; d9001d68,d9001e5c,d9001e84,d9002340 ; d9002364,d9002370,d9002378,d90023ec ; d9002484,d900248c,d9002498,d900265c ; d9002668,d900267c,d9002694,d90026a0 ; d9002870,d9002884,d9002bbc,d9002bd0 ; d9002c38,d9002c4c,d9002fe8,d9003008 ; d9003014,d9003934,d9004b78,d9004e88 ; d9004f44,d9005244,d90052f4,d9005a78 ; d9005a8c,d9005ab0,d9005ac4,d9005af4 ; d9005b08,d9005bc0,d9005bd8,d9005c18 ; d9005c28,d9005c48,d9005d58,d90062a4 ; d90064dc,d90064f4,d9006544,d9006558 ; d9006570,d9007db0,d9007dd0,d9007dec ; d9007df8,d9007e08,d9007e68,d9007ef8 ; d9008148,d9008224,d900822c,d90084b4 ; d9008514,d9008564,d9008a64,d9008a6c ; d9008a78,d9008a90,d9008a9c,d9008aa8 ; d9008d74,d9008da8 BL2:d9008c6c fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d9008c70 fd030091 mov x29,sp BL2:d9008c74 f30b00f9 str x19,[sp, #local_10+0x20] BL2:d9008c78 f30300aa mov x19,param_1 LAB_d9008c7c: ;XREF[1,0]: d9008c8c BL2:d9008c7c 60024039 ldrb param_1,[x19] BL2:d9008c80 80000034 cbz param_1,LAB_d9008c90 BL2:d9008c84 73060091 add x19,x19,#0x1 BL2:d9008c88 e7ffff97 bl serial_putc ;void serial_putc(char c) BL2:d9008c8c fcffff17 b LAB_d9008c7c LAB_d9008c90: ;XREF[1,0]: d9008c80 BL2:d9008c90 f30b40f9 ldr x19,[sp, #local_10+0x20] BL2:d9008c94 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9008c98 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined serial_put_hex(ulong param_1, int param_2) ;param_1 ulong x0 ;param_2 int w1 ;local_10 undefined8 -10 ;XREF[2,0]: d9008ca4,d9008ce4 ;local_20 undefined8 -20 ;XREF[2,0]: d9008c9c,d9008ce8 ;XREF[5,0]: d9001990,d90019a8,d90019c0,d9006564 ; d9008d94 BL2:d9008c9c fd7bbea9 stp x29,x30,[sp, #local_20]! BL2:d9008ca0 fd030091 mov x29,sp BL2:d9008ca4 f35301a9 stp x19,x20,[sp, #local_10+0x20] BL2:d9008ca8 f40300aa mov x20,param_1 BL2:d9008cac 33100051 sub w19,param_2,#0x4 LAB_d9008cb0: ;XREF[1,0]: d9008ce0 BL2:d9008cb0 b301f837 tbnz w19,#0x1f,LAB_d9008ce4 BL2:d9008cb4 8126d39a lsr param_2,x20,x19 BL2:d9008cb8 00068052 mov param_1,#0x30 BL2:d9008cbc e10000b4 cbz param_2,LAB_d9008cd8 BL2:d9008cc0 200c0012 and param_1,param_2,#0xf BL2:d9008cc4 1f240071 cmp param_1,#0x9 BL2:d9008cc8 68000054 b.hi LAB_d9008cd4 BL2:d9008ccc 00c00011 add param_1,param_1,#0x30 BL2:d9008cd0 02000014 b LAB_d9008cd8 LAB_d9008cd4: ;XREF[1,0]: d9008cc8 BL2:d9008cd4 005c0111 add param_1,param_1,#0x57 LAB_d9008cd8: ;XREF[2,0]: d9008cbc,d9008cd0 BL2:d9008cd8 d3ffff97 bl serial_putc ;void serial_putc(char c) BL2:d9008cdc 73120051 sub w19,w19,#0x4 BL2:d9008ce0 f4ffff17 b LAB_d9008cb0 LAB_d9008ce4: ;XREF[1,0]: d9008cb0 BL2:d9008ce4 f35341a9 ldp x19,x20,[sp, #local_10+0x20] BL2:d9008ce8 fd7bc2a8 ldp x29=>local_20,x30,[sp], #0x20 BL2:d9008cec c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined serial_put_dec(ulong param_1) ;param_1 ulong x0 ;local_10 undefined1 -10 ;XREF[1,0]: d9008cfc ;local_20 undefined8 -20 ;XREF[2,0]: d9008d00,d9008d4c ;local_30 undefined8 -30 ;XREF[2,0]: d9008cf0,d9008d50 ;XREF[10,0]: d90015d0,d9002670,d9002878,d9002bc4 ; d9002c40,d9002ffc,d900654c,d9007de0 ; d9008a84,d9008d88 BL2:d9008cf0 fd7bbda9 stp x29,x30,[sp, #local_30]! BL2:d9008cf4 fd030091 mov x29,sp BL2:d9008cf8 01068052 mov w1,#0x30 BL2:d9008cfc a1830039 strb w1,[x29, #local_10+0x30] BL2:d9008d00 f30b00f9 str x19,[sp, #local_20+0x30] BL2:d9008d04 010080d2 mov x1,#0x0 BL2:d9008d08 430180d2 mov x3,#0xa LAB_d9008d0c: ;XREF[1,0]: d9008d2c BL2:d9008d0c 0208c39a udiv x2,param_1,x3 BL2:d9008d10 4080039b msub param_1,x2,x3,param_1 BL2:d9008d14 00c00011 add param_1,param_1,#0x30 BL2:d9008d18 24800091 add x4,x1,#0x20 BL2:d9008d1c 80683d38 strb param_1,[x4, x29, LSL ] BL2:d9008d20 f303012a mov w19,w1 BL2:d9008d24 e00302aa mov param_1,x2 BL2:d9008d28 21040091 add x1,x1,#0x1 BL2:d9008d2c 02ffffb5 cbnz x2,LAB_d9008d0c LAB_d9008d30: ;XREF[1,0]: d9008d48 BL2:d9008d30 617e4093 sxtw x1,w19 BL2:d9008d34 a2830091 add x2,x29,#0x20 BL2:d9008d38 20686238 ldrb param_1,[x1, x2, LSL ] BL2:d9008d3c 73060051 sub w19,w19,#0x1 BL2:d9008d40 b9ffff97 bl serial_putc ;void serial_putc(char c) BL2:d9008d44 7f060031 cmn w19,#0x1 BL2:d9008d48 41ffff54 b.ne LAB_d9008d30 BL2:d9008d4c f30b40f9 ldr x19,[sp, #local_20+0x30] BL2:d9008d50 fd7bc3a8 ldp x29=>local_30,x30,[sp], #0x30 BL2:d9008d54 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;void serial_print_new(char * prefix, ulong integer, int hex_or_dec, char * suffix) ;prefix char * x0 ;integer ulong x1 ;hex_or_dec int w2 ;suffix char * x3 ;local_8 undefined8 -8 ;XREF[2,0]: d9008d70,d9008d78 ;local_10 undefined8 -10 ;XREF[2,0]: d9008d6c,d9008d7c ;local_20 undefined8 -20 ;XREF[3,0]: d9008d60,d9008da0,d9008dac ;local_30 undefined8 -30 ;XREF[3,0]: d9008d58,d9008da4,d9008db0 ;FUN_d9008d58(byte *param_1, ulong param_2, int param_3, byte *param_4); ; ^ string ^ number ^ hex/dec switch ^ extra string ; ;Not sure about the name..... ;XREF[25,0]: d9003624,d9003644,d900369c,d90036b8 ; d90036e0,d90036fc,d90038f4,d900391c ; d900397c,d9004aec,d9004b0c,d9004b2c ; d9004b4c,d9004b6c,d9004dec,d9004e0c ; d9004e2c,d9004e4c,d9004e6c,d9005bfc ; d90081f4,d900824c,d9008264,d9008280 ; d9008480 BL2:d9008d58 fd7bbda9 stp x29,x30,[sp, #local_30]! BL2:d9008d5c fd030091 mov x29,sp BL2:d9008d60 f30b00f9 str x19,[sp, #local_20+0x30] BL2:d9008d64 f30303aa mov x19,suffix BL2:d9008d68 c00000b4 cbz prefix,LAB_d9008d80 BL2:d9008d6c a11300f9 str integer,[x29, #local_10+0x30] BL2:d9008d70 a21700f9 str hex_or_dec,[x29, #local_8+0x30] BL2:d9008d74 beffff97 bl serial_puts ;void serial_puts(char * param_1) BL2:d9008d78 a21740f9 ldr hex_or_dec,[x29, #local_8+0x30] BL2:d9008d7c a11340f9 ldr integer,[x29, #local_10+0x30] LAB_d9008d80: ;XREF[1,0]: d9008d68 BL2:d9008d80 e003012a mov prefix,integer BL2:d9008d84 62000034 cbz hex_or_dec,LAB_d9008d90 BL2:d9008d88 daffff97 bl serial_put_dec ;undefined serial_put_dec(ulong param_1) BL2:d9008d8c 03000014 b LAB_d9008d98 LAB_d9008d90: ;XREF[1,0]: d9008d84 BL2:d9008d90 01048052 mov integer,#0x20 BL2:d9008d94 c2ffff97 bl serial_put_hex ;undefined serial_put_hex(ulong param... LAB_d9008d98: ;XREF[1,0]: d9008d8c BL2:d9008d98 b30000b4 cbz x19,LAB_d9008dac BL2:d9008d9c e00313aa mov prefix,x19 BL2:d9008da0 f30b40f9 ldr x19,[sp, #local_20+0x30] BL2:d9008da4 fd7bc3a8 ldp x29=>local_30,x30,[sp], #0x30 BL2:d9008da8 b1ffff17 b serial_puts ;void serial_puts(char * param_1) LAB_d9008dac: ;XREF[1,0]: d9008d98 BL2:d9008dac f30b40f9 ldr x19,[sp, #local_20+0x30] BL2:d9008db0 fd7bc3a8 ldp x29=>local_30,x30,[sp], #0x30 BL2:d9008db4 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined4 mmio_read_X__notsure(undefined4 * param_1) ;param_1 undefined4 * x0 ;XREF[2,0]: d900859c,d90085ac BL2:d9008db8 000040b9 ldr param_1,[param_1] BL2:d9008dbc c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 platform_set_coherent_stack(void) ;XREF[1,0]: d900103c BL2:d9008dc0 80000058 ldr x0=>DAT_d9013800,DAT_d9008dd0 ;= 00000000D9013800h BL2:d9008dc4 1f000091 mov sp,x0 BL2:d9008dc8 c0035fd6 ret BL2:d9008dcc 00 ?? 00h BL2:d9008dcd 00 ?? 00h BL2:d9008dce 00 ?? 00h BL2:d9008dcf 00 ?? 00h DAT_d9008dd0: ;XREF[1,0]: d9008dc0 BL2:d9008dd0 003801d90... undefined8 00000000D9013800h ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;bool platform_is_primary_cpu(short param_1) ;param_1 short w0 ;XREF[1,0]: d9001014 BL2:d9008dd8 003c4092 and param_1,param_1,#0xffff BL2:d9008ddc 1f0000f1 cmp param_1,#0x0 BL2:d9008de0 e0179f9a cset param_1,eq BL2:d9008de4 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008de8(undefined8 param_1, undefined8 param_2, undefined8 param_3) ;param_1 undefined8 x0 ;param_2 undefined8 x1 ;param_3 undefined8 x2 ;XREF[5,0]: d9006404,d9006490,d900651c,d900679c ; d9007e88 BL2:d9008de8 a10080d2 mov param_2,#0x5 BL2:d9008dec 001038d5 mrs param_1,sctlr_el1 BL2:d9008df0 0000218a bic param_1,param_1,param_2 BL2:d9008df4 001018d5 msr sctlr_el1,param_1 BL2:d9008df8 df3f03d5 isb BL2:d9008dfc 200080d2 mov param_1,#0x1 BL2:d9008e00 5d000014 b FUN_d9008f74 ;undefined FUN_d9008f74(long param_1,... ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008e04(undefined8 param_1, undefined8 param_2, undefined8 param_3) ;param_1 undefined8 x0 ;param_2 undefined8 x1 ;param_3 undefined8 x2 ;XREF[3,0]: d900643c,d9006578,d9007eac BL2:d9008e04 a10080d2 mov param_2,#0x5 BL2:d9008e08 001038d5 mrs param_1,sctlr_el1 BL2:d9008e0c 000001aa orr param_1,param_1,param_2 BL2:d9008e10 001018d5 msr sctlr_el1,param_1 BL2:d9008e14 df3f03d5 isb BL2:d9008e18 200080d2 mov param_1,#0x1 BL2:d9008e1c 56000014 b FUN_d9008f74 ;undefined FUN_d9008f74(long param_1,... ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008e20(void) ;XREF[1,0]: d90065a8 BL2:d9008e20 e9031eaa mov x9,x30 BL2:d9008e24 1f000091 mov sp,x0 BL2:d9008e28 20015fd6 ret x9 ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined inv_dcache_range(ulong param_1, long param_2) ;param_1 ulong x0 ;param_2 long x1 ;XREF[12,0]: d9001200,d9001a60,d9002e7c,d9002e9c ; d9002ec4,d9002f34,d90032bc,d9007124 ; d900750c,d9008ae0,d9008b68,d9008bd8 BL2:d9008e2c 23003bd5 mrs x3,ctr_el0 BL2:d9008e30 634c50d3 ubfx x3,x3,#0x10,#0x4 BL2:d9008e34 820080d2 mov x2,#0x4 BL2:d9008e38 4220c39a lsl x2,x2,x3 BL2:d9008e3c 0100018b add param_2,param_1,param_2 BL2:d9008e40 430400d1 sub x3,x2,#0x1 BL2:d9008e44 0000238a bic param_1,param_1,x3 LAB_d9008e48: ;XREF[1,0]: d9008e54 BL2:d9008e48 207e0bd5 dc CIVAC,param_1 BL2:d9008e4c 0000028b add param_1,param_1,x2 BL2:d9008e50 1f0001eb cmp param_1,param_2 BL2:d9008e54 a3ffff54 b.cc LAB_d9008e48 BL2:d9008e58 9f3f03d5 msr sreg(0x0, 0x3, c0x3, c0xf, 0x4),xzr BL2:d9008e5c c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008e60(ulong param_1, long param_2) ;param_1 ulong x0 ;param_2 long x1 ;XREF[4,0]: d90073e0,d9008aec,d9008b74,d9008be4 BL2:d9008e60 23003bd5 mrs x3,ctr_el0 BL2:d9008e64 634c50d3 ubfx x3,x3,#0x10,#0x4 BL2:d9008e68 820080d2 mov x2,#0x4 BL2:d9008e6c 4220c39a lsl x2,x2,x3 BL2:d9008e70 0100018b add param_2,param_1,param_2 BL2:d9008e74 430400d1 sub x3,x2,#0x1 BL2:d9008e78 0000238a bic param_1,param_1,x3 LAB_d9008e7c: ;XREF[1,0]: d9008e88 BL2:d9008e7c 207608d5 dc IVAC,param_1 BL2:d9008e80 0000028b add param_1,param_1,x2 BL2:d9008e84 1f0001eb cmp param_1,param_2 BL2:d9008e88 a3ffff54 b.cc LAB_d9008e7c BL2:d9008e8c 9f3f03d5 msr sreg(0x0, 0x3, c0x3, c0xf, 0x4),xzr BL2:d9008e90 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008e94(long param_1, undefined8 param_2, undefined8 param_3, long param_4) ;param_1 long x0 ;param_2 undefined8 x1 ;param_3 undefined8 x2 ;param_4 long x3 ;XREF[1,0]: d9008f80 BL2:d9008e94 e30300b4 cbz param_4,LAB_d9008f10 BL2:d9008e98 ea031faa mov x10,xzr BL2:d9008e9c ce030010 adr x14,0xd9008f14 BL2:d9008ea0 ce15008b add x14,x14,param_1, LSL #0x5 BL2:d9008ea4 e00309aa mov param_1,x9 BL2:d9008ea8 28008052 mov w8,#0x1 LAB_d9008eac: ;XREF[1,0]: d9008f00 BL2:d9008eac 42054a8b add param_3,x10,x10, LSR #0x1 BL2:d9008eb0 0124c29a lsr param_2,param_1,param_3 BL2:d9008eb4 21084092 and param_2,param_2,#0x7 BL2:d9008eb8 3f0800f1 cmp param_2,#0x2 BL2:d9008ebc eb010054 b.lt LAB_d9008ef8 BL2:d9008ec0 0a001ad5 msr csselr_el1,x10 BL2:d9008ec4 df3f03d5 isb BL2:d9008ec8 010039d5 mrs param_2,ccsidr_el1 BL2:d9008ecc 22084092 and param_3,param_2,#0x7 BL2:d9008ed0 42100091 add param_3,param_3,#0x4 BL2:d9008ed4 243043d3 ubfx x4,param_2,#0x3,#0xa BL2:d9008ed8 8510c05a clz w5,w4 BL2:d9008edc 8920c51a lsl w9,w4,w5 BL2:d9008ee0 1021c51a lsl w16,w8,w5 BL2:d9008ee4 4901092a orr w9,w10,w9 BL2:d9008ee8 266c0d53 ubfx w6,param_2,#0xd,#0xf BL2:d9008eec 1121c21a lsl w17,w8,param_3 BL2:d9008ef0 9f3f03d5 msr sreg(0x0, 0x3, c0x3, c0xf, 0x4),xzr BL2:d9008ef4 c0011fd6 br x14 LAB_d9008ef8: ;XREF[1,0]: d9008ebc BL2:d9008ef8 4a090091 add x10,x10,#0x2 BL2:d9008efc 7f000aeb cmp param_4,x10 BL2:d9008f00 6cfdff54 b.gt LAB_d9008eac BL2:d9008f04 1f001ad5 msr csselr_el1,xzr BL2:d9008f08 9f3f03d5 msr sreg(0x0, 0x3, c0x3, c0xf, 0x4),xzr BL2:d9008f0c df3f03d5 isb LAB_d9008f10: ;XREF[1,0]: d9008e94 BL2:d9008f10 c0035fd6 ret BL2:d9008f14 c7 ?? C7h BL2:d9008f15 20 ?? 20h BL2:d9008f16 c2 ?? C2h BL2:d9008f17 1a ?? 1Ah BL2:d9008f18 2b ?? 2Bh + BL2:d9008f19 01 ?? 01h BL2:d9008f1a 07 ?? 07h BL2:d9008f1b 2a ?? 2Ah * BL2:d9008f1c 4b ?? 4Bh K BL2:d9008f1d 76 ?? 76h v BL2:d9008f1e 08 ?? 08h BL2:d9008f1f d5 ?? D5h BL2:d9008f20 e7 ?? E7h BL2:d9008f21 00 ?? 00h BL2:d9008f22 11 ?? 11h BL2:d9008f23 6b ?? 6Bh k BL2:d9008f24 aa ?? AAh BL2:d9008f25 ff ?? FFh BL2:d9008f26 ff ?? FFh BL2:d9008f27 54 ?? 54h T BL2:d9008f28 29 ?? 29h ) BL2:d9008f29 01 ?? 01h BL2:d9008f2a 10 ?? 10h BL2:d9008f2b eb ?? EBh BL2:d9008f2c 4a ?? 4Ah J BL2:d9008f2d ff ?? FFh BL2:d9008f2e ff ?? FFh BL2:d9008f2f 54 ?? 54h T BL2:d9008f30 f2 ?? F2h BL2:d9008f31 ff ?? FFh BL2:d9008f32 ff ?? FFh BL2:d9008f33 17 ?? 17h BL2:d9008f34 c7 ?? C7h BL2:d9008f35 20 ?? 20h BL2:d9008f36 c2 ?? C2h BL2:d9008f37 1a ?? 1Ah BL2:d9008f38 2b ?? 2Bh + BL2:d9008f39 01 ?? 01h BL2:d9008f3a 07 ?? 07h BL2:d9008f3b 2a ?? 2Ah * BL2:d9008f3c 4b ?? 4Bh K BL2:d9008f3d 7e ?? 7Eh ~ BL2:d9008f3e 08 ?? 08h BL2:d9008f3f d5 ?? D5h BL2:d9008f40 e7 ?? E7h BL2:d9008f41 00 ?? 00h BL2:d9008f42 11 ?? 11h BL2:d9008f43 6b ?? 6Bh k BL2:d9008f44 aa ?? AAh BL2:d9008f45 ff ?? FFh BL2:d9008f46 ff ?? FFh BL2:d9008f47 54 ?? 54h T BL2:d9008f48 29 ?? 29h ) BL2:d9008f49 01 ?? 01h BL2:d9008f4a 10 ?? 10h BL2:d9008f4b eb ?? EBh BL2:d9008f4c 4a ?? 4Ah J BL2:d9008f4d ff ?? FFh BL2:d9008f4e ff ?? FFh BL2:d9008f4f 54 ?? 54h T BL2:d9008f50 ea ?? EAh BL2:d9008f51 ff ?? FFh BL2:d9008f52 ff ?? FFh BL2:d9008f53 17 ?? 17h BL2:d9008f54 c7 ?? C7h BL2:d9008f55 20 ?? 20h BL2:d9008f56 c2 ?? C2h BL2:d9008f57 1a ?? 1Ah BL2:d9008f58 2b ?? 2Bh + BL2:d9008f59 01 ?? 01h BL2:d9008f5a 07 ?? 07h BL2:d9008f5b 2a ?? 2Ah * BL2:d9008f5c 4b ?? 4Bh K BL2:d9008f5d 7a ?? 7Ah z BL2:d9008f5e 08 ?? 08h BL2:d9008f5f d5 ?? D5h BL2:d9008f60 e7 ?? E7h BL2:d9008f61 00 ?? 00h BL2:d9008f62 11 ?? 11h BL2:d9008f63 6b ?? 6Bh k BL2:d9008f64 aa ?? AAh BL2:d9008f65 ff ?? FFh BL2:d9008f66 ff ?? FFh BL2:d9008f67 54 ?? 54h T BL2:d9008f68 29 ?? 29h ) BL2:d9008f69 01 ?? 01h BL2:d9008f6a 10 ?? 10h BL2:d9008f6b eb ?? EBh BL2:d9008f6c 4a ?? 4Ah J BL2:d9008f6d ff ?? FFh BL2:d9008f6e ff ?? FFh BL2:d9008f6f 54 ?? 54h T BL2:d9008f70 e2 ?? E2h BL2:d9008f71 ff ?? FFh BL2:d9008f72 ff ?? FFh BL2:d9008f73 17 ?? 17h ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008f74(long param_1, undefined8 param_2, undefined8 param_3) ;param_1 long x0 ;param_2 undefined8 x1 ;param_3 undefined8 x2 ;XREF[2,0]: d9008e00,d9008e1c BL2:d9008f74 290039d5 mrs x9,clidr_el1 BL2:d9008f78 236958d3 ubfx x3,x9,#0x18,#0x3 BL2:d9008f7c 63f87fd3 lsl x3,x3,#0x1 BL2:d9008f80 c5ffff17 b FUN_d9008e94 ;undefined FUN_d9008e94(long param_1,... ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008f84(void) ;XREF[1,0]: d9008a20 BL2:d9008f84 9f3f03d5 msr sreg(0x0, 0x3, c0x3, c0xf, 0x4),xzr BL2:d9008f88 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008f8c(void) ;XREF[2,0]: d9008a24,d9008a40 BL2:d9008f8c df3f03d5 isb BL2:d9008f90 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008f94(undefined8 * param_1, long param_2) ;param_1 undefined8 * x0 ;param_2 long x1 ;XREF[2,0]: d90064bc,d90067c4 BL2:d9008f94 030000d4 smc 0x0 ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined zeromem16(undefined8 * param_1, long param_2) ;param_1 undefined8 * x0 ;param_2 long x1 ;XREF[1,0]: d9001034 BL2:d9008f98 0200018b add x2,param_1,param_2 LAB_d9008f9c: ;XREF[1,0]: d9008fac BL2:d9008f9c 430000cb sub x3,x2,param_1 BL2:d9008fa0 7f4000f1 cmp x3,#0x10 BL2:d9008fa4 6b000054 b.lt LAB_d9008fb0 BL2:d9008fa8 1f7c81a8 stp xzr,xzr,[param_1], #0x10 BL2:d9008fac fcffff17 b LAB_d9008f9c LAB_d9008fb0: ;XREF[2,0]: d9008fa4,d9008fbc BL2:d9008fb0 1f0002eb cmp param_1,x2 BL2:d9008fb4 60000054 b.eq LAB_d9008fc0 BL2:d9008fb8 1f140038 strb wzr,[param_1], #0x1 BL2:d9008fbc fdffff17 b LAB_d9008fb0 LAB_d9008fc0: ;XREF[1,0]: d9008fb4 BL2:d9008fc0 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_d9008fc4(void) ;XREF[1,0]: d9008a04 BL2:d9008fc4 1f8708d5 tlbi VMALLE1 BL2:d9008fc8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 read_current_el(void) ;XREF[1,0]: d90089a4 BL2:d9008fcc 404238d5 mrs x0,currentel BL2:d9008fd0 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 read_id_aa64pfr0_el1(void) ;XREF[1,0]: d9001240 BL2:d9008fd4 000438d5 mrs x0,id_aa64pfr0_el1 BL2:d9008fd8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined write_mair_el1(undefined8 param_1) ;param_1 undefined8 x0 ;XREF[1,0]: d9008a00 BL2:d9008fdc 00a218d5 msr mair_el1,param_1 BL2:d9008fe0 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined8 read_sctlr_el1(void) ;XREF[2,0]: d90089d4,d9008a28 BL2:d9008fe4 001038d5 mrs x0,sctlr_el1 BL2:d9008fe8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined write_sctlr_el1(undefined8 param_1) ;param_1 undefined8 x0 ;XREF[1,0]: d9008a38 BL2:d9008fec 001018d5 msr sctlr_el1,param_1 BL2:d9008ff0 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined write_tcr_el1(undefined8 param_1) ;param_1 undefined8 x0 ;XREF[1,0]: d9008a0c BL2:d9008ff4 402018d5 msr tcr_el1,param_1 BL2:d9008ff8 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined FUN_00000800(undefined8 param_1) ;param_1 undefined8 x0 ;XREF[1,0]: d9008a1c BL2:d9008ffc 002018d5 msr ttbr0_el1,param_1 BL2:d9009000 c0035fd6 ret ;************************************************************************************************ ;* FUNCTION * ;************************************************************************************************ ;undefined write_cpacr(undefined8 param_1) ;param_1 undefined8 x0 ;Guess: seems like this was originally manually written in ARM Assembly, according to Amlogic's old sources. ;XREF[1,0]: d90081c4 BL2:d9009004 401018d5 msr cpacr_el1,param_1 BL2:d9009008 c0035fd6 ret BL2:d900900c 00 ?? 00h BL2:d900900d 00 ?? 00h BL2:d900900e 00 ?? 00h BL2:d900900f 00 ?? 00h s_Built_:_09:01:42,_Oct_11_...;XREF[1,0]: d9007df4 BL2:d9009010 4275696c7... ds "Built : 09:01:42, Oct 11 2016. \ngxb... BL2:d9009054 00 ?? 00h BL2:d9009055 00 ?? 00h BL2:d9009056 00 ?? 00h BL2:d9009057 00 ?? 00h switchdataD_d9009058: ;XREF[1,0]: d90018f0 BL2:d9009058 00 db 0h BL2:d9009059 03 db 3h BL2:d900905a 06 db 6h BL2:d900905b 09 db 9h BL2:d900905c 0c db Ch BL2:d900905d 10 db 10h BL2:d900905e 10 db 10h BL2:d900905f 00 ?? 00h switchdataD_d9009060: ;XREF[1,0]: d90019ec BL2:d9009060 00 db 0h BL2:d9009061 02 db 2h BL2:d9009062 08 db 8h BL2:d9009063 0d db Dh BL2:d9009064 13 db 13h BL2:d9009065 13 db 13h BL2:d9009066 00 ?? 00h BL2:d9009067 00 ?? 00h s_sd/emmc_read_data_error:_...;XREF[1,0]: d90015c4 BL2:d9009068 73642f656... ds "sd/emmc read data error: ret=" s_sd/emmc_boot_device_error...;XREF[1,0]: d9001628 BL2:d9009086 73642f656... ds "sd/emmc boot device error\n" DAT_d90090a1: ;XREF[1,0]: d9001710 BL2:d90090a1 2d ?? 2Dh - BL2:d90090a2 66 ?? 66h f BL2:d90090a3 0a ?? 0Ah BL2:d90090a4 00 ?? 00h DAT_d90090a5: ;XREF[1,0]: d9001724 BL2:d90090a5 2d ?? 2Dh - BL2:d90090a6 73 ?? 73h s BL2:d90090a7 0a ?? 0Ah BL2:d90090a8 00 ?? 00h s_NAND_init_d90090a9: ;XREF[1,0]: d900188c BL2:d90090a9 4e414e442... ds "NAND init\n" BL2:d90090b4 52737600 ds "Rsv" BL2:d90090b8 654d4d4300 ds "eMMC" BL2:d90090bd 4e414e4400 ds "NAND" BL2:d90090c2 53504900 ds "SPI" BL2:d90090c6 534400 ds "SD" s_USB_d90090c9: ;XREF[1,0]: d9001974 BL2:d90090c9 55534200 ds "USB" BL2:d90090cd 554e4b4e4... ds "UNKNOWN" s_Load_d90090d5: ;XREF[1,0]: d9001958 BL2:d90090d5 4c6f61642000 ds "Load " s__from_d90090db: ;XREF[1,0]: d900196c BL2:d90090db 2066726f6... ds " from " s_,_src:_0x_d90090e2: ;XREF[1,0]: d9001980 BL2:d90090e2 2c2073726... ds ", src: 0x" s_,_des:_0x_d90090ec: ;XREF[1,0]: d9001998 BL2:d90090ec 2c2064657... ds ", des: 0x" s_,_size:_0x_d90090f6: ;XREF[1,0]: d90019b0 BL2:d90090f6 2c2073697... ds ", size: 0x" s_Err:sha_d9009101: ;XREF[5,0]: d9001aa4,d9001b9c,d9001d64,d9001e58 ; d9001e80 BL2:d9009101 4572723a7... ds "Err:sha\n" BL2:d900910a 4572726f7... ds "Error: Use the error port num!\n" BL2:d900912a 4572726f7... ds "Error: mailbox try to send zero val!\n" BL2:d9009150 5761726e6... ds "Warning: clean val=0.\n" s_bl301_d9009167: ;XREF[1,0]: d900231c BL2:d9009167 626c33303100 ds "bl301" s_Wait_bl30..._d900916d: ;XREF[1,1]: d900233c,d90023e8 BL2:d900916d 576169742... ds "Wait bl30..." s_Done_d900917a: ;XREF[1,0]: d9002360 BL2:d900917a 446f6e650a00 ds "Done\n" s_Sending_d9009180: ;XREF[1,0]: d900236c BL2:d9009180 53656e646... ds "Sending " s_OK._Run_d9009189: ;XREF[1,0]: d9002480 BL2:d9009189 4f4b2e200... ds "OK. \nRun " s__lock_check_d9009193: ;XREF[1,1]: d9002664,d9003004 BL2:d9009193 206c6f636... ds " lock check " s__lock_failed!_reset..._d9...;XREF[1,1]: d900269c,d90064f0 BL2:d90091a0 206c6f636... ds " lock failed! reset...\n" s_SYS_PLL_d90091b8: ;XREF[1,0]: d900281c BL2:d90091b8 535953205... ds "SYS PLL" s_CPU_clk:_d90091c0: ;XREF[1,0]: d9002868 BL2:d90091c0 435055206... ds "CPU clk: " DAT_d90091ca: ;XREF[1,0]: d9002880 BL2:d90091ca 4d ?? 4Dh M BL2:d90091cb 48 ?? 48h H BL2:d90091cc 7a ?? 7Ah z BL2:d90091cd 0a ?? 0Ah BL2:d90091ce 00 ?? 00h s_FIX_PLL_d90091cf: ;XREF[1,0]: d9002a48 BL2:d90091cf 464958205... ds "FIX PLL" s__Get_saradc_sample_Error....;XREF[1,0]: d9002bb8 BL2:d90091d7 204765742... ds " Get saradc sample Error. Cnt_" s_Board_ID_=_d90091f6: ;XREF[1,0]: d9002c34 BL2:d90091f6 426f61726... ds "Board ID = " BL2:d9009202 00 ?? 00h BL2:d9009203 00 ?? 00h BL2:d9009204 00 ?? 00h BL2:d9009205 00 ?? 00h BL2:d9009206 00 ?? 00h BL2:d9009207 00 ?? 00h DAT_d9009208: ;XREF[2,0]: d9002bec,d9002bf0 BL2:d9009208 3f000000 undefined4 0000003Fh DAT_d900920c: ;XREF[1,0]: d9002bf0 BL2:d900920c bf000000 undefined4 000000BFh BL2:d9009210 3f ?? 3Fh ? BL2:d9009211 01 ?? 01h BL2:d9009212 00 ?? 00h BL2:d9009213 00 ?? 00h BL2:d9009214 bf ?? BFh BL2:d9009215 01 ?? 01h BL2:d9009216 00 ?? 00h BL2:d9009217 00 ?? 00h BL2:d9009218 3f ?? 3Fh ? BL2:d9009219 02 ?? 02h BL2:d900921a 00 ?? 00h BL2:d900921b 00 ?? 00h BL2:d900921c bf ?? BFh BL2:d900921d 02 ?? 02h BL2:d900921e 00 ?? 00h BL2:d900921f 00 ?? 00h BL2:d9009220 3f ?? 3Fh ? BL2:d9009221 03 ?? 03h BL2:d9009222 00 ?? 00h BL2:d9009223 00 ?? 00h BL2:d9009224 bf ?? BFh BL2:d9009225 03 ?? 03h BL2:d9009226 00 ?? 00h BL2:d9009227 00 ?? 00h BL2:d9009228 ff ?? FFh ;? -> 000003ff BL2:d9009229 03 ?? 03h BL2:d900922a 00 ?? 00h BL2:d900922b 00 ?? 00h BL2:d900922c 00 ?? 00h BL2:d900922d 00 ?? 00h BL2:d900922e 00 ?? 00h BL2:d900922f 00 ?? 00h s_aml_log_:_R-_d9009230: ;XREF[1,0]: d9002fe4 BL2:d9009230 616d6c206... ds "aml log : R-" BL2:d900923d 00 ?? 00h BL2:d900923e 00 ?? 00h BL2:d900923f 00 ?? 00h BL2:d9009240 52616e6b3... ds "Rank0 only" BL2:d900924c 00 ?? 00h BL2:d900924d 52616e6b3... ds "Rank0+1 same" s_Rank0+1_diff_d900925a: ;XREF[1,0]: d9005bd4 BL2:d900925a 52616e6b3... ds "Rank0+1 diff" BL2:d9009267 736861726... ds "share ac 0+1" BL2:d9009274 44 ?? 44h D BL2:d9009275 44 ?? 44h D BL2:d9009276 52 ?? 52h R BL2:d9009277 30 ?? 30h 0 BL2:d9009278 20 ?? 20h BL2:d9009279 31 ?? 31h 1 BL2:d900927a 36 ?? 36h 6 BL2:d900927b 62 ?? 62h b BL2:d900927c 69 ?? 69h i ;? -> 00007469 BL2:d900927d 74 ?? 74h t BL2:d900927e 00 ?? 00h BL2:d900927f 00 ?? 00h BL2:d9009280 00 ?? 00h BL2:d9009281 00 ?? 00h BL2:d9009282 00 ?? 00h BL2:d9009283 00 ?? 00h BL2:d9009284 00 ?? 00h BL2:d9009285 00 ?? 00h BL2:d9009286 00 ?? 00h BL2:d9009287 00 ?? 00h s_STICKY_REG0:_0x_d9009288: ;XREF[1,0]: d9003618 BL2:d9009288 535449434... ds "STICKY_REG0: 0x" s_STICKY_REG1:_0x_d9009298: ;XREF[1,0]: d9003638 BL2:d9009298 535449434... ds "STICKY_REG1: 0x" s_ZQCR:_0x_d90092a8: ;XREF[1,0]: d900368c BL2:d90092a8 5a5143523... ds "ZQCR: 0x" s__->_0x_d90092b1: ;XREF[2,0]: d90036a8,d90036f4 BL2:d90092b1 202d3e203... ds " -> 0x" s_PLL_:_0x_d90092b8: ;XREF[1,0]: d90036c4 BL2:d90092b8 504c4c203... ds "PLL : 0x" s_DDR_PLL_d90092c1: ;XREF[1,0]: d90037d0 BL2:d90092c1 444452205... ds "DDR PLL" DAT_d90092c9: ;XREF[1,0]: d9003964 BL2:d90092c9 2d ?? 2Dh - BL2:d90092ca 31 ?? 31h 1 BL2:d90092cb 54 ?? 54h T BL2:d90092cc 2d ?? 2Dh - BL2:d90092cd 00 ?? 00h s_-F1T-_d90092ce: ;XREF[1,0]: d9003958 BL2:d90092ce 2d4631542d00 ds "-F1T-" DAT_d90092d4: ;XREF[1,0]: d900394c BL2:d90092d4 2d ?? 2Dh - BL2:d90092d5 32 ?? 32h 2 BL2:d90092d6 54 ?? 54h T BL2:d90092d7 2d ?? 2Dh - BL2:d90092d8 00 ?? 00h DAT_d90092d9: ;XREF[1,0]: d9003918 BL2:d90092d9 4d ?? 4Dh M BL2:d90092da 42 ?? 42h B BL2:d90092db 00 ?? 00h s_(auto)_d90092dc: ;XREF[1,0]: d9003930 BL2:d90092dc 286175746... ds "(auto)" s__PGSR0:_0x_d900932b: ;XREF[1,0]: d9004de0 BL2:d90092e3 2e5265747... ds ".Retry...\n" s_DX0GSR2:_0x_d90092ee: ;XREF[2,0]: d9004b00,d9004e04 BL2:d90092ee 445830475... ds "DX0GSR2: 0x" s_DX1GSR2:_0x_d90092fa: ;XREF[2,0]: d9004b20,d9004e24 BL2:d90092fa 445831475... ds "DX1GSR2: 0x" s_DX2GSR2:_0x_d9009306: ;XREF[2,0]: d9004b40,d9004e44 BL2:d9009306 445832475... ds "DX2GSR2: 0x" s_DX3GSR2:_0x_d9009312: ;XREF[2,0]: d9004b60,d9004e60 BL2:d9009312 445833475... ds "DX3GSR2: 0x" s_only_wl_Error_PGSR0:_0x_d...;XREF[1,1]: d9004ae0,d9004de4 BL2:d900931e 6f6e6c792... ds "only wl Error PGSR0: 0x" DAT_d9009336: ;XREF[5,0]: d9004de0,d9004e00,d9004e20,d9004e40 ; d9004e68 BL2:d9009336 2e ?? 2Eh . DAT_d9009337: ;XREF[1,0]: d9002494 BL2:d9009337 2e ?? 2Eh . BL2:d9009338 2e ?? 2Eh . DAT_d9009339: ;XREF[5,0]: d9004ae8,d9004b08,d9004b28,d9004b48 ; d9004b68 BL2:d9009339 2e ?? 2Eh . BL2:d900933a 0a ?? 0Ah BL2:d900933b 00 ?? 00h s_LPDDR_init_fail,_reset......;XREF[1,1]: d9004e84,d9004b74 BL2:d900933c 4c5044445... ds "LPDDR init fail, reset...\n" s_DQS-corr_enabled_d9009357: ;XREF[1,0]: d9004f40 BL2:d9009357 4451532d6... ds "DQS-corr enabled\n" s_DDR_clk_setting_error!_Re...;XREF[1,0]: d9005240 BL2:d9009369 444452206... ds "DDR clk setting error! Reset...\n" s_DDR_Timing_err..._d900938a: ;XREF[1,0]: d90052f0 BL2:d900938a 444452205... ds "DDR Timing err...\n" s_DataBus_test_failed!!!_d9...;XREF[1,0]: d9005a74 BL2:d900939d 446174614... ds "DataBus test failed!!!\n" s_DataBus_test_pass!_d90093b5:;XREF[1,0]: d9005a88 BL2:d90093b5 446174614... ds "DataBus test pass!\n" s_AddrBus_test_failed!!!_d9...;XREF[1,0]: d9005aac BL2:d90093c9 416464724... ds "AddrBus test failed!!!\n" s_AddrBus_test_pass!_d90093e1:;XREF[1,0]: d9005ac0 BL2:d90093e1 416464724... ds "AddrBus test pass!\n" s_Device_test_failed!!!_d90...;XREF[1,0]: d9005af0 BL2:d90093f5 446576696... ds "Device test failed!!!\n" s_Device_test_pass!_d900940c: ;XREF[1,1]: d9005b04,d9003010 BL2:d900940c 446576696... ds "Device test pass!\n" s_LPDDR_chl:_d900941f: ;XREF[1,1]: d9005bb4,d9005bbc BL2:d900941f 4c5044445... ds "LPDDR chl: " s__@_d900942b: ;XREF[1,0]: d9005bf0 BL2:d900942b 20402000 ds " @ " s_MHz_d900942f: ;XREF[1,0]: d9005bf8 BL2:d900942f 4d487a00 ds "MHz" s__-_PASS_d9009433: ;XREF[1,0]: d9005c14 BL2:d9009433 202d20504... ds " - PASS\n" s__-_FAIL_d900943c: ;XREF[1,0]: d9005c24 BL2:d900943c 202d20464... ds " - FAIL\n" s__sdio_debug_board_detecte...;XREF[1,0]: d9005d3c BL2:d9009445 0a7364696... ds "\nsdio debug board detected " s__no_sdio_debug_board_dete...;XREF[1,0]: d9005d54 BL2:d9009461 0a6e6f207... ds "\nno sdio debug board detected " switchdataD_d9009480: ;XREF[1,0]: d9005d98 BL2:d9009480 23 db 23h BL2:d9009481 16 db 16h BL2:d9009482 0b db Bh BL2:d9009483 00 db 0h s_New_fip_structure!_d9009484:;XREF[1,0]: d90062a0 BL2:d9009484 4e6577206... ds "New fip structure!\n" s_USB_mode!_d9009498: ;XREF[1,0]: d90064d8 BL2:d9009498 555342206... ds "USB mode!\n" s_aml_log_:_SIG_CHK_:_d9009...;XREF[1,0]: d9006540 BL2:d90094a3 616d6c206... ds "aml log : SIG CHK : " s__for_address_0x_d90094b8: ;XREF[1,0]: d9006554 BL2:d90094b8 20666f722... ds " for address 0x" s_fip_header_d90094c8: ;XREF[1,0]: d90065b8 BL2:d90094c8 666970206... ds "fip header" BL2:d90094d3 00 ?? 00h BL2:d90094d4 00 ?? 00h BL2:d90094d5 00 ?? 00h BL2:d90094d6 00 ?? 00h BL2:d90094d7 00 ?? 00h DAT_d90094d8: ;XREF[1,0]: d9006c08 BL2:d90094d8 00 ?? 00h BL2:d90094d9 00 ?? 00h BL2:d90094da 00 ?? 00h BL2:d90094db f0 ?? F0h BL2:d90094dc f0 ?? F0h BL2:d90094dd f0 ?? F0h BL2:d90094de ef ?? EFh BL2:d90094df e0 ?? E0h BL2:d90094e0 e0 ?? E0h BL2:d90094e1 df ?? DFh BL2:d90094e2 d0 ?? D0h BL2:d90094e3 d0 ?? D0h BL2:d90094e4 1e ?? 1Eh BL2:d90094e5 e0 ?? E0h BL2:d90094e6 10 ?? 10h BL2:d90094e7 2e ?? 2Eh . BL2:d90094e8 d0 ?? D0h BL2:d90094e9 20 ?? 20h BL2:d90094ea 3d ?? 3Dh = BL2:d90094eb f0 ?? F0h BL2:d90094ec 30 ?? 30h 0 BL2:d90094ed cd ?? CDh BL2:d90094ee e0 ?? E0h BL2:d90094ef d0 ?? D0h BL2:d90094f0 0d ?? 0Dh BL2:d90094f1 d0 ?? D0h BL2:d90094f2 10 ?? 10h BL2:d90094f3 01 ?? 01h BL2:d90094f4 10 ?? 10h BL2:d90094f5 20 ?? 20h BL2:d90094f6 12 ?? 12h BL2:d90094f7 20 ?? 20h BL2:d90094f8 20 ?? 20h BL2:d90094f9 b2 ?? B2h BL2:d90094fa 10 ?? 10h BL2:d90094fb d0 ?? D0h BL2:d90094fc a3 ?? A3h BL2:d90094fd 20 ?? 20h BL2:d90094fe d0 ?? D0h BL2:d90094ff 9f ?? 9Fh BL2:d9009500 00 ?? 00h BL2:d9009501 d0 ?? D0h BL2:d9009502 be ?? BEh BL2:d9009503 f0 ?? F0h BL2:d9009504 c0 ?? C0h BL2:d9009505 ad ?? ADh BL2:d9009506 c0 ?? C0h BL2:d9009507 c0 ?? C0h BL2:d9009508 9f ?? 9Fh BL2:d9009509 f0 ?? F0h BL2:d900950a c0 ?? C0h BL2:d900950b 01 ?? 01h BL2:d900950c 00 ?? 00h BL2:d900950d 00 ?? 00h BL2:d900950e 02 ?? 02h BL2:d900950f 00 ?? 00h BL2:d9009510 00 ?? 00h BL2:d9009511 0d ?? 0Dh BL2:d9009512 b0 ?? B0h BL2:d9009513 00 ?? 00h BL2:d9009514 0c ?? 0Ch ;? -> 0000a00c BL2:d9009515 a0 ?? A0h BL2:d9009516 00 ?? 00h BL2:d9009517 00 ?? 00h DAT_d9009518: ;XREF[1,0]: d9006f0c BL2:d9009518 00 ?? 00h BL2:d9009519 00 ?? 00h BL2:d900951a 00 ?? 00h BL2:d900951b 00 ?? 00h BL2:d900951c 05 ?? 05h BL2:d900951d 0a ?? 0Ah BL2:d900951e 00 ?? 00h BL2:d900951f 00 ?? 00h BL2:d9009520 28 ?? 28h ( BL2:d9009521 00 ?? 00h BL2:d9009522 ec ?? ECh BL2:d9009523 d8 ?? D8h BL2:d9009524 ed ?? EDh BL2:d9009525 f5 ?? F5h BL2:d9009526 ed ?? EDh BL2:d9009527 e6 ?? E6h BL2:d9009528 0a ?? 0Ah BL2:d9009529 0f ?? 0Fh BL2:d900952a 05 ?? 05h BL2:d900952b 00 ?? 00h BL2:d900952c 0f ?? 0Fh BL2:d900952d 0a ?? 0Ah BL2:d900952e fb ?? FBh BL2:d900952f ec ?? ECh BL2:d9009530 e8 ?? E8h BL2:d9009531 ef ?? EFh BL2:d9009532 e8 ?? E8h BL2:d9009533 dc ?? DCh BL2:d9009534 f1 ?? F1h BL2:d9009535 fb ?? FBh BL2:d9009536 fe ?? FEh BL2:d9009537 f0 ?? F0h BL2:d9009538 0a ?? 0Ah BL2:d9009539 00 ?? 00h BL2:d900953a fb ?? FBh BL2:d900953b ec ?? ECh BL2:d900953c d0 ?? D0h BL2:d900953d e2 ?? E2h BL2:d900953e d0 ?? D0h BL2:d900953f c2 ?? C2h BL2:d9009540 14 ?? 14h BL2:d9009541 0f ?? 0Fh BL2:d9009542 fb ?? FBh BL2:d9009543 ec ?? ECh BL2:d9009544 e8 ?? E8h BL2:d9009545 fb ?? FBh BL2:d9009546 e8 ?? E8h BL2:d9009547 dc ?? DCh BL2:d9009548 1e ?? 1Eh BL2:d9009549 14 ?? 14h BL2:d900954a fb ?? FBh BL2:d900954b ec ?? ECh BL2:d900954c fb ?? FBh BL2:d900954d ff ?? FFh BL2:d900954e fb ?? FBh BL2:d900954f f8 ?? F8h BL2:d9009550 07 ?? 07h ;? -> 00020c07 BL2:d9009551 0c ?? 0Ch BL2:d9009552 02 ?? 02h BL2:d9009553 00 ?? 00h BL2:d9009554 00 ?? 00h BL2:d9009555 00 ?? 00h BL2:d9009556 00 ?? 00h BL2:d9009557 00 ?? 00h DAT_d9009558: ;XREF[1,0]: d9007d38 BL2:d9009558 00 ?? 00h BL2:d9009559 30 ?? 30h 0 BL2:d900955a 31 ?? 31h 1 BL2:d900955b 30 ?? 30h 0 BL2:d900955c 0d ?? 0Dh BL2:d900955d 06 ?? 06h BL2:d900955e 09 ?? 09h BL2:d900955f 60 ?? 60h ` BL2:d9009560 86 ?? 86h BL2:d9009561 48 ?? 48h H BL2:d9009562 01 ?? 01h BL2:d9009563 65 ?? 65h e BL2:d9009564 03 ?? 03h BL2:d9009565 04 ?? 04h BL2:d9009566 02 ?? 02h BL2:d9009567 01 ?? 01h BL2:d9009568 05 ?? 05h ;? -> 20040005 BL2:d9009569 00 ?? 00h BL2:d900956a 04 ?? 04h BL2:d900956b 20 ?? 20h BL2:d900956c 00 ?? 00h BL2:d900956d 00 ?? 00h BL2:d900956e 00 ?? 00h BL2:d900956f 00 ?? 00h s__ERROR!_Customer_ID_not_m...;XREF[1,0]: d9007dac BL2:d9009570 0a4552524... ds "\nERROR! Customer ID not match!\n" s__TE:_d9009590: ;XREF[1,0]: d9007dcc BL2:d9009590 0a54453a2000 ds "\nTE: " s__BL2_d9009596: ;XREF[1,0]: d9007de8 BL2:d9009596 0a0a424c3... ds "\n\nBL2 " DAT_d900959d: ;XREF[1,0]: d9007e04 BL2:d900959d 0a ?? 0Ah CHAR_NL: ;XREF[17,0]: d90015d8,d90019c8,d9002678,d9002bcc ; d9002c48,d9003620,d9003640,d90036b4 ; d90036f8,d9003978,d9005c44,d900656c ; d900827c,d9008468,d90084a8,d900850c ; d9008560 BL2:d900959e 0a char '\n' CHAR_NUL: ;XREF[6,0]: d9003694,d90036cc,d90038f0,d90081f0 ; d9008240,d9008258 BL2:d900959f 00 char '\0' s_NEVER_BE_HERE_d90095a0: ;XREF[1,0]: d9007e64 BL2:d90095a0 4e4556455... ds "NEVER BE HERE\n" BL2:d90095af 00 ?? 00h switchdataD_d90095b0: ;XREF[1,0]: d9007f7c BL2:d90095b0 00 db 0h BL2:d90095b1 02 db 2h BL2:d90095b2 29 db 29h BL2:d90095b3 0c db Ch s_BL2_USB__d90095b4: ;XREF[1,0]: d9007ef4 BL2:d90095b4 424c32205... ds "BL2 USB \n" s_Skip_usb!_d90095be: ;XREF[1,0]: d9008144 BL2:d90095be 536b69702... ds "Skip usb!\n" DAT_d90095c9: ;XREF[1,0]: d90081e8 BL2:d90095c9 0d ?? 0Dh BL2:d90095ca 30 ?? 30h 0 BL2:d90095cb 78 ?? 78h x BL2:d90095cc 00 ?? 00h s__d90095cd: ;XREF[1,0]: d9008210 BL2:d90095cd 202000 ds " " s_-W[0x_d90095d0: ;XREF[1,0]: d9008244 BL2:d90095d0 2d575b307800 ds "-W[0x" s_]:0x_d90095d6: ;XREF[1,0]: d900825c BL2:d90095d6 5d3a307800 ds "]:0x" s_,R:0x_d90095db: ;XREF[1,0]: d9008274 BL2:d90095db 2c523a307800 ds ",R:0x" s_DATA_d90095e1: ;XREF[1,0]: d90082d0 BL2:d90095e1 4441544100 ds "DATA" DAT_d90095e6: ;XREF[1,0]: d9008374 BL2:d90095e6 41 ?? 41h A s_DDR_d90095e7: ;XREF[1,0]: d90038e4 BL2:d90095e7 44445200 ds "DDR" s_ADDR2_d90095eb: ;XREF[1,0]: d90083d0 BL2:d90095eb 414444523200 ds "ADDR2" s_ADDR3_d90095f1: ;XREF[1,0]: d9008404 BL2:d90095f1 414444523300 ds "ADDR3" s__Total_Size_0x_d90095f7: ;XREF[1,0]: d9008460 BL2:d90095f7 0a546f746... ds "\nTotal Size 0x" s_FULL_d9009606: ;XREF[1,0]: d90084e0 BL2:d9009606 46554c4c00 ds "FULL" s_FULL2_d900960b: ;XREF[1,0]: d900853c BL2:d900960b 46554c4c3200 ds "FULL2" BL2:d9009611 00 ?? 00h BL2:d9009612 00 ?? 00h BL2:d9009613 00 ?? 00h BL2:d9009614 00 ?? 00h BL2:d9009615 00 ?? 00h BL2:d9009616 00 ?? 00h BL2:d9009617 00 ?? 00h s_enable_mmu_el1_d9009618: ;XREF[2,0]: d90089c0,d90089e8 BL2:d9009618 656e61626... ds "enable_mmu_el1" BL2:d9009627 00 ?? 00h s_mmap_add_region_d9009628: ;XREF[2,0]: d9008868,d9008890 BL2:d9009628 6d6d61705... ds "mmap_add_region" s_lib/aarch64/xlat_tables.c...;XREF[6,0]: d900868c,d90087dc,d900886c,d9008894 ; d90089c4,d90089ec BL2:d9009638 6c69622f6... ds "lib/aarch64/xlat_tables.c" s_level_<=_3_d9009652: ;XREF[1,0]: d9008694 BL2:d9009652 6c6576656... ds "level <= 3" s_next_xlat_<=_MAX_XLAT_TAB...;XREF[1,0]: d90087e4 BL2:d900965d 6e6578745... ds "next_xlat <= MAX_XLAT_TABLES" s_IS_PAGE_ALIGNED(base)_d90...;XREF[1,0]: d9008874 BL2:d900967a 49535f504... ds "IS_PAGE_ALIGNED(base)" s_IS_PAGE_ALIGNED(size)_d90...;XREF[1,0]: d900889c BL2:d9009690 49535f504... ds "IS_PAGE_ALIGNED(size)" s_mm_last->size_==_0_d90096a6:;XREF[1,0]: d90088f4 BL2:d90096a6 6d6d5f6c6... ds "mm_last->size == 0" s_IS_IN_EL(1)_d90096b9: ;XREF[1,0]: d90089cc BL2:d90096b9 49535f494... ds "IS_IN_EL(1)" s_(read_sctlr_el1()_&_SCTLR...;XREF[1,0]: d90089f4 BL2:d90096c5 287265616... ds "(read_sctlr_el1() & SCTLR_M_BIT) == 0" BL2:d90096eb 00 ?? 00h BL2:d90096ec 00 ?? 00h BL2:d90096ed 00 ?? 00h BL2:d90096ee 00 ?? 00h BL2:d90096ef 00 ?? 00h s_init_xlation_table_d90096f0:;XREF[2,0]: d9008688,d90087d8 BL2:d90096f0 696e69745... ds "init_xlation_table" BL2:d9009703 00 ?? 00h BL2:d9009704 00 ?? 00h BL2:d9009705 00 ?? 00h BL2:d9009706 00 ?? 00h BL2:d9009707 00 ?? 00h ;XREF[0,1]: d9008aa4 BL2:d9009708 41424f525... ds "ABORT\n\r" s_ASSERT:_d9009710: ;XREF[1,0]: d9008a58 BL2:d9009710 415353455... ds "ASSERT: " DAT_d9009719: ;XREF[1,0]: d9008a74 BL2:d9009719 20 ?? 20h BL2:d900971a 3c ?? 3Ch < BL2:d900971b 00 ?? 00h DAT_d900971c: ;XREF[1,0]: d9008a8c BL2:d900971c 3e ?? 3Eh > ;? -> 203a203e BL2:d900971d 20 ?? 20h DAT_d900971e: ;XREF[1,0]: d9003910 BL2:d900971e 3a ?? 3Ah : BL2:d900971f 20 ?? 20h BL2:d9009720 00 ?? 00h BL2:d9009721 00 ?? 00h BL2:d9009722 00 ?? 00h BL2:d9009723 00 ?? 00h BL2:d9009724 00 ?? 00h BL2:d9009725 00 ?? 00h BL2:d9009726 00 ?? 00h BL2:d9009727 00 ?? 00h BL2:d9009728 00 ?? 00h BL2:d9009729 00 ?? 00h BL2:d900972a 00 ?? 00h BL2:d900972b 00 ?? 00h BL2:d900972c 00 ?? 00h BL2:d900972d 00 ?? 00h BL2:d900972e 00 ?? 00h BL2:d900972f 00 ?? 00h BL2:d9009730 00 ?? 00h BL2:d9009731 00 ?? 00h BL2:d9009732 00 ?? 00h BL2:d9009733 00 ?? 00h BL2:d9009734 00 ?? 00h BL2:d9009735 00 ?? 00h BL2:d9009736 00 ?? 00h BL2:d9009737 00 ?? 00h BL2:d9009738 00 ?? 00h BL2:d9009739 00 ?? 00h BL2:d900973a 00 ?? 00h BL2:d900973b 00 ?? 00h BL2:d900973c 00 ?? 00h BL2:d900973d 00 ?? 00h BL2:d900973e 00 ?? 00h BL2:d900973f 00 ?? 00h BL2:d9009740 00 ?? 00h BL2:d9009741 00 ?? 00h BL2:d9009742 00 ?? 00h BL2:d9009743 00 ?? 00h BL2:d9009744 00 ?? 00h BL2:d9009745 00 ?? 00h BL2:d9009746 00 ?? 00h BL2:d9009747 00 ?? 00h BL2:d9009748 00 ?? 00h BL2:d9009749 00 ?? 00h BL2:d900974a 00 ?? 00h BL2:d900974b 00 ?? 00h BL2:d900974c 00 ?? 00h BL2:d900974d 00 ?? 00h BL2:d900974e 00 ?? 00h BL2:d900974f 00 ?? 00h BL2:d9009750 00 ?? 00h BL2:d9009751 00 ?? 00h BL2:d9009752 00 ?? 00h BL2:d9009753 00 ?? 00h BL2:d9009754 00 ?? 00h BL2:d9009755 00 ?? 00h BL2:d9009756 00 ?? 00h BL2:d9009757 00 ?? 00h BL2:d9009758 00 ?? 00h BL2:d9009759 00 ?? 00h BL2:d900975a 00 ?? 00h BL2:d900975b 00 ?? 00h BL2:d900975c 00 ?? 00h BL2:d900975d 00 ?? 00h BL2:d900975e 00 ?? 00h BL2:d900975f 00 ?? 00h BL2:d9009760 00 ?? 00h BL2:d9009761 00 ?? 00h BL2:d9009762 00 ?? 00h BL2:d9009763 00 ?? 00h BL2:d9009764 00 ?? 00h BL2:d9009765 00 ?? 00h BL2:d9009766 00 ?? 00h BL2:d9009767 00 ?? 00h BL2:d9009768 00 ?? 00h BL2:d9009769 00 ?? 00h BL2:d900976a 00 ?? 00h BL2:d900976b 00 ?? 00h BL2:d900976c 00 ?? 00h BL2:d900976d 00 ?? 00h BL2:d900976e 00 ?? 00h BL2:d900976f 00 ?? 00h BL2:d9009770 00 ?? 00h BL2:d9009771 00 ?? 00h BL2:d9009772 00 ?? 00h BL2:d9009773 00 ?? 00h BL2:d9009774 00 ?? 00h BL2:d9009775 00 ?? 00h BL2:d9009776 00 ?? 00h BL2:d9009777 00 ?? 00h BL2:d9009778 00 ?? 00h BL2:d9009779 00 ?? 00h BL2:d900977a 00 ?? 00h BL2:d900977b 00 ?? 00h BL2:d900977c 00 ?? 00h BL2:d900977d 00 ?? 00h BL2:d900977e 00 ?? 00h BL2:d900977f 00 ?? 00h BL2:d9009780 00 ?? 00h BL2:d9009781 00 ?? 00h BL2:d9009782 00 ?? 00h BL2:d9009783 00 ?? 00h BL2:d9009784 00 ?? 00h BL2:d9009785 00 ?? 00h BL2:d9009786 00 ?? 00h BL2:d9009787 00 ?? 00h BL2:d9009788 00 ?? 00h BL2:d9009789 00 ?? 00h BL2:d900978a 00 ?? 00h BL2:d900978b 00 ?? 00h BL2:d900978c 00 ?? 00h BL2:d900978d 00 ?? 00h BL2:d900978e 00 ?? 00h BL2:d900978f 00 ?? 00h BL2:d9009790 00 ?? 00h BL2:d9009791 00 ?? 00h BL2:d9009792 00 ?? 00h BL2:d9009793 00 ?? 00h BL2:d9009794 00 ?? 00h BL2:d9009795 00 ?? 00h BL2:d9009796 00 ?? 00h BL2:d9009797 00 ?? 00h BL2:d9009798 00 ?? 00h BL2:d9009799 00 ?? 00h BL2:d900979a 00 ?? 00h BL2:d900979b 00 ?? 00h BL2:d900979c 00 ?? 00h BL2:d900979d 00 ?? 00h BL2:d900979e 00 ?? 00h BL2:d900979f 00 ?? 00h BL2:d90097a0 00 ?? 00h BL2:d90097a1 00 ?? 00h BL2:d90097a2 00 ?? 00h BL2:d90097a3 00 ?? 00h BL2:d90097a4 00 ?? 00h BL2:d90097a5 00 ?? 00h BL2:d90097a6 00 ?? 00h BL2:d90097a7 00 ?? 00h BL2:d90097a8 00 ?? 00h BL2:d90097a9 00 ?? 00h BL2:d90097aa 00 ?? 00h BL2:d90097ab 00 ?? 00h BL2:d90097ac 00 ?? 00h BL2:d90097ad 00 ?? 00h BL2:d90097ae 00 ?? 00h BL2:d90097af 00 ?? 00h BL2:d90097b0 00 ?? 00h BL2:d90097b1 00 ?? 00h BL2:d90097b2 00 ?? 00h BL2:d90097b3 00 ?? 00h BL2:d90097b4 00 ?? 00h BL2:d90097b5 00 ?? 00h BL2:d90097b6 00 ?? 00h BL2:d90097b7 00 ?? 00h BL2:d90097b8 00 ?? 00h BL2:d90097b9 00 ?? 00h BL2:d90097ba 00 ?? 00h BL2:d90097bb 00 ?? 00h BL2:d90097bc 00 ?? 00h BL2:d90097bd 00 ?? 00h BL2:d90097be 00 ?? 00h BL2:d90097bf 00 ?? 00h BL2:d90097c0 00 ?? 00h BL2:d90097c1 00 ?? 00h BL2:d90097c2 00 ?? 00h BL2:d90097c3 00 ?? 00h BL2:d90097c4 00 ?? 00h BL2:d90097c5 00 ?? 00h BL2:d90097c6 00 ?? 00h BL2:d90097c7 00 ?? 00h BL2:d90097c8 00 ?? 00h BL2:d90097c9 00 ?? 00h BL2:d90097ca 00 ?? 00h BL2:d90097cb 00 ?? 00h BL2:d90097cc 00 ?? 00h BL2:d90097cd 00 ?? 00h BL2:d90097ce 00 ?? 00h BL2:d90097cf 00 ?? 00h BL2:d90097d0 00 ?? 00h BL2:d90097d1 00 ?? 00h BL2:d90097d2 00 ?? 00h BL2:d90097d3 00 ?? 00h BL2:d90097d4 00 ?? 00h BL2:d90097d5 00 ?? 00h BL2:d90097d6 00 ?? 00h BL2:d90097d7 00 ?? 00h BL2:d90097d8 00 ?? 00h BL2:d90097d9 00 ?? 00h BL2:d90097da 00 ?? 00h BL2:d90097db 00 ?? 00h BL2:d90097dc 00 ?? 00h BL2:d90097dd 00 ?? 00h BL2:d90097de 00 ?? 00h BL2:d90097df 00 ?? 00h BL2:d90097e0 00 ?? 00h BL2:d90097e1 00 ?? 00h BL2:d90097e2 00 ?? 00h BL2:d90097e3 00 ?? 00h BL2:d90097e4 00 ?? 00h BL2:d90097e5 00 ?? 00h BL2:d90097e6 00 ?? 00h BL2:d90097e7 00 ?? 00h BL2:d90097e8 00 ?? 00h BL2:d90097e9 00 ?? 00h BL2:d90097ea 00 ?? 00h BL2:d90097eb 00 ?? 00h BL2:d90097ec 00 ?? 00h BL2:d90097ed 00 ?? 00h BL2:d90097ee 00 ?? 00h BL2:d90097ef 00 ?? 00h BL2:d90097f0 00 ?? 00h BL2:d90097f1 00 ?? 00h BL2:d90097f2 00 ?? 00h BL2:d90097f3 00 ?? 00h BL2:d90097f4 00 ?? 00h BL2:d90097f5 00 ?? 00h BL2:d90097f6 00 ?? 00h BL2:d90097f7 00 ?? 00h BL2:d90097f8 00 ?? 00h BL2:d90097f9 00 ?? 00h BL2:d90097fa 00 ?? 00h BL2:d90097fb 00 ?? 00h BL2:d90097fc 00 ?? 00h BL2:d90097fd 00 ?? 00h BL2:d90097fe 00 ?? 00h BL2:d90097ff 00 ?? 00h BL2:d9009800 00 ?? 00h BL2:d9009801 00 ?? 00h BL2:d9009802 00 ?? 00h BL2:d9009803 00 ?? 00h BL2:d9009804 00 ?? 00h BL2:d9009805 00 ?? 00h BL2:d9009806 00 ?? 00h BL2:d9009807 00 ?? 00h BL2:d9009808 00 ?? 00h BL2:d9009809 00 ?? 00h BL2:d900980a 00 ?? 00h BL2:d900980b 00 ?? 00h BL2:d900980c 00 ?? 00h BL2:d900980d 00 ?? 00h BL2:d900980e 00 ?? 00h BL2:d900980f 00 ?? 00h BL2:d9009810 00 ?? 00h BL2:d9009811 00 ?? 00h BL2:d9009812 00 ?? 00h BL2:d9009813 00 ?? 00h BL2:d9009814 00 ?? 00h BL2:d9009815 00 ?? 00h BL2:d9009816 00 ?? 00h BL2:d9009817 00 ?? 00h BL2:d9009818 00 ?? 00h BL2:d9009819 00 ?? 00h BL2:d900981a 00 ?? 00h BL2:d900981b 00 ?? 00h BL2:d900981c 00 ?? 00h BL2:d900981d 00 ?? 00h BL2:d900981e 00 ?? 00h BL2:d900981f 00 ?? 00h BL2:d9009820 00 ?? 00h BL2:d9009821 00 ?? 00h BL2:d9009822 00 ?? 00h BL2:d9009823 00 ?? 00h BL2:d9009824 00 ?? 00h BL2:d9009825 00 ?? 00h BL2:d9009826 00 ?? 00h BL2:d9009827 00 ?? 00h BL2:d9009828 00 ?? 00h BL2:d9009829 00 ?? 00h BL2:d900982a 00 ?? 00h BL2:d900982b 00 ?? 00h BL2:d900982c 00 ?? 00h BL2:d900982d 00 ?? 00h BL2:d900982e 00 ?? 00h BL2:d900982f 00 ?? 00h BL2:d9009830 00 ?? 00h BL2:d9009831 00 ?? 00h BL2:d9009832 00 ?? 00h BL2:d9009833 00 ?? 00h BL2:d9009834 00 ?? 00h BL2:d9009835 00 ?? 00h BL2:d9009836 00 ?? 00h BL2:d9009837 00 ?? 00h BL2:d9009838 00 ?? 00h BL2:d9009839 00 ?? 00h BL2:d900983a 00 ?? 00h BL2:d900983b 00 ?? 00h BL2:d900983c 00 ?? 00h BL2:d900983d 00 ?? 00h BL2:d900983e 00 ?? 00h BL2:d900983f 00 ?? 00h BL2:d9009840 00 ?? 00h BL2:d9009841 00 ?? 00h BL2:d9009842 00 ?? 00h BL2:d9009843 00 ?? 00h BL2:d9009844 00 ?? 00h BL2:d9009845 00 ?? 00h BL2:d9009846 00 ?? 00h BL2:d9009847 00 ?? 00h BL2:d9009848 00 ?? 00h BL2:d9009849 00 ?? 00h BL2:d900984a 00 ?? 00h BL2:d900984b 00 ?? 00h BL2:d900984c 00 ?? 00h BL2:d900984d 00 ?? 00h BL2:d900984e 00 ?? 00h BL2:d900984f 00 ?? 00h BL2:d9009850 00 ?? 00h BL2:d9009851 00 ?? 00h BL2:d9009852 00 ?? 00h BL2:d9009853 00 ?? 00h BL2:d9009854 00 ?? 00h BL2:d9009855 00 ?? 00h BL2:d9009856 00 ?? 00h BL2:d9009857 00 ?? 00h BL2:d9009858 00 ?? 00h BL2:d9009859 00 ?? 00h BL2:d900985a 00 ?? 00h BL2:d900985b 00 ?? 00h BL2:d900985c 00 ?? 00h BL2:d900985d 00 ?? 00h BL2:d900985e 00 ?? 00h BL2:d900985f 00 ?? 00h BL2:d9009860 00 ?? 00h BL2:d9009861 00 ?? 00h BL2:d9009862 00 ?? 00h BL2:d9009863 00 ?? 00h BL2:d9009864 00 ?? 00h BL2:d9009865 00 ?? 00h BL2:d9009866 00 ?? 00h BL2:d9009867 00 ?? 00h BL2:d9009868 00 ?? 00h BL2:d9009869 00 ?? 00h BL2:d900986a 00 ?? 00h BL2:d900986b 00 ?? 00h BL2:d900986c 00 ?? 00h BL2:d900986d 00 ?? 00h BL2:d900986e 00 ?? 00h BL2:d900986f 00 ?? 00h BL2:d9009870 00 ?? 00h BL2:d9009871 00 ?? 00h BL2:d9009872 00 ?? 00h BL2:d9009873 00 ?? 00h BL2:d9009874 00 ?? 00h BL2:d9009875 00 ?? 00h BL2:d9009876 00 ?? 00h BL2:d9009877 00 ?? 00h BL2:d9009878 00 ?? 00h BL2:d9009879 00 ?? 00h BL2:d900987a 00 ?? 00h BL2:d900987b 00 ?? 00h BL2:d900987c 00 ?? 00h BL2:d900987d 00 ?? 00h BL2:d900987e 00 ?? 00h BL2:d900987f 00 ?? 00h BL2:d9009880 00 ?? 00h BL2:d9009881 00 ?? 00h BL2:d9009882 00 ?? 00h BL2:d9009883 00 ?? 00h BL2:d9009884 00 ?? 00h BL2:d9009885 00 ?? 00h BL2:d9009886 00 ?? 00h BL2:d9009887 00 ?? 00h BL2:d9009888 00 ?? 00h BL2:d9009889 00 ?? 00h BL2:d900988a 00 ?? 00h BL2:d900988b 00 ?? 00h BL2:d900988c 00 ?? 00h BL2:d900988d 00 ?? 00h BL2:d900988e 00 ?? 00h BL2:d900988f 00 ?? 00h BL2:d9009890 00 ?? 00h BL2:d9009891 00 ?? 00h BL2:d9009892 00 ?? 00h BL2:d9009893 00 ?? 00h BL2:d9009894 00 ?? 00h BL2:d9009895 00 ?? 00h BL2:d9009896 00 ?? 00h BL2:d9009897 00 ?? 00h BL2:d9009898 00 ?? 00h BL2:d9009899 00 ?? 00h BL2:d900989a 00 ?? 00h BL2:d900989b 00 ?? 00h BL2:d900989c 00 ?? 00h BL2:d900989d 00 ?? 00h BL2:d900989e 00 ?? 00h BL2:d900989f 00 ?? 00h BL2:d90098a0 00 ?? 00h BL2:d90098a1 00 ?? 00h BL2:d90098a2 00 ?? 00h BL2:d90098a3 00 ?? 00h BL2:d90098a4 00 ?? 00h BL2:d90098a5 00 ?? 00h BL2:d90098a6 00 ?? 00h BL2:d90098a7 00 ?? 00h BL2:d90098a8 00 ?? 00h BL2:d90098a9 00 ?? 00h BL2:d90098aa 00 ?? 00h BL2:d90098ab 00 ?? 00h BL2:d90098ac 00 ?? 00h BL2:d90098ad 00 ?? 00h BL2:d90098ae 00 ?? 00h BL2:d90098af 00 ?? 00h BL2:d90098b0 00 ?? 00h BL2:d90098b1 00 ?? 00h BL2:d90098b2 00 ?? 00h BL2:d90098b3 00 ?? 00h BL2:d90098b4 00 ?? 00h BL2:d90098b5 00 ?? 00h BL2:d90098b6 00 ?? 00h BL2:d90098b7 00 ?? 00h BL2:d90098b8 00 ?? 00h BL2:d90098b9 00 ?? 00h BL2:d90098ba 00 ?? 00h BL2:d90098bb 00 ?? 00h BL2:d90098bc 00 ?? 00h BL2:d90098bd 00 ?? 00h BL2:d90098be 00 ?? 00h BL2:d90098bf 00 ?? 00h BL2:d90098c0 00 ?? 00h BL2:d90098c1 00 ?? 00h BL2:d90098c2 00 ?? 00h BL2:d90098c3 00 ?? 00h BL2:d90098c4 00 ?? 00h BL2:d90098c5 00 ?? 00h BL2:d90098c6 00 ?? 00h BL2:d90098c7 00 ?? 00h BL2:d90098c8 00 ?? 00h BL2:d90098c9 00 ?? 00h BL2:d90098ca 00 ?? 00h BL2:d90098cb 00 ?? 00h BL2:d90098cc 00 ?? 00h BL2:d90098cd 00 ?? 00h BL2:d90098ce 00 ?? 00h BL2:d90098cf 00 ?? 00h BL2:d90098d0 00 ?? 00h BL2:d90098d1 00 ?? 00h BL2:d90098d2 00 ?? 00h BL2:d90098d3 00 ?? 00h BL2:d90098d4 00 ?? 00h BL2:d90098d5 00 ?? 00h BL2:d90098d6 00 ?? 00h BL2:d90098d7 00 ?? 00h BL2:d90098d8 00 ?? 00h BL2:d90098d9 00 ?? 00h BL2:d90098da 00 ?? 00h BL2:d90098db 00 ?? 00h BL2:d90098dc 00 ?? 00h BL2:d90098dd 00 ?? 00h BL2:d90098de 00 ?? 00h BL2:d90098df 00 ?? 00h BL2:d90098e0 00 ?? 00h BL2:d90098e1 00 ?? 00h BL2:d90098e2 00 ?? 00h BL2:d90098e3 00 ?? 00h BL2:d90098e4 00 ?? 00h BL2:d90098e5 00 ?? 00h BL2:d90098e6 00 ?? 00h BL2:d90098e7 00 ?? 00h BL2:d90098e8 00 ?? 00h BL2:d90098e9 00 ?? 00h BL2:d90098ea 00 ?? 00h BL2:d90098eb 00 ?? 00h BL2:d90098ec 00 ?? 00h BL2:d90098ed 00 ?? 00h BL2:d90098ee 00 ?? 00h BL2:d90098ef 00 ?? 00h BL2:d90098f0 00 ?? 00h BL2:d90098f1 00 ?? 00h BL2:d90098f2 00 ?? 00h BL2:d90098f3 00 ?? 00h BL2:d90098f4 00 ?? 00h BL2:d90098f5 00 ?? 00h BL2:d90098f6 00 ?? 00h BL2:d90098f7 00 ?? 00h BL2:d90098f8 00 ?? 00h BL2:d90098f9 00 ?? 00h BL2:d90098fa 00 ?? 00h BL2:d90098fb 00 ?? 00h BL2:d90098fc 00 ?? 00h BL2:d90098fd 00 ?? 00h BL2:d90098fe 00 ?? 00h BL2:d90098ff 00 ?? 00h BL2:d9009900 00 ?? 00h BL2:d9009901 00 ?? 00h BL2:d9009902 00 ?? 00h BL2:d9009903 00 ?? 00h BL2:d9009904 00 ?? 00h BL2:d9009905 00 ?? 00h BL2:d9009906 00 ?? 00h BL2:d9009907 00 ?? 00h BL2:d9009908 00 ?? 00h BL2:d9009909 00 ?? 00h BL2:d900990a 00 ?? 00h BL2:d900990b 00 ?? 00h BL2:d900990c 00 ?? 00h BL2:d900990d 00 ?? 00h BL2:d900990e 00 ?? 00h BL2:d900990f 00 ?? 00h BL2:d9009910 00 ?? 00h BL2:d9009911 00 ?? 00h BL2:d9009912 00 ?? 00h BL2:d9009913 00 ?? 00h BL2:d9009914 00 ?? 00h BL2:d9009915 00 ?? 00h BL2:d9009916 00 ?? 00h BL2:d9009917 00 ?? 00h BL2:d9009918 00 ?? 00h BL2:d9009919 00 ?? 00h BL2:d900991a 00 ?? 00h BL2:d900991b 00 ?? 00h BL2:d900991c 00 ?? 00h BL2:d900991d 00 ?? 00h BL2:d900991e 00 ?? 00h BL2:d900991f 00 ?? 00h BL2:d9009920 00 ?? 00h BL2:d9009921 00 ?? 00h BL2:d9009922 00 ?? 00h BL2:d9009923 00 ?? 00h BL2:d9009924 00 ?? 00h BL2:d9009925 00 ?? 00h BL2:d9009926 00 ?? 00h BL2:d9009927 00 ?? 00h BL2:d9009928 00 ?? 00h BL2:d9009929 00 ?? 00h BL2:d900992a 00 ?? 00h BL2:d900992b 00 ?? 00h BL2:d900992c 00 ?? 00h BL2:d900992d 00 ?? 00h BL2:d900992e 00 ?? 00h BL2:d900992f 00 ?? 00h BL2:d9009930 00 ?? 00h BL2:d9009931 00 ?? 00h BL2:d9009932 00 ?? 00h BL2:d9009933 00 ?? 00h BL2:d9009934 00 ?? 00h BL2:d9009935 00 ?? 00h BL2:d9009936 00 ?? 00h BL2:d9009937 00 ?? 00h BL2:d9009938 00 ?? 00h BL2:d9009939 00 ?? 00h BL2:d900993a 00 ?? 00h BL2:d900993b 00 ?? 00h BL2:d900993c 00 ?? 00h BL2:d900993d 00 ?? 00h BL2:d900993e 00 ?? 00h BL2:d900993f 00 ?? 00h BL2:d9009940 00 ?? 00h BL2:d9009941 00 ?? 00h BL2:d9009942 00 ?? 00h BL2:d9009943 00 ?? 00h BL2:d9009944 00 ?? 00h BL2:d9009945 00 ?? 00h BL2:d9009946 00 ?? 00h BL2:d9009947 00 ?? 00h BL2:d9009948 00 ?? 00h BL2:d9009949 00 ?? 00h BL2:d900994a 00 ?? 00h BL2:d900994b 00 ?? 00h BL2:d900994c 00 ?? 00h BL2:d900994d 00 ?? 00h BL2:d900994e 00 ?? 00h BL2:d900994f 00 ?? 00h BL2:d9009950 00 ?? 00h BL2:d9009951 00 ?? 00h BL2:d9009952 00 ?? 00h BL2:d9009953 00 ?? 00h BL2:d9009954 00 ?? 00h BL2:d9009955 00 ?? 00h BL2:d9009956 00 ?? 00h BL2:d9009957 00 ?? 00h BL2:d9009958 00 ?? 00h BL2:d9009959 00 ?? 00h BL2:d900995a 00 ?? 00h BL2:d900995b 00 ?? 00h BL2:d900995c 00 ?? 00h BL2:d900995d 00 ?? 00h BL2:d900995e 00 ?? 00h BL2:d900995f 00 ?? 00h BL2:d9009960 00 ?? 00h BL2:d9009961 00 ?? 00h BL2:d9009962 00 ?? 00h BL2:d9009963 00 ?? 00h BL2:d9009964 00 ?? 00h BL2:d9009965 00 ?? 00h BL2:d9009966 00 ?? 00h BL2:d9009967 00 ?? 00h BL2:d9009968 00 ?? 00h BL2:d9009969 00 ?? 00h BL2:d900996a 00 ?? 00h BL2:d900996b 00 ?? 00h BL2:d900996c 00 ?? 00h BL2:d900996d 00 ?? 00h BL2:d900996e 00 ?? 00h BL2:d900996f 00 ?? 00h BL2:d9009970 00 ?? 00h BL2:d9009971 00 ?? 00h BL2:d9009972 00 ?? 00h BL2:d9009973 00 ?? 00h BL2:d9009974 00 ?? 00h BL2:d9009975 00 ?? 00h BL2:d9009976 00 ?? 00h BL2:d9009977 00 ?? 00h BL2:d9009978 00 ?? 00h BL2:d9009979 00 ?? 00h BL2:d900997a 00 ?? 00h BL2:d900997b 00 ?? 00h BL2:d900997c 00 ?? 00h BL2:d900997d 00 ?? 00h BL2:d900997e 00 ?? 00h BL2:d900997f 00 ?? 00h BL2:d9009980 00 ?? 00h BL2:d9009981 00 ?? 00h BL2:d9009982 00 ?? 00h BL2:d9009983 00 ?? 00h BL2:d9009984 00 ?? 00h BL2:d9009985 00 ?? 00h BL2:d9009986 00 ?? 00h BL2:d9009987 00 ?? 00h BL2:d9009988 00 ?? 00h BL2:d9009989 00 ?? 00h BL2:d900998a 00 ?? 00h BL2:d900998b 00 ?? 00h BL2:d900998c 00 ?? 00h BL2:d900998d 00 ?? 00h BL2:d900998e 00 ?? 00h BL2:d900998f 00 ?? 00h BL2:d9009990 00 ?? 00h BL2:d9009991 00 ?? 00h BL2:d9009992 00 ?? 00h BL2:d9009993 00 ?? 00h BL2:d9009994 00 ?? 00h BL2:d9009995 00 ?? 00h BL2:d9009996 00 ?? 00h BL2:d9009997 00 ?? 00h BL2:d9009998 00 ?? 00h BL2:d9009999 00 ?? 00h BL2:d900999a 00 ?? 00h BL2:d900999b 00 ?? 00h BL2:d900999c 00 ?? 00h BL2:d900999d 00 ?? 00h BL2:d900999e 00 ?? 00h BL2:d900999f 00 ?? 00h BL2:d90099a0 00 ?? 00h BL2:d90099a1 00 ?? 00h BL2:d90099a2 00 ?? 00h BL2:d90099a3 00 ?? 00h BL2:d90099a4 00 ?? 00h BL2:d90099a5 00 ?? 00h BL2:d90099a6 00 ?? 00h BL2:d90099a7 00 ?? 00h BL2:d90099a8 00 ?? 00h BL2:d90099a9 00 ?? 00h BL2:d90099aa 00 ?? 00h BL2:d90099ab 00 ?? 00h BL2:d90099ac 00 ?? 00h BL2:d90099ad 00 ?? 00h BL2:d90099ae 00 ?? 00h BL2:d90099af 00 ?? 00h BL2:d90099b0 00 ?? 00h BL2:d90099b1 00 ?? 00h BL2:d90099b2 00 ?? 00h BL2:d90099b3 00 ?? 00h BL2:d90099b4 00 ?? 00h BL2:d90099b5 00 ?? 00h BL2:d90099b6 00 ?? 00h BL2:d90099b7 00 ?? 00h BL2:d90099b8 00 ?? 00h BL2:d90099b9 00 ?? 00h BL2:d90099ba 00 ?? 00h BL2:d90099bb 00 ?? 00h BL2:d90099bc 00 ?? 00h BL2:d90099bd 00 ?? 00h BL2:d90099be 00 ?? 00h BL2:d90099bf 00 ?? 00h BL2:d90099c0 00 ?? 00h BL2:d90099c1 00 ?? 00h BL2:d90099c2 00 ?? 00h BL2:d90099c3 00 ?? 00h BL2:d90099c4 00 ?? 00h BL2:d90099c5 00 ?? 00h BL2:d90099c6 00 ?? 00h BL2:d90099c7 00 ?? 00h BL2:d90099c8 00 ?? 00h BL2:d90099c9 00 ?? 00h BL2:d90099ca 00 ?? 00h BL2:d90099cb 00 ?? 00h BL2:d90099cc 00 ?? 00h BL2:d90099cd 00 ?? 00h BL2:d90099ce 00 ?? 00h BL2:d90099cf 00 ?? 00h BL2:d90099d0 00 ?? 00h BL2:d90099d1 00 ?? 00h BL2:d90099d2 00 ?? 00h BL2:d90099d3 00 ?? 00h BL2:d90099d4 00 ?? 00h BL2:d90099d5 00 ?? 00h BL2:d90099d6 00 ?? 00h BL2:d90099d7 00 ?? 00h BL2:d90099d8 00 ?? 00h BL2:d90099d9 00 ?? 00h BL2:d90099da 00 ?? 00h BL2:d90099db 00 ?? 00h BL2:d90099dc 00 ?? 00h BL2:d90099dd 00 ?? 00h BL2:d90099de 00 ?? 00h BL2:d90099df 00 ?? 00h BL2:d90099e0 00 ?? 00h BL2:d90099e1 00 ?? 00h BL2:d90099e2 00 ?? 00h BL2:d90099e3 00 ?? 00h BL2:d90099e4 00 ?? 00h BL2:d90099e5 00 ?? 00h BL2:d90099e6 00 ?? 00h BL2:d90099e7 00 ?? 00h BL2:d90099e8 00 ?? 00h BL2:d90099e9 00 ?? 00h BL2:d90099ea 00 ?? 00h BL2:d90099eb 00 ?? 00h BL2:d90099ec 00 ?? 00h BL2:d90099ed 00 ?? 00h BL2:d90099ee 00 ?? 00h BL2:d90099ef 00 ?? 00h BL2:d90099f0 00 ?? 00h BL2:d90099f1 00 ?? 00h BL2:d90099f2 00 ?? 00h BL2:d90099f3 00 ?? 00h BL2:d90099f4 00 ?? 00h BL2:d90099f5 00 ?? 00h BL2:d90099f6 00 ?? 00h BL2:d90099f7 00 ?? 00h BL2:d90099f8 00 ?? 00h BL2:d90099f9 00 ?? 00h BL2:d90099fa 00 ?? 00h BL2:d90099fb 00 ?? 00h BL2:d90099fc 00 ?? 00h BL2:d90099fd 00 ?? 00h BL2:d90099fe 00 ?? 00h BL2:d90099ff 00 ?? 00h BL2:d9009a00 00 ?? 00h BL2:d9009a01 00 ?? 00h BL2:d9009a02 00 ?? 00h BL2:d9009a03 00 ?? 00h BL2:d9009a04 00 ?? 00h BL2:d9009a05 00 ?? 00h BL2:d9009a06 00 ?? 00h BL2:d9009a07 00 ?? 00h BL2:d9009a08 00 ?? 00h BL2:d9009a09 00 ?? 00h BL2:d9009a0a 00 ?? 00h BL2:d9009a0b 00 ?? 00h BL2:d9009a0c 00 ?? 00h BL2:d9009a0d 00 ?? 00h BL2:d9009a0e 00 ?? 00h BL2:d9009a0f 00 ?? 00h BL2:d9009a10 00 ?? 00h BL2:d9009a11 00 ?? 00h BL2:d9009a12 00 ?? 00h BL2:d9009a13 00 ?? 00h BL2:d9009a14 00 ?? 00h BL2:d9009a15 00 ?? 00h BL2:d9009a16 00 ?? 00h BL2:d9009a17 00 ?? 00h BL2:d9009a18 00 ?? 00h BL2:d9009a19 00 ?? 00h BL2:d9009a1a 00 ?? 00h BL2:d9009a1b 00 ?? 00h BL2:d9009a1c 00 ?? 00h BL2:d9009a1d 00 ?? 00h BL2:d9009a1e 00 ?? 00h BL2:d9009a1f 00 ?? 00h BL2:d9009a20 00 ?? 00h BL2:d9009a21 00 ?? 00h BL2:d9009a22 00 ?? 00h BL2:d9009a23 00 ?? 00h BL2:d9009a24 00 ?? 00h BL2:d9009a25 00 ?? 00h BL2:d9009a26 00 ?? 00h BL2:d9009a27 00 ?? 00h BL2:d9009a28 00 ?? 00h BL2:d9009a29 00 ?? 00h BL2:d9009a2a 00 ?? 00h BL2:d9009a2b 00 ?? 00h BL2:d9009a2c 00 ?? 00h BL2:d9009a2d 00 ?? 00h BL2:d9009a2e 00 ?? 00h BL2:d9009a2f 00 ?? 00h BL2:d9009a30 00 ?? 00h BL2:d9009a31 00 ?? 00h BL2:d9009a32 00 ?? 00h BL2:d9009a33 00 ?? 00h BL2:d9009a34 00 ?? 00h BL2:d9009a35 00 ?? 00h BL2:d9009a36 00 ?? 00h BL2:d9009a37 00 ?? 00h BL2:d9009a38 00 ?? 00h BL2:d9009a39 00 ?? 00h BL2:d9009a3a 00 ?? 00h BL2:d9009a3b 00 ?? 00h BL2:d9009a3c 00 ?? 00h BL2:d9009a3d 00 ?? 00h BL2:d9009a3e 00 ?? 00h BL2:d9009a3f 00 ?? 00h BL2:d9009a40 00 ?? 00h BL2:d9009a41 00 ?? 00h BL2:d9009a42 00 ?? 00h BL2:d9009a43 00 ?? 00h BL2:d9009a44 00 ?? 00h BL2:d9009a45 00 ?? 00h BL2:d9009a46 00 ?? 00h BL2:d9009a47 00 ?? 00h BL2:d9009a48 00 ?? 00h BL2:d9009a49 00 ?? 00h BL2:d9009a4a 00 ?? 00h BL2:d9009a4b 00 ?? 00h BL2:d9009a4c 00 ?? 00h BL2:d9009a4d 00 ?? 00h BL2:d9009a4e 00 ?? 00h BL2:d9009a4f 00 ?? 00h BL2:d9009a50 00 ?? 00h BL2:d9009a51 00 ?? 00h BL2:d9009a52 00 ?? 00h BL2:d9009a53 00 ?? 00h BL2:d9009a54 00 ?? 00h BL2:d9009a55 00 ?? 00h BL2:d9009a56 00 ?? 00h BL2:d9009a57 00 ?? 00h BL2:d9009a58 00 ?? 00h BL2:d9009a59 00 ?? 00h BL2:d9009a5a 00 ?? 00h BL2:d9009a5b 00 ?? 00h BL2:d9009a5c 00 ?? 00h BL2:d9009a5d 00 ?? 00h BL2:d9009a5e 00 ?? 00h BL2:d9009a5f 00 ?? 00h BL2:d9009a60 00 ?? 00h BL2:d9009a61 00 ?? 00h BL2:d9009a62 00 ?? 00h BL2:d9009a63 00 ?? 00h BL2:d9009a64 00 ?? 00h BL2:d9009a65 00 ?? 00h BL2:d9009a66 00 ?? 00h BL2:d9009a67 00 ?? 00h BL2:d9009a68 00 ?? 00h BL2:d9009a69 00 ?? 00h BL2:d9009a6a 00 ?? 00h BL2:d9009a6b 00 ?? 00h BL2:d9009a6c 00 ?? 00h BL2:d9009a6d 00 ?? 00h BL2:d9009a6e 00 ?? 00h BL2:d9009a6f 00 ?? 00h BL2:d9009a70 00 ?? 00h BL2:d9009a71 00 ?? 00h BL2:d9009a72 00 ?? 00h BL2:d9009a73 00 ?? 00h BL2:d9009a74 00 ?? 00h BL2:d9009a75 00 ?? 00h BL2:d9009a76 00 ?? 00h BL2:d9009a77 00 ?? 00h BL2:d9009a78 00 ?? 00h BL2:d9009a79 00 ?? 00h BL2:d9009a7a 00 ?? 00h BL2:d9009a7b 00 ?? 00h BL2:d9009a7c 00 ?? 00h BL2:d9009a7d 00 ?? 00h BL2:d9009a7e 00 ?? 00h BL2:d9009a7f 00 ?? 00h BL2:d9009a80 00 ?? 00h BL2:d9009a81 00 ?? 00h BL2:d9009a82 00 ?? 00h BL2:d9009a83 00 ?? 00h BL2:d9009a84 00 ?? 00h BL2:d9009a85 00 ?? 00h BL2:d9009a86 00 ?? 00h BL2:d9009a87 00 ?? 00h BL2:d9009a88 00 ?? 00h BL2:d9009a89 00 ?? 00h BL2:d9009a8a 00 ?? 00h BL2:d9009a8b 00 ?? 00h BL2:d9009a8c 00 ?? 00h BL2:d9009a8d 00 ?? 00h BL2:d9009a8e 00 ?? 00h BL2:d9009a8f 00 ?? 00h BL2:d9009a90 00 ?? 00h BL2:d9009a91 00 ?? 00h BL2:d9009a92 00 ?? 00h BL2:d9009a93 00 ?? 00h BL2:d9009a94 00 ?? 00h BL2:d9009a95 00 ?? 00h BL2:d9009a96 00 ?? 00h BL2:d9009a97 00 ?? 00h BL2:d9009a98 00 ?? 00h BL2:d9009a99 00 ?? 00h BL2:d9009a9a 00 ?? 00h BL2:d9009a9b 00 ?? 00h BL2:d9009a9c 00 ?? 00h BL2:d9009a9d 00 ?? 00h BL2:d9009a9e 00 ?? 00h BL2:d9009a9f 00 ?? 00h BL2:d9009aa0 00 ?? 00h BL2:d9009aa1 00 ?? 00h BL2:d9009aa2 00 ?? 00h BL2:d9009aa3 00 ?? 00h BL2:d9009aa4 00 ?? 00h BL2:d9009aa5 00 ?? 00h BL2:d9009aa6 00 ?? 00h BL2:d9009aa7 00 ?? 00h BL2:d9009aa8 00 ?? 00h BL2:d9009aa9 00 ?? 00h BL2:d9009aaa 00 ?? 00h BL2:d9009aab 00 ?? 00h BL2:d9009aac 00 ?? 00h BL2:d9009aad 00 ?? 00h BL2:d9009aae 00 ?? 00h BL2:d9009aaf 00 ?? 00h BL2:d9009ab0 00 ?? 00h BL2:d9009ab1 00 ?? 00h BL2:d9009ab2 00 ?? 00h BL2:d9009ab3 00 ?? 00h BL2:d9009ab4 00 ?? 00h BL2:d9009ab5 00 ?? 00h BL2:d9009ab6 00 ?? 00h BL2:d9009ab7 00 ?? 00h BL2:d9009ab8 00 ?? 00h BL2:d9009ab9 00 ?? 00h BL2:d9009aba 00 ?? 00h BL2:d9009abb 00 ?? 00h BL2:d9009abc 00 ?? 00h BL2:d9009abd 00 ?? 00h BL2:d9009abe 00 ?? 00h BL2:d9009abf 00 ?? 00h BL2:d9009ac0 00 ?? 00h BL2:d9009ac1 00 ?? 00h BL2:d9009ac2 00 ?? 00h BL2:d9009ac3 00 ?? 00h BL2:d9009ac4 00 ?? 00h BL2:d9009ac5 00 ?? 00h BL2:d9009ac6 00 ?? 00h BL2:d9009ac7 00 ?? 00h BL2:d9009ac8 00 ?? 00h BL2:d9009ac9 00 ?? 00h BL2:d9009aca 00 ?? 00h BL2:d9009acb 00 ?? 00h BL2:d9009acc 00 ?? 00h BL2:d9009acd 00 ?? 00h BL2:d9009ace 00 ?? 00h BL2:d9009acf 00 ?? 00h BL2:d9009ad0 00 ?? 00h BL2:d9009ad1 00 ?? 00h BL2:d9009ad2 00 ?? 00h BL2:d9009ad3 00 ?? 00h BL2:d9009ad4 00 ?? 00h BL2:d9009ad5 00 ?? 00h BL2:d9009ad6 00 ?? 00h BL2:d9009ad7 00 ?? 00h BL2:d9009ad8 00 ?? 00h BL2:d9009ad9 00 ?? 00h BL2:d9009ada 00 ?? 00h BL2:d9009adb 00 ?? 00h BL2:d9009adc 00 ?? 00h BL2:d9009add 00 ?? 00h BL2:d9009ade 00 ?? 00h BL2:d9009adf 00 ?? 00h BL2:d9009ae0 00 ?? 00h BL2:d9009ae1 00 ?? 00h BL2:d9009ae2 00 ?? 00h BL2:d9009ae3 00 ?? 00h BL2:d9009ae4 00 ?? 00h BL2:d9009ae5 00 ?? 00h BL2:d9009ae6 00 ?? 00h BL2:d9009ae7 00 ?? 00h BL2:d9009ae8 00 ?? 00h BL2:d9009ae9 00 ?? 00h BL2:d9009aea 00 ?? 00h BL2:d9009aeb 00 ?? 00h BL2:d9009aec 00 ?? 00h BL2:d9009aed 00 ?? 00h BL2:d9009aee 00 ?? 00h BL2:d9009aef 00 ?? 00h BL2:d9009af0 00 ?? 00h BL2:d9009af1 00 ?? 00h BL2:d9009af2 00 ?? 00h BL2:d9009af3 00 ?? 00h BL2:d9009af4 00 ?? 00h BL2:d9009af5 00 ?? 00h BL2:d9009af6 00 ?? 00h BL2:d9009af7 00 ?? 00h BL2:d9009af8 00 ?? 00h BL2:d9009af9 00 ?? 00h BL2:d9009afa 00 ?? 00h BL2:d9009afb 00 ?? 00h BL2:d9009afc 00 ?? 00h BL2:d9009afd 00 ?? 00h BL2:d9009afe 00 ?? 00h BL2:d9009aff 00 ?? 00h BL2:d9009b00 00 ?? 00h BL2:d9009b01 00 ?? 00h BL2:d9009b02 00 ?? 00h BL2:d9009b03 00 ?? 00h BL2:d9009b04 00 ?? 00h BL2:d9009b05 00 ?? 00h BL2:d9009b06 00 ?? 00h BL2:d9009b07 00 ?? 00h BL2:d9009b08 00 ?? 00h BL2:d9009b09 00 ?? 00h BL2:d9009b0a 00 ?? 00h BL2:d9009b0b 00 ?? 00h BL2:d9009b0c 00 ?? 00h BL2:d9009b0d 00 ?? 00h BL2:d9009b0e 00 ?? 00h BL2:d9009b0f 00 ?? 00h BL2:d9009b10 00 ?? 00h BL2:d9009b11 00 ?? 00h BL2:d9009b12 00 ?? 00h BL2:d9009b13 00 ?? 00h BL2:d9009b14 00 ?? 00h BL2:d9009b15 00 ?? 00h BL2:d9009b16 00 ?? 00h BL2:d9009b17 00 ?? 00h BL2:d9009b18 00 ?? 00h BL2:d9009b19 00 ?? 00h BL2:d9009b1a 00 ?? 00h BL2:d9009b1b 00 ?? 00h BL2:d9009b1c 00 ?? 00h BL2:d9009b1d 00 ?? 00h BL2:d9009b1e 00 ?? 00h BL2:d9009b1f 00 ?? 00h BL2:d9009b20 00 ?? 00h BL2:d9009b21 00 ?? 00h BL2:d9009b22 00 ?? 00h BL2:d9009b23 00 ?? 00h BL2:d9009b24 00 ?? 00h BL2:d9009b25 00 ?? 00h BL2:d9009b26 00 ?? 00h BL2:d9009b27 00 ?? 00h BL2:d9009b28 00 ?? 00h BL2:d9009b29 00 ?? 00h BL2:d9009b2a 00 ?? 00h BL2:d9009b2b 00 ?? 00h BL2:d9009b2c 00 ?? 00h BL2:d9009b2d 00 ?? 00h BL2:d9009b2e 00 ?? 00h BL2:d9009b2f 00 ?? 00h BL2:d9009b30 00 ?? 00h BL2:d9009b31 00 ?? 00h BL2:d9009b32 00 ?? 00h BL2:d9009b33 00 ?? 00h BL2:d9009b34 00 ?? 00h BL2:d9009b35 00 ?? 00h BL2:d9009b36 00 ?? 00h BL2:d9009b37 00 ?? 00h BL2:d9009b38 00 ?? 00h BL2:d9009b39 00 ?? 00h BL2:d9009b3a 00 ?? 00h BL2:d9009b3b 00 ?? 00h BL2:d9009b3c 00 ?? 00h BL2:d9009b3d 00 ?? 00h BL2:d9009b3e 00 ?? 00h BL2:d9009b3f 00 ?? 00h BL2:d9009b40 00 ?? 00h BL2:d9009b41 00 ?? 00h BL2:d9009b42 00 ?? 00h BL2:d9009b43 00 ?? 00h BL2:d9009b44 00 ?? 00h BL2:d9009b45 00 ?? 00h BL2:d9009b46 00 ?? 00h BL2:d9009b47 00 ?? 00h BL2:d9009b48 00 ?? 00h BL2:d9009b49 00 ?? 00h BL2:d9009b4a 00 ?? 00h BL2:d9009b4b 00 ?? 00h BL2:d9009b4c 00 ?? 00h BL2:d9009b4d 00 ?? 00h BL2:d9009b4e 00 ?? 00h BL2:d9009b4f 00 ?? 00h BL2:d9009b50 00 ?? 00h BL2:d9009b51 00 ?? 00h BL2:d9009b52 00 ?? 00h BL2:d9009b53 00 ?? 00h BL2:d9009b54 00 ?? 00h BL2:d9009b55 00 ?? 00h BL2:d9009b56 00 ?? 00h BL2:d9009b57 00 ?? 00h BL2:d9009b58 00 ?? 00h BL2:d9009b59 00 ?? 00h BL2:d9009b5a 00 ?? 00h BL2:d9009b5b 00 ?? 00h BL2:d9009b5c 00 ?? 00h BL2:d9009b5d 00 ?? 00h BL2:d9009b5e 00 ?? 00h BL2:d9009b5f 00 ?? 00h BL2:d9009b60 00 ?? 00h BL2:d9009b61 00 ?? 00h BL2:d9009b62 00 ?? 00h BL2:d9009b63 00 ?? 00h BL2:d9009b64 00 ?? 00h BL2:d9009b65 00 ?? 00h BL2:d9009b66 00 ?? 00h BL2:d9009b67 00 ?? 00h BL2:d9009b68 00 ?? 00h BL2:d9009b69 00 ?? 00h BL2:d9009b6a 00 ?? 00h BL2:d9009b6b 00 ?? 00h BL2:d9009b6c 00 ?? 00h BL2:d9009b6d 00 ?? 00h BL2:d9009b6e 00 ?? 00h BL2:d9009b6f 00 ?? 00h BL2:d9009b70 00 ?? 00h BL2:d9009b71 00 ?? 00h BL2:d9009b72 00 ?? 00h BL2:d9009b73 00 ?? 00h BL2:d9009b74 00 ?? 00h BL2:d9009b75 00 ?? 00h BL2:d9009b76 00 ?? 00h BL2:d9009b77 00 ?? 00h BL2:d9009b78 00 ?? 00h BL2:d9009b79 00 ?? 00h BL2:d9009b7a 00 ?? 00h BL2:d9009b7b 00 ?? 00h BL2:d9009b7c 00 ?? 00h BL2:d9009b7d 00 ?? 00h BL2:d9009b7e 00 ?? 00h BL2:d9009b7f 00 ?? 00h BL2:d9009b80 00 ?? 00h BL2:d9009b81 00 ?? 00h BL2:d9009b82 00 ?? 00h BL2:d9009b83 00 ?? 00h BL2:d9009b84 00 ?? 00h BL2:d9009b85 00 ?? 00h BL2:d9009b86 00 ?? 00h BL2:d9009b87 00 ?? 00h BL2:d9009b88 00 ?? 00h BL2:d9009b89 00 ?? 00h BL2:d9009b8a 00 ?? 00h BL2:d9009b8b 00 ?? 00h BL2:d9009b8c 00 ?? 00h BL2:d9009b8d 00 ?? 00h BL2:d9009b8e 00 ?? 00h BL2:d9009b8f 00 ?? 00h BL2:d9009b90 00 ?? 00h BL2:d9009b91 00 ?? 00h BL2:d9009b92 00 ?? 00h BL2:d9009b93 00 ?? 00h BL2:d9009b94 00 ?? 00h BL2:d9009b95 00 ?? 00h BL2:d9009b96 00 ?? 00h BL2:d9009b97 00 ?? 00h BL2:d9009b98 00 ?? 00h BL2:d9009b99 00 ?? 00h BL2:d9009b9a 00 ?? 00h BL2:d9009b9b 00 ?? 00h BL2:d9009b9c 00 ?? 00h BL2:d9009b9d 00 ?? 00h BL2:d9009b9e 00 ?? 00h BL2:d9009b9f 00 ?? 00h BL2:d9009ba0 00 ?? 00h BL2:d9009ba1 00 ?? 00h BL2:d9009ba2 00 ?? 00h BL2:d9009ba3 00 ?? 00h BL2:d9009ba4 00 ?? 00h BL2:d9009ba5 00 ?? 00h BL2:d9009ba6 00 ?? 00h BL2:d9009ba7 00 ?? 00h BL2:d9009ba8 00 ?? 00h BL2:d9009ba9 00 ?? 00h BL2:d9009baa 00 ?? 00h BL2:d9009bab 00 ?? 00h BL2:d9009bac 00 ?? 00h BL2:d9009bad 00 ?? 00h BL2:d9009bae 00 ?? 00h BL2:d9009baf 00 ?? 00h BL2:d9009bb0 00 ?? 00h BL2:d9009bb1 00 ?? 00h BL2:d9009bb2 00 ?? 00h BL2:d9009bb3 00 ?? 00h BL2:d9009bb4 00 ?? 00h BL2:d9009bb5 00 ?? 00h BL2:d9009bb6 00 ?? 00h BL2:d9009bb7 00 ?? 00h BL2:d9009bb8 00 ?? 00h BL2:d9009bb9 00 ?? 00h BL2:d9009bba 00 ?? 00h BL2:d9009bbb 00 ?? 00h BL2:d9009bbc 00 ?? 00h BL2:d9009bbd 00 ?? 00h BL2:d9009bbe 00 ?? 00h BL2:d9009bbf 00 ?? 00h BL2:d9009bc0 00 ?? 00h BL2:d9009bc1 00 ?? 00h BL2:d9009bc2 00 ?? 00h BL2:d9009bc3 00 ?? 00h BL2:d9009bc4 00 ?? 00h BL2:d9009bc5 00 ?? 00h BL2:d9009bc6 00 ?? 00h BL2:d9009bc7 00 ?? 00h BL2:d9009bc8 00 ?? 00h BL2:d9009bc9 00 ?? 00h BL2:d9009bca 00 ?? 00h BL2:d9009bcb 00 ?? 00h BL2:d9009bcc 00 ?? 00h BL2:d9009bcd 00 ?? 00h BL2:d9009bce 00 ?? 00h BL2:d9009bcf 00 ?? 00h BL2:d9009bd0 00 ?? 00h BL2:d9009bd1 00 ?? 00h BL2:d9009bd2 00 ?? 00h BL2:d9009bd3 00 ?? 00h BL2:d9009bd4 00 ?? 00h BL2:d9009bd5 00 ?? 00h BL2:d9009bd6 00 ?? 00h BL2:d9009bd7 00 ?? 00h BL2:d9009bd8 00 ?? 00h BL2:d9009bd9 00 ?? 00h BL2:d9009bda 00 ?? 00h BL2:d9009bdb 00 ?? 00h BL2:d9009bdc 00 ?? 00h BL2:d9009bdd 00 ?? 00h BL2:d9009bde 00 ?? 00h BL2:d9009bdf 00 ?? 00h BL2:d9009be0 00 ?? 00h BL2:d9009be1 00 ?? 00h BL2:d9009be2 00 ?? 00h BL2:d9009be3 00 ?? 00h BL2:d9009be4 00 ?? 00h BL2:d9009be5 00 ?? 00h BL2:d9009be6 00 ?? 00h BL2:d9009be7 00 ?? 00h BL2:d9009be8 00 ?? 00h BL2:d9009be9 00 ?? 00h BL2:d9009bea 00 ?? 00h BL2:d9009beb 00 ?? 00h BL2:d9009bec 00 ?? 00h BL2:d9009bed 00 ?? 00h BL2:d9009bee 00 ?? 00h BL2:d9009bef 00 ?? 00h BL2:d9009bf0 00 ?? 00h BL2:d9009bf1 00 ?? 00h BL2:d9009bf2 00 ?? 00h BL2:d9009bf3 00 ?? 00h BL2:d9009bf4 00 ?? 00h BL2:d9009bf5 00 ?? 00h BL2:d9009bf6 00 ?? 00h BL2:d9009bf7 00 ?? 00h BL2:d9009bf8 00 ?? 00h BL2:d9009bf9 00 ?? 00h BL2:d9009bfa 00 ?? 00h BL2:d9009bfb 00 ?? 00h BL2:d9009bfc 00 ?? 00h BL2:d9009bfd 00 ?? 00h BL2:d9009bfe 00 ?? 00h BL2:d9009bff 00 ?? 00h BL2:d9009c00 00 ?? 00h BL2:d9009c01 00 ?? 00h BL2:d9009c02 00 ?? 00h BL2:d9009c03 00 ?? 00h BL2:d9009c04 00 ?? 00h BL2:d9009c05 00 ?? 00h BL2:d9009c06 00 ?? 00h BL2:d9009c07 00 ?? 00h BL2:d9009c08 00 ?? 00h BL2:d9009c09 00 ?? 00h BL2:d9009c0a 00 ?? 00h BL2:d9009c0b 00 ?? 00h BL2:d9009c0c 00 ?? 00h BL2:d9009c0d 00 ?? 00h BL2:d9009c0e 00 ?? 00h BL2:d9009c0f 00 ?? 00h BL2:d9009c10 00 ?? 00h BL2:d9009c11 00 ?? 00h BL2:d9009c12 00 ?? 00h BL2:d9009c13 00 ?? 00h BL2:d9009c14 00 ?? 00h BL2:d9009c15 00 ?? 00h BL2:d9009c16 00 ?? 00h BL2:d9009c17 00 ?? 00h BL2:d9009c18 00 ?? 00h BL2:d9009c19 00 ?? 00h BL2:d9009c1a 00 ?? 00h BL2:d9009c1b 00 ?? 00h BL2:d9009c1c 00 ?? 00h BL2:d9009c1d 00 ?? 00h BL2:d9009c1e 00 ?? 00h BL2:d9009c1f 00 ?? 00h BL2:d9009c20 00 ?? 00h BL2:d9009c21 00 ?? 00h BL2:d9009c22 00 ?? 00h BL2:d9009c23 00 ?? 00h BL2:d9009c24 00 ?? 00h BL2:d9009c25 00 ?? 00h BL2:d9009c26 00 ?? 00h BL2:d9009c27 00 ?? 00h BL2:d9009c28 00 ?? 00h BL2:d9009c29 00 ?? 00h BL2:d9009c2a 00 ?? 00h BL2:d9009c2b 00 ?? 00h BL2:d9009c2c 00 ?? 00h BL2:d9009c2d 00 ?? 00h BL2:d9009c2e 00 ?? 00h BL2:d9009c2f 00 ?? 00h BL2:d9009c30 00 ?? 00h BL2:d9009c31 00 ?? 00h BL2:d9009c32 00 ?? 00h BL2:d9009c33 00 ?? 00h BL2:d9009c34 00 ?? 00h BL2:d9009c35 00 ?? 00h BL2:d9009c36 00 ?? 00h BL2:d9009c37 00 ?? 00h BL2:d9009c38 00 ?? 00h BL2:d9009c39 00 ?? 00h BL2:d9009c3a 00 ?? 00h BL2:d9009c3b 00 ?? 00h BL2:d9009c3c 00 ?? 00h BL2:d9009c3d 00 ?? 00h BL2:d9009c3e 00 ?? 00h BL2:d9009c3f 00 ?? 00h BL2:d9009c40 00 ?? 00h BL2:d9009c41 00 ?? 00h BL2:d9009c42 00 ?? 00h BL2:d9009c43 00 ?? 00h BL2:d9009c44 00 ?? 00h BL2:d9009c45 00 ?? 00h BL2:d9009c46 00 ?? 00h BL2:d9009c47 00 ?? 00h BL2:d9009c48 00 ?? 00h BL2:d9009c49 00 ?? 00h BL2:d9009c4a 00 ?? 00h BL2:d9009c4b 00 ?? 00h BL2:d9009c4c 00 ?? 00h BL2:d9009c4d 00 ?? 00h BL2:d9009c4e 00 ?? 00h BL2:d9009c4f 00 ?? 00h BL2:d9009c50 00 ?? 00h BL2:d9009c51 00 ?? 00h BL2:d9009c52 00 ?? 00h BL2:d9009c53 00 ?? 00h BL2:d9009c54 00 ?? 00h BL2:d9009c55 00 ?? 00h BL2:d9009c56 00 ?? 00h BL2:d9009c57 00 ?? 00h BL2:d9009c58 00 ?? 00h BL2:d9009c59 00 ?? 00h BL2:d9009c5a 00 ?? 00h BL2:d9009c5b 00 ?? 00h BL2:d9009c5c 00 ?? 00h BL2:d9009c5d 00 ?? 00h BL2:d9009c5e 00 ?? 00h BL2:d9009c5f 00 ?? 00h BL2:d9009c60 00 ?? 00h BL2:d9009c61 00 ?? 00h BL2:d9009c62 00 ?? 00h BL2:d9009c63 00 ?? 00h BL2:d9009c64 00 ?? 00h BL2:d9009c65 00 ?? 00h BL2:d9009c66 00 ?? 00h BL2:d9009c67 00 ?? 00h BL2:d9009c68 00 ?? 00h BL2:d9009c69 00 ?? 00h BL2:d9009c6a 00 ?? 00h BL2:d9009c6b 00 ?? 00h BL2:d9009c6c 00 ?? 00h BL2:d9009c6d 00 ?? 00h BL2:d9009c6e 00 ?? 00h BL2:d9009c6f 00 ?? 00h BL2:d9009c70 00 ?? 00h BL2:d9009c71 00 ?? 00h BL2:d9009c72 00 ?? 00h BL2:d9009c73 00 ?? 00h BL2:d9009c74 00 ?? 00h BL2:d9009c75 00 ?? 00h BL2:d9009c76 00 ?? 00h BL2:d9009c77 00 ?? 00h BL2:d9009c78 00 ?? 00h BL2:d9009c79 00 ?? 00h BL2:d9009c7a 00 ?? 00h BL2:d9009c7b 00 ?? 00h BL2:d9009c7c 00 ?? 00h BL2:d9009c7d 00 ?? 00h BL2:d9009c7e 00 ?? 00h BL2:d9009c7f 00 ?? 00h BL2:d9009c80 00 ?? 00h BL2:d9009c81 00 ?? 00h BL2:d9009c82 00 ?? 00h BL2:d9009c83 00 ?? 00h BL2:d9009c84 00 ?? 00h BL2:d9009c85 00 ?? 00h BL2:d9009c86 00 ?? 00h BL2:d9009c87 00 ?? 00h BL2:d9009c88 00 ?? 00h BL2:d9009c89 00 ?? 00h BL2:d9009c8a 00 ?? 00h BL2:d9009c8b 00 ?? 00h BL2:d9009c8c 00 ?? 00h BL2:d9009c8d 00 ?? 00h BL2:d9009c8e 00 ?? 00h BL2:d9009c8f 00 ?? 00h BL2:d9009c90 00 ?? 00h BL2:d9009c91 00 ?? 00h BL2:d9009c92 00 ?? 00h BL2:d9009c93 00 ?? 00h BL2:d9009c94 00 ?? 00h BL2:d9009c95 00 ?? 00h BL2:d9009c96 00 ?? 00h BL2:d9009c97 00 ?? 00h BL2:d9009c98 00 ?? 00h BL2:d9009c99 00 ?? 00h BL2:d9009c9a 00 ?? 00h BL2:d9009c9b 00 ?? 00h BL2:d9009c9c 00 ?? 00h BL2:d9009c9d 00 ?? 00h BL2:d9009c9e 00 ?? 00h BL2:d9009c9f 00 ?? 00h BL2:d9009ca0 00 ?? 00h BL2:d9009ca1 00 ?? 00h BL2:d9009ca2 00 ?? 00h BL2:d9009ca3 00 ?? 00h BL2:d9009ca4 00 ?? 00h BL2:d9009ca5 00 ?? 00h BL2:d9009ca6 00 ?? 00h BL2:d9009ca7 00 ?? 00h BL2:d9009ca8 00 ?? 00h BL2:d9009ca9 00 ?? 00h BL2:d9009caa 00 ?? 00h BL2:d9009cab 00 ?? 00h BL2:d9009cac 00 ?? 00h BL2:d9009cad 00 ?? 00h BL2:d9009cae 00 ?? 00h BL2:d9009caf 00 ?? 00h BL2:d9009cb0 00 ?? 00h BL2:d9009cb1 00 ?? 00h BL2:d9009cb2 00 ?? 00h BL2:d9009cb3 00 ?? 00h BL2:d9009cb4 00 ?? 00h BL2:d9009cb5 00 ?? 00h BL2:d9009cb6 00 ?? 00h BL2:d9009cb7 00 ?? 00h BL2:d9009cb8 00 ?? 00h BL2:d9009cb9 00 ?? 00h BL2:d9009cba 00 ?? 00h BL2:d9009cbb 00 ?? 00h BL2:d9009cbc 00 ?? 00h BL2:d9009cbd 00 ?? 00h BL2:d9009cbe 00 ?? 00h BL2:d9009cbf 00 ?? 00h BL2:d9009cc0 00 ?? 00h BL2:d9009cc1 00 ?? 00h BL2:d9009cc2 00 ?? 00h BL2:d9009cc3 00 ?? 00h BL2:d9009cc4 00 ?? 00h BL2:d9009cc5 00 ?? 00h BL2:d9009cc6 00 ?? 00h BL2:d9009cc7 00 ?? 00h BL2:d9009cc8 00 ?? 00h BL2:d9009cc9 00 ?? 00h BL2:d9009cca 00 ?? 00h BL2:d9009ccb 00 ?? 00h BL2:d9009ccc 00 ?? 00h BL2:d9009ccd 00 ?? 00h BL2:d9009cce 00 ?? 00h BL2:d9009ccf 00 ?? 00h BL2:d9009cd0 00 ?? 00h BL2:d9009cd1 00 ?? 00h BL2:d9009cd2 00 ?? 00h BL2:d9009cd3 00 ?? 00h BL2:d9009cd4 00 ?? 00h BL2:d9009cd5 00 ?? 00h BL2:d9009cd6 00 ?? 00h BL2:d9009cd7 00 ?? 00h BL2:d9009cd8 00 ?? 00h BL2:d9009cd9 00 ?? 00h BL2:d9009cda 00 ?? 00h BL2:d9009cdb 00 ?? 00h BL2:d9009cdc 00 ?? 00h BL2:d9009cdd 00 ?? 00h BL2:d9009cde 00 ?? 00h BL2:d9009cdf 00 ?? 00h BL2:d9009ce0 00 ?? 00h BL2:d9009ce1 00 ?? 00h BL2:d9009ce2 00 ?? 00h BL2:d9009ce3 00 ?? 00h BL2:d9009ce4 00 ?? 00h BL2:d9009ce5 00 ?? 00h BL2:d9009ce6 00 ?? 00h BL2:d9009ce7 00 ?? 00h BL2:d9009ce8 00 ?? 00h BL2:d9009ce9 00 ?? 00h BL2:d9009cea 00 ?? 00h BL2:d9009ceb 00 ?? 00h BL2:d9009cec 00 ?? 00h BL2:d9009ced 00 ?? 00h BL2:d9009cee 00 ?? 00h BL2:d9009cef 00 ?? 00h BL2:d9009cf0 00 ?? 00h BL2:d9009cf1 00 ?? 00h BL2:d9009cf2 00 ?? 00h BL2:d9009cf3 00 ?? 00h BL2:d9009cf4 00 ?? 00h BL2:d9009cf5 00 ?? 00h BL2:d9009cf6 00 ?? 00h BL2:d9009cf7 00 ?? 00h BL2:d9009cf8 00 ?? 00h BL2:d9009cf9 00 ?? 00h BL2:d9009cfa 00 ?? 00h BL2:d9009cfb 00 ?? 00h BL2:d9009cfc 00 ?? 00h BL2:d9009cfd 00 ?? 00h BL2:d9009cfe 00 ?? 00h BL2:d9009cff 00 ?? 00h BL2:d9009d00 00 ?? 00h BL2:d9009d01 00 ?? 00h BL2:d9009d02 00 ?? 00h BL2:d9009d03 00 ?? 00h BL2:d9009d04 00 ?? 00h BL2:d9009d05 00 ?? 00h BL2:d9009d06 00 ?? 00h BL2:d9009d07 00 ?? 00h BL2:d9009d08 00 ?? 00h BL2:d9009d09 00 ?? 00h BL2:d9009d0a 00 ?? 00h BL2:d9009d0b 00 ?? 00h BL2:d9009d0c 00 ?? 00h BL2:d9009d0d 00 ?? 00h BL2:d9009d0e 00 ?? 00h BL2:d9009d0f 00 ?? 00h BL2:d9009d10 00 ?? 00h BL2:d9009d11 00 ?? 00h BL2:d9009d12 00 ?? 00h BL2:d9009d13 00 ?? 00h BL2:d9009d14 00 ?? 00h BL2:d9009d15 00 ?? 00h BL2:d9009d16 00 ?? 00h BL2:d9009d17 00 ?? 00h BL2:d9009d18 00 ?? 00h BL2:d9009d19 00 ?? 00h BL2:d9009d1a 00 ?? 00h BL2:d9009d1b 00 ?? 00h BL2:d9009d1c 00 ?? 00h BL2:d9009d1d 00 ?? 00h BL2:d9009d1e 00 ?? 00h BL2:d9009d1f 00 ?? 00h BL2:d9009d20 00 ?? 00h BL2:d9009d21 00 ?? 00h BL2:d9009d22 00 ?? 00h BL2:d9009d23 00 ?? 00h BL2:d9009d24 00 ?? 00h BL2:d9009d25 00 ?? 00h BL2:d9009d26 00 ?? 00h BL2:d9009d27 00 ?? 00h BL2:d9009d28 00 ?? 00h BL2:d9009d29 00 ?? 00h BL2:d9009d2a 00 ?? 00h BL2:d9009d2b 00 ?? 00h BL2:d9009d2c 00 ?? 00h BL2:d9009d2d 00 ?? 00h BL2:d9009d2e 00 ?? 00h BL2:d9009d2f 00 ?? 00h BL2:d9009d30 00 ?? 00h BL2:d9009d31 00 ?? 00h BL2:d9009d32 00 ?? 00h BL2:d9009d33 00 ?? 00h BL2:d9009d34 00 ?? 00h BL2:d9009d35 00 ?? 00h BL2:d9009d36 00 ?? 00h BL2:d9009d37 00 ?? 00h BL2:d9009d38 00 ?? 00h BL2:d9009d39 00 ?? 00h BL2:d9009d3a 00 ?? 00h BL2:d9009d3b 00 ?? 00h BL2:d9009d3c 00 ?? 00h BL2:d9009d3d 00 ?? 00h BL2:d9009d3e 00 ?? 00h BL2:d9009d3f 00 ?? 00h BL2:d9009d40 00 ?? 00h BL2:d9009d41 00 ?? 00h BL2:d9009d42 00 ?? 00h BL2:d9009d43 00 ?? 00h BL2:d9009d44 00 ?? 00h BL2:d9009d45 00 ?? 00h BL2:d9009d46 00 ?? 00h BL2:d9009d47 00 ?? 00h BL2:d9009d48 00 ?? 00h BL2:d9009d49 00 ?? 00h BL2:d9009d4a 00 ?? 00h BL2:d9009d4b 00 ?? 00h BL2:d9009d4c 00 ?? 00h BL2:d9009d4d 00 ?? 00h BL2:d9009d4e 00 ?? 00h BL2:d9009d4f 00 ?? 00h BL2:d9009d50 00 ?? 00h BL2:d9009d51 00 ?? 00h BL2:d9009d52 00 ?? 00h BL2:d9009d53 00 ?? 00h BL2:d9009d54 00 ?? 00h BL2:d9009d55 00 ?? 00h BL2:d9009d56 00 ?? 00h BL2:d9009d57 00 ?? 00h BL2:d9009d58 00 ?? 00h BL2:d9009d59 00 ?? 00h BL2:d9009d5a 00 ?? 00h BL2:d9009d5b 00 ?? 00h BL2:d9009d5c 00 ?? 00h BL2:d9009d5d 00 ?? 00h BL2:d9009d5e 00 ?? 00h BL2:d9009d5f 00 ?? 00h BL2:d9009d60 00 ?? 00h BL2:d9009d61 00 ?? 00h BL2:d9009d62 00 ?? 00h BL2:d9009d63 00 ?? 00h BL2:d9009d64 00 ?? 00h BL2:d9009d65 00 ?? 00h BL2:d9009d66 00 ?? 00h BL2:d9009d67 00 ?? 00h BL2:d9009d68 00 ?? 00h BL2:d9009d69 00 ?? 00h BL2:d9009d6a 00 ?? 00h BL2:d9009d6b 00 ?? 00h BL2:d9009d6c 00 ?? 00h BL2:d9009d6d 00 ?? 00h BL2:d9009d6e 00 ?? 00h BL2:d9009d6f 00 ?? 00h BL2:d9009d70 00 ?? 00h BL2:d9009d71 00 ?? 00h BL2:d9009d72 00 ?? 00h BL2:d9009d73 00 ?? 00h BL2:d9009d74 00 ?? 00h BL2:d9009d75 00 ?? 00h BL2:d9009d76 00 ?? 00h BL2:d9009d77 00 ?? 00h BL2:d9009d78 00 ?? 00h BL2:d9009d79 00 ?? 00h BL2:d9009d7a 00 ?? 00h BL2:d9009d7b 00 ?? 00h BL2:d9009d7c 00 ?? 00h BL2:d9009d7d 00 ?? 00h BL2:d9009d7e 00 ?? 00h BL2:d9009d7f 00 ?? 00h BL2:d9009d80 00 ?? 00h BL2:d9009d81 00 ?? 00h BL2:d9009d82 00 ?? 00h BL2:d9009d83 00 ?? 00h BL2:d9009d84 00 ?? 00h BL2:d9009d85 00 ?? 00h BL2:d9009d86 00 ?? 00h BL2:d9009d87 00 ?? 00h BL2:d9009d88 00 ?? 00h BL2:d9009d89 00 ?? 00h BL2:d9009d8a 00 ?? 00h BL2:d9009d8b 00 ?? 00h BL2:d9009d8c 00 ?? 00h BL2:d9009d8d 00 ?? 00h BL2:d9009d8e 00 ?? 00h BL2:d9009d8f 00 ?? 00h BL2:d9009d90 00 ?? 00h BL2:d9009d91 00 ?? 00h BL2:d9009d92 00 ?? 00h BL2:d9009d93 00 ?? 00h BL2:d9009d94 00 ?? 00h BL2:d9009d95 00 ?? 00h BL2:d9009d96 00 ?? 00h BL2:d9009d97 00 ?? 00h BL2:d9009d98 00 ?? 00h BL2:d9009d99 00 ?? 00h BL2:d9009d9a 00 ?? 00h BL2:d9009d9b 00 ?? 00h BL2:d9009d9c 00 ?? 00h BL2:d9009d9d 00 ?? 00h BL2:d9009d9e 00 ?? 00h BL2:d9009d9f 00 ?? 00h BL2:d9009da0 00 ?? 00h BL2:d9009da1 00 ?? 00h BL2:d9009da2 00 ?? 00h BL2:d9009da3 00 ?? 00h BL2:d9009da4 00 ?? 00h BL2:d9009da5 00 ?? 00h BL2:d9009da6 00 ?? 00h BL2:d9009da7 00 ?? 00h BL2:d9009da8 00 ?? 00h BL2:d9009da9 00 ?? 00h BL2:d9009daa 00 ?? 00h BL2:d9009dab 00 ?? 00h BL2:d9009dac 00 ?? 00h BL2:d9009dad 00 ?? 00h BL2:d9009dae 00 ?? 00h BL2:d9009daf 00 ?? 00h BL2:d9009db0 00 ?? 00h BL2:d9009db1 00 ?? 00h BL2:d9009db2 00 ?? 00h BL2:d9009db3 00 ?? 00h BL2:d9009db4 00 ?? 00h BL2:d9009db5 00 ?? 00h BL2:d9009db6 00 ?? 00h BL2:d9009db7 00 ?? 00h BL2:d9009db8 00 ?? 00h BL2:d9009db9 00 ?? 00h BL2:d9009dba 00 ?? 00h BL2:d9009dbb 00 ?? 00h BL2:d9009dbc 00 ?? 00h BL2:d9009dbd 00 ?? 00h BL2:d9009dbe 00 ?? 00h BL2:d9009dbf 00 ?? 00h BL2:d9009dc0 00 ?? 00h BL2:d9009dc1 00 ?? 00h BL2:d9009dc2 00 ?? 00h BL2:d9009dc3 00 ?? 00h BL2:d9009dc4 00 ?? 00h BL2:d9009dc5 00 ?? 00h BL2:d9009dc6 00 ?? 00h BL2:d9009dc7 00 ?? 00h BL2:d9009dc8 00 ?? 00h BL2:d9009dc9 00 ?? 00h BL2:d9009dca 00 ?? 00h BL2:d9009dcb 00 ?? 00h BL2:d9009dcc 00 ?? 00h BL2:d9009dcd 00 ?? 00h BL2:d9009dce 00 ?? 00h BL2:d9009dcf 00 ?? 00h BL2:d9009dd0 00 ?? 00h BL2:d9009dd1 00 ?? 00h BL2:d9009dd2 00 ?? 00h BL2:d9009dd3 00 ?? 00h BL2:d9009dd4 00 ?? 00h BL2:d9009dd5 00 ?? 00h BL2:d9009dd6 00 ?? 00h BL2:d9009dd7 00 ?? 00h BL2:d9009dd8 00 ?? 00h BL2:d9009dd9 00 ?? 00h BL2:d9009dda 00 ?? 00h BL2:d9009ddb 00 ?? 00h BL2:d9009ddc 00 ?? 00h BL2:d9009ddd 00 ?? 00h BL2:d9009dde 00 ?? 00h BL2:d9009ddf 00 ?? 00h BL2:d9009de0 00 ?? 00h BL2:d9009de1 00 ?? 00h BL2:d9009de2 00 ?? 00h BL2:d9009de3 00 ?? 00h BL2:d9009de4 00 ?? 00h BL2:d9009de5 00 ?? 00h BL2:d9009de6 00 ?? 00h BL2:d9009de7 00 ?? 00h BL2:d9009de8 00 ?? 00h BL2:d9009de9 00 ?? 00h BL2:d9009dea 00 ?? 00h BL2:d9009deb 00 ?? 00h BL2:d9009dec 00 ?? 00h BL2:d9009ded 00 ?? 00h BL2:d9009dee 00 ?? 00h BL2:d9009def 00 ?? 00h BL2:d9009df0 00 ?? 00h BL2:d9009df1 00 ?? 00h BL2:d9009df2 00 ?? 00h BL2:d9009df3 00 ?? 00h BL2:d9009df4 00 ?? 00h BL2:d9009df5 00 ?? 00h BL2:d9009df6 00 ?? 00h BL2:d9009df7 00 ?? 00h BL2:d9009df8 00 ?? 00h BL2:d9009df9 00 ?? 00h BL2:d9009dfa 00 ?? 00h BL2:d9009dfb 00 ?? 00h BL2:d9009dfc 00 ?? 00h BL2:d9009dfd 00 ?? 00h BL2:d9009dfe 00 ?? 00h BL2:d9009dff 00 ?? 00h BL2:d9009e00 00 ?? 00h BL2:d9009e01 00 ?? 00h BL2:d9009e02 00 ?? 00h BL2:d9009e03 00 ?? 00h BL2:d9009e04 00 ?? 00h BL2:d9009e05 00 ?? 00h BL2:d9009e06 00 ?? 00h BL2:d9009e07 00 ?? 00h BL2:d9009e08 00 ?? 00h BL2:d9009e09 00 ?? 00h BL2:d9009e0a 00 ?? 00h BL2:d9009e0b 00 ?? 00h BL2:d9009e0c 00 ?? 00h BL2:d9009e0d 00 ?? 00h BL2:d9009e0e 00 ?? 00h BL2:d9009e0f 00 ?? 00h BL2:d9009e10 00 ?? 00h BL2:d9009e11 00 ?? 00h BL2:d9009e12 00 ?? 00h BL2:d9009e13 00 ?? 00h BL2:d9009e14 00 ?? 00h BL2:d9009e15 00 ?? 00h BL2:d9009e16 00 ?? 00h BL2:d9009e17 00 ?? 00h BL2:d9009e18 00 ?? 00h BL2:d9009e19 00 ?? 00h BL2:d9009e1a 00 ?? 00h BL2:d9009e1b 00 ?? 00h BL2:d9009e1c 00 ?? 00h BL2:d9009e1d 00 ?? 00h BL2:d9009e1e 00 ?? 00h BL2:d9009e1f 00 ?? 00h BL2:d9009e20 00 ?? 00h BL2:d9009e21 00 ?? 00h BL2:d9009e22 00 ?? 00h BL2:d9009e23 00 ?? 00h BL2:d9009e24 00 ?? 00h BL2:d9009e25 00 ?? 00h BL2:d9009e26 00 ?? 00h BL2:d9009e27 00 ?? 00h BL2:d9009e28 00 ?? 00h BL2:d9009e29 00 ?? 00h BL2:d9009e2a 00 ?? 00h BL2:d9009e2b 00 ?? 00h BL2:d9009e2c 00 ?? 00h BL2:d9009e2d 00 ?? 00h BL2:d9009e2e 00 ?? 00h BL2:d9009e2f 00 ?? 00h BL2:d9009e30 00 ?? 00h BL2:d9009e31 00 ?? 00h BL2:d9009e32 00 ?? 00h BL2:d9009e33 00 ?? 00h BL2:d9009e34 00 ?? 00h BL2:d9009e35 00 ?? 00h BL2:d9009e36 00 ?? 00h BL2:d9009e37 00 ?? 00h BL2:d9009e38 00 ?? 00h BL2:d9009e39 00 ?? 00h BL2:d9009e3a 00 ?? 00h BL2:d9009e3b 00 ?? 00h BL2:d9009e3c 00 ?? 00h BL2:d9009e3d 00 ?? 00h BL2:d9009e3e 00 ?? 00h BL2:d9009e3f 00 ?? 00h BL2:d9009e40 00 ?? 00h BL2:d9009e41 00 ?? 00h BL2:d9009e42 00 ?? 00h BL2:d9009e43 00 ?? 00h BL2:d9009e44 00 ?? 00h BL2:d9009e45 00 ?? 00h BL2:d9009e46 00 ?? 00h BL2:d9009e47 00 ?? 00h BL2:d9009e48 00 ?? 00h BL2:d9009e49 00 ?? 00h BL2:d9009e4a 00 ?? 00h BL2:d9009e4b 00 ?? 00h BL2:d9009e4c 00 ?? 00h BL2:d9009e4d 00 ?? 00h BL2:d9009e4e 00 ?? 00h BL2:d9009e4f 00 ?? 00h BL2:d9009e50 00 ?? 00h BL2:d9009e51 00 ?? 00h BL2:d9009e52 00 ?? 00h BL2:d9009e53 00 ?? 00h BL2:d9009e54 00 ?? 00h BL2:d9009e55 00 ?? 00h BL2:d9009e56 00 ?? 00h BL2:d9009e57 00 ?? 00h BL2:d9009e58 00 ?? 00h BL2:d9009e59 00 ?? 00h BL2:d9009e5a 00 ?? 00h BL2:d9009e5b 00 ?? 00h BL2:d9009e5c 00 ?? 00h BL2:d9009e5d 00 ?? 00h BL2:d9009e5e 00 ?? 00h BL2:d9009e5f 00 ?? 00h BL2:d9009e60 00 ?? 00h BL2:d9009e61 00 ?? 00h BL2:d9009e62 00 ?? 00h BL2:d9009e63 00 ?? 00h BL2:d9009e64 00 ?? 00h BL2:d9009e65 00 ?? 00h BL2:d9009e66 00 ?? 00h BL2:d9009e67 00 ?? 00h BL2:d9009e68 00 ?? 00h BL2:d9009e69 00 ?? 00h BL2:d9009e6a 00 ?? 00h BL2:d9009e6b 00 ?? 00h BL2:d9009e6c 00 ?? 00h BL2:d9009e6d 00 ?? 00h BL2:d9009e6e 00 ?? 00h BL2:d9009e6f 00 ?? 00h BL2:d9009e70 00 ?? 00h BL2:d9009e71 00 ?? 00h BL2:d9009e72 00 ?? 00h BL2:d9009e73 00 ?? 00h BL2:d9009e74 00 ?? 00h BL2:d9009e75 00 ?? 00h BL2:d9009e76 00 ?? 00h BL2:d9009e77 00 ?? 00h BL2:d9009e78 00 ?? 00h BL2:d9009e79 00 ?? 00h BL2:d9009e7a 00 ?? 00h BL2:d9009e7b 00 ?? 00h BL2:d9009e7c 00 ?? 00h BL2:d9009e7d 00 ?? 00h BL2:d9009e7e 00 ?? 00h BL2:d9009e7f 00 ?? 00h BL2:d9009e80 00 ?? 00h BL2:d9009e81 00 ?? 00h BL2:d9009e82 00 ?? 00h BL2:d9009e83 00 ?? 00h BL2:d9009e84 00 ?? 00h BL2:d9009e85 00 ?? 00h BL2:d9009e86 00 ?? 00h BL2:d9009e87 00 ?? 00h BL2:d9009e88 00 ?? 00h BL2:d9009e89 00 ?? 00h BL2:d9009e8a 00 ?? 00h BL2:d9009e8b 00 ?? 00h BL2:d9009e8c 00 ?? 00h BL2:d9009e8d 00 ?? 00h BL2:d9009e8e 00 ?? 00h BL2:d9009e8f 00 ?? 00h BL2:d9009e90 00 ?? 00h BL2:d9009e91 00 ?? 00h BL2:d9009e92 00 ?? 00h BL2:d9009e93 00 ?? 00h BL2:d9009e94 00 ?? 00h BL2:d9009e95 00 ?? 00h BL2:d9009e96 00 ?? 00h BL2:d9009e97 00 ?? 00h BL2:d9009e98 00 ?? 00h BL2:d9009e99 00 ?? 00h BL2:d9009e9a 00 ?? 00h BL2:d9009e9b 00 ?? 00h BL2:d9009e9c 00 ?? 00h BL2:d9009e9d 00 ?? 00h BL2:d9009e9e 00 ?? 00h BL2:d9009e9f 00 ?? 00h BL2:d9009ea0 00 ?? 00h BL2:d9009ea1 00 ?? 00h BL2:d9009ea2 00 ?? 00h BL2:d9009ea3 00 ?? 00h BL2:d9009ea4 00 ?? 00h BL2:d9009ea5 00 ?? 00h BL2:d9009ea6 00 ?? 00h BL2:d9009ea7 00 ?? 00h BL2:d9009ea8 00 ?? 00h BL2:d9009ea9 00 ?? 00h BL2:d9009eaa 00 ?? 00h BL2:d9009eab 00 ?? 00h BL2:d9009eac 00 ?? 00h BL2:d9009ead 00 ?? 00h BL2:d9009eae 00 ?? 00h BL2:d9009eaf 00 ?? 00h BL2:d9009eb0 00 ?? 00h BL2:d9009eb1 00 ?? 00h BL2:d9009eb2 00 ?? 00h BL2:d9009eb3 00 ?? 00h BL2:d9009eb4 00 ?? 00h BL2:d9009eb5 00 ?? 00h BL2:d9009eb6 00 ?? 00h BL2:d9009eb7 00 ?? 00h BL2:d9009eb8 00 ?? 00h BL2:d9009eb9 00 ?? 00h BL2:d9009eba 00 ?? 00h BL2:d9009ebb 00 ?? 00h BL2:d9009ebc 00 ?? 00h BL2:d9009ebd 00 ?? 00h BL2:d9009ebe 00 ?? 00h BL2:d9009ebf 00 ?? 00h BL2:d9009ec0 00 ?? 00h BL2:d9009ec1 00 ?? 00h BL2:d9009ec2 00 ?? 00h BL2:d9009ec3 00 ?? 00h BL2:d9009ec4 00 ?? 00h BL2:d9009ec5 00 ?? 00h BL2:d9009ec6 00 ?? 00h BL2:d9009ec7 00 ?? 00h BL2:d9009ec8 00 ?? 00h BL2:d9009ec9 00 ?? 00h BL2:d9009eca 00 ?? 00h BL2:d9009ecb 00 ?? 00h BL2:d9009ecc 00 ?? 00h BL2:d9009ecd 00 ?? 00h BL2:d9009ece 00 ?? 00h BL2:d9009ecf 00 ?? 00h BL2:d9009ed0 00 ?? 00h BL2:d9009ed1 00 ?? 00h BL2:d9009ed2 00 ?? 00h BL2:d9009ed3 00 ?? 00h BL2:d9009ed4 00 ?? 00h BL2:d9009ed5 00 ?? 00h BL2:d9009ed6 00 ?? 00h BL2:d9009ed7 00 ?? 00h BL2:d9009ed8 00 ?? 00h BL2:d9009ed9 00 ?? 00h BL2:d9009eda 00 ?? 00h BL2:d9009edb 00 ?? 00h BL2:d9009edc 00 ?? 00h BL2:d9009edd 00 ?? 00h BL2:d9009ede 00 ?? 00h BL2:d9009edf 00 ?? 00h BL2:d9009ee0 00 ?? 00h BL2:d9009ee1 00 ?? 00h BL2:d9009ee2 00 ?? 00h BL2:d9009ee3 00 ?? 00h BL2:d9009ee4 00 ?? 00h BL2:d9009ee5 00 ?? 00h BL2:d9009ee6 00 ?? 00h BL2:d9009ee7 00 ?? 00h BL2:d9009ee8 00 ?? 00h BL2:d9009ee9 00 ?? 00h BL2:d9009eea 00 ?? 00h BL2:d9009eeb 00 ?? 00h BL2:d9009eec 00 ?? 00h BL2:d9009eed 00 ?? 00h BL2:d9009eee 00 ?? 00h BL2:d9009eef 00 ?? 00h BL2:d9009ef0 00 ?? 00h BL2:d9009ef1 00 ?? 00h BL2:d9009ef2 00 ?? 00h BL2:d9009ef3 00 ?? 00h BL2:d9009ef4 00 ?? 00h BL2:d9009ef5 00 ?? 00h BL2:d9009ef6 00 ?? 00h BL2:d9009ef7 00 ?? 00h BL2:d9009ef8 00 ?? 00h BL2:d9009ef9 00 ?? 00h BL2:d9009efa 00 ?? 00h BL2:d9009efb 00 ?? 00h BL2:d9009efc 00 ?? 00h BL2:d9009efd 00 ?? 00h BL2:d9009efe 00 ?? 00h BL2:d9009eff 00 ?? 00h BL2:d9009f00 00 ?? 00h BL2:d9009f01 00 ?? 00h BL2:d9009f02 00 ?? 00h BL2:d9009f03 00 ?? 00h BL2:d9009f04 00 ?? 00h BL2:d9009f05 00 ?? 00h BL2:d9009f06 00 ?? 00h BL2:d9009f07 00 ?? 00h BL2:d9009f08 00 ?? 00h BL2:d9009f09 00 ?? 00h BL2:d9009f0a 00 ?? 00h BL2:d9009f0b 00 ?? 00h BL2:d9009f0c 00 ?? 00h BL2:d9009f0d 00 ?? 00h BL2:d9009f0e 00 ?? 00h BL2:d9009f0f 00 ?? 00h BL2:d9009f10 00 ?? 00h BL2:d9009f11 00 ?? 00h BL2:d9009f12 00 ?? 00h BL2:d9009f13 00 ?? 00h BL2:d9009f14 00 ?? 00h BL2:d9009f15 00 ?? 00h BL2:d9009f16 00 ?? 00h BL2:d9009f17 00 ?? 00h BL2:d9009f18 00 ?? 00h BL2:d9009f19 00 ?? 00h BL2:d9009f1a 00 ?? 00h BL2:d9009f1b 00 ?? 00h BL2:d9009f1c 00 ?? 00h BL2:d9009f1d 00 ?? 00h BL2:d9009f1e 00 ?? 00h BL2:d9009f1f 00 ?? 00h BL2:d9009f20 00 ?? 00h BL2:d9009f21 00 ?? 00h BL2:d9009f22 00 ?? 00h BL2:d9009f23 00 ?? 00h BL2:d9009f24 00 ?? 00h BL2:d9009f25 00 ?? 00h BL2:d9009f26 00 ?? 00h BL2:d9009f27 00 ?? 00h BL2:d9009f28 00 ?? 00h BL2:d9009f29 00 ?? 00h BL2:d9009f2a 00 ?? 00h BL2:d9009f2b 00 ?? 00h BL2:d9009f2c 00 ?? 00h BL2:d9009f2d 00 ?? 00h BL2:d9009f2e 00 ?? 00h BL2:d9009f2f 00 ?? 00h BL2:d9009f30 00 ?? 00h BL2:d9009f31 00 ?? 00h BL2:d9009f32 00 ?? 00h BL2:d9009f33 00 ?? 00h BL2:d9009f34 00 ?? 00h BL2:d9009f35 00 ?? 00h BL2:d9009f36 00 ?? 00h BL2:d9009f37 00 ?? 00h BL2:d9009f38 00 ?? 00h BL2:d9009f39 00 ?? 00h BL2:d9009f3a 00 ?? 00h BL2:d9009f3b 00 ?? 00h BL2:d9009f3c 00 ?? 00h BL2:d9009f3d 00 ?? 00h BL2:d9009f3e 00 ?? 00h BL2:d9009f3f 00 ?? 00h BL2:d9009f40 00 ?? 00h BL2:d9009f41 00 ?? 00h BL2:d9009f42 00 ?? 00h BL2:d9009f43 00 ?? 00h BL2:d9009f44 00 ?? 00h BL2:d9009f45 00 ?? 00h BL2:d9009f46 00 ?? 00h BL2:d9009f47 00 ?? 00h BL2:d9009f48 00 ?? 00h BL2:d9009f49 00 ?? 00h BL2:d9009f4a 00 ?? 00h BL2:d9009f4b 00 ?? 00h BL2:d9009f4c 00 ?? 00h BL2:d9009f4d 00 ?? 00h BL2:d9009f4e 00 ?? 00h BL2:d9009f4f 00 ?? 00h BL2:d9009f50 00 ?? 00h BL2:d9009f51 00 ?? 00h BL2:d9009f52 00 ?? 00h BL2:d9009f53 00 ?? 00h BL2:d9009f54 00 ?? 00h BL2:d9009f55 00 ?? 00h BL2:d9009f56 00 ?? 00h BL2:d9009f57 00 ?? 00h BL2:d9009f58 00 ?? 00h BL2:d9009f59 00 ?? 00h BL2:d9009f5a 00 ?? 00h BL2:d9009f5b 00 ?? 00h BL2:d9009f5c 00 ?? 00h BL2:d9009f5d 00 ?? 00h BL2:d9009f5e 00 ?? 00h BL2:d9009f5f 00 ?? 00h BL2:d9009f60 00 ?? 00h BL2:d9009f61 00 ?? 00h BL2:d9009f62 00 ?? 00h BL2:d9009f63 00 ?? 00h BL2:d9009f64 00 ?? 00h BL2:d9009f65 00 ?? 00h BL2:d9009f66 00 ?? 00h BL2:d9009f67 00 ?? 00h BL2:d9009f68 00 ?? 00h BL2:d9009f69 00 ?? 00h BL2:d9009f6a 00 ?? 00h BL2:d9009f6b 00 ?? 00h BL2:d9009f6c 00 ?? 00h BL2:d9009f6d 00 ?? 00h BL2:d9009f6e 00 ?? 00h BL2:d9009f6f 00 ?? 00h BL2:d9009f70 00 ?? 00h BL2:d9009f71 00 ?? 00h BL2:d9009f72 00 ?? 00h BL2:d9009f73 00 ?? 00h BL2:d9009f74 00 ?? 00h BL2:d9009f75 00 ?? 00h BL2:d9009f76 00 ?? 00h BL2:d9009f77 00 ?? 00h BL2:d9009f78 00 ?? 00h BL2:d9009f79 00 ?? 00h BL2:d9009f7a 00 ?? 00h BL2:d9009f7b 00 ?? 00h BL2:d9009f7c 00 ?? 00h BL2:d9009f7d 00 ?? 00h BL2:d9009f7e 00 ?? 00h BL2:d9009f7f 00 ?? 00h BL2:d9009f80 00 ?? 00h BL2:d9009f81 00 ?? 00h BL2:d9009f82 00 ?? 00h BL2:d9009f83 00 ?? 00h BL2:d9009f84 00 ?? 00h BL2:d9009f85 00 ?? 00h BL2:d9009f86 00 ?? 00h BL2:d9009f87 00 ?? 00h BL2:d9009f88 00 ?? 00h BL2:d9009f89 00 ?? 00h BL2:d9009f8a 00 ?? 00h BL2:d9009f8b 00 ?? 00h BL2:d9009f8c 00 ?? 00h BL2:d9009f8d 00 ?? 00h BL2:d9009f8e 00 ?? 00h BL2:d9009f8f 00 ?? 00h BL2:d9009f90 00 ?? 00h BL2:d9009f91 00 ?? 00h BL2:d9009f92 00 ?? 00h BL2:d9009f93 00 ?? 00h BL2:d9009f94 00 ?? 00h BL2:d9009f95 00 ?? 00h BL2:d9009f96 00 ?? 00h BL2:d9009f97 00 ?? 00h BL2:d9009f98 00 ?? 00h BL2:d9009f99 00 ?? 00h BL2:d9009f9a 00 ?? 00h BL2:d9009f9b 00 ?? 00h BL2:d9009f9c 00 ?? 00h BL2:d9009f9d 00 ?? 00h BL2:d9009f9e 00 ?? 00h BL2:d9009f9f 00 ?? 00h BL2:d9009fa0 00 ?? 00h BL2:d9009fa1 00 ?? 00h BL2:d9009fa2 00 ?? 00h BL2:d9009fa3 00 ?? 00h BL2:d9009fa4 00 ?? 00h BL2:d9009fa5 00 ?? 00h BL2:d9009fa6 00 ?? 00h BL2:d9009fa7 00 ?? 00h BL2:d9009fa8 00 ?? 00h BL2:d9009fa9 00 ?? 00h BL2:d9009faa 00 ?? 00h BL2:d9009fab 00 ?? 00h BL2:d9009fac 00 ?? 00h BL2:d9009fad 00 ?? 00h BL2:d9009fae 00 ?? 00h BL2:d9009faf 00 ?? 00h BL2:d9009fb0 00 ?? 00h BL2:d9009fb1 00 ?? 00h BL2:d9009fb2 00 ?? 00h BL2:d9009fb3 00 ?? 00h BL2:d9009fb4 00 ?? 00h BL2:d9009fb5 00 ?? 00h BL2:d9009fb6 00 ?? 00h BL2:d9009fb7 00 ?? 00h BL2:d9009fb8 00 ?? 00h BL2:d9009fb9 00 ?? 00h BL2:d9009fba 00 ?? 00h BL2:d9009fbb 00 ?? 00h BL2:d9009fbc 00 ?? 00h BL2:d9009fbd 00 ?? 00h BL2:d9009fbe 00 ?? 00h BL2:d9009fbf 00 ?? 00h BL2:d9009fc0 00 ?? 00h BL2:d9009fc1 00 ?? 00h BL2:d9009fc2 00 ?? 00h BL2:d9009fc3 00 ?? 00h BL2:d9009fc4 00 ?? 00h BL2:d9009fc5 00 ?? 00h BL2:d9009fc6 00 ?? 00h BL2:d9009fc7 00 ?? 00h BL2:d9009fc8 00 ?? 00h BL2:d9009fc9 00 ?? 00h BL2:d9009fca 00 ?? 00h BL2:d9009fcb 00 ?? 00h BL2:d9009fcc 00 ?? 00h BL2:d9009fcd 00 ?? 00h BL2:d9009fce 00 ?? 00h BL2:d9009fcf 00 ?? 00h BL2:d9009fd0 00 ?? 00h BL2:d9009fd1 00 ?? 00h BL2:d9009fd2 00 ?? 00h BL2:d9009fd3 00 ?? 00h BL2:d9009fd4 00 ?? 00h BL2:d9009fd5 00 ?? 00h BL2:d9009fd6 00 ?? 00h BL2:d9009fd7 00 ?? 00h BL2:d9009fd8 00 ?? 00h BL2:d9009fd9 00 ?? 00h BL2:d9009fda 00 ?? 00h BL2:d9009fdb 00 ?? 00h BL2:d9009fdc 00 ?? 00h BL2:d9009fdd 00 ?? 00h BL2:d9009fde 00 ?? 00h BL2:d9009fdf 00 ?? 00h BL2:d9009fe0 00 ?? 00h BL2:d9009fe1 00 ?? 00h BL2:d9009fe2 00 ?? 00h BL2:d9009fe3 00 ?? 00h BL2:d9009fe4 00 ?? 00h BL2:d9009fe5 00 ?? 00h BL2:d9009fe6 00 ?? 00h BL2:d9009fe7 00 ?? 00h BL2:d9009fe8 00 ?? 00h BL2:d9009fe9 00 ?? 00h BL2:d9009fea 00 ?? 00h BL2:d9009feb 00 ?? 00h BL2:d9009fec 00 ?? 00h BL2:d9009fed 00 ?? 00h BL2:d9009fee 00 ?? 00h BL2:d9009fef 00 ?? 00h BL2:d9009ff0 00 ?? 00h BL2:d9009ff1 00 ?? 00h BL2:d9009ff2 00 ?? 00h BL2:d9009ff3 00 ?? 00h BL2:d9009ff4 00 ?? 00h BL2:d9009ff5 00 ?? 00h BL2:d9009ff6 00 ?? 00h BL2:d9009ff7 00 ?? 00h BL2:d9009ff8 00 ?? 00h BL2:d9009ff9 00 ?? 00h BL2:d9009ffa 00 ?? 00h BL2:d9009ffb 00 ?? 00h BL2:d9009ffc 00 ?? 00h BL2:d9009ffd 00 ?? 00h BL2:d9009ffe 00 ?? 00h BL2:d9009fff 00 ?? 00h ;This is where we have ACS data ; ;struct __ddr_setting = ddrs: ;XREF[19,16...d90011dc,d9003864,d9003880,d90039dc ; d90039e4,d9004210,d90046f8,d90049a8 ; d9004cc4,d9004cd4,d9004ea0,d9004edc ; d90054c4,d9005b4c,d9005b70,d9005bc4 ; d9005c2c,d9005c34,d90075c0,d9003594 ; d90035e0,d90035f8,d9003674,d9003684 ; d90036bc,d90036d0,d90036d4,d90036d8 ; d90036dc,d900370c,d9003790,d9003830 ; d9003868,d9003924,d900396c,d9003998 ; d9003ad0,d9003ae8,d9003b60,d9003bdc ; d9003e88,d9003f20,d9003f30,d9003f40 ; d9003f50,d9003f60,d9003f70,d9003f80 ; d9003f90,d9003fa0,d9003fb0,d9003fc0 ; d9003fd0,d9003fe0,d9003ff0,d9004000 ; d9004010,d9004100,d9004110,d9004120 ; d9004134,d9004148,d900417c,d90041a4 ; d90041a8,d90041ac,d90041b0,d90041f0 ; d90041f4,d9004214,d90044c0,d900452c ; d900453c,d9004558,d9004568,d90045d8 ; d90045dc,d90045e0,d90045e4,d90045e8 ; d90045ec,d90045f0,d90045f4,d90045f8 ; d90045fc,d9004600,d9004604,d900460c ; d900468c,d90046b4,d90046c4,d90048f0 ; d9004900,d9004910,d9004920,d90049f4 ; d9004a04,d9004a10,d9004bc0,d9004c8c ; d9004cbc,d9004eb8,d9004ed0,d9004ee8 ; d9004f2c,d9004f34,d9004f54,d9004f88 ; d9004fbc,d9004fbc,d9004fd4,d9004fd4 ; d9005154,d90051b8,d90051ec,d9005268 ; d9005288,d9005294,d9005310,d9005324 ; d9005330,d9005338,d9005344,d9005350 ; d900535c,d9005368,d9005374,d9005380 ; d9005384,d90054b8,d90054c0,d90054d4 ; d90054e0,d9005500,d900550c,d9005528 ; d9005534,d9005550,d9005558,d9005574 ; d900557c,d9005588,d90055bc,d90055c0 ; d90055cc,d90055d0,d90055e0,d90055ec ; d900561c,d9005648,d9005658,d90056a8 ; d90056cc,d90056e4,d90056f8,d900574c ; d9005754,d9005758,d900579c,d90057a4 ; d90057b4,d90057d4,d9005810,d9005838 ; d900583c,d9005840,d900587c,d90058a8 ; d90058bc,d90058dc,d9005900,d900591c ; d9005938,d9005948,d900594c,d9005980 ; d90059a4,d90059d8,d9005a04,d9005a14 ; d9005a64,d9005a94,d9005a98,d9005acc ; d9005ad8,d9005adc,d9005b9c,d9005bec BL2:d900a000 000001000... ddr_set_t |_BL2:d900a000 ddr_chann... uchar '\0' |_BL2:d900a001 ddr_type uchar '\0' |_BL2:d900a002 ddr_2t_mode uchar 01h |_BL2:d900a003 ddr_full_... uchar '\0' |_BL2:d900a004 ddr_size_... uchar '\0' |_BL2:d900a005 ddr_drv uchar '\0' |_BL2:d900a006 ddr_odt uchar 02h |_BL2:d900a007 ddr_timin... uchar '\0' |_BL2:d900a008 ddr_size ushort 0h |_BL2:d900a00a ddr_clk ushort 0h |_BL2:d900a00c ddr_base_... uint 0h |_BL2:d900a010 ddr_start... uint 1000000h |_BL2:d900a014 ddr_pll_ctrl uint 0h |_BL2:d900a018 ddr_dmc_ctrl uint 0h |_BL2:d900a01c ddr0_addrmap uint[5] |_BL2:d900a01c [0] uint 0h |_BL2:d900a020 [1] uint 0h |_BL2:d900a024 [2] uint 0h |_BL2:d900a028 [3] uint 0h |_BL2:d900a02c [4] uint 0h |_BL2:d900a030 ddr1_addrmap uint[5] |_BL2:d900a030 [0] uint 0h |_BL2:d900a034 [1] uint 0h |_BL2:d900a038 [2] uint 0h |_BL2:d900a03c [3] uint 0h |_BL2:d900a040 [4] uint 0h |_BL2:d900a044 t_pub_ptr uint[5] |_BL2:d900a044 [0] uint A005006h |_BL2:d900a048 [1] uint 3E80078h |_BL2:d900a04c [2] uint 0h |_BL2:d900a050 [3] uint 8804E20h |_BL2:d900a054 [4] uint B403E8h |_BL2:d900a058 t_pub_mr ushort[4] |_BL2:d900a058 [0] ushort 0h |_BL2:d900a05a [1] ushort 0h |_BL2:d900a05c [2] ushort 0h |_BL2:d900a05e [3] ushort 0h |_BL2:d900a060 t_pub_odtcr uint 210000h |_BL2:d900a064 t_pub_dtpr uint[4] |_BL2:d900a064 [0] uint 0h |_BL2:d900a068 [1] uint 0h |_BL2:d900a06c [2] uint 0h |_BL2:d900a070 [3] uint 0h |_BL2:d900a074 t_pub_pgcr0 uint 7D81E3Fh |_BL2:d900a078 t_pub_pgcr1 uint 380C6A0h |_BL2:d900a07c t_pub_pgcr2 uint 1F12480h |_BL2:d900a080 t_pub_pgcr3 uint C0AAFE60h |_BL2:d900a084 t_pub_dxccr uint 181884h |_BL2:d900a088 t_pub_dtcr uint 43003087h |_BL2:d900a08c t_pub_aciocr uint[5] |_BL2:d900a08c [0] uint 0h |_BL2:d900a090 [1] uint 0h |_BL2:d900a094 [2] uint 0h |_BL2:d900a098 [3] uint 0h |_BL2:d900a09c [4] uint 0h |_BL2:d900a0a0 t_pub_dx0gcr uint[3] |_BL2:d900a0a0 [0] uint 0h |_BL2:d900a0a4 [1] uint 0h |_BL2:d900a0a8 [2] uint 0h |_BL2:d900a0ac t_pub_dx1gcr uint[3] |_BL2:d900a0ac [0] uint 0h |_BL2:d900a0b0 [1] uint 0h |_BL2:d900a0b4 [2] uint 0h |_BL2:d900a0b8 t_pub_dx2gcr uint[3] |_BL2:d900a0b8 [0] uint 0h |_BL2:d900a0bc [1] uint 0h |_BL2:d900a0c0 [2] uint 0h |_BL2:d900a0c4 t_pub_dx3gcr uint[3] |_BL2:d900a0c4 [0] uint 0h |_BL2:d900a0c8 [1] uint 0h |_BL2:d900a0cc [2] uint 0h |_BL2:d900a0d0 t_pub_dcr uint Bh |_BL2:d900a0d4 t_pub_dtar uint 0h |_BL2:d900a0d8 t_pub_dsgcr uint 20645Ah |_BL2:d900a0dc t_pub_zq0pr uint 69h |_BL2:d900a0e0 t_pub_zq1pr uint 69h |_BL2:d900a0e4 t_pub_zq2pr uint 69h |_BL2:d900a0e8 t_pub_zq3pr uint 69h |_BL2:d900a0ec t_pctl0_1... ushort 0h |_BL2:d900a0ee t_pctl0_1... ushort 0h |_BL2:d900a0f0 t_pctl0_i... ushort 2h |_BL2:d900a0f2 t_pctl0_r... ushort 2h |_BL2:d900a0f4 t_pctl0_mcfg uint A2F21h |_BL2:d900a0f8 t_pctl0_m... uint 80200000h |_BL2:d900a0fc t_pctl0_scfg ushort F01h |_BL2:d900a0fe t_pctl0_sctl ushort 1h |_BL2:d900a100 t_pctl0_p... uint 0h |_BL2:d900a104 t_pctl0_d... ushort 4h |_BL2:d900a106 t_pctl0_d... ushort 1h |_BL2:d900a108 t_pctl0_d... ushort 2h |_BL2:d900a10a t_pctl0_d... ushort 1h |_BL2:d900a10c t_pctl0_d... ushort 2h |_BL2:d900a10e t_pctl0_d... ushort 3h |_BL2:d900a110 t_pctl0_d... ushort 10h |_BL2:d900a112 t_pctl0_d... ushort 1h |_BL2:d900a114 t_pctl0_d... ushort 1h |_BL2:d900a116 t_pctl0_d... ushort 200h |_BL2:d900a118 t_pctl0_d... ushort 10h |_BL2:d900a11a t_pctl0_c... ushort 1h |_BL2:d900a11c t_pctl0_d... uint 808h |_BL2:d900a120 t_pctl0_d... uint 60000h |_BL2:d900a124 t_pctl0_d... uint 31073131h |_BL2:d900a128 t_pub_acb... uint 0h |_BL2:d900a12c ddr_func uint 0h |_BL2:d900a130 wr_adj_per uchar[6] "" |_BL2:d900a130 [0] uchar '\0' |_BL2:d900a131 [1] uchar '\0' |_BL2:d900a132 [2] uchar '\0' |_BL2:d900a133 [3] uchar '\0' |_BL2:d900a134 [4] uchar '\0' |_BL2:d900a135 [5] uchar '\0' |_BL2:d900a136 rd_adj_per uchar[6] "" |_BL2:d900a136 [0] uchar '\0' |_BL2:d900a137 [1] uchar '\0' |_BL2:d900a138 [2] uchar '\0' |_BL2:d900a139 [3] uchar '\0' |_BL2:d900a13a [4] uchar '\0' |_BL2:d900a13b [5] uchar '\0' |_BL2:d900a13c t_pub_mr11 ushort 0h |_BL2:d900a13e t_lpddr3_ca0 uchar '\0' |_BL2:d900a13f t_lpddr3_ca1 uchar '\0' |_BL2:d900a140 t_lpddr3_... uchar '\0' |_BL2:d900a141 t_lpddr3_wl uchar '\0' |_BL2:d900a142 rsv1 uchar '\0' |_BL2:d900a143 rsv2 uchar '\0' BL2:d900a144 00 ?? 00h BL2:d900a145 00 ?? 00h BL2:d900a146 00 ?? 00h BL2:d900a147 00 ?? 00h ;(it's an array!) ;struct __ddr_timming = ddrt: ;XREF[3,62]: d9005298,d90052a8,d90052c8,d90052a8 ; d90053a4,d90053cc,d90053f4,d900545c ; d90054a4,d90054ac,d90055f0,d90055f4 ; d9005620,d9005624,d9005628,d900564c ; d9005650,d9005660,d9005680,d9005684 ; d90056ac,d90056b0,d90056d0,d90056d4 ; d9005704,d9005714,d9005774,d9005788 ; d90057a0,d90057c4,d90057d8,d90057ec ; d9005814,d9005818,d9005844,d9005848 ; d9005854,d9005860,d900586c,d9005874 ; d9005880,d9005884,d9005890,d9005898 ; d90058a0,d90058b0,d90058c0,d90058c4 ; d90058d0,d90058e0,d90058e4,d90058f0 ; d900590c,d9005920,d9005924,d9005950 ; d9005954,d90059a8,d90059ac,d90059dc ; d90059e0,d90059e4,d9005a08,d9005a0c ; d9005a1c BL2:d900a148 070607070... ddr_timi... |_BL2:d900a148 [0] ddr_timi... |_BL2:d900a148 identifier uchar '\a' |_BL2:d900a149 cfg_ddr_rtp uchar 06h |_BL2:d900a14a cfg_ddr_wtr uchar '\a' |_BL2:d900a14b cfg_ddr_rp uchar '\a' |_BL2:d900a14c cfg_ddr_rcd uchar '\a' |_BL2:d900a14d cfg_ddr_ras uchar 14h |_BL2:d900a14e cfg_ddr_rrd uchar 06h |_BL2:d900a14f cfg_ddr_rc uchar 1Bh |_BL2:d900a150 cfg_ddr_mrd uchar 04h |_BL2:d900a151 cfg_ddr_mod uchar '\f' |_BL2:d900a152 cfg_ddr_faw uchar 1Bh |_BL2:d900a153 cfg_ddr_w... uchar '(' |_BL2:d900a154 cfg_ddr_wlo uchar 06h |_BL2:d900a155 cfg_ddr_xp uchar '\a' |_BL2:d900a156 cfg_ddr_rfc ushort A0h |_BL2:d900a158 cfg_ddr_xs ushort 200h |_BL2:d900a15a cfg_ddr_dllk ushort 200h |_BL2:d900a15c cfg_ddr_cke uchar 04h |_BL2:d900a15d cfg_ddr_r... uchar '\0' |_BL2:d900a15e cfg_ddr_rtw uchar 04h |_BL2:d900a15f cfg_ddr_refi uchar 'N' |_BL2:d900a160 cfg_ddr_r... uchar 04h |_BL2:d900a161 cfg_ddr_cl uchar '\a' |_BL2:d900a162 cfg_ddr_wr uchar '\f' |_BL2:d900a163 cfg_ddr_cwl uchar 05h |_BL2:d900a164 cfg_ddr_al uchar '\0' |_BL2:d900a165 cfg_ddr_dqs uchar 04h |_BL2:d900a166 cfg_ddr_c... uchar 0Fh |_BL2:d900a167 cfg_ddr_c... uchar 0Fh |_BL2:d900a168 cfg_ddr_zqcs uchar '@' |_BL2:d900a169 cfg_ddr_x... uchar 14h |_BL2:d900a16a cfg_ddr_exsr ushort 200h |_BL2:d900a16c cfg_ddr_zqcl ushort 200h |_BL2:d900a16e cfg_ddr_z... ushort 3E8h |_BL2:d900a170 cfg_ddr_rpab ushort 0h |_BL2:d900a172 cfg_ddr_rppb ushort 0h |_BL2:d900a174 cfg_ddr_t... ushort 0h |_BL2:d900a176 cfg_ddr_t... ushort 0h |_BL2:d900a178 cfg_ddr_t... ushort 0h |_BL2:d900a17a cfg_ddr_tdpd ushort 0h |_BL2:d900a17c cfg_ddr_t... ushort 0h |_BL2:d900a17e [1] ddr_timi... |_BL2:d900a17e identifier uchar '\t' |_BL2:d900a17f cfg_ddr_rtp uchar 06h |_BL2:d900a180 cfg_ddr_wtr uchar '\a' |_BL2:d900a181 cfg_ddr_rp uchar '\t' |_BL2:d900a182 cfg_ddr_rcd uchar '\t' |_BL2:d900a183 cfg_ddr_ras uchar 1Bh |_BL2:d900a184 cfg_ddr_rrd uchar 06h |_BL2:d900a185 cfg_ddr_rc uchar '!' |_BL2:d900a186 cfg_ddr_mrd uchar 04h |_BL2:d900a187 cfg_ddr_mod uchar '\f' |_BL2:d900a188 cfg_ddr_faw uchar 1Eh |_BL2:d900a189 cfg_ddr_w... uchar '(' |_BL2:d900a18a cfg_ddr_wlo uchar 06h |_BL2:d900a18b cfg_ddr_xp uchar '\a' |_BL2:d900a18c cfg_ddr_rfc ushort C4h |_BL2:d900a18e cfg_ddr_xs ushort 200h |_BL2:d900a190 cfg_ddr_dllk ushort 200h |_BL2:d900a192 cfg_ddr_cke uchar 04h |_BL2:d900a193 cfg_ddr_r... uchar '\0' |_BL2:d900a194 cfg_ddr_rtw uchar 06h |_BL2:d900a195 cfg_ddr_refi uchar 'N' |_BL2:d900a196 cfg_ddr_r... uchar 04h |_BL2:d900a197 cfg_ddr_cl uchar '\t' |_BL2:d900a198 cfg_ddr_wr uchar '\f' |_BL2:d900a199 cfg_ddr_cwl uchar '\a' |_BL2:d900a19a cfg_ddr_al uchar '\0' |_BL2:d900a19b cfg_ddr_dqs uchar 17h |_BL2:d900a19c cfg_ddr_c... uchar 0Fh |_BL2:d900a19d cfg_ddr_c... uchar 0Fh |_BL2:d900a19e cfg_ddr_zqcs uchar '@' |_BL2:d900a19f cfg_ddr_x... uchar 14h |_BL2:d900a1a0 cfg_ddr_exsr ushort 200h |_BL2:d900a1a2 cfg_ddr_zqcl ushort 88h |_BL2:d900a1a4 cfg_ddr_z... ushort 3E8h |_BL2:d900a1a6 cfg_ddr_rpab ushort 0h |_BL2:d900a1a8 cfg_ddr_rppb ushort 0h |_BL2:d900a1aa cfg_ddr_t... ushort 0h |_BL2:d900a1ac cfg_ddr_t... ushort 0h |_BL2:d900a1ae cfg_ddr_t... ushort 0h |_BL2:d900a1b0 cfg_ddr_tdpd ushort 0h |_BL2:d900a1b2 cfg_ddr_t... ushort 0h |_BL2:d900a1b4 [2] ddr_timi... |_BL2:d900a1b4 identifier uchar '\v' |_BL2:d900a1b5 cfg_ddr_rtp uchar '\a' |_BL2:d900a1b6 cfg_ddr_wtr uchar '\a' |_BL2:d900a1b7 cfg_ddr_rp uchar '\v' |_BL2:d900a1b8 cfg_ddr_rcd uchar '\v' |_BL2:d900a1b9 cfg_ddr_ras uchar '#' |_BL2:d900a1ba cfg_ddr_rrd uchar '\a' |_BL2:d900a1bb cfg_ddr_rc uchar '-' |_BL2:d900a1bc cfg_ddr_mrd uchar 06h |_BL2:d900a1bd cfg_ddr_mod uchar 04h |_BL2:d900a1be cfg_ddr_faw uchar '!' |_BL2:d900a1bf cfg_ddr_w... uchar '(' |_BL2:d900a1c0 cfg_ddr_wlo uchar '\a' |_BL2:d900a1c1 cfg_ddr_xp uchar 05h |_BL2:d900a1c2 cfg_ddr_rfc ushort 118h |_BL2:d900a1c4 cfg_ddr_xs ushort 200h |_BL2:d900a1c6 cfg_ddr_dllk ushort 200h |_BL2:d900a1c8 cfg_ddr_cke uchar 04h |_BL2:d900a1c9 cfg_ddr_r... uchar '\0' |_BL2:d900a1ca cfg_ddr_rtw uchar '\a' |_BL2:d900a1cb cfg_ddr_refi uchar 'N' |_BL2:d900a1cc cfg_ddr_r... uchar 04h |_BL2:d900a1cd cfg_ddr_cl uchar '\v' |_BL2:d900a1ce cfg_ddr_wr uchar '\f' |_BL2:d900a1cf cfg_ddr_cwl uchar '\b' |_BL2:d900a1d0 cfg_ddr_al uchar '\0' |_BL2:d900a1d1 cfg_ddr_dqs uchar 17h |_BL2:d900a1d2 cfg_ddr_c... uchar 0Fh |_BL2:d900a1d3 cfg_ddr_c... uchar 0Fh |_BL2:d900a1d4 cfg_ddr_zqcs uchar '@' |_BL2:d900a1d5 cfg_ddr_x... uchar 17h |_BL2:d900a1d6 cfg_ddr_exsr ushort 200h |_BL2:d900a1d8 cfg_ddr_zqcl ushort 88h |_BL2:d900a1da cfg_ddr_z... ushort 3E8h |_BL2:d900a1dc cfg_ddr_rpab ushort 0h |_BL2:d900a1de cfg_ddr_rppb ushort 0h |_BL2:d900a1e0 cfg_ddr_t... ushort 0h |_BL2:d900a1e2 cfg_ddr_t... ushort 0h |_BL2:d900a1e4 cfg_ddr_t... ushort 0h |_BL2:d900a1e6 cfg_ddr_tdpd ushort 0h |_BL2:d900a1e8 cfg_ddr_t... ushort 0h |_BL2:d900a1ea [3] ddr_timi... |_BL2:d900a1ea identifier uchar '\r' |_BL2:d900a1eb cfg_ddr_rtp uchar '\a' |_BL2:d900a1ec cfg_ddr_wtr uchar '\a' |_BL2:d900a1ed cfg_ddr_rp uchar '\r' |_BL2:d900a1ee cfg_ddr_rcd uchar '\r' |_BL2:d900a1ef cfg_ddr_ras uchar '%' |_BL2:d900a1f0 cfg_ddr_rrd uchar '\a' |_BL2:d900a1f1 cfg_ddr_rc uchar '4' |_BL2:d900a1f2 cfg_ddr_mrd uchar 06h |_BL2:d900a1f3 cfg_ddr_mod uchar 04h |_BL2:d900a1f4 cfg_ddr_faw uchar '!' |_BL2:d900a1f5 cfg_ddr_w... uchar '(' |_BL2:d900a1f6 cfg_ddr_wlo uchar '\a' |_BL2:d900a1f7 cfg_ddr_xp uchar '\a' |_BL2:d900a1f8 cfg_ddr_rfc ushort 118h |_BL2:d900a1fa cfg_ddr_xs ushort 200h |_BL2:d900a1fc cfg_ddr_dllk ushort 200h |_BL2:d900a1fe cfg_ddr_cke uchar 05h |_BL2:d900a1ff cfg_ddr_r... uchar '\0' |_BL2:d900a200 cfg_ddr_rtw uchar '\a' |_BL2:d900a201 cfg_ddr_refi uchar 'N' |_BL2:d900a202 cfg_ddr_r... uchar 04h |_BL2:d900a203 cfg_ddr_cl uchar '\r' |_BL2:d900a204 cfg_ddr_wr uchar 10h |_BL2:d900a205 cfg_ddr_cwl uchar '\t' |_BL2:d900a206 cfg_ddr_al uchar '\0' |_BL2:d900a207 cfg_ddr_dqs uchar 17h |_BL2:d900a208 cfg_ddr_c... uchar 0Fh |_BL2:d900a209 cfg_ddr_c... uchar 0Fh |_BL2:d900a20a cfg_ddr_zqcs uchar '@' |_BL2:d900a20b cfg_ddr_x... uchar 17h |_BL2:d900a20c cfg_ddr_exsr ushort 200h |_BL2:d900a20e cfg_ddr_zqcl ushort 88h |_BL2:d900a210 cfg_ddr_z... ushort 3E8h |_BL2:d900a212 cfg_ddr_rpab ushort 0h |_BL2:d900a214 cfg_ddr_rppb ushort 0h |_BL2:d900a216 cfg_ddr_t... ushort 0h |_BL2:d900a218 cfg_ddr_t... ushort 0h |_BL2:d900a21a cfg_ddr_t... ushort 0h |_BL2:d900a21c cfg_ddr_tdpd ushort 0h |_BL2:d900a21e cfg_ddr_t... ushort 0h |_BL2:d900a220 [4] ddr_timi... |_BL2:d900a220 identifier uchar 0Eh |_BL2:d900a221 cfg_ddr_rtp uchar '\a' |_BL2:d900a222 cfg_ddr_wtr uchar '\a' |_BL2:d900a223 cfg_ddr_rp uchar 0Eh |_BL2:d900a224 cfg_ddr_rcd uchar 0Eh |_BL2:d900a225 cfg_ddr_ras uchar '%' |_BL2:d900a226 cfg_ddr_rrd uchar '\a' |_BL2:d900a227 cfg_ddr_rc uchar '4' |_BL2:d900a228 cfg_ddr_mrd uchar 06h |_BL2:d900a229 cfg_ddr_mod uchar 04h |_BL2:d900a22a cfg_ddr_faw uchar '!' |_BL2:d900a22b cfg_ddr_w... uchar '(' |_BL2:d900a22c cfg_ddr_wlo uchar '\a' |_BL2:d900a22d cfg_ddr_xp uchar '\a' |_BL2:d900a22e cfg_ddr_rfc ushort 118h |_BL2:d900a230 cfg_ddr_xs ushort 200h |_BL2:d900a232 cfg_ddr_dllk ushort 200h |_BL2:d900a234 cfg_ddr_cke uchar 05h |_BL2:d900a235 cfg_ddr_r... uchar '\0' |_BL2:d900a236 cfg_ddr_rtw uchar '\a' |_BL2:d900a237 cfg_ddr_refi uchar 'N' |_BL2:d900a238 cfg_ddr_r... uchar 04h |_BL2:d900a239 cfg_ddr_cl uchar 0Eh |_BL2:d900a23a cfg_ddr_wr uchar 10h |_BL2:d900a23b cfg_ddr_cwl uchar '\n' |_BL2:d900a23c cfg_ddr_al uchar '\0' |_BL2:d900a23d cfg_ddr_dqs uchar 17h |_BL2:d900a23e cfg_ddr_c... uchar 0Fh |_BL2:d900a23f cfg_ddr_c... uchar 0Fh |_BL2:d900a240 cfg_ddr_zqcs uchar '@' |_BL2:d900a241 cfg_ddr_x... uchar 17h |_BL2:d900a242 cfg_ddr_exsr ushort 200h |_BL2:d900a244 cfg_ddr_zqcl ushort 88h |_BL2:d900a246 cfg_ddr_z... ushort 3E8h |_BL2:d900a248 cfg_ddr_rpab ushort 0h |_BL2:d900a24a cfg_ddr_rppb ushort 0h |_BL2:d900a24c cfg_ddr_t... ushort 0h |_BL2:d900a24e cfg_ddr_t... ushort 0h |_BL2:d900a250 cfg_ddr_t... ushort 0h |_BL2:d900a252 cfg_ddr_tdpd ushort 0h |_BL2:d900a254 cfg_ddr_t... ushort 0h |_BL2:d900a256 [5] ddr_timi... |_BL2:d900a256 identifier uchar '!' |_BL2:d900a257 cfg_ddr_rtp uchar 04h |_BL2:d900a258 cfg_ddr_wtr uchar 04h |_BL2:d900a259 cfg_ddr_rp uchar '\f' |_BL2:d900a25a cfg_ddr_rcd uchar '\n' |_BL2:d900a25b cfg_ddr_ras uchar 17h |_BL2:d900a25c cfg_ddr_rrd uchar 06h |_BL2:d900a25d cfg_ddr_rc uchar '$' |_BL2:d900a25e cfg_ddr_mrd uchar 05h |_BL2:d900a25f cfg_ddr_mod uchar '\0' |_BL2:d900a260 cfg_ddr_faw uchar 1Bh |_BL2:d900a261 cfg_ddr_w... uchar '\0' |_BL2:d900a262 cfg_ddr_wlo uchar '\0' |_BL2:d900a263 cfg_ddr_xp uchar 04h |_BL2:d900a264 cfg_ddr_rfc ushort 46h |_BL2:d900a266 cfg_ddr_xs ushort 200h |_BL2:d900a268 cfg_ddr_dllk ushort 200h |_BL2:d900a26a cfg_ddr_cke uchar 03h |_BL2:d900a26b cfg_ddr_r... uchar '\0' |_BL2:d900a26c cfg_ddr_rtw uchar 04h |_BL2:d900a26d cfg_ddr_refi uchar '\'' |_BL2:d900a26e cfg_ddr_r... uchar '\0' |_BL2:d900a26f cfg_ddr_cl uchar '\b' |_BL2:d900a270 cfg_ddr_wr uchar '\b' |_BL2:d900a271 cfg_ddr_cwl uchar 04h |_BL2:d900a272 cfg_ddr_al uchar '\0' |_BL2:d900a273 cfg_ddr_dqs uchar 04h |_BL2:d900a274 cfg_ddr_c... uchar '\0' |_BL2:d900a275 cfg_ddr_c... uchar 02h |_BL2:d900a276 cfg_ddr_zqcs uchar '0' |_BL2:d900a277 cfg_ddr_x... uchar '\0' |_BL2:d900a278 cfg_ddr_exsr ushort 4Ch |_BL2:d900a27a cfg_ddr_zqcl ushort C0h |_BL2:d900a27c cfg_ddr_z... ushort 3E8h |_BL2:d900a27e cfg_ddr_rpab ushort Ch |_BL2:d900a280 cfg_ddr_rppb ushort Ah |_BL2:d900a282 cfg_ddr_t... ushort 1h |_BL2:d900a284 cfg_ddr_t... ushort 2h |_BL2:d900a286 cfg_ddr_t... ushort 8h |_BL2:d900a288 cfg_ddr_tdpd ushort 1F4h |_BL2:d900a28a cfg_ddr_t... ushort 2h |_BL2:d900a28c [6] ddr_timi... |_BL2:d900a28c identifier uchar '1' |_BL2:d900a28d cfg_ddr_rtp uchar 06h |_BL2:d900a28e cfg_ddr_wtr uchar 06h |_BL2:d900a28f cfg_ddr_rp uchar 11h |_BL2:d900a290 cfg_ddr_rcd uchar 0Fh |_BL2:d900a291 cfg_ddr_ras uchar '"' |_BL2:d900a292 cfg_ddr_rrd uchar '\b' |_BL2:d900a293 cfg_ddr_rc uchar '3' |_BL2:d900a294 cfg_ddr_mrd uchar '\v' |_BL2:d900a295 cfg_ddr_mod uchar '\0' |_BL2:d900a296 cfg_ddr_faw uchar '(' |_BL2:d900a297 cfg_ddr_w... uchar ' ' |_BL2:d900a298 cfg_ddr_wlo uchar '\b' |_BL2:d900a299 cfg_ddr_xp uchar 06h |_BL2:d900a29a cfg_ddr_rfc ushort 80h |_BL2:d900a29c cfg_ddr_xs ushort 200h |_BL2:d900a29e cfg_ddr_dllk ushort 200h |_BL2:d900a2a0 cfg_ddr_cke uchar '\a' |_BL2:d900a2a1 cfg_ddr_r... uchar '\0' |_BL2:d900a2a2 cfg_ddr_rtw uchar 04h |_BL2:d900a2a3 cfg_ddr_refi uchar '\'' |_BL2:d900a2a4 cfg_ddr_r... uchar '\0' |_BL2:d900a2a5 cfg_ddr_cl uchar '\f' |_BL2:d900a2a6 cfg_ddr_wr uchar '\f' |_BL2:d900a2a7 cfg_ddr_cwl uchar 06h |_BL2:d900a2a8 cfg_ddr_al uchar '\0' |_BL2:d900a2a9 cfg_ddr_dqs uchar 04h |_BL2:d900a2aa cfg_ddr_c... uchar 02h |_BL2:d900a2ab cfg_ddr_c... uchar 02h |_BL2:d900a2ac cfg_ddr_zqcs uchar 'H' |_BL2:d900a2ad cfg_ddr_x... uchar '\0' |_BL2:d900a2ae cfg_ddr_exsr ushort 70h |_BL2:d900a2b0 cfg_ddr_zqcl ushort 120h |_BL2:d900a2b2 cfg_ddr_z... ushort 3E8h |_BL2:d900a2b4 cfg_ddr_rpab ushort 11h |_BL2:d900a2b6 cfg_ddr_rppb ushort Fh |_BL2:d900a2b8 cfg_ddr_t... ushort 3h |_BL2:d900a2ba cfg_ddr_t... ushort 5h |_BL2:d900a2bc cfg_ddr_t... ushort Ch |_BL2:d900a2be cfg_ddr_tdpd ushort 1F4h |_BL2:d900a2c0 cfg_ddr_t... ushort 2h BL2:d900a2c2 00 ?? 00h BL2:d900a2c3 00 ?? 00h BL2:d900a2c4 00 ?? 00h BL2:d900a2c5 00 ?? 00h BL2:d900a2c6 00 ?? 00h BL2:d900a2c7 00 ?? 00h ;struct __pll_setting = plls: ;XREF[1,6]: d9002730,d90026d0,d9004164,d90046f0 ; d9005b64,d9005c64,d9007d9c BL2:d900a2c8 080700000... pll_set_t |_BL2:d900a2c8 cpu_clk ushort 708h |_BL2:d900a2ca pxp ushort 0h |_BL2:d900a2cc spi_ctrl uint 0h |_BL2:d900a2d0 vddee ushort 3E8h |_BL2:d900a2d2 vcck ushort 3E8h |_BL2:d900a2d4 szPad uchar[4] "" |_BL2:d900a2d4 [0] uchar '\0' |_BL2:d900a2d5 [1] uchar '\0' |_BL2:d900a2d6 [2] uchar '\0' |_BL2:d900a2d7 [3] uchar '\0' |_BL2:d900a2d8 lCustomerID ulong 0h ;This is the ACS footer OFF_d900a2e0: ;XREF[0,8]: d90035e8,d9003adc,d9003bd0,d9004a24 ; d9004bb4,d9004f0c,d9005254,d9005300 BL2:d900a2e0 6163735f5... acs_setting |_BL2:d900a2e0 acs_magic char[5] "acs__" |_BL2:d900a2e0 [0] char 'a' |_BL2:d900a2e1 [1] char 'c' |_BL2:d900a2e2 [2] char 's' |_BL2:d900a2e3 [3] char '_' |_BL2:d900a2e4 [4] char '_' |_BL2:d900a2e5 chip_type uchar '$' |_BL2:d900a2e6 version ushort 1h |_BL2:d900a2e8 acs_set_l... ulong 40h |_BL2:d900a2f0 ddr_magic char[5] "ddrs_" |_BL2:d900a2f0 [0] char 'd' |_BL2:d900a2f1 [1] char 'd' |_BL2:d900a2f2 [2] char 'r' |_BL2:d900a2f3 [3] char 's' |_BL2:d900a2f4 [4] char '_' |_BL2:d900a2f5 ddr_set_v... uchar 03h |_BL2:d900a2f6 ddr_set_l... ushort 144h |_BL2:d900a2f8 ddr_set_addr ulong D900A000h |_BL2:d900a300 ddrt_magic char[5] "ddrt_" |_BL2:d900a300 [0] char 'd' |_BL2:d900a301 [1] char 'd' |_BL2:d900a302 [2] char 'r' |_BL2:d900a303 [3] char 't' |_BL2:d900a304 [4] char '_' |_BL2:d900a305 ddrt_set_... uchar 02h |_BL2:d900a306 ddrt_set_... ushort 17Ah |_BL2:d900a308 ddrt_set_... ulong D900A148h |_BL2:d900a310 pll_magic char[5] "pll__" |_BL2:d900a310 [0] char 'p' |_BL2:d900a311 [1] char 'l' |_BL2:d900a312 [2] char 'l' |_BL2:d900a313 [3] char '_' |_BL2:d900a314 [4] char '_' |_BL2:d900a315 pll_set_v... uchar 01h |_BL2:d900a316 pll_set_l... ushort 18h |_BL2:d900a318 pll_set_addr ulong D900A2C8h DAT_d900a320: ;XREF[2,0]: d90062d8,d9006658 BL2:d900a320 00000000 undefined4 00000000h DAT_d900a324: ;XREF[3,0]: d90062c8,d9006650,d9006694 BL2:d900a324 9766fd3d undefined4 3DFD6697h ;? -> 3dfd6697 DAT_d900a328: ;XREF[2,0]: d90062e4,d9006670 BL2:d900a328 000000000... undefined8 0000000000000000h DAT_d900a330: ;XREF[7,0]: d90062ec,d900666c,d9006684,d90066f8 ; d9006734,d9006750,d9006778 BL2:d900a330 000000000... undefined8 0000000000000000h DAT_d900a338: ;XREF[7,0]: d9006308,d9006668,d9006680,d90066e8 ; d9006730,d9006748,d9006770 BL2:d900a338 000000010... undefined8 0000000001000000h ;? -> 01000000 s_bl30: ;XREF[2,0]: d9006678,d9006738 BL2:d900a340 626c3330 adr x2,0xd90710cd BL2:d900a344 00000000 udf 0x0 BL2:d900a348 00 ?? 00h BL2:d900a349 00 ?? 00h BL2:d900a34a 00 ?? 00h BL2:d900a34b 00 ?? 00h DAT_d900a34c: ;XREF[2,0]: d90062c8,d9006650 BL2:d900a34c ddccbbaa undefined4 AABBCCDDh ;? -> aabbccdd BL2:d900a350 00 ?? 00h BL2:d900a351 00 ?? 00h BL2:d900a352 00 ?? 00h BL2:d900a353 00 ?? 00h BL2:d900a354 00 ?? 00h BL2:d900a355 00 ?? 00h BL2:d900a356 00 ?? 00h BL2:d900a357 00 ?? 00h BL2:d900a358 00 ?? 00h BL2:d900a359 00 ?? 00h BL2:d900a35a 00 ?? 00h BL2:d900a35b 00 ?? 00h BL2:d900a35c 00 ?? 00h BL2:d900a35d 00 ?? 00h BL2:d900a35e 00 ?? 00h BL2:d900a35f 00 ?? 00h BL2:d900a360 00 ?? 00h ;? -> 01000000 BL2:d900a361 00 ?? 00h BL2:d900a362 00 ?? 00h BL2:d900a363 01 ?? 01h BL2:d900a364 00 ?? 00h BL2:d900a365 00 ?? 00h BL2:d900a366 00 ?? 00h BL2:d900a367 00 ?? 00h BL2:d900a368 626c33303100 ds "bl301" BL2:d900a36e 00 ?? 00h BL2:d900a36f 00 ?? 00h BL2:d900a370 00 ?? 00h BL2:d900a371 00 ?? 00h BL2:d900a372 00 ?? 00h BL2:d900a373 00 ?? 00h BL2:d900a374 47 ?? 47h G ;? -> 6d08d447 BL2:d900a375 d4 ?? D4h BL2:d900a376 08 ?? 08h BL2:d900a377 6d ?? 6Dh m BL2:d900a378 00 ?? 00h BL2:d900a379 00 ?? 00h BL2:d900a37a 00 ?? 00h BL2:d900a37b 00 ?? 00h BL2:d900a37c 00 ?? 00h BL2:d900a37d 00 ?? 00h BL2:d900a37e 00 ?? 00h BL2:d900a37f 00 ?? 00h BL2:d900a380 00 ?? 00h BL2:d900a381 00 ?? 00h BL2:d900a382 00 ?? 00h BL2:d900a383 00 ?? 00h BL2:d900a384 00 ?? 00h BL2:d900a385 00 ?? 00h BL2:d900a386 00 ?? 00h BL2:d900a387 00 ?? 00h BL2:d900a388 00 ?? 00h ;? -> 10100000 BL2:d900a389 00 ?? 00h BL2:d900a38a 10 ?? 10h BL2:d900a38b 10 ?? 10h BL2:d900a38c 00 ?? 00h BL2:d900a38d 00 ?? 00h BL2:d900a38e 00 ?? 00h BL2:d900a38f 00 ?? 00h BL2:d900a390 626c333100 ds "bl31" BL2:d900a395 00 ?? 00h BL2:d900a396 00 ?? 00h BL2:d900a397 00 ?? 00h BL2:d900a398 00 ?? 00h BL2:d900a399 00 ?? 00h BL2:d900a39a 00 ?? 00h BL2:d900a39b 00 ?? 00h BL2:d900a39c 05 ?? 05h ;? -> 89e1d005 BL2:d900a39d d0 ?? D0h BL2:d900a39e e1 ?? E1h BL2:d900a39f 89 ?? 89h BL2:d900a3a0 00 ?? 00h BL2:d900a3a1 00 ?? 00h BL2:d900a3a2 00 ?? 00h BL2:d900a3a3 00 ?? 00h BL2:d900a3a4 00 ?? 00h BL2:d900a3a5 00 ?? 00h BL2:d900a3a6 00 ?? 00h BL2:d900a3a7 00 ?? 00h BL2:d900a3a8 00 ?? 00h BL2:d900a3a9 00 ?? 00h BL2:d900a3aa 00 ?? 00h BL2:d900a3ab 00 ?? 00h BL2:d900a3ac 00 ?? 00h BL2:d900a3ad 00 ?? 00h BL2:d900a3ae 00 ?? 00h BL2:d900a3af 00 ?? 00h BL2:d900a3b0 00 ?? 00h ;? -> 05300000 BL2:d900a3b1 00 ?? 00h BL2:d900a3b2 30 ?? 30h 0 BL2:d900a3b3 05 ?? 05h BL2:d900a3b4 00 ?? 00h BL2:d900a3b5 00 ?? 00h BL2:d900a3b6 00 ?? 00h BL2:d900a3b7 00 ?? 00h BL2:d900a3b8 626c333200 ds "bl32" BL2:d900a3bd 00 ?? 00h BL2:d900a3be 00 ?? 00h BL2:d900a3bf 00 ?? 00h BL2:d900a3c0 00 ?? 00h BL2:d900a3c1 00 ?? 00h BL2:d900a3c2 00 ?? 00h BL2:d900a3c3 00 ?? 00h BL2:d900a3c4 d6 ?? D6h ;? -> a7eed0d6 BL2:d900a3c5 d0 ?? D0h BL2:d900a3c6 ee ?? EEh BL2:d900a3c7 a7 ?? A7h BL2:d900a3c8 00 ?? 00h BL2:d900a3c9 00 ?? 00h BL2:d900a3ca 00 ?? 00h BL2:d900a3cb 00 ?? 00h BL2:d900a3cc 00 ?? 00h BL2:d900a3cd 00 ?? 00h BL2:d900a3ce 00 ?? 00h BL2:d900a3cf 00 ?? 00h BL2:d900a3d0 00 ?? 00h BL2:d900a3d1 00 ?? 00h BL2:d900a3d2 00 ?? 00h BL2:d900a3d3 00 ?? 00h BL2:d900a3d4 00 ?? 00h BL2:d900a3d5 00 ?? 00h BL2:d900a3d6 00 ?? 00h BL2:d900a3d7 00 ?? 00h BL2:d900a3d8 00 ?? 00h ;? -> 01000000 BL2:d900a3d9 00 ?? 00h BL2:d900a3da 00 ?? 00h BL2:d900a3db 01 ?? 01h BL2:d900a3dc 00 ?? 00h BL2:d900a3dd 00 ?? 00h BL2:d900a3de 00 ?? 00h BL2:d900a3df 00 ?? 00h BL2:d900a3e0 626c333300 ds "bl33" BL2:d900a3e5 00 ?? 00h BL2:d900a3e6 00 ?? 00h BL2:d900a3e7 00 ?? 00h BL2:d900a3e8 00 ?? 00h BL2:d900a3e9 00 ?? 00h BL2:d900a3ea 00 ?? 00h BL2:d900a3eb 00 ?? 00h BL2:d900a3ec 00 ?? 00h BL2:d900a3ed 00 ?? 00h BL2:d900a3ee 00 ?? 00h BL2:d900a3ef 00 ?? 00h BL2:d900a3f0 00 ?? 00h BL2:d900a3f1 00 ?? 00h BL2:d900a3f2 00 ?? 00h BL2:d900a3f3 00 ?? 00h BL2:d900a3f4 00 ?? 00h BL2:d900a3f5 00 ?? 00h BL2:d900a3f6 00 ?? 00h BL2:d900a3f7 00 ?? 00h BL2:d900a3f8 00 ?? 00h BL2:d900a3f9 00 ?? 00h BL2:d900a3fa 00 ?? 00h BL2:d900a3fb 00 ?? 00h BL2:d900a3fc 00 ?? 00h BL2:d900a3fd 00 ?? 00h BL2:d900a3fe 00 ?? 00h BL2:d900a3ff 00 ?? 00h BL2:d900a400 00 ?? 00h BL2:d900a401 00 ?? 00h BL2:d900a402 00 ?? 00h BL2:d900a403 00 ?? 00h BL2:d900a404 00 ?? 00h BL2:d900a405 00 ?? 00h BL2:d900a406 00 ?? 00h BL2:d900a407 00 ?? 00h BL2:d900a408 00 ?? 00h BL2:d900a409 00 ?? 00h BL2:d900a40a 00 ?? 00h BL2:d900a40b 00 ?? 00h BL2:d900a40c 00 ?? 00h BL2:d900a40d 00 ?? 00h BL2:d900a40e 00 ?? 00h BL2:d900a40f 00 ?? 00h DAT_d900a410: ;XREF[1,0]: d9007560 BL2:d900a410 00 ?? 00h BL2:d900a411 01 ?? 01h BL2:d900a412 03 ?? 03h BL2:d900a413 05 ?? 05h BL2:d900a414 07 ?? 07h BL2:d900a415 09 ?? 09h BL2:d900a416 0b ?? 0Bh BL2:d900a417 0d ?? 0Dh BL2:d900a418 0f ?? 0Fh BL2:d900a419 11 ?? 11h BL2:d900a41a 13 ?? 13h BL2:d900a41b 15 ?? 15h BL2:d900a41c 17 ?? 17h BL2:d900a41d 19 ?? 19h BL2:d900a41e 1b ?? 1Bh BL2:d900a41f 1d ?? 1Dh BL2:d900a420 1f ?? 1Fh BL2:d900a421 21 ?? 21h ! BL2:d900a422 23 ?? 23h # BL2:d900a423 25 ?? 25h % BL2:d900a424 27 ?? 27h ' BL2:d900a425 29 ?? 29h ) BL2:d900a426 2b ?? 2Bh + BL2:d900a427 2d ?? 2Dh - BL2:d900a428 2f ?? 2Fh / BL2:d900a429 31 ?? 31h 1 BL2:d900a42a 33 ?? 33h 3 BL2:d900a42b 35 ?? 35h 5 BL2:d900a42c 37 ?? 37h 7 BL2:d900a42d 39 ?? 39h 9 BL2:d900a42e 3b ?? 3Bh ; BL2:d900a42f 3d ?? 3Dh = BL2:d900a430 3f ?? 3Fh ? BL2:d900a431 41 ?? 41h A BL2:d900a432 43 ?? 43h C BL2:d900a433 45 ?? 45h E BL2:d900a434 47 ?? 47h G BL2:d900a435 49 ?? 49h I BL2:d900a436 4b ?? 4Bh K BL2:d900a437 4d ?? 4Dh M BL2:d900a438 4f ?? 4Fh O BL2:d900a439 51 ?? 51h Q BL2:d900a43a 53 ?? 53h S BL2:d900a43b 55 ?? 55h U BL2:d900a43c 57 ?? 57h W BL2:d900a43d 59 ?? 59h Y BL2:d900a43e 5b ?? 5Bh [ BL2:d900a43f 5d ?? 5Dh ] BL2:d900a440 5f ?? 5Fh _ BL2:d900a441 61 ?? 61h a BL2:d900a442 63 ?? 63h c BL2:d900a443 65 ?? 65h e BL2:d900a444 67 ?? 67h g BL2:d900a445 69 ?? 69h i BL2:d900a446 6b ?? 6Bh k BL2:d900a447 6d ?? 6Dh m BL2:d900a448 6f ?? 6Fh o BL2:d900a449 71 ?? 71h q BL2:d900a44a 73 ?? 73h s BL2:d900a44b 75 ?? 75h u BL2:d900a44c 77 ?? 77h w BL2:d900a44d 79 ?? 79h y BL2:d900a44e 7b ?? 7Bh { BL2:d900a44f 7d ?? 7Dh } BL2:d900a450 7f ?? 7Fh  BL2:d900a451 81 ?? 81h BL2:d900a452 83 ?? 83h BL2:d900a453 85 ?? 85h BL2:d900a454 87 ?? 87h BL2:d900a455 89 ?? 89h BL2:d900a456 8b ?? 8Bh BL2:d900a457 8d ?? 8Dh BL2:d900a458 8f ?? 8Fh BL2:d900a459 91 ?? 91h BL2:d900a45a 93 ?? 93h BL2:d900a45b 95 ?? 95h BL2:d900a45c 97 ?? 97h BL2:d900a45d 99 ?? 99h BL2:d900a45e 9b ?? 9Bh BL2:d900a45f 9d ?? 9Dh BL2:d900a460 9f ?? 9Fh BL2:d900a461 a1 ?? A1h BL2:d900a462 a3 ?? A3h BL2:d900a463 a5 ?? A5h BL2:d900a464 a7 ?? A7h BL2:d900a465 a9 ?? A9h BL2:d900a466 ab ?? ABh BL2:d900a467 ad ?? ADh BL2:d900a468 af ?? AFh BL2:d900a469 b1 ?? B1h BL2:d900a46a b3 ?? B3h BL2:d900a46b b5 ?? B5h BL2:d900a46c b7 ?? B7h BL2:d900a46d b9 ?? B9h BL2:d900a46e bb ?? BBh BL2:d900a46f bd ?? BDh BL2:d900a470 bf ?? BFh BL2:d900a471 c1 ?? C1h BL2:d900a472 c3 ?? C3h BL2:d900a473 c5 ?? C5h BL2:d900a474 c7 ?? C7h BL2:d900a475 c9 ?? C9h BL2:d900a476 cb ?? CBh BL2:d900a477 cd ?? CDh BL2:d900a478 cf ?? CFh BL2:d900a479 d1 ?? D1h BL2:d900a47a d3 ?? D3h BL2:d900a47b d5 ?? D5h BL2:d900a47c d7 ?? D7h BL2:d900a47d d9 ?? D9h BL2:d900a47e db ?? DBh BL2:d900a47f dd ?? DDh BL2:d900a480 df ?? DFh BL2:d900a481 e1 ?? E1h BL2:d900a482 e3 ?? E3h BL2:d900a483 e5 ?? E5h BL2:d900a484 e7 ?? E7h BL2:d900a485 e9 ?? E9h BL2:d900a486 eb ?? EBh BL2:d900a487 ed ?? EDh BL2:d900a488 ef ?? EFh BL2:d900a489 f1 ?? F1h BL2:d900a48a f3 ?? F3h BL2:d900a48b f5 ?? F5h BL2:d900a48c f7 ?? F7h BL2:d900a48d f9 ?? F9h BL2:d900a48e fb ?? FBh BL2:d900a48f fd ?? FDh DAT_d900a490: ;XREF[1,0]: d9007568 BL2:d900a490 00 ?? 00h BL2:d900a491 01 ?? 01h BL2:d900a492 02 ?? 02h BL2:d900a493 03 ?? 03h BL2:d900a494 06 ?? 06h BL2:d900a495 07 ?? 07h BL2:d900a496 0a ?? 0Ah BL2:d900a497 0b ?? 0Bh BL2:d900a498 0e ?? 0Eh BL2:d900a499 0f ?? 0Fh BL2:d900a49a 12 ?? 12h BL2:d900a49b 13 ?? 13h BL2:d900a49c 16 ?? 16h BL2:d900a49d 17 ?? 17h BL2:d900a49e 1a ?? 1Ah BL2:d900a49f 1b ?? 1Bh BL2:d900a4a0 1e ?? 1Eh BL2:d900a4a1 1f ?? 1Fh BL2:d900a4a2 22 ?? 22h " BL2:d900a4a3 23 ?? 23h # BL2:d900a4a4 26 ?? 26h & BL2:d900a4a5 27 ?? 27h ' BL2:d900a4a6 2a ?? 2Ah * BL2:d900a4a7 2b ?? 2Bh + BL2:d900a4a8 2e ?? 2Eh . BL2:d900a4a9 2f ?? 2Fh / BL2:d900a4aa 32 ?? 32h 2 BL2:d900a4ab 33 ?? 33h 3 BL2:d900a4ac 36 ?? 36h 6 BL2:d900a4ad 37 ?? 37h 7 BL2:d900a4ae 3a ?? 3Ah : BL2:d900a4af 3b ?? 3Bh ; BL2:d900a4b0 3e ?? 3Eh > BL2:d900a4b1 3f ?? 3Fh ? BL2:d900a4b2 42 ?? 42h B BL2:d900a4b3 43 ?? 43h C BL2:d900a4b4 46 ?? 46h F BL2:d900a4b5 47 ?? 47h G BL2:d900a4b6 4a ?? 4Ah J BL2:d900a4b7 4b ?? 4Bh K BL2:d900a4b8 4e ?? 4Eh N BL2:d900a4b9 4f ?? 4Fh O BL2:d900a4ba 52 ?? 52h R BL2:d900a4bb 53 ?? 53h S BL2:d900a4bc 56 ?? 56h V BL2:d900a4bd 57 ?? 57h W BL2:d900a4be 5a ?? 5Ah Z BL2:d900a4bf 5b ?? 5Bh [ BL2:d900a4c0 5e ?? 5Eh ^ BL2:d900a4c1 5f ?? 5Fh _ BL2:d900a4c2 62 ?? 62h b BL2:d900a4c3 63 ?? 63h c BL2:d900a4c4 66 ?? 66h f BL2:d900a4c5 67 ?? 67h g BL2:d900a4c6 6a ?? 6Ah j BL2:d900a4c7 6b ?? 6Bh k BL2:d900a4c8 6e ?? 6Eh n BL2:d900a4c9 6f ?? 6Fh o BL2:d900a4ca 72 ?? 72h r BL2:d900a4cb 73 ?? 73h s BL2:d900a4cc 76 ?? 76h v BL2:d900a4cd 77 ?? 77h w BL2:d900a4ce 7a ?? 7Ah z BL2:d900a4cf 7b ?? 7Bh { BL2:d900a4d0 7e ?? 7Eh ~ BL2:d900a4d1 7f ?? 7Fh  BL2:d900a4d2 82 ?? 82h BL2:d900a4d3 83 ?? 83h BL2:d900a4d4 86 ?? 86h BL2:d900a4d5 87 ?? 87h BL2:d900a4d6 8a ?? 8Ah BL2:d900a4d7 8b ?? 8Bh BL2:d900a4d8 8e ?? 8Eh BL2:d900a4d9 8f ?? 8Fh BL2:d900a4da 92 ?? 92h BL2:d900a4db 93 ?? 93h BL2:d900a4dc 96 ?? 96h BL2:d900a4dd 97 ?? 97h BL2:d900a4de 9a ?? 9Ah BL2:d900a4df 9b ?? 9Bh BL2:d900a4e0 9e ?? 9Eh BL2:d900a4e1 9f ?? 9Fh BL2:d900a4e2 a2 ?? A2h BL2:d900a4e3 a3 ?? A3h BL2:d900a4e4 a6 ?? A6h BL2:d900a4e5 a7 ?? A7h BL2:d900a4e6 aa ?? AAh BL2:d900a4e7 ab ?? ABh BL2:d900a4e8 ae ?? AEh BL2:d900a4e9 af ?? AFh BL2:d900a4ea b2 ?? B2h BL2:d900a4eb b3 ?? B3h BL2:d900a4ec b6 ?? B6h BL2:d900a4ed b7 ?? B7h BL2:d900a4ee ba ?? BAh BL2:d900a4ef bb ?? BBh BL2:d900a4f0 be ?? BEh BL2:d900a4f1 bf ?? BFh BL2:d900a4f2 c2 ?? C2h BL2:d900a4f3 c3 ?? C3h BL2:d900a4f4 c6 ?? C6h BL2:d900a4f5 c7 ?? C7h BL2:d900a4f6 ca ?? CAh BL2:d900a4f7 cb ?? CBh BL2:d900a4f8 ce ?? CEh BL2:d900a4f9 cf ?? CFh BL2:d900a4fa d2 ?? D2h BL2:d900a4fb d3 ?? D3h BL2:d900a4fc d6 ?? D6h BL2:d900a4fd d7 ?? D7h BL2:d900a4fe da ?? DAh BL2:d900a4ff db ?? DBh BL2:d900a500 de ?? DEh BL2:d900a501 df ?? DFh BL2:d900a502 e2 ?? E2h BL2:d900a503 e3 ?? E3h BL2:d900a504 e6 ?? E6h BL2:d900a505 e7 ?? E7h BL2:d900a506 ea ?? EAh BL2:d900a507 eb ?? EBh BL2:d900a508 ee ?? EEh BL2:d900a509 ef ?? EFh BL2:d900a50a f2 ?? F2h BL2:d900a50b f3 ?? F3h BL2:d900a50c f6 ?? F6h BL2:d900a50d f7 ?? F7h BL2:d900a50e fa ?? FAh BL2:d900a50f fb ?? FBh DAT_d900a510: ;XREF[3,0]: d9007e94,d9008010,d9008014 BL2:d900a510 00c00002 undefined4 0200C000h ;? -> 0200c000 BL2:d900a514 00 ?? 00h BL2:d900a515 00 ?? 00h BL2:d900a516 00 ?? 00h BL2:d900a517 00 ?? 00h BL2:d900a518 00 ?? 00h BL2:d900a519 00 ?? 00h BL2:d900a51a 00 ?? 00h BL2:d900a51b 00 ?? 00h BL2:d900a51c 00 ?? 00h BL2:d900a51d 00 ?? 00h BL2:d900a51e 00 ?? 00h BL2:d900a51f 00 ?? 00h BL2:d900a520 00 ?? 00h BL2:d900a521 00 ?? 00h BL2:d900a522 00 ?? 00h BL2:d900a523 00 ?? 00h BL2:d900a524 00 ?? 00h BL2:d900a525 00 ?? 00h BL2:d900a526 00 ?? 00h BL2:d900a527 00 ?? 00h BL2:d900a528 00 ?? 00h BL2:d900a529 00 ?? 00h BL2:d900a52a 00 ?? 00h BL2:d900a52b 00 ?? 00h BL2:d900a52c 00 ?? 00h BL2:d900a52d 00 ?? 00h BL2:d900a52e 00 ?? 00h BL2:d900a52f 00 ?? 00h BL2:d900a530 00 ?? 00h BL2:d900a531 00 ?? 00h BL2:d900a532 00 ?? 00h BL2:d900a533 00 ?? 00h BL2:d900a534 00 ?? 00h BL2:d900a535 00 ?? 00h BL2:d900a536 00 ?? 00h BL2:d900a537 00 ?? 00h BL2:d900a538 00 ?? 00h BL2:d900a539 00 ?? 00h BL2:d900a53a 00 ?? 00h BL2:d900a53b 00 ?? 00h BL2:d900a53c 00 ?? 00h BL2:d900a53d 00 ?? 00h BL2:d900a53e 00 ?? 00h BL2:d900a53f 00 ?? 00h bl2_tzram_layout: ;XREF[3,6]: d9001168,d9001170,d90011c0,d9001178 ; d9001184,d9001190,d90011a4,d90011a8 ; d90011c8 BL2:d900a540 000000000... meminfo_... |_BL2:d900a540 total_base undefined8 0000000000000000h |_BL2:d900a548 total_size undefined8 0000000000000000h |_BL2:d900a550 free_base undefined8 0000000000000000h |_BL2:d900a558 free_size undefined8 0000000000000000h |_BL2:d900a560 attr undefined8 0000000000000000h |_BL2:d900a568 next undefined8 0000000000000000h BL2:d900a570 00 ?? 00h BL2:d900a571 00 ?? 00h BL2:d900a572 00 ?? 00h BL2:d900a573 00 ?? 00h BL2:d900a574 00 ?? 00h BL2:d900a575 00 ?? 00h BL2:d900a576 00 ?? 00h BL2:d900a577 00 ?? 00h BL2:d900a578 00 ?? 00h BL2:d900a579 00 ?? 00h BL2:d900a57a 00 ?? 00h BL2:d900a57b 00 ?? 00h BL2:d900a57c 00 ?? 00h BL2:d900a57d 00 ?? 00h BL2:d900a57e 00 ?? 00h BL2:d900a57f 00 ?? 00h