1 2/home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/bl1.elf: file format elf64-littleaarch64 3/home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/bl1.elf 4architecture: aarch64, flags 0x00000112: 5EXEC_P, HAS_SYMS, D_PAGED 6start address 0x0000000000000000 7 8Program Header: 9 LOAD off 0x0000000000010000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**16 10 filesz 0x0000000000004cf0 memsz 0x0000000000004cf0 flags r-x 11 LOAD off 0x000000000001e000 vaddr 0x000000000e04e000 paddr 0x0000000000004cf0 align 2**16 12 filesz 0x0000000000000105 memsz 0x0000000000000105 flags rw- 13 LOAD off 0x000000000000e140 vaddr 0x000000000e04e140 paddr 0x0000000000004df5 align 2**16 14 filesz 0x0000000000000000 memsz 0x0000000000001000 flags rw- 15 LOAD off 0x0000000000000000 vaddr 0x000000000e050000 paddr 0x0000000000004df5 align 2**16 16 filesz 0x0000000000000000 memsz 0x0000000000006000 flags rw- 17 LOAD off 0x000000000000f140 vaddr 0x000000000e04f140 paddr 0x0000000000004e00 align 2**16 18 filesz 0x0000000000000000 memsz 0x00000000000008a0 flags rw- 19 STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**4 20 filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw- 21private flags = 0: 22 23Sections: 24Idx Name Size VMA LMA File off Algn 25 0 .text 00004000 0000000000000000 0000000000000000 00010000 2**11 26 CONTENTS, ALLOC, LOAD, READONLY, CODE 27 1 .rodata 00000cf0 0000000000004000 0000000000004000 00014000 2**3 28 CONTENTS, ALLOC, LOAD, READONLY, DATA 29 2 .data 00000105 000000000e04e000 0000000000004cf0 0001e000 2**4 30 CONTENTS, ALLOC, LOAD, DATA 31 3 stacks 00001000 000000000e04e140 0000000000004df5 0001e140 2**6 32 ALLOC 33 4 .bss 000008a0 000000000e04f140 0000000000004e00 0001f140 2**5 34 ALLOC 35 5 xlat_table 00006000 000000000e050000 0000000000004df5 00020000 2**12 36 ALLOC 37 6 coherent_ram 00000000 000000000e056000 000000000e056000 0001f000 2**12 38 CONTENTS 39 7 .comment 0000005d 0000000000000000 0000000000000000 0001f000 2**0 40 CONTENTS, READONLY 41 8 .debug_frame 00001020 0000000000000000 0000000000000000 0001f060 2**3 42 CONTENTS, READONLY, DEBUGGING, OCTETS 43SYMBOL TABLE: 440000000000000000 l d .text 0000000000000000 .text 450000000000004000 l d .rodata 0000000000000000 .rodata 46000000000e04e000 l d .data 0000000000000000 .data 47000000000e04e140 l d stacks 0000000000000000 stacks 48000000000e04f140 l d .bss 0000000000000000 .bss 49000000000e050000 l d xlat_table 0000000000000000 xlat_table 50000000000e056000 l d coherent_ram 0000000000000000 coherent_ram 510000000000000000 l d .comment 0000000000000000 .comment 520000000000000000 l d .debug_frame 0000000000000000 .debug_frame 530000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/bl1_entrypoint.o 54000000000000001c l .text 0000000000000000 do_cold_boot 5500000000000000b4 l .text 0000000000000000 do_primary_cold_boot 560000000000000000 l df *ABS* 0000000000000000 bl1_arch_setup.c 570000000000000000 l df *ABS* 0000000000000000 bl1_context_mgmt.c 58000000000e04f140 l O .bss 00000000000004e0 bl1_cpu_context.0 59000000000e04f620 l O .bss 0000000000000010 bl1_cpu_context_ptr 600000000000000000 l df *ABS* 0000000000000000 bl1_main.c 610000000000000000 l df *ABS* 0000000000000000 io_fip.c 620000000000000404 l F .text 0000000000000008 device_type_fip 63000000000000040c l F .text 0000000000000014 fip_file_len 640000000000000420 l F .text 000000000000003c fip_file_close 65000000000000045c l F .text 00000000000000e8 fip_dev_init 660000000000000544 l F .text 00000000000000e8 fip_file_read 67000000000000062c l F .text 0000000000000060 fip_dev_open 68000000000000068c l F .text 0000000000000134 fip_file_open 6900000000000007c0 l F .text 000000000000005c fip_dev_close 70000000000e04f630 l O .bss 0000000000000008 backend_dev_handle 71000000000e04f638 l O .bss 0000000000000008 backend_image_spec 72000000000e04f640 l O .bss 0000000000000030 current_fip_file 73000000000e04f670 l O .bss 0000000000000010 dev_info_pool 74000000000e04f980 l O .bss 0000000000000004 fip_dev_count 75000000000e04f680 l O .bss 0000000000000010 state_pool 760000000000004000 l O .rodata 0000000000000008 fip_dev_connector 770000000000004008 l O .rodata 0000000000000048 fip_dev_funcs 7800000000000049af l O .rodata 0000000000000010 uuid_null.0 790000000000000000 l df *ABS* 0000000000000000 io_memmap.c 800000000000000854 l F .text 0000000000000008 device_type_memmap 81000000000000085c l F .text 0000000000000014 memmap_dev_open 820000000000000870 l F .text 0000000000000008 memmap_dev_close 830000000000000878 l F .text 0000000000000020 memmap_block_seek 840000000000000898 l F .text 0000000000000014 memmap_block_len 8500000000000008ac l F .text 0000000000000028 memmap_block_close 8600000000000008d4 l F .text 0000000000000048 memmap_block_write 87000000000000091c l F .text 0000000000000050 memmap_block_read 88000000000000096c l F .text 000000000000004c memmap_block_open 89000000000e04f690 l O .bss 0000000000000020 current_memmap_file 90000000000e04e000 l O .data 0000000000000010 memmap_dev_info 910000000000004058 l O .rodata 0000000000000048 memmap_dev_funcs 920000000000004050 l O .rodata 0000000000000008 memmap_dev_connector 930000000000000000 l df *ABS* 0000000000000000 io_semihosting.c 9400000000000009f0 l F .text 0000000000000008 device_type_sh 9500000000000009f8 l F .text 0000000000000014 sh_dev_open 960000000000000a0c l F .text 0000000000000024 sh_file_close 970000000000000a30 l F .text 000000000000004c sh_file_write 980000000000000a7c l F .text 0000000000000048 sh_file_read 990000000000000ac4 l F .text 0000000000000038 sh_file_len 1000000000000000afc l F .text 0000000000000028 sh_file_seek 1010000000000000b24 l F .text 0000000000000044 sh_file_open 102000000000e04e010 l O .data 0000000000000010 sh_dev_info 10300000000000040a8 l O .rodata 0000000000000048 sh_dev_funcs 10400000000000040a0 l O .rodata 0000000000000008 sh_dev_connector 1050000000000000000 l df *ABS* 0000000000000000 io_storage.c 1060000000000000ba0 l F .text 0000000000000044 free_entity.isra.0 107000000000e04f984 l O .bss 0000000000000004 dev_count 108000000000e04f988 l O .bss 0000000000000004 entity_count 109000000000e04f6b0 l O .bss 0000000000000020 entity_map 110000000000e04f6d0 l O .bss 0000000000000040 entity_pool 1110000000000000000 l df *ABS* 0000000000000000 context_mgmt.c 1120000000000000000 l df *ABS* 0000000000000000 semihosting.c 1130000000000000000 l df *ABS* 0000000000000000 plat_bl1_common.c 114000000000e04e020 l O .data 0000000000000080 bl2_img_desc.0 1150000000000000000 l df *ABS* 0000000000000000 qemu_bl1_setup.c 116000000000e04f710 l O .bss 0000000000000010 bl1_tzram_layout 1170000000000000000 l df *ABS* 0000000000000000 qemu_io_storage.c 118000000000000131c l F .text 0000000000000068 open_fip 1190000000000001384 l F .text 0000000000000060 open_memmap 120000000000e04f720 l O .bss 0000000000000008 fip_dev_con 121000000000e04f728 l O .bss 0000000000000008 fip_dev_handle 122000000000e04f730 l O .bss 0000000000000008 memmap_dev_con 123000000000e04f738 l O .bss 0000000000000008 memmap_dev_handle 124000000000e04f740 l O .bss 0000000000000008 sh_dev_con 125000000000e04f748 l O .bss 0000000000000008 sh_dev_handle 1260000000000004a57 l O .rodata 0000000000000010 bl2_uuid_spec 1270000000000004a67 l O .rodata 0000000000000010 bl31_uuid_spec 1280000000000004a77 l O .rodata 0000000000000010 bl32_extra1_uuid_spec 1290000000000004a87 l O .rodata 0000000000000010 bl32_extra2_uuid_spec 1300000000000004a97 l O .rodata 0000000000000010 bl32_uuid_spec 1310000000000004aa7 l O .rodata 0000000000000010 bl33_uuid_spec 13200000000000040f0 l O .rodata 0000000000000010 fip_block_spec 1330000000000004100 l O .rodata 00000000000002e8 policies 13400000000000043e8 l O .rodata 0000000000000170 sh_file_spec 1350000000000000000 l df *ABS* 0000000000000000 bl_common.c 1360000000000000000 l df *ABS* 0000000000000000 tf_log.c 137000000000e04e100 l O .data 0000000000000004 max_log_level 1380000000000000000 l df *ABS* 0000000000000000 multi_console.c 1390000000000000000 l df *ABS* 0000000000000000 plat_bl_common.c 1400000000000000000 l df *ABS* 0000000000000000 plat_log_common.c 1410000000000004558 l O .rodata 0000000000000028 plat_prefix_str 1420000000000000000 l df *ABS* 0000000000000000 plat_common.c 1430000000000000000 l df *ABS* 0000000000000000 qemu_common.c 1440000000000004580 l O .rodata 00000000000000f0 plat_qemu_mmap 1450000000000000000 l df *ABS* 0000000000000000 qemu_console.c 146000000000e04f758 l O .bss 0000000000000030 console 1470000000000000000 l df *ABS* 0000000000000000 xlat_tables_arch.c 1480000000000000000 l df *ABS* 0000000000000000 xlat_tables_context.c 149000000000e04f7a0 l O .bss 00000000000001e0 tf_mmap 150000000000e04e0a0 l O .data 0000000000000060 tf_xlat_ctx 151000000000e050000 l O xlat_table 0000000000006000 tf_xlat_tables 152000000000e04f9c0 l O .bss 0000000000000020 tf_base_xlat_table 1530000000000000000 l df *ABS* 0000000000000000 xlat_tables_core.c 1540000000000001b74 l F .text 0000000000000040 xlat_clean_dcache_range 1550000000000001c98 l F .text 0000000000000220 xlat_tables_map_region 1560000000000000000 l df *ABS* 0000000000000000 xlat_tables_utils.c 1570000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/bl1_exceptions.o 1580000000000003800 l F .text 0000000000000000 SynchronousExceptionSP0 1590000000000003880 l F .text 0000000000000000 IrqSP0 1600000000000003900 l F .text 0000000000000000 FiqSP0 1610000000000003980 l F .text 0000000000000000 SErrorSP0 1620000000000003a00 l F .text 0000000000000000 SynchronousExceptionSPx 1630000000000003a80 l F .text 0000000000000000 IrqSPx 1640000000000003b00 l F .text 0000000000000000 FiqSPx 1650000000000003b80 l F .text 0000000000000000 SErrorSPx 1660000000000003c00 l F .text 0000000000000000 SynchronousExceptionA64 16700000000000022a4 l .text 0000000000000000 unexpected_sync_exception 168000000000000222c l F .text 0000000000000078 smc_handler64 1690000000000003c80 l F .text 0000000000000000 IrqA64 1700000000000003d00 l F .text 0000000000000000 FiqA64 1710000000000003d80 l F .text 0000000000000000 SErrorA64 1720000000000003e00 l F .text 0000000000000000 SynchronousExceptionA32 1730000000000003e80 l F .text 0000000000000000 IrqA32 1740000000000003f00 l F .text 0000000000000000 FiqA32 1750000000000003f80 l F .text 0000000000000000 SErrorA32 17600000000000022b0 l .text 0000000000000000 smc_handler 1770000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/cortex_a53.o 1780000000000000008 l *ABS* 0000000000000000 CPU_MIDR_SIZE 1790000000000000008 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC_SIZE 1800000000000000008 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC_SIZE 1810000000000000008 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC_SIZE 1820000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC_SIZE 1830000000000000000 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS_SIZE 1840000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_FUNC_SIZE 1850000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_LOCK_SIZE 1860000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED_SIZE 1870000000000000000 l *ABS* 0000000000000000 CPU_REG_DUMP_SIZE 1880000000000000000 l *ABS* 0000000000000000 CPU_MIDR 1890000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC 1900000000000000010 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC 1910000000000000018 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC 1920000000000000020 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC 1930000000000000028 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS 1940000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_FUNC 1950000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_LOCK 1960000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED 1970000000000000028 l *ABS* 0000000000000000 CPU_REG_DUMP 1980000000000000028 l *ABS* 0000000000000000 CPU_OPS_SIZE 19900000000000022e8 l F .text 000000000000001c a53_disable_non_temporal_hint 2000000000000002304 l F .text 0000000000000008 check_errata_disable_non_temporal_hint 201000000000000230c l F .text 0000000000000028 cortex_a53_reset_func 2020000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/cortex_a57.o 2030000000000000008 l *ABS* 0000000000000000 CPU_MIDR_SIZE 2040000000000000008 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC_SIZE 2050000000000000008 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC_SIZE 2060000000000000008 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC_SIZE 2070000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC_SIZE 2080000000000000000 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS_SIZE 2090000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_FUNC_SIZE 2100000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_LOCK_SIZE 2110000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED_SIZE 2120000000000000000 l *ABS* 0000000000000000 CPU_REG_DUMP_SIZE 2130000000000000000 l *ABS* 0000000000000000 CPU_MIDR 2140000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC 2150000000000000010 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC 2160000000000000018 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC 2170000000000000020 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC 2180000000000000028 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS 2190000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_FUNC 2200000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_LOCK 2210000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED 2220000000000000028 l *ABS* 0000000000000000 CPU_REG_DUMP 2230000000000000028 l *ABS* 0000000000000000 CPU_OPS_SIZE 2240000000000002334 l F .text 000000000000001c a57_disable_ldnp_overread 2250000000000002350 l F .text 0000000000000008 check_errata_disable_ldnp_overread 2260000000000002358 l F .text 0000000000000008 check_errata_cve_2017_5715 2270000000000002360 l F .text 000000000000003c cortex_a57_reset_func 2280000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/cortex_a72.o 2290000000000000008 l *ABS* 0000000000000000 CPU_MIDR_SIZE 2300000000000000008 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC_SIZE 2310000000000000008 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC_SIZE 2320000000000000008 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC_SIZE 2330000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC_SIZE 2340000000000000000 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS_SIZE 2350000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_FUNC_SIZE 2360000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_LOCK_SIZE 2370000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED_SIZE 2380000000000000000 l *ABS* 0000000000000000 CPU_REG_DUMP_SIZE 2390000000000000000 l *ABS* 0000000000000000 CPU_MIDR 2400000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC 2410000000000000010 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC 2420000000000000018 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC 2430000000000000020 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC 2440000000000000028 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS 2450000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_FUNC 2460000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_LOCK 2470000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED 2480000000000000028 l *ABS* 0000000000000000 CPU_REG_DUMP 2490000000000000028 l *ABS* 0000000000000000 CPU_OPS_SIZE 250000000000000239c l F .text 0000000000000020 check_errata_cve_2017_5715 25100000000000023bc l F .text 0000000000000034 cortex_a72_reset_func 2520000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/cpu_helpers.o 2530000000000000008 l *ABS* 0000000000000000 CPU_MIDR_SIZE 2540000000000000008 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC_SIZE 2550000000000000008 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC_SIZE 2560000000000000008 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC_SIZE 2570000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC_SIZE 2580000000000000000 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS_SIZE 2590000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_FUNC_SIZE 2600000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_LOCK_SIZE 2610000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED_SIZE 2620000000000000000 l *ABS* 0000000000000000 CPU_REG_DUMP_SIZE 2630000000000000000 l *ABS* 0000000000000000 CPU_MIDR 2640000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC 2650000000000000010 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC 2660000000000000018 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC 2670000000000000020 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC 2680000000000000028 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS 2690000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_FUNC 2700000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_LOCK 2710000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED 2720000000000000028 l *ABS* 0000000000000000 CPU_REG_DUMP 2730000000000000028 l *ABS* 0000000000000000 CPU_OPS_SIZE 274000000000000244c l .text 0000000000000000 search_def_ptr 2750000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/context.o 2760000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/semihosting_call.o 2770000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/platform_up_stack.o 278000000000e04e140 l stacks 0000000000000000 platform_normal_stacks 2790000000000000006 l *ABS* 0000000000000000 TZ_COUNT 2800000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/plat_helpers.o 28100000000000026b8 l .text 0000000000000000 poll_mailbox 2820000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/debug.o 2830000000000004bdd l .rodata 0000000000000000 panic_msg 284000000000000275c l .text 0000000000000000 panic_common 2850000000000002784 l .text 0000000000000000 _panic_handler 2860000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/cache_helpers.o 28700000000000027c0 l .text 0000000000000000 exit_loop_civac 28800000000000027ac l .text 0000000000000000 loop_civac 28900000000000027f8 l .text 0000000000000000 exit_loop_cvac 29000000000000027e4 l .text 0000000000000000 loop_cvac 2910000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/misc_helpers.o 2920000000000002804 l F .text 00000000000000e8 zeromem_dczva 29300000000000028ec l .text 0000000000000000 m_loop16 2940000000000002904 l .text 0000000000000000 m_loop1 2950000000000002918 l .text 0000000000000000 m_end 2960000000000002920 l .text 0000000000000000 do_disable_mmu_el3 2970000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/platform_helpers.o 2980000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/pl011_console.o 29900000000000029a4 l .text 0000000000000000 core_init_fail 30000000000000029fc l .text 0000000000000000 register_fail 3010000000000002a44 l .text 0000000000000000 no_char 3020000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/enable_mmu.o 3030000000000000000 l df *ABS* 0000000000000000 memcmp.c 3040000000000000000 l df *ABS* 0000000000000000 memcpy.c 3050000000000000000 l df *ABS* 0000000000000000 memmove.c 3060000000000000000 l df *ABS* 0000000000000000 printf.c 3070000000000002b48 l F .text 00000000000000d0 unsigned_num_print 3080000000000000000 l df *ABS* 0000000000000000 putchar.c 3090000000000000000 l df *ABS* 0000000000000000 strlen.c 3100000000000000000 l df *ABS* 0000000000000000 3110000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/aem_generic.o 3120000000000000008 l *ABS* 0000000000000000 CPU_MIDR_SIZE 3130000000000000008 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC_SIZE 3140000000000000008 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC_SIZE 3150000000000000008 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC_SIZE 3160000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC_SIZE 3170000000000000000 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS_SIZE 3180000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_FUNC_SIZE 3190000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_LOCK_SIZE 3200000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED_SIZE 3210000000000000000 l *ABS* 0000000000000000 CPU_REG_DUMP_SIZE 3220000000000000000 l *ABS* 0000000000000000 CPU_MIDR 3230000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC 3240000000000000010 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC 3250000000000000018 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC 3260000000000000020 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC 3270000000000000028 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS 3280000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_FUNC 3290000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_LOCK 3300000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED 3310000000000000028 l *ABS* 0000000000000000 CPU_REG_DUMP 3320000000000000028 l *ABS* 0000000000000000 CPU_OPS_SIZE 3330000000000000000 l df *ABS* 0000000000000000 /home/test/workspace/code/optee_3.16/trusted-firmware-a/build/qemu/release/bl1/qemu_max.o 3340000000000000008 l *ABS* 0000000000000000 CPU_MIDR_SIZE 3350000000000000008 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC_SIZE 3360000000000000008 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC_SIZE 3370000000000000008 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC_SIZE 3380000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC_SIZE 3390000000000000000 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS_SIZE 3400000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_FUNC_SIZE 3410000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_LOCK_SIZE 3420000000000000000 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED_SIZE 3430000000000000000 l *ABS* 0000000000000000 CPU_REG_DUMP_SIZE 3440000000000000000 l *ABS* 0000000000000000 CPU_MIDR 3450000000000000008 l *ABS* 0000000000000000 CPU_RESET_FUNC 3460000000000000010 l *ABS* 0000000000000000 CPU_EXTRA1_FUNC 3470000000000000018 l *ABS* 0000000000000000 CPU_EXTRA2_FUNC 3480000000000000020 l *ABS* 0000000000000000 CPU_E_HANDLER_FUNC 3490000000000000028 l *ABS* 0000000000000000 CPU_PWR_DWN_OPS 3500000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_FUNC 3510000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_LOCK 3520000000000000028 l *ABS* 0000000000000000 CPU_ERRATA_PRINTED 3530000000000000028 l *ABS* 0000000000000000 CPU_REG_DUMP 3540000000000000028 l *ABS* 0000000000000000 CPU_OPS_SIZE 3550000000000003018 g F .text 000000000000002c putchar 3560000000000001008 g F .text 00000000000000c0 cm_prepare_el3_exit 3570000000000001774 g F .text 0000000000000018 console_set_scope 35800000000000013e4 g F .text 0000000000000074 plat_qemu_io_setup 359000000000e04f9c0 g .bss 0000000000000000 __PMF_TIMESTAMP_START__ 3600000000000000fd0 g F .text 0000000000000018 cm_el1_sysregs_context_restore 3610000000000001740 g F .text 0000000000000034 console_register 362000000000e056000 g coherent_ram 0000000000000000 __COHERENT_RAM_END__ 36300000000000023f0 g F .text 0000000000000020 reset_handler 36400000000000027fc g F .text 0000000000000008 zeromem 36500000000000046bc g O .rodata 0000000000000013 version_string 3660000000000002754 g F .text 0000000000000008 asm_print_newline 3670000000000001228 w F .text 0000000000000004 bl1_plat_set_ep_info 36800000000000020e8 g F .text 000000000000003c mmap_add_ctx 369000000000000167c g F .text 0000000000000004 print_entry_point_info 370000000000000012c g F .text 0000000000000010 cm_get_context 371000000000e04f788 g O .bss 0000000000000018 mmu_cfg_params 3720000000000002228 g F .text 0000000000000004 xlat_tables_print 3730000000000002a60 g F .text 0000000000000008 console_pl011_flush 3740000000000002a00 g F .text 0000000000000028 console_pl011_core_putc 375000000000000275c g F .text 0000000000000030 do_panic 376000000000000024c g F .text 0000000000000100 bl1_main 3770000000000002b14 g F .text 0000000000000034 memmove 3780000000000001a30 g F .text 000000000000007c setup_mmu_cfg 3790000000000004cf0 g *ABS* 0000000000000000 __DATA_ROM_START__ 380000000000000118c g F .text 0000000000000054 semihosting_file_write 3810000000000002664 g F .text 0000000000000008 semihosting_call 382000000000000188c w F .text 0000000000000030 plat_log_get_prefix 3830000000000002940 w F .text 0000000000000004 plat_report_exception 384000000000000469e g O .rodata 000000000000001e build_message 38500000000000028ec g F .text 0000000000000030 memcpy16 386000000000000262c g F .text 0000000000000038 el3_exit 3870000000000001af0 g F .text 000000000000003c init_xlat_tables 388000000000e04e000 g .data 0000000000000000 __DATA_START__ 3890000000000001a10 g F .text 0000000000000014 xlat_arch_regime_get_xn_desc 3900000000000002540 g F .text 000000000000007c save_gp_pmcr_pauth_regs 391000000000e056000 g xlat_table 0000000000000000 __BL1_RAM_END__ 3920000000000002af4 g F .text 0000000000000020 memcpy 3930000000000002804 g F .text 00000000000000e8 zero_normalmem 394000000000000034c g F .text 000000000000002c bl1_print_next_bl_ep_info 39500000000000026e4 g F .text 0000000000000004 platform_mem_init 3960000000000001ae0 g F .text 0000000000000010 mmap_add 397000000000000294c w F .text 0000000000000008 plat_panic_handler 3980000000000004bf8 g .rodata 0000000000000000 __RT_SVC_DESCS_START__ 399000000000e04f140 g stacks 0000000000000000 __STACKS_END__ 40000000000000027c4 g F .text 0000000000000038 clean_dcache_range 4010000000000000105 g *ABS* 0000000000000000 __DATA_SIZE__ 40200000000000018bc w F .text 0000000000000008 plat_arm_set_twedel_scr_el3 4030000000000000d50 g F .text 0000000000000020 io_size 40400000000000025bc g F .text 0000000000000070 restore_gp_pmcr_pauth_regs 405000000000e04e000 g .data 0000000000000000 __BL1_RAM_START__ 4060000000000000c0c g F .text 0000000000000018 io_dev_open 407000000000000266c w F .text 0000000000000010 plat_set_my_stack 4080000000000004bf8 g .rodata 0000000000000000 __RT_SVC_DESCS_END__ 4090000000000002724 g F .text 0000000000000030 asm_print_hex 41000000000000008a0 g *ABS* 0000000000000000 __BSS_SIZE__ 4110000000000002954 g F .text 0000000000000058 console_pl011_core_init 412000000000000270c g F .text 0000000000000018 asm_print_str 413000000000000291c g F .text 000000000000001c disable_mmu_el3 4140000000000002704 g F .text 0000000000000008 plat_crash_console_flush 415000000000000187c w F .text 0000000000000008 plat_error_handler 416000000000000178c g F .text 000000000000009c console_putc 41700000000000026a8 g F .text 0000000000000034 plat_secondary_cold_boot_setup 4180000000000000214 g F .text 0000000000000024 bl1_calc_bl2_mem_layout 41900000000000010c8 g F .text 0000000000000028 semihosting_file_open 42000000000000026e8 g F .text 0000000000000014 plat_crash_console_init 421000000000000278c g F .text 0000000000000038 flush_dcache_range 4220000000000004bf8 g .rodata 0000000000000000 __PMF_SVC_DESCS_END__ 4230000000000002c18 g F .text 0000000000000400 vprintf 4240000000000001a04 g F .text 000000000000000c is_dcache_enabled 4250000000000002684 g F .text 0000000000000010 plat_qemu_calc_core_pos 4260000000000002a30 g F .text 000000000000001c console_pl011_core_getc 4270000000000002944 w F .text 0000000000000004 plat_reset_handler 4280000000000002a68 g F .text 0000000000000058 enable_mmu_direct_el3 4290000000000002410 g F .text 0000000000000040 get_cpu_ops_ptr 43000000000000010f0 g F .text 0000000000000030 semihosting_file_seek 4310000000000000fa0 g F .text 0000000000000030 cm_init_my_context 432000000000000011c g F .text 0000000000000010 bl1_arch_setup 4330000000000001528 g F .text 0000000000000154 load_auth_image 4340000000000001234 w F .text 000000000000000c bl1_plat_get_image_desc 4350000000000001318 g F .text 0000000000000004 bl1_platform_setup 4360000000000004ce8 g .rodata 0000000000000000 __RODATA_END__ 4370000000000001a24 g F .text 000000000000000c xlat_arch_current_el 43800000000000019a4 g F .text 0000000000000014 xlat_arch_get_pas 4390000000000001240 w F .text 0000000000000048 bl1_plat_handle_post_image_load 440000000000e04e105 g .data 0000000000000000 __DATA_RAM_END__ 4410000000000000dd8 g F .text 00000000000001c8 cm_setup_context 4420000000000001200 g F .text 0000000000000020 semihosting_file_length 443000000000e04f9c0 g .bss 0000000000000000 __PMF_PERCPU_TIMESTAMP_END__ 4440000000000004000 g .rodata 0000000000000000 __RODATA_START__ 445000000000e04e105 g .data 0000000000000000 __DATA_END__ 4460000000000002728 g .text 0000000000000000 asm_print_hex_bits 4470000000000004bf8 g .rodata 0000000000000000 __CPU_OPS_START__ 4480000000000003800 g .text 0000000000000000 bl1_exceptions 44900000000000019b8 g F .text 000000000000004c tcr_physical_addr_size_bits 450000000000e04e104 g O .data 0000000000000001 console_state 4510000000000002a4c g F .text 0000000000000008 console_pl011_getc 4520000000000002a28 g F .text 0000000000000008 console_pl011_putc 4530000000000002ac0 g F .text 0000000000000034 memcmp 4540000000000002450 g F .text 0000000000000010 cpu_get_rev_var 4550000000000001bb4 g F .text 00000000000000e4 xlat_desc 4560000000000002694 g F .text 0000000000000014 plat_is_my_cpu_primary 457000000000e04f9e0 g .bss 0000000000000000 __BSS_END__ 4580000000000004ce8 g .rodata 0000000000000000 __CPU_OPS_END__ 45900000000000026dc g F .text 0000000000000008 plat_get_my_entrypoint 4600000000000000d30 g F .text 0000000000000020 io_seek 4610000000000000d90 g F .text 0000000000000048 io_close 4620000000000002948 w F .text 0000000000000004 bl1_plat_prepare_exit 46300000000000012c8 g F .text 0000000000000050 bl1_plat_arch_setup 4640000000000000fe8 g F .text 0000000000000020 cm_set_next_eret_context 465000000000e056000 g coherent_ram 0000000000000000 __COHERENT_RAM_START__ 4660000000000004ce8 g .rodata 0000000000000000 __GOT_END__ 4670000000000004bf8 g .rodata 0000000000000000 __PARSER_LIB_DESCS_END__ 4680000000000004df5 g *ABS* 0000000000000000 __BL1_ROM_END__ 4690000000000000000 g *ABS* 0000000000000000 __COHERENT_RAM_UNALIGNED_SIZE__ 4700000000000002938 g F .text 0000000000000008 disable_mmu_icache_el3 4710000000000000b68 g F .text 0000000000000038 register_io_dev_sh 4720000000000004ce8 g .rodata 0000000000000000 __GOT_START__ 473000000000000013c g F .text 00000000000000d8 bl1_prepare_next_image 4740000000000000000 g *ABS* 0000000000000000 __PERCPU_TIMESTAMP_SIZE__ 4750000000000004000 g .text 0000000000000000 __TEXT_END__ 4760000000000004bf8 g .rodata 0000000000000000 __FCONF_POPULATOR_END__ 4770000000000001220 w F .text 0000000000000008 bl1_plat_get_next_image_id 4780000000000002a54 g F .text 000000000000000c console_pl011_core_flush 4790000000000001828 g F .text 0000000000000054 console_flush 4800000000000000c24 g F .text 000000000000001c io_dev_init 4810000000000000d70 g F .text 0000000000000020 io_read 4820000000000001288 g F .text 000000000000000c bl1_plat_sec_mem_layout 4830000000000001964 g F .text 0000000000000040 qemu_console_init 48400000000000011e0 g F .text 0000000000000020 semihosting_file_close 4850000000000000238 g F .text 0000000000000014 bl1_setup 486000000000e04f140 g .bss 0000000000000000 __BSS_START__ 487000000000e04e000 g .data 0000000000000000 __DATA_RAM_START__ 4880000000000001eb8 g F .text 0000000000000230 mmap_add_region_ctx 4890000000000001884 w F .text 0000000000000008 plat_try_next_boot_source 4900000000000004bf8 g .rodata 0000000000000000 __PMF_SVC_DESCS_START__ 49100000000000026fc g F .text 0000000000000008 plat_crash_console_putc 49200000000000018c4 g F .text 00000000000000a0 qemu_configure_mmu_el3 4930000000000000c5c g F .text 00000000000000d4 io_open 4940000000000001714 g F .text 000000000000002c console_is_registered 4950000000000001458 g F .text 00000000000000d0 plat_get_image_source 4960000000000001680 g F .text 0000000000000094 tf_log 4970000000000000be4 g F .text 0000000000000028 io_register_device 49800000000000029ac g F .text 0000000000000054 console_pl011_register 4990000000000004bf8 g .rodata 0000000000000000 __FCONF_POPULATOR_START__ 5000000000000002460 g F .text 0000000000000014 cpu_rev_var_ls 501000000000e056000 g coherent_ram 0000000000000000 __COHERENT_RAM_END_UNALIGNED__ 502000000000e04e140 g stacks 0000000000000000 __STACKS_START__ 5030000000000001b2c g F .text 0000000000000048 enable_mmu_el3 5040000000000000378 g F .text 000000000000008c bl1_smc_handler 505000000000000122c w F .text 0000000000000008 bl1_plat_handle_pre_image_load 506000000000e04f9c0 g .bss 0000000000000000 __PMF_TIMESTAMP_END__ 5070000000000002124 g F .text 0000000000000100 init_xlat_tables_ctx 508000000000000267c g F .text 0000000000000008 plat_my_core_pos 50900000000000009b8 g F .text 0000000000000038 register_io_dev_memmap 5100000000000003044 g F .text 000000000000001c strlen 5110000000000000c40 g F .text 000000000000001c io_dev_close 512000000000000275c w .text 0000000000000000 el3_panic 5130000000000001294 g F .text 0000000000000034 bl1_early_platform_setup 5140000000000002224 g F .text 0000000000000004 xlat_mmap_print 515000000000000081c g F .text 0000000000000038 register_io_dev_fip 5160000000000002474 g F .text 00000000000000cc el1_sysregs_context_restore 517000000000e04f750 g O .bss 0000000000000008 console_list 5180000000000000000 g F .text 000000000000011c bl1_entrypoint 5190000000000001aac g F .text 0000000000000034 mmap_add_region 5200000000000000000 g .text 0000000000000000 __TEXT_START__ 5210000000000004bf8 g .rodata 0000000000000000 __PARSER_LIB_DESCS_START__ 5220000000000001120 g F .text 000000000000006c semihosting_file_read 523 524 525 526Disassembly of section .text: 527 5280000000000000000 <bl1_entrypoint>: 529 0: d2810600 mov x0, #0x830 // #2096 530 4: f2a618a0 movk x0, #0x30c5, lsl #16 531 8: d51e1000 msr sctlr_el3, x0 532 c: d5033fdf isb 533 10: 940009b3 bl 26dc <plat_get_my_entrypoint> 534 14: b4000040 cbz x0, 1c <do_cold_boot> 535 18: d61f0000 br x0 536 537000000000000001c <do_cold_boot>: 538 1c: 1001bf20 adr x0, 3800 <SynchronousExceptionSP0> 539 20: d51ec000 msr vbar_el3, x0 540 24: d5033fdf isb 541 28: 940008f2 bl 23f0 <reset_handler> 542 2c: d2820141 mov x1, #0x100a // #4106 543 30: d53e1000 mrs x0, sctlr_el3 544 34: aa010000 orr x0, x0, x1 545 38: d51e1000 msr sctlr_el3, x0 546 3c: d5033fdf isb 547 40: d2804700 mov x0, #0x238 // #568 548 44: d51e1100 msr scr_el3, x0 549 48: d2900000 mov x0, #0x8000 // #32768 550 4c: f2a01020 movk x0, #0x81, lsl #16 551 50: f2c00080 movk x0, #0x4, lsl #32 552 54: d5380501 mrs x1, id_aa64dfr0_el1 553 58: d368ac21 ubfx x1, x1, #40, #4 554 5c: b4000041 cbz x1, 64 <CPU_ERRATA_FUNC+0x3c> 555 60: b26d0000 orr x0, x0, #0x80000 556 64: d51e1320 msr mdcr_el3, x0 557 68: d2801c00 mov x0, #0xe0 // #224 558 6c: d51b9c00 msr pmcr_el0, x0 559 70: d50344ff msr daifclr, #0x4 560 74: d2a80000 mov x0, #0x40000000 // #1073741824 561 78: d5380501 mrs x1, id_aa64dfr0_el1 562 7c: d3441c21 ubfx x1, x1, #4, #4 563 80: b4000041 cbz x1, 88 <CPU_ERRATA_FUNC+0x60> 564 84: b26c0000 orr x0, x0, #0x100000 565 88: d51e1140 msr cptr_el3, x0 566 8c: d5380400 mrs x0, id_aa64pfr0_el1 567 90: d370cc00 ubfx x0, x0, #48, #4 568 94: f100041f cmp x0, #0x1 569 98: 54000061 b.ne a4 <CPU_ERRATA_FUNC+0x7c> // b.any 570 9c: d2a02000 mov x0, #0x1000000 // #16777216 571 a0: d51b42a0 msr dit, x0 572 a4: 9400097c bl 2694 <plat_is_my_cpu_primary> 573 a8: 35000060 cbnz w0, b4 <do_primary_cold_boot> 574 ac: 9400097f bl 26a8 <plat_secondary_cold_boot_setup> 575 b0: 940009ab bl 275c <do_panic> 576 57700000000000000b4 <do_primary_cold_boot>: 578 b4: 9400098c bl 26e4 <platform_mem_init> 579 b8: f0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 580 bc: 91050000 add x0, x0, #0x140 581 c0: f0070261 adrp x1, e04f000 <__STACKS_START__+0xec0> 582 c4: 91278021 add x1, x1, #0x9e0 583 c8: cb000021 sub x1, x1, x0 584 cc: 940009cc bl 27fc <zeromem> 585 d0: d00702a0 adrp x0, e056000 <__BL1_RAM_END__> 586 d4: 91000000 add x0, x0, #0x0 587 d8: d00702a1 adrp x1, e056000 <__BL1_RAM_END__> 588 dc: 91000021 add x1, x1, #0x0 589 e0: cb000021 sub x1, x1, x0 590 e4: 940009c6 bl 27fc <zeromem> 591 e8: d0070260 adrp x0, e04e000 <memmap_dev_info> 592 ec: 91000000 add x0, x0, #0x0 593 f0: 90000021 adrp x1, 4000 <__TEXT_END__> 594 f4: 9133c021 add x1, x1, #0xcf0 595 f8: d0070262 adrp x2, e04e000 <memmap_dev_info> 596 fc: 91041442 add x2, x2, #0x105 597 100: cb000042 sub x2, x2, x0 598 104: 940009fa bl 28ec <memcpy16> 599 108: d50040bf msr spsel, #0x0 600 10c: 94000958 bl 266c <plat_set_my_stack> 601 110: 9400004a bl 238 <bl1_setup> 602 114: 9400004e bl 24c <bl1_main> 603 118: 14000945 b 262c <el3_exit> 604 605000000000000011c <bl1_arch_setup>: 606 11c: d53e1100 mrs x0, scr_el3 607 120: b2760000 orr x0, x0, #0x400 608 124: d51e1100 msr scr_el3, x0 609 128: d65f03c0 ret 610 611000000000000012c <cm_get_context>: 612 12c: f0070261 adrp x1, e04f000 <__STACKS_START__+0xec0> 613 130: 91188021 add x1, x1, #0x620 614 134: f8605820 ldr x0, [x1, w0, uxtw #3] 615 138: d65f03c0 ret 616 617000000000000013c <bl1_prepare_next_image>: 618 13c: a9bd7bfd stp x29, x30, [sp, #-48]! 619 140: 910003fd mov x29, sp 620 144: a90153f3 stp x19, x20, [sp, #16] 621 148: a9025bf5 stp x21, x22, [sp, #32] 622 14c: d5380401 mrs x1, id_aa64pfr0_el1 623 150: d3441c21 ubfx x1, x1, #4, #4 624 154: f100043f cmp x1, #0x1 625 158: 540000c1 b.ne 170 <bl1_prepare_next_image+0x34> // b.any 626 15c: 90000020 adrp x0, 4000 <__TEXT_END__> 627 160: 911b3c00 add x0, x0, #0x6cf 628 164: 94000547 bl 1680 <tf_log> 629 168: 940005b0 bl 1828 <console_flush> 630 16c: 9400097c bl 275c <do_panic> 631 170: 2a0003f6 mov w22, w0 632 174: 94000430 bl 1234 <bl1_plat_get_image_desc> 633 178: b9402c13 ldr w19, [x0, #44] 634 17c: 9100a014 add x20, x0, #0x28 635 180: aa0003f5 mov x21, x0 636 184: f0070261 adrp x1, e04f000 <__STACKS_START__+0xec0> 637 188: 52800420 mov w0, #0x21 // #33 638 18c: 91188021 add x1, x1, #0x620 639 190: 0a000263 and w3, w19, w0 640 194: aa0303f3 mov x19, x3 641 198: f8637820 ldr x0, [x1, x3, lsl #3] 642 19c: b50000c0 cbnz x0, 1b4 <bl1_prepare_next_image+0x78> 643 1a0: f0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 644 1a4: 91050002 add x2, x0, #0x140 645 1a8: 52804e00 mov w0, #0x270 // #624 646 1ac: 9ba00860 umaddl x0, w3, w0, x2 647 1b0: f8237820 str x0, [x1, x3, lsl #3] 648 1b4: 340002d3 cbz w19, 20c <bl1_prepare_next_image+0xd0> 649 1b8: d5380400 mrs x0, id_aa64pfr0_el1 650 1bc: f2780c1f tst x0, #0xf00 651 1c0: 1a9f07e2 cset w2, ne // ne = any 652 1c4: 11000442 add w2, w2, #0x1 653 1c8: 52807820 mov w0, #0x3c1 // #961 654 1cc: aa1403e1 mov x1, x20 655 1d0: 2a020802 orr w2, w0, w2, lsl #2 656 1d4: b9001282 str w2, [x20, #16] 657 1d8: 2a1603e0 mov w0, w22 658 1dc: 94000413 bl 1228 <bl1_plat_set_ep_info> 659 1e0: aa1403e0 mov x0, x20 660 1e4: 9400036f bl fa0 <cm_init_my_context> 661 1e8: 2a1303e0 mov w0, w19 662 1ec: 94000387 bl 1008 <cm_prepare_el3_exit> 663 1f0: 52800080 mov w0, #0x4 // #4 664 1f4: b90006a0 str w0, [x21, #4] 665 1f8: aa1403e0 mov x0, x20 666 1fc: a94153f3 ldp x19, x20, [sp, #16] 667 200: a9425bf5 ldp x21, x22, [sp, #32] 668 204: a8c37bfd ldp x29, x30, [sp], #48 669 208: 1400051d b 167c <print_entry_point_info> 670 20c: 52800022 mov w2, #0x1 // #1 671 210: 17ffffee b 1c8 <bl1_prepare_next_image+0x8c> 672 6730000000000000214 <bl1_calc_bl2_mem_layout>: 674 214: aa0003e2 mov x2, x0 675 218: aa0103e0 mov x0, x1 676 21c: d29c0001 mov x1, #0xe000 // #57344 677 220: f2a1c081 movk x1, #0xe04, lsl #16 678 224: f9400042 ldr x2, [x2] 679 228: cb020021 sub x1, x1, x2 680 22c: a9000402 stp x2, x1, [x0] 681 230: d2800201 mov x1, #0x10 // #16 682 234: 14000956 b 278c <flush_dcache_range> 683 6840000000000000238 <bl1_setup>: 685 238: a9bf7bfd stp x29, x30, [sp, #-16]! 686 23c: 910003fd mov x29, sp 687 240: 94000415 bl 1294 <bl1_early_platform_setup> 688 244: a8c17bfd ldp x29, x30, [sp], #16 689 248: 14000420 b 12c8 <bl1_plat_arch_setup> 690 691000000000000024c <bl1_main>: 692 24c: a9bd7bfd stp x29, x30, [sp, #-48]! 693 250: 90000020 adrp x0, 4000 <__TEXT_END__> 694 254: 911c7c00 add x0, x0, #0x71f 695 258: 910003fd mov x29, sp 696 25c: a90153f3 stp x19, x20, [sp, #16] 697 260: 90000033 adrp x19, 4000 <__TEXT_END__> 698 264: 911cea73 add x19, x19, #0x73a 699 268: f90013f5 str x21, [sp, #32] 700 26c: 94000505 bl 1680 <tf_log> 701 270: aa1303e0 mov x0, x19 702 274: 90000021 adrp x1, 4000 <__TEXT_END__> 703 278: 911af021 add x1, x1, #0x6bc 704 27c: 94000501 bl 1680 <tf_log> 705 280: aa1303e0 mov x0, x19 706 284: 90000021 adrp x1, 4000 <__TEXT_END__> 707 288: 911a7821 add x1, x1, #0x69e 708 28c: 940004fd bl 1680 <tf_log> 709 290: 97ffffa3 bl 11c <bl1_arch_setup> 710 294: 94000421 bl 1318 <bl1_platform_setup> 711 298: 940003e2 bl 1220 <bl1_plat_get_next_image_id> 712 29c: 2a0003f3 mov w19, w0 713 2a0: 7100041f cmp w0, #0x1 714 2a4: 540004e1 b.ne 340 <bl1_main+0xf4> // b.any 715 2a8: 940003e3 bl 1234 <bl1_plat_get_image_desc> 716 2ac: 91004015 add x21, x0, #0x10 717 2b0: 2a1303e0 mov w0, w19 718 2b4: 940003de bl 122c <bl1_plat_handle_pre_image_load> 719 2b8: 2a0003f4 mov w20, w0 720 2bc: 340000c0 cbz w0, 2d4 <bl1_main+0x88> 721 2c0: 2a0003e1 mov w1, w0 722 2c4: 90000020 adrp x0, 4000 <__TEXT_END__> 723 2c8: 911d1000 add x0, x0, #0x744 724 2cc: 940004ed bl 1680 <tf_log> 725 2d0: 14000009 b 2f4 <bl1_main+0xa8> 726 2d4: aa1503e1 mov x1, x21 727 2d8: 2a1303e0 mov w0, w19 728 2dc: 94000493 bl 1528 <load_auth_image> 729 2e0: 2a0003f4 mov w20, w0 730 2e4: 340000c0 cbz w0, 2fc <bl1_main+0xb0> 731 2e8: 90000020 adrp x0, 4000 <__TEXT_END__> 732 2ec: 911dd400 add x0, x0, #0x775 733 2f0: 940004e4 bl 1680 <tf_log> 734 2f4: 2a1403e0 mov w0, w20 735 2f8: 94000561 bl 187c <plat_error_handler> 736 2fc: 2a1303e0 mov w0, w19 737 300: 940003d0 bl 1240 <bl1_plat_handle_post_image_load> 738 304: 2a0003f4 mov w20, w0 739 308: 340000a0 cbz w0, 31c <bl1_main+0xd0> 740 30c: 2a0003e1 mov w1, w0 741 310: 90000020 adrp x0, 4000 <__TEXT_END__> 742 314: 911e5000 add x0, x0, #0x794 743 318: 17ffffed b 2cc <bl1_main+0x80> 744 31c: 90000020 adrp x0, 4000 <__TEXT_END__> 745 320: 911f1800 add x0, x0, #0x7c6 746 324: 940004d7 bl 1680 <tf_log> 747 328: 2a1303e0 mov w0, w19 748 32c: 97ffff84 bl 13c <bl1_prepare_next_image> 749 330: a94153f3 ldp x19, x20, [sp, #16] 750 334: f94013f5 ldr x21, [sp, #32] 751 338: a8c37bfd ldp x29, x30, [sp], #48 752 33c: 1400053b b 1828 <console_flush> 753 340: 90000020 adrp x0, 4000 <__TEXT_END__> 754 344: 911f6400 add x0, x0, #0x7d9 755 348: 17fffff7 b 324 <bl1_main+0xd8> 756 757000000000000034c <bl1_print_next_bl_ep_info>: 758 34c: a9be7bfd stp x29, x30, [sp, #-32]! 759 350: 910003fd mov x29, sp 760 354: f9000bf3 str x19, [sp, #16] 761 358: aa0003f3 mov x19, x0 762 35c: 90000020 adrp x0, 4000 <__TEXT_END__> 763 360: 91201800 add x0, x0, #0x806 764 364: 940004c7 bl 1680 <tf_log> 765 368: aa1303e0 mov x0, x19 766 36c: f9400bf3 ldr x19, [sp, #16] 767 370: a8c27bfd ldp x29, x30, [sp], #32 768 374: 140004c2 b 167c <print_entry_point_info> 769 7700000000000000378 <bl1_smc_handler>: 771 378: a9be7bfd stp x29, x30, [sp, #-32]! 772 37c: 910003fd mov x29, sp 773 380: f9000bf3 str x19, [sp, #16] 774 384: aa0603f3 mov x19, x6 775 388: 7100041f cmp w0, #0x1 776 38c: 54000160 b.eq 3b8 <bl1_smc_handler+0x40> // b.none 777 390: 2a0003e1 mov w1, w0 778 394: 71000c1f cmp w0, #0x3 779 398: 54000280 b.eq 3e8 <bl1_smc_handler+0x70> // b.none 780 39c: 350002a0 cbnz w0, 3f0 <bl1_smc_handler+0x78> 781 3a0: d2800080 mov x0, #0x4 // #4 782 3a4: f9000260 str x0, [x19] 783 3a8: aa1303e0 mov x0, x19 784 3ac: f9400bf3 ldr x19, [sp, #16] 785 3b0: a8c27bfd ldp x29, x30, [sp], #32 786 3b4: d65f03c0 ret 787 3b8: d29e9ac0 mov x0, #0xf4d6 // #62678 788 3bc: f2a95760 movk x0, #0x4abb, lsl #16 789 3c0: f9000cc0 str x0, [x6, #24] 790 3c4: d28eb6a0 mov x0, #0x75b5 // #30133 791 3c8: f2a2ace0 movk x0, #0x1567, lsl #16 792 3cc: f90008c0 str x0, [x6, #16] 793 3d0: d28e5960 mov x0, #0x72cb // #29387 794 3d4: f2a9b340 movk x0, #0x4d9a, lsl #16 795 3d8: f90004c0 str x0, [x6, #8] 796 3dc: d28cfa80 mov x0, #0x67d4 // #26580 797 3e0: f2bfa720 movk x0, #0xfd39, lsl #16 798 3e4: 17fffff0 b 3a4 <bl1_smc_handler+0x2c> 799 3e8: d2800020 mov x0, #0x1 // #1 800 3ec: 17ffffee b 3a4 <bl1_smc_handler+0x2c> 801 3f0: 90000020 adrp x0, 4000 <__TEXT_END__> 802 3f4: 91206800 add x0, x0, #0x81a 803 3f8: 940004a2 bl 1680 <tf_log> 804 3fc: 92800000 mov x0, #0xffffffffffffffff // #-1 805 400: 17ffffe9 b 3a4 <bl1_smc_handler+0x2c> 806 8070000000000000404 <device_type_fip>: 808 404: 52800080 mov w0, #0x4 // #4 809 408: d65f03c0 ret 810 811000000000000040c <fip_file_len>: 812 40c: f9400400 ldr x0, [x0, #8] 813 410: f9401000 ldr x0, [x0, #32] 814 414: f9000020 str x0, [x1] 815 418: 52800000 mov w0, #0x0 // #0 816 41c: d65f03c0 ret 817 8180000000000000420 <fip_file_close>: 819 420: a9be7bfd stp x29, x30, [sp, #-32]! 820 424: f0070261 adrp x1, e04f000 <__STACKS_START__+0xec0> 821 428: 910003fd mov x29, sp 822 42c: f9000bf3 str x19, [sp, #16] 823 430: aa0003f3 mov x19, x0 824 434: 91190020 add x0, x1, #0x640 825 438: f9400c01 ldr x1, [x0, #24] 826 43c: b4000061 cbz x1, 448 <fip_file_close+0x28> 827 440: d2800601 mov x1, #0x30 // #48 828 444: 940008ee bl 27fc <zeromem> 829 448: f900067f str xzr, [x19, #8] 830 44c: 52800000 mov w0, #0x0 // #0 831 450: f9400bf3 ldr x19, [sp, #16] 832 454: a8c27bfd ldp x29, x30, [sp], #32 833 458: d65f03c0 ret 834 835000000000000045c <fip_dev_init>: 836 45c: a9bb7bfd stp x29, x30, [sp, #-80]! 837 460: 910003fd mov x29, sp 838 464: a90153f3 stp x19, x20, [sp, #16] 839 468: aa0103f3 mov x19, x1 840 46c: f0070274 adrp x20, e04f000 <__STACKS_START__+0xec0> 841 470: 9118c281 add x1, x20, #0x630 842 474: a9025bf5 stp x21, x22, [sp, #32] 843 478: f0070275 adrp x21, e04f000 <__STACKS_START__+0xec0> 844 47c: 9118e2a2 add x2, x21, #0x638 845 480: f9400416 ldr x22, [x0, #8] 846 484: 2a1303e0 mov w0, w19 847 488: 940003f4 bl 1458 <plat_get_image_source> 848 48c: 34000180 cbz w0, 4bc <fip_dev_init+0x60> 849 490: 2a0003e2 mov w2, w0 850 494: 2a1303e1 mov w1, w19 851 498: 90000020 adrp x0, 4000 <__TEXT_END__> 852 49c: 9120f400 add x0, x0, #0x83d 853 4a0: 12800033 mov w19, #0xfffffffe // #-2 854 4a4: 94000477 bl 1680 <tf_log> 855 4a8: 2a1303e0 mov w0, w19 856 4ac: a94153f3 ldp x19, x20, [sp, #16] 857 4b0: a9425bf5 ldp x21, x22, [sp, #32] 858 4b4: a8c57bfd ldp x29, x30, [sp], #80 859 4b8: d65f03c0 ret 860 4bc: f9431ea1 ldr x1, [x21, #1592] 861 4c0: 9100c3e2 add x2, sp, #0x30 862 4c4: f9431a80 ldr x0, [x20, #1584] 863 4c8: 940001e5 bl c5c <io_open> 864 4cc: 2a0003e2 mov w2, w0 865 4d0: 340000a0 cbz w0, 4e4 <fip_dev_init+0x88> 866 4d4: 90000020 adrp x0, 4000 <__TEXT_END__> 867 4d8: 2a1303e1 mov w1, w19 868 4dc: 9121b800 add x0, x0, #0x86e 869 4e0: 17fffff0 b 4a0 <fip_dev_init+0x44> 870 4e4: f9401be0 ldr x0, [sp, #48] 871 4e8: 9100e3e3 add x3, sp, #0x38 872 4ec: 910103e1 add x1, sp, #0x40 873 4f0: d2800202 mov x2, #0x10 // #16 874 4f4: 9400021f bl d70 <io_read> 875 4f8: 2a0003f3 mov w19, w0 876 4fc: 35000140 cbnz w0, 524 <fip_dev_init+0xc8> 877 500: b94043e1 ldr w1, [sp, #64] 878 504: 52800020 mov w0, #0x1 // #1 879 508: 72b54c80 movk w0, #0xaa64, lsl #16 880 50c: 6b00003f cmp w1, w0 881 510: 54000101 b.ne 530 <fip_dev_init+0xd4> // b.any 882 514: b94047e0 ldr w0, [sp, #68] 883 518: 340000c0 cbz w0, 530 <fip_dev_init+0xd4> 884 51c: b9404fe0 ldr w0, [sp, #76] 885 520: 790012c0 strh w0, [x22, #8] 886 524: f9401be0 ldr x0, [sp, #48] 887 528: 9400021a bl d90 <io_close> 888 52c: 17ffffdf b 4a8 <fip_dev_init+0x4c> 889 530: 90000020 adrp x0, 4000 <__TEXT_END__> 890 534: 12800033 mov w19, #0xfffffffe // #-2 891 538: 91224800 add x0, x0, #0x892 892 53c: 94000451 bl 1680 <tf_log> 893 540: 17fffff9 b 524 <fip_dev_init+0xc8> 894 8950000000000000544 <fip_file_read>: 896 544: a9bc7bfd stp x29, x30, [sp, #-64]! 897 548: 910003fd mov x29, sp 898 54c: a90153f3 stp x19, x20, [sp, #16] 899 550: aa0003f4 mov x20, x0 900 554: f0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 901 558: aa0103f3 mov x19, x1 902 55c: a9025bf5 stp x21, x22, [sp, #32] 903 560: aa0203f6 mov x22, x2 904 564: f9431c01 ldr x1, [x0, #1592] 905 568: f0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 906 56c: aa0303f5 mov x21, x3 907 570: 9100e3e2 add x2, sp, #0x38 908 574: f9431800 ldr x0, [x0, #1584] 909 578: 940001b9 bl c5c <io_open> 910 57c: 34000160 cbz w0, 5a8 <fip_file_read+0x64> 911 580: 12800033 mov w19, #0xfffffffe // #-2 912 584: 2a0003e1 mov w1, w0 913 588: 90000020 adrp x0, 4000 <__TEXT_END__> 914 58c: 91230000 add x0, x0, #0x8c0 915 590: 9400043c bl 1680 <tf_log> 916 594: 2a1303e0 mov w0, w19 917 598: a94153f3 ldp x19, x20, [sp, #16] 918 59c: a9425bf5 ldp x21, x22, [sp, #32] 919 5a0: a8c47bfd ldp x29, x30, [sp], #64 920 5a4: d65f03c0 ret 921 5a8: f9400694 ldr x20, [x20, #8] 922 5ac: 52800021 mov w1, #0x1 // #1 923 5b0: f9400e80 ldr x0, [x20, #24] 924 5b4: b9400282 ldr w2, [x20] 925 5b8: 8b000042 add x2, x2, x0 926 5bc: f9401fe0 ldr x0, [sp, #56] 927 5c0: 940001dc bl d30 <io_seek> 928 5c4: 34000100 cbz w0, 5e4 <fip_file_read+0xa0> 929 5c8: 90000020 adrp x0, 4000 <__TEXT_END__> 930 5cc: 91236800 add x0, x0, #0x8da 931 5d0: 9400042c bl 1680 <tf_log> 932 5d4: 12800033 mov w19, #0xfffffffe // #-2 933 5d8: f9401fe0 ldr x0, [sp, #56] 934 5dc: 940001ed bl d90 <io_close> 935 5e0: 17ffffed b 594 <fip_file_read+0x50> 936 5e4: f9401fe0 ldr x0, [sp, #56] 937 5e8: aa1303e1 mov x1, x19 938 5ec: 9100c3e3 add x3, sp, #0x30 939 5f0: aa1603e2 mov x2, x22 940 5f4: 940001df bl d70 <io_read> 941 5f8: 2a0003f3 mov w19, w0 942 5fc: 340000c0 cbz w0, 614 <fip_file_read+0xd0> 943 600: 2a0003e1 mov w1, w0 944 604: 90000020 adrp x0, 4000 <__TEXT_END__> 945 608: 9123e800 add x0, x0, #0x8fa 946 60c: 9400041d bl 1680 <tf_log> 947 610: 17fffff1 b 5d4 <fip_file_read+0x90> 948 614: f9401be1 ldr x1, [sp, #48] 949 618: b9400280 ldr w0, [x20] 950 61c: f90002a1 str x1, [x21] 951 620: 0b010000 add w0, w0, w1 952 624: b9000280 str w0, [x20] 953 628: 17ffffec b 5d8 <fip_file_read+0x94> 954 955000000000000062c <fip_dev_open>: 956 62c: f0070266 adrp x6, e04f000 <__STACKS_START__+0xec0> 957 630: aa0003e4 mov x4, x0 958 634: b94980c0 ldr w0, [x6, #2432] 959 638: 34000060 cbz w0, 644 <fip_dev_open+0x18> 960 63c: 12800160 mov w0, #0xfffffff4 // #-12 961 640: d65f03c0 ret 962 644: f0070263 adrp x3, e04f000 <__STACKS_START__+0xec0> 963 648: 12800022 mov w2, #0xfffffffe // #-2 964 64c: f0070267 adrp x7, e04f000 <__STACKS_START__+0xec0> 965 650: 9119c0e5 add x5, x7, #0x670 966 654: f9434060 ldr x0, [x3, #1664] 967 658: f100001f cmp x0, #0x0 968 65c: 1a8203e0 csel w0, wzr, w2, eq // eq = none 969 660: 90000022 adrp x2, 4000 <__TEXT_END__> 970 664: 91002042 add x2, x2, #0x8 971 668: f90338e2 str x2, [x7, #1648] 972 66c: 911a0062 add x2, x3, #0x680 973 670: f90004a2 str x2, [x5, #8] 974 674: 52800022 mov w2, #0x1 // #1 975 678: b90980c2 str w2, [x6, #2432] 976 67c: 35fffe00 cbnz w0, 63c <fip_dev_open+0x10> 977 680: f9034064 str x4, [x3, #1664] 978 684: f9000025 str x5, [x1] 979 688: 17ffffee b 640 <fip_dev_open+0x14> 980 981000000000000068c <fip_file_open>: 982 68c: a9bb7bfd stp x29, x30, [sp, #-80]! 983 690: 910003fd mov x29, sp 984 694: a90153f3 stp x19, x20, [sp, #16] 985 698: f0070274 adrp x20, e04f000 <__STACKS_START__+0xec0> 986 69c: 91190294 add x20, x20, #0x640 987 6a0: a9025bf5 stp x21, x22, [sp, #32] 988 6a4: f9400e80 ldr x0, [x20, #24] 989 6a8: a90363f7 stp x23, x24, [sp, #48] 990 6ac: b4000160 cbz x0, 6d8 <fip_file_open+0x4c> 991 6b0: 128002d3 mov w19, #0xffffffe9 // #-23 992 6b4: 90000020 adrp x0, 4000 <__TEXT_END__> 993 6b8: 91246000 add x0, x0, #0x918 994 6bc: 940003f1 bl 1680 <tf_log> 995 6c0: 2a1303e0 mov w0, w19 996 6c4: a94153f3 ldp x19, x20, [sp, #16] 997 6c8: a9425bf5 ldp x21, x22, [sp, #32] 998 6cc: a94363f7 ldp x23, x24, [sp, #48] 999 6d0: a8c57bfd ldp x29, x30, [sp], #80 1000 6d4: d65f03c0 ret 1001 6d8: f0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 1002 6dc: aa0103f8 mov x24, x1 1003 6e0: aa0203f5 mov x21, x2 1004 6e4: 910103e2 add x2, sp, #0x40 1005 6e8: f9431c01 ldr x1, [x0, #1592] 1006 6ec: f0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 1007 6f0: f9431800 ldr x0, [x0, #1584] 1008 6f4: 9400015a bl c5c <io_open> 1009 6f8: 2a0003e1 mov w1, w0 1010 6fc: 340000c0 cbz w0, 714 <fip_file_open+0x88> 1011 700: 90000020 adrp x0, 4000 <__TEXT_END__> 1012 704: 12800033 mov w19, #0xfffffffe // #-2 1013 708: 91252000 add x0, x0, #0x948 1014 70c: 940003dd bl 1680 <tf_log> 1015 710: 17ffffec b 6c0 <fip_file_open+0x34> 1016 714: f94023e0 ldr x0, [sp, #64] 1017 718: d2800202 mov x2, #0x10 // #16 1018 71c: 52800021 mov w1, #0x1 // #1 1019 720: 94000184 bl d30 <io_seek> 1020 724: 35000280 cbnz w0, 774 <fip_file_open+0xe8> 1021 728: 90000037 adrp x23, 4000 <__TEXT_END__> 1022 72c: 91002296 add x22, x20, #0x8 1023 730: 9126bef7 add x23, x23, #0x9af 1024 734: f94023e0 ldr x0, [sp, #64] 1025 738: 910123e3 add x3, sp, #0x48 1026 73c: aa1603e1 mov x1, x22 1027 740: d2800502 mov x2, #0x28 // #40 1028 744: 9400018b bl d70 <io_read> 1029 748: 2a0003f3 mov w19, w0 1030 74c: 350001e0 cbnz w0, 788 <fip_file_open+0xfc> 1031 750: aa1803e1 mov x1, x24 1032 754: aa1603e0 mov x0, x22 1033 758: d2800202 mov x2, #0x10 // #16 1034 75c: 940008d9 bl 2ac0 <memcmp> 1035 760: 2a0003f3 mov w19, w0 1036 764: 35000200 cbnz w0, 7a4 <fip_file_open+0x118> 1037 768: b900029f str wzr, [x20] 1038 76c: f90006b4 str x20, [x21, #8] 1039 770: 1400000a b 798 <fip_file_open+0x10c> 1040 774: 90000020 adrp x0, 4000 <__TEXT_END__> 1041 778: 9125d400 add x0, x0, #0x975 1042 77c: 940003c1 bl 1680 <tf_log> 1043 780: 12800033 mov w19, #0xfffffffe // #-2 1044 784: 14000005 b 798 <fip_file_open+0x10c> 1045 788: 2a0003e1 mov w1, w0 1046 78c: 90000020 adrp x0, 4000 <__TEXT_END__> 1047 790: 91265400 add x0, x0, #0x995 1048 794: 940003bb bl 1680 <tf_log> 1049 798: f94023e0 ldr x0, [sp, #64] 1050 79c: 9400017d bl d90 <io_close> 1051 7a0: 17ffffc8 b 6c0 <fip_file_open+0x34> 1052 7a4: aa1703e1 mov x1, x23 1053 7a8: aa1603e0 mov x0, x22 1054 7ac: d2800202 mov x2, #0x10 // #16 1055 7b0: 940008c4 bl 2ac0 <memcmp> 1056 7b4: 35fffc00 cbnz w0, 734 <fip_file_open+0xa8> 1057 7b8: f9000e9f str xzr, [x20, #24] 1058 7bc: 17fffff1 b 780 <fip_file_open+0xf4> 1059 106000000000000007c0 <fip_dev_close>: 1061 7c0: f0070261 adrp x1, e04f000 <__STACKS_START__+0xec0> 1062 7c4: f9400400 ldr x0, [x0, #8] 1063 7c8: f903183f str xzr, [x1, #1584] 1064 7cc: f0070261 adrp x1, e04f000 <__STACKS_START__+0xec0> 1065 7d0: f9031c3f str xzr, [x1, #1592] 1066 7d4: f0070261 adrp x1, e04f000 <__STACKS_START__+0xec0> 1067 7d8: f9434022 ldr x2, [x1, #1664] 1068 7dc: f9400001 ldr x1, [x0] 1069 7e0: eb01005f cmp x2, x1 1070 7e4: 54000181 b.ne 814 <fip_dev_close+0x54> // b.any 1071 7e8: a9bf7bfd stp x29, x30, [sp, #-16]! 1072 7ec: d2800201 mov x1, #0x10 // #16 1073 7f0: 910003fd mov x29, sp 1074 7f4: 94000802 bl 27fc <zeromem> 1075 7f8: f0070261 adrp x1, e04f000 <__STACKS_START__+0xec0> 1076 7fc: a8c17bfd ldp x29, x30, [sp], #16 1077 800: b9498020 ldr w0, [x1, #2432] 1078 804: 51000400 sub w0, w0, #0x1 1079 808: b9098020 str w0, [x1, #2432] 1080 80c: 52800000 mov w0, #0x0 // #0 1081 810: d65f03c0 ret 1082 814: 12800020 mov w0, #0xfffffffe // #-2 1083 818: d65f03c0 ret 1084 1085000000000000081c <register_io_dev_fip>: 1086 81c: a9be7bfd stp x29, x30, [sp, #-32]! 1087 820: 910003fd mov x29, sp 1088 824: f9000bf3 str x19, [sp, #16] 1089 828: aa0003f3 mov x19, x0 1090 82c: f0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 1091 830: 9119c000 add x0, x0, #0x670 1092 834: 940000ec bl be4 <io_register_device> 1093 838: 35000080 cbnz w0, 848 <register_io_dev_fip+0x2c> 1094 83c: 90000021 adrp x1, 4000 <__TEXT_END__> 1095 840: 91000021 add x1, x1, #0x0 1096 844: f9000261 str x1, [x19] 1097 848: f9400bf3 ldr x19, [sp, #16] 1098 84c: a8c27bfd ldp x29, x30, [sp], #32 1099 850: d65f03c0 ret 1100 11010000000000000854 <device_type_memmap>: 1102 854: 52800040 mov w0, #0x2 // #2 1103 858: d65f03c0 ret 1104 1105000000000000085c <memmap_dev_open>: 1106 85c: d0070260 adrp x0, e04e000 <memmap_dev_info> 1107 860: 91000000 add x0, x0, #0x0 1108 864: f9000020 str x0, [x1] 1109 868: 52800000 mov w0, #0x0 // #0 1110 86c: d65f03c0 ret 1111 11120000000000000870 <memmap_dev_close>: 1113 870: 52800000 mov w0, #0x0 // #0 1114 874: d65f03c0 ret 1115 11160000000000000878 <memmap_block_seek>: 1117 878: 7100043f cmp w1, #0x1 1118 87c: 540000a1 b.ne 890 <memmap_block_seek+0x18> // b.any 1119 880: f9400400 ldr x0, [x0, #8] 1120 884: f9000802 str x2, [x0, #16] 1121 888: 52800000 mov w0, #0x0 // #0 1122 88c: d65f03c0 ret 1123 890: 12800020 mov w0, #0xfffffffe // #-2 1124 894: 17fffffe b 88c <memmap_block_seek+0x14> 1125 11260000000000000898 <memmap_block_len>: 1127 898: f9400400 ldr x0, [x0, #8] 1128 89c: f9400c00 ldr x0, [x0, #24] 1129 8a0: f9000020 str x0, [x1] 1130 8a4: 52800000 mov w0, #0x0 // #0 1131 8a8: d65f03c0 ret 1132 113300000000000008ac <memmap_block_close>: 1134 8ac: a9bf7bfd stp x29, x30, [sp, #-16]! 1135 8b0: d2800401 mov x1, #0x20 // #32 1136 8b4: 910003fd mov x29, sp 1137 8b8: f900041f str xzr, [x0, #8] 1138 8bc: f0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 1139 8c0: 911a4000 add x0, x0, #0x690 1140 8c4: 940007ce bl 27fc <zeromem> 1141 8c8: 52800000 mov w0, #0x0 // #0 1142 8cc: a8c17bfd ldp x29, x30, [sp], #16 1143 8d0: d65f03c0 ret 1144 114500000000000008d4 <memmap_block_write>: 1146 8d4: a9bd7bfd stp x29, x30, [sp, #-48]! 1147 8d8: 910003fd mov x29, sp 1148 8dc: a90153f3 stp x19, x20, [sp, #16] 1149 8e0: aa0203f3 mov x19, x2 1150 8e4: f9400414 ldr x20, [x0, #8] 1151 8e8: a9025bf5 stp x21, x22, [sp, #32] 1152 8ec: aa0303f5 mov x21, x3 1153 8f0: a9408283 ldp x3, x0, [x20, #8] 1154 8f4: 8b020016 add x22, x0, x2 1155 8f8: 8b030000 add x0, x0, x3 1156 8fc: 9400087e bl 2af4 <memcpy> 1157 900: f90002b3 str x19, [x21] 1158 904: f9000a96 str x22, [x20, #16] 1159 908: 52800000 mov w0, #0x0 // #0 1160 90c: a94153f3 ldp x19, x20, [sp, #16] 1161 910: a9425bf5 ldp x21, x22, [sp, #32] 1162 914: a8c37bfd ldp x29, x30, [sp], #48 1163 918: d65f03c0 ret 1164 1165000000000000091c <memmap_block_read>: 1166 91c: a9bd7bfd stp x29, x30, [sp, #-48]! 1167 920: aa0003e4 mov x4, x0 1168 924: aa0103e0 mov x0, x1 1169 928: 910003fd mov x29, sp 1170 92c: a90153f3 stp x19, x20, [sp, #16] 1171 930: aa0203f3 mov x19, x2 1172 934: f9400494 ldr x20, [x4, #8] 1173 938: a9025bf5 stp x21, x22, [sp, #32] 1174 93c: aa0303f5 mov x21, x3 1175 940: a9408683 ldp x3, x1, [x20, #8] 1176 944: 8b020036 add x22, x1, x2 1177 948: 8b030021 add x1, x1, x3 1178 94c: 9400086a bl 2af4 <memcpy> 1179 950: f90002b3 str x19, [x21] 1180 954: f9000a96 str x22, [x20, #16] 1181 958: 52800000 mov w0, #0x0 // #0 1182 95c: a94153f3 ldp x19, x20, [sp, #16] 1183 960: a9425bf5 ldp x21, x22, [sp, #32] 1184 964: a8c37bfd ldp x29, x30, [sp], #48 1185 968: d65f03c0 ret 1186 1187000000000000096c <memmap_block_open>: 1188 96c: f0070264 adrp x4, e04f000 <__STACKS_START__+0xec0> 1189 970: b9469080 ldr w0, [x4, #1680] 1190 974: 35000120 cbnz w0, 998 <memmap_block_open+0x2c> 1191 978: 911a4083 add x3, x4, #0x690 1192 97c: 52800025 mov w5, #0x1 // #1 1193 980: b9069085 str w5, [x4, #1680] 1194 984: a9400424 ldp x4, x1, [x1] 1195 988: a900fc64 stp x4, xzr, [x3, #8] 1196 98c: f9000c61 str x1, [x3, #24] 1197 990: f9000443 str x3, [x2, #8] 1198 994: d65f03c0 ret 1199 998: a9bf7bfd stp x29, x30, [sp, #-16]! 1200 99c: 90000020 adrp x0, 4000 <__TEXT_END__> 1201 9a0: 9126fc00 add x0, x0, #0x9bf 1202 9a4: 910003fd mov x29, sp 1203 9a8: 94000336 bl 1680 <tf_log> 1204 9ac: 12800160 mov w0, #0xfffffff4 // #-12 1205 9b0: a8c17bfd ldp x29, x30, [sp], #16 1206 9b4: d65f03c0 ret 1207 120800000000000009b8 <register_io_dev_memmap>: 1209 9b8: a9be7bfd stp x29, x30, [sp, #-32]! 1210 9bc: 910003fd mov x29, sp 1211 9c0: f9000bf3 str x19, [sp, #16] 1212 9c4: aa0003f3 mov x19, x0 1213 9c8: d0070260 adrp x0, e04e000 <memmap_dev_info> 1214 9cc: 91000000 add x0, x0, #0x0 1215 9d0: 94000085 bl be4 <io_register_device> 1216 9d4: 35000080 cbnz w0, 9e4 <register_io_dev_memmap+0x2c> 1217 9d8: 90000021 adrp x1, 4000 <__TEXT_END__> 1218 9dc: 91014021 add x1, x1, #0x50 1219 9e0: f9000261 str x1, [x19] 1220 9e4: f9400bf3 ldr x19, [sp, #16] 1221 9e8: a8c27bfd ldp x29, x30, [sp], #32 1222 9ec: d65f03c0 ret 1223 122400000000000009f0 <device_type_sh>: 1225 9f0: 52800020 mov w0, #0x1 // #1 1226 9f4: d65f03c0 ret 1227 122800000000000009f8 <sh_dev_open>: 1229 9f8: d0070260 adrp x0, e04e000 <memmap_dev_info> 1230 9fc: 91004000 add x0, x0, #0x10 1231 a00: f9000020 str x0, [x1] 1232 a04: 52800000 mov w0, #0x0 // #0 1233 a08: d65f03c0 ret 1234 12350000000000000a0c <sh_file_close>: 1236 a0c: a9bf7bfd stp x29, x30, [sp, #-16]! 1237 a10: 910003fd mov x29, sp 1238 a14: f9400400 ldr x0, [x0, #8] 1239 a18: 940001f2 bl 11e0 <semihosting_file_close> 1240 a1c: f100001f cmp x0, #0x0 1241 a20: a8c17bfd ldp x29, x30, [sp], #16 1242 a24: 12800020 mov w0, #0xfffffffe // #-2 1243 a28: 1a9fb000 csel w0, w0, wzr, lt // lt = tstop 1244 a2c: d65f03c0 ret 1245 12460000000000000a30 <sh_file_write>: 1247 a30: a9bd7bfd stp x29, x30, [sp, #-48]! 1248 a34: 910003fd mov x29, sp 1249 a38: f9400400 ldr x0, [x0, #8] 1250 a3c: a90153f3 stp x19, x20, [sp, #16] 1251 a40: aa0303f4 mov x20, x3 1252 a44: aa0203f3 mov x19, x2 1253 a48: aa0103e2 mov x2, x1 1254 a4c: 9100a3e1 add x1, sp, #0x28 1255 a50: f90017f3 str x19, [sp, #40] 1256 a54: 940001ce bl 118c <semihosting_file_write> 1257 a58: f100001f cmp x0, #0x0 1258 a5c: f94017e2 ldr x2, [sp, #40] 1259 a60: 12800020 mov w0, #0xfffffffe // #-2 1260 a64: 1a9f1000 csel w0, w0, wzr, ne // ne = any 1261 a68: cb020273 sub x19, x19, x2 1262 a6c: f9000293 str x19, [x20] 1263 a70: a94153f3 ldp x19, x20, [sp, #16] 1264 a74: a8c37bfd ldp x29, x30, [sp], #48 1265 a78: d65f03c0 ret 1266 12670000000000000a7c <sh_file_read>: 1268 a7c: a9bd7bfd stp x29, x30, [sp, #-48]! 1269 a80: 910003fd mov x29, sp 1270 a84: f9400400 ldr x0, [x0, #8] 1271 a88: f9000bf3 str x19, [sp, #16] 1272 a8c: aa0303f3 mov x19, x3 1273 a90: f90017e2 str x2, [sp, #40] 1274 a94: aa0103e2 mov x2, x1 1275 a98: 9100a3e1 add x1, sp, #0x28 1276 a9c: 940001a1 bl 1120 <semihosting_file_read> 1277 aa0: b7f800e0 tbnz x0, #63, abc <sh_file_read+0x40> 1278 aa4: f94017e0 ldr x0, [sp, #40] 1279 aa8: f9000260 str x0, [x19] 1280 aac: 52800000 mov w0, #0x0 // #0 1281 ab0: f9400bf3 ldr x19, [sp, #16] 1282 ab4: a8c37bfd ldp x29, x30, [sp], #48 1283 ab8: d65f03c0 ret 1284 abc: 12800020 mov w0, #0xfffffffe // #-2 1285 ac0: 17fffffc b ab0 <sh_file_read+0x34> 1286 12870000000000000ac4 <sh_file_len>: 1288 ac4: a9be7bfd stp x29, x30, [sp, #-32]! 1289 ac8: 910003fd mov x29, sp 1290 acc: f9400400 ldr x0, [x0, #8] 1291 ad0: f9000bf3 str x19, [sp, #16] 1292 ad4: aa0103f3 mov x19, x1 1293 ad8: 940001ca bl 1200 <semihosting_file_length> 1294 adc: b7f800c0 tbnz x0, #63, af4 <sh_file_len+0x30> 1295 ae0: f9000260 str x0, [x19] 1296 ae4: 52800000 mov w0, #0x0 // #0 1297 ae8: f9400bf3 ldr x19, [sp, #16] 1298 aec: a8c27bfd ldp x29, x30, [sp], #32 1299 af0: d65f03c0 ret 1300 af4: 12800020 mov w0, #0xfffffffe // #-2 1301 af8: 17fffffc b ae8 <sh_file_len+0x24> 1302 13030000000000000afc <sh_file_seek>: 1304 afc: a9bf7bfd stp x29, x30, [sp, #-16]! 1305 b00: aa0203e1 mov x1, x2 1306 b04: 910003fd mov x29, sp 1307 b08: f9400400 ldr x0, [x0, #8] 1308 b0c: 94000179 bl 10f0 <semihosting_file_seek> 1309 b10: f100001f cmp x0, #0x0 1310 b14: a8c17bfd ldp x29, x30, [sp], #16 1311 b18: 12800020 mov w0, #0xfffffffe // #-2 1312 b1c: 1a9f1000 csel w0, w0, wzr, ne // ne = any 1313 b20: d65f03c0 ret 1314 13150000000000000b24 <sh_file_open>: 1316 b24: aa0103e0 mov x0, x1 1317 b28: a9be7bfd stp x29, x30, [sp, #-32]! 1318 b2c: 910003fd mov x29, sp 1319 b30: b9400821 ldr w1, [x1, #8] 1320 b34: f9400000 ldr x0, [x0] 1321 b38: f9000bf3 str x19, [sp, #16] 1322 b3c: aa0203f3 mov x19, x2 1323 b40: 94000162 bl 10c8 <semihosting_file_open> 1324 b44: f100001f cmp x0, #0x0 1325 b48: 540000cd b.le b60 <sh_file_open+0x3c> 1326 b4c: f9000660 str x0, [x19, #8] 1327 b50: 52800000 mov w0, #0x0 // #0 1328 b54: f9400bf3 ldr x19, [sp, #16] 1329 b58: a8c27bfd ldp x29, x30, [sp], #32 1330 b5c: d65f03c0 ret 1331 b60: 12800020 mov w0, #0xfffffffe // #-2 1332 b64: 17fffffc b b54 <sh_file_open+0x30> 1333 13340000000000000b68 <register_io_dev_sh>: 1335 b68: a9be7bfd stp x29, x30, [sp, #-32]! 1336 b6c: 910003fd mov x29, sp 1337 b70: f9000bf3 str x19, [sp, #16] 1338 b74: aa0003f3 mov x19, x0 1339 b78: d0070260 adrp x0, e04e000 <memmap_dev_info> 1340 b7c: 91004000 add x0, x0, #0x10 1341 b80: 94000019 bl be4 <io_register_device> 1342 b84: 35000080 cbnz w0, b94 <register_io_dev_sh+0x2c> 1343 b88: 90000021 adrp x1, 4000 <__TEXT_END__> 1344 b8c: 91028021 add x1, x1, #0xa0 1345 b90: f9000261 str x1, [x19] 1346 b94: f9400bf3 ldr x19, [sp, #16] 1347 b98: a8c27bfd ldp x29, x30, [sp], #32 1348 b9c: d65f03c0 ret 1349 13500000000000000ba0 <free_entity.isra.0>: 1351 ba0: f0070262 adrp x2, e04f000 <__STACKS_START__+0xec0> 1352 ba4: 911ac042 add x2, x2, #0x6b0 1353 ba8: d2800001 mov x1, #0x0 // #0 1354 bac: f8617844 ldr x4, [x2, x1, lsl #3] 1355 bb0: 2a0103e3 mov w3, w1 1356 bb4: eb04001f cmp x0, x4 1357 bb8: 540000a0 b.eq bcc <free_entity.isra.0+0x2c> // b.none 1358 bbc: 91000421 add x1, x1, #0x1 1359 bc0: f100103f cmp x1, #0x4 1360 bc4: 54ffff41 b.ne bac <free_entity.isra.0+0xc> // b.any 1361 bc8: d65f03c0 ret 1362 bcc: f0070261 adrp x1, e04f000 <__STACKS_START__+0xec0> 1363 bd0: f823585f str xzr, [x2, w3, uxtw #3] 1364 bd4: b9498820 ldr w0, [x1, #2440] 1365 bd8: 51000400 sub w0, w0, #0x1 1366 bdc: b9098820 str w0, [x1, #2440] 1367 be0: 17fffffa b bc8 <free_entity.isra.0+0x28> 1368 13690000000000000be4 <io_register_device>: 1370 be4: f0070261 adrp x1, e04f000 <__STACKS_START__+0xec0> 1371 be8: b9498420 ldr w0, [x1, #2436] 1372 bec: 71000c1f cmp w0, #0x3 1373 bf0: 540000a8 b.hi c04 <io_register_device+0x20> // b.pmore 1374 bf4: 11000400 add w0, w0, #0x1 1375 bf8: b9098420 str w0, [x1, #2436] 1376 bfc: 52800000 mov w0, #0x0 // #0 1377 c00: d65f03c0 ret 1378 c04: 12800160 mov w0, #0xfffffff4 // #-12 1379 c08: 17fffffe b c00 <io_register_device+0x1c> 1380 13810000000000000c0c <io_dev_open>: 1382 c0c: aa0003e3 mov x3, x0 1383 c10: aa0103e0 mov x0, x1 1384 c14: aa0203e1 mov x1, x2 1385 c18: f9400063 ldr x3, [x3] 1386 c1c: aa0303f0 mov x16, x3 1387 c20: d61f0200 br x16 1388 13890000000000000c24 <io_dev_init>: 1390 c24: f9400002 ldr x2, [x0] 1391 c28: f9401c42 ldr x2, [x2, #56] 1392 c2c: b4000062 cbz x2, c38 <io_dev_init+0x14> 1393 c30: aa0203f0 mov x16, x2 1394 c34: d61f0200 br x16 1395 c38: 52800000 mov w0, #0x0 // #0 1396 c3c: d65f03c0 ret 1397 13980000000000000c40 <io_dev_close>: 1399 c40: f9400001 ldr x1, [x0] 1400 c44: f9402021 ldr x1, [x1, #64] 1401 c48: b4000061 cbz x1, c54 <io_dev_close+0x14> 1402 c4c: aa0103f0 mov x16, x1 1403 c50: d61f0200 br x16 1404 c54: 52800000 mov w0, #0x0 // #0 1405 c58: d65f03c0 ret 1406 14070000000000000c5c <io_open>: 1408 c5c: a9bc7bfd stp x29, x30, [sp, #-64]! 1409 c60: 910003fd mov x29, sp 1410 c64: a90153f3 stp x19, x20, [sp, #16] 1411 c68: aa0003f3 mov x19, x0 1412 c6c: f0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 1413 c70: a9025bf5 stp x21, x22, [sp, #32] 1414 c74: b9498804 ldr w4, [x0, #2440] 1415 c78: f9001bf7 str x23, [sp, #48] 1416 c7c: 71000c9f cmp w4, #0x3 1417 c80: 54000548 b.hi d28 <io_open+0xcc> // b.pmore 1418 c84: f0070266 adrp x6, e04f000 <__STACKS_START__+0xec0> 1419 c88: aa0203f6 mov x22, x2 1420 c8c: 911ac0c6 add x6, x6, #0x6b0 1421 c90: aa0003e3 mov x3, x0 1422 c94: d2800000 mov x0, #0x0 // #0 1423 c98: f86078c5 ldr x5, [x6, x0, lsl #3] 1424 c9c: 2a0003e2 mov w2, w0 1425 ca0: b40003a5 cbz x5, d14 <io_open+0xb8> 1426 ca4: 91000400 add x0, x0, #0x1 1427 ca8: f100101f cmp x0, #0x4 1428 cac: 54ffff61 b.ne c98 <io_open+0x3c> // b.any 1429 cb0: 52800002 mov w2, #0x0 // #0 1430 cb4: 12800025 mov w5, #0xfffffffe // #-2 1431 cb8: d37c7c57 ubfiz x23, x2, #4, #32 1432 cbc: f0070275 adrp x21, e04f000 <__STACKS_START__+0xec0> 1433 cc0: 911b42b5 add x21, x21, #0x6d0 1434 cc4: 11000484 add w4, w4, #0x1 1435 cc8: 8b1702b4 add x20, x21, x23 1436 ccc: b9098864 str w4, [x3, #2440] 1437 cd0: f82258d4 str x20, [x6, w2, uxtw #3] 1438 cd4: 35000145 cbnz w5, cfc <io_open+0xa0> 1439 cd8: f9400260 ldr x0, [x19] 1440 cdc: aa1403e2 mov x2, x20 1441 ce0: f9400403 ldr x3, [x0, #8] 1442 ce4: aa1303e0 mov x0, x19 1443 ce8: d63f0060 blr x3 1444 cec: 2a0003e5 mov w5, w0 1445 cf0: 35000160 cbnz w0, d1c <io_open+0xc0> 1446 cf4: f8376ab3 str x19, [x21, x23] 1447 cf8: f90002d4 str x20, [x22] 1448 cfc: 2a0503e0 mov w0, w5 1449 d00: a94153f3 ldp x19, x20, [sp, #16] 1450 d04: a9425bf5 ldp x21, x22, [sp, #32] 1451 d08: f9401bf7 ldr x23, [sp, #48] 1452 d0c: a8c47bfd ldp x29, x30, [sp], #64 1453 d10: d65f03c0 ret 1454 d14: 52800005 mov w5, #0x0 // #0 1455 d18: 17ffffe8 b cb8 <io_open+0x5c> 1456 d1c: aa1403e0 mov x0, x20 1457 d20: 97ffffa0 bl ba0 <free_entity.isra.0> 1458 d24: 17fffff6 b cfc <io_open+0xa0> 1459 d28: 12800165 mov w5, #0xfffffff4 // #-12 1460 d2c: 17fffff4 b cfc <io_open+0xa0> 1461 14620000000000000d30 <io_seek>: 1463 d30: f9400003 ldr x3, [x0] 1464 d34: f9400063 ldr x3, [x3] 1465 d38: f9400863 ldr x3, [x3, #16] 1466 d3c: b4000063 cbz x3, d48 <io_seek+0x18> 1467 d40: aa0303f0 mov x16, x3 1468 d44: d61f0200 br x16 1469 d48: 12800240 mov w0, #0xffffffed // #-19 1470 d4c: d65f03c0 ret 1471 14720000000000000d50 <io_size>: 1473 d50: f9400002 ldr x2, [x0] 1474 d54: f9400042 ldr x2, [x2] 1475 d58: f9400c42 ldr x2, [x2, #24] 1476 d5c: b4000062 cbz x2, d68 <io_size+0x18> 1477 d60: aa0203f0 mov x16, x2 1478 d64: d61f0200 br x16 1479 d68: 12800240 mov w0, #0xffffffed // #-19 1480 d6c: d65f03c0 ret 1481 14820000000000000d70 <io_read>: 1483 d70: f9400004 ldr x4, [x0] 1484 d74: f9400084 ldr x4, [x4] 1485 d78: f9401084 ldr x4, [x4, #32] 1486 d7c: b4000064 cbz x4, d88 <io_read+0x18> 1487 d80: aa0403f0 mov x16, x4 1488 d84: d61f0200 br x16 1489 d88: 12800240 mov w0, #0xffffffed // #-19 1490 d8c: d65f03c0 ret 1491 14920000000000000d90 <io_close>: 1493 d90: a9be7bfd stp x29, x30, [sp, #-32]! 1494 d94: 910003fd mov x29, sp 1495 d98: f9400001 ldr x1, [x0] 1496 d9c: f9400021 ldr x1, [x1] 1497 da0: f9401821 ldr x1, [x1, #48] 1498 da4: f9000bf3 str x19, [sp, #16] 1499 da8: aa0003f3 mov x19, x0 1500 dac: b4000121 cbz x1, dd0 <io_close+0x40> 1501 db0: d63f0020 blr x1 1502 db4: 2a0003e5 mov w5, w0 1503 db8: aa1303e0 mov x0, x19 1504 dbc: 97ffff79 bl ba0 <free_entity.isra.0> 1505 dc0: 2a0503e0 mov w0, w5 1506 dc4: f9400bf3 ldr x19, [sp, #16] 1507 dc8: a8c27bfd ldp x29, x30, [sp], #32 1508 dcc: d65f03c0 ret 1509 dd0: 52800005 mov w5, #0x0 // #0 1510 dd4: 17fffff9 b db8 <io_close+0x28> 1511 15120000000000000dd8 <cm_setup_context>: 1513 dd8: a9bd7bfd stp x29, x30, [sp, #-48]! 1514 ddc: 910003fd mov x29, sp 1515 de0: a90153f3 stp x19, x20, [sp, #16] 1516 de4: b9400434 ldr w20, [x1, #4] 1517 de8: a9025bf5 stp x21, x22, [sp, #32] 1518 dec: aa0103f6 mov x22, x1 1519 df0: 52800421 mov w1, #0x21 // #33 1520 df4: aa0003f5 mov x21, x0 1521 df8: 0a010294 and w20, w20, w1 1522 dfc: d2804e01 mov x1, #0x270 // #624 1523 e00: 9400067f bl 27fc <zeromem> 1524 e04: d53e1113 mrs x19, scr_el3 1525 e08: 9281a0e0 mov x0, #0xfffffffffffff2f8 // #-3336 1526 e0c: 8a000273 and x19, x19, x0 1527 e10: 7100069f cmp w20, #0x1 1528 e14: 54000041 b.ne e1c <cm_setup_context+0x44> // b.any 1529 e18: b2400273 orr x19, x19, #0x1 1530 e1c: b94012c0 ldr w0, [x22, #16] 1531 e20: d3441003 ubfx x3, x0, #4, #1 1532 e24: 37200040 tbnz w0, #4, e2c <cm_setup_context+0x54> 1533 e28: b2760273 orr x19, x19, #0x400 1534 e2c: b94006c2 ldr w2, [x22, #4] 1535 e30: 36100042 tbz w2, #2, e38 <cm_setup_context+0x60> 1536 e34: b2750273 orr x19, x19, #0x800 1537 e38: 927cfa73 and x19, x19, #0xfffffffffffffff7 1538 e3c: 7100069f cmp w20, #0x1 1539 e40: 54000041 b.ne e48 <cm_setup_context+0x70> // b.any 1540 e44: b2700673 orr x19, x19, #0x30000 1541 e48: d5380421 mrs x1, id_aa64pfr1_el1 1542 e4c: 53082c21 ubfx w1, w1, #8, #4 1543 e50: 7100043f cmp w1, #0x1 1544 e54: 540000c0 b.eq e6c <cm_setup_context+0x94> // b.none 1545 e58: 51000821 sub w1, w1, #0x2 1546 e5c: 7100043f cmp w1, #0x1 1547 e60: 54000088 b.hi e70 <cm_setup_context+0x98> // b.pmore 1548 e64: 7100069f cmp w20, #0x1 1549 e68: 54000041 b.ne e70 <cm_setup_context+0x98> // b.any 1550 e6c: b2660273 orr x19, x19, #0x4000000 1551 e70: d53e1141 mrs x1, cptr_el3 1552 e74: f9009ea1 str x1, [x21, #312] 1553 e78: 35000243 cbnz w3, ec0 <cm_setup_context+0xe8> 1554 e7c: d3420c01 ubfx x1, x0, #2, #2 1555 e80: 7100083f cmp w1, #0x2 1556 e84: 540003a1 b.ne ef8 <cm_setup_context+0x120> // b.any 1557 e88: d5380704 mrs x4, id_aa64mmfr0_el1 1558 e8c: d2802001 mov x1, #0x100 // #256 1559 e90: d378ec84 ubfx x4, x4, #56, #4 1560 e94: b2780265 orr x5, x19, #0x100 1561 e98: f100049f cmp x4, #0x1 1562 e9c: f2a10001 movk x1, #0x800, lsl #16 1563 ea0: aa010273 orr x19, x19, x1 1564 ea4: 9a850273 csel x19, x19, x5, eq // eq = none 1565 ea8: d5380701 mrs x1, id_aa64mmfr0_el1 1566 eac: d37cfc21 lsr x1, x1, #60 1567 eb0: f100083f cmp x1, #0x2 1568 eb4: 540000c1 b.ne ecc <cm_setup_context+0xf4> // b.any 1569 eb8: b2640273 orr x19, x19, #0x10000000 1570 ebc: 14000004 b ecc <cm_setup_context+0xf4> 1571 ec0: 12000c01 and w1, w0, #0xf 1572 ec4: 7100283f cmp w1, #0xa 1573 ec8: 54fffe00 b.eq e88 <cm_setup_context+0xb0> // b.none 1574 ecc: 35000174 cbnz w20, ef8 <cm_setup_context+0x120> 1575 ed0: d3420c00 ubfx x0, x0, #2, #2 1576 ed4: 7100081f cmp w0, #0x2 1577 ed8: 54000101 b.ne ef8 <cm_setup_context+0x120> // b.any 1578 edc: b26e0273 orr x19, x19, #0x40000 1579 ee0: 340000c3 cbz w3, ef8 <cm_setup_context+0x120> 1580 ee4: 90000020 adrp x0, 4000 <__TEXT_END__> 1581 ee8: 9127c400 add x0, x0, #0x9f1 1582 eec: 940001e5 bl 1680 <tf_log> 1583 ef0: 9400024e bl 1828 <console_flush> 1584 ef4: 9400061a bl 275c <do_panic> 1585 ef8: d5380400 mrs x0, id_aa64pfr0_el1 1586 efc: d36cfc00 lsr x0, x0, #44 1587 f00: f27f081f tst x0, #0xe 1588 f04: 540000a0 b.eq f18 <cm_setup_context+0x140> // b.none 1589 f08: d5380400 mrs x0, id_aa64pfr0_el1 1590 f0c: f2780c1f tst x0, #0xf00 1591 f10: 54000040 b.eq f18 <cm_setup_context+0x140> // b.none 1592 f14: b25d0273 orr x19, x19, #0x800000000 1593 f18: d3687c42 ubfiz x2, x2, #24, #32 1594 f1c: d2810014 mov x20, #0x800 // #2048 1595 f20: 92670042 and x2, x2, #0x2000000 1596 f24: d2810700 mov x0, #0x838 // #2104 1597 f28: 7100007f cmp w3, #0x0 1598 f2c: f2a018a0 movk x0, #0xc5, lsl #16 1599 f30: f2a61a14 movk x20, #0x30d0, lsl #16 1600 f34: aa140054 orr x20, x2, x20 1601 f38: aa000042 orr x2, x2, x0 1602 f3c: 9a941054 csel x20, x2, x20, ne // ne = any 1603 f40: d5380720 mrs x0, id_aa64mmfr1_el1 1604 f44: d3608c00 ubfx x0, x0, #32, #4 1605 f48: f100041f cmp x0, #0x1 1606 f4c: 540000c1 b.ne f64 <cm_setup_context+0x18c> // b.any 1607 f50: 9400025b bl 18bc <plat_arm_set_twedel_scr_el3> 1608 f54: 3100041f cmn w0, #0x1 1609 f58: 54000060 b.eq f64 <cm_setup_context+0x18c> // b.none 1610 f5c: b3620c13 bfi x19, x0, #30, #4 1611 f60: b2630273 orr x19, x19, #0x20000000 1612 f64: f900b2b4 str x20, [x21, #352] 1613 f68: d5381020 mrs x0, actlr_el1 1614 f6c: f94006c1 ldr x1, [x22, #8] 1615 f70: f90092a1 str x1, [x21, #288] 1616 f74: b94012c1 ldr w1, [x22, #16] 1617 f78: d2800802 mov x2, #0x40 // #64 1618 f7c: f90082b3 str x19, [x21, #256] 1619 f80: f900daa0 str x0, [x21, #432] 1620 f84: aa1503e0 mov x0, x21 1621 f88: a94153f3 ldp x19, x20, [sp, #16] 1622 f8c: f9008ea1 str x1, [x21, #280] 1623 f90: 910062c1 add x1, x22, #0x18 1624 f94: a9425bf5 ldp x21, x22, [sp, #32] 1625 f98: a8c37bfd ldp x29, x30, [sp], #48 1626 f9c: 140006d6 b 2af4 <memcpy> 1627 16280000000000000fa0 <cm_init_my_context>: 1629 fa0: a9be7bfd stp x29, x30, [sp, #-32]! 1630 fa4: 910003fd mov x29, sp 1631 fa8: f9000bf3 str x19, [sp, #16] 1632 fac: aa0003f3 mov x19, x0 1633 fb0: 52800420 mov w0, #0x21 // #33 1634 fb4: b9400661 ldr w1, [x19, #4] 1635 fb8: 0a000020 and w0, w1, w0 1636 fbc: 97fffc5c bl 12c <cm_get_context> 1637 fc0: aa1303e1 mov x1, x19 1638 fc4: f9400bf3 ldr x19, [sp, #16] 1639 fc8: a8c27bfd ldp x29, x30, [sp], #32 1640 fcc: 17ffff83 b dd8 <cm_setup_context> 1641 16420000000000000fd0 <cm_el1_sysregs_context_restore>: 1643 fd0: a9bf7bfd stp x29, x30, [sp, #-16]! 1644 fd4: 910003fd mov x29, sp 1645 fd8: 97fffc55 bl 12c <cm_get_context> 1646 fdc: 91054000 add x0, x0, #0x150 1647 fe0: a8c17bfd ldp x29, x30, [sp], #16 1648 fe4: 14000524 b 2474 <el1_sysregs_context_restore> 1649 16500000000000000fe8 <cm_set_next_eret_context>: 1651 fe8: a9bf7bfd stp x29, x30, [sp, #-16]! 1652 fec: 910003fd mov x29, sp 1653 ff0: 97fffc4f bl 12c <cm_get_context> 1654 ff4: d50041bf msr spsel, #0x1 1655 ff8: 9100001f mov sp, x0 1656 ffc: d50040bf msr spsel, #0x0 1657 1000: a8c17bfd ldp x29, x30, [sp], #16 1658 1004: d65f03c0 ret 1659 16600000000000001008 <cm_prepare_el3_exit>: 1661 1008: a9be7bfd stp x29, x30, [sp, #-32]! 1662 100c: 910003fd mov x29, sp 1663 1010: f9000bf3 str x19, [sp, #16] 1664 1014: 2a0003f3 mov w19, w0 1665 1018: 97fffc45 bl 12c <cm_get_context> 1666 101c: 7100067f cmp w19, #0x1 1667 1020: 54000141 b.ne 1048 <cm_prepare_el3_exit+0x40> // b.any 1668 1024: f9408001 ldr x1, [x0, #256] 1669 1028: 92780022 and x2, x1, #0x100 1670 102c: 364001a1 tbz w1, #8, 1060 <cm_prepare_el3_exit+0x58> 1671 1030: f940b000 ldr x0, [x0, #352] 1672 1034: d2810601 mov x1, #0x830 // #2096 1673 1038: f2a618a1 movk x1, #0x30c5, lsl #16 1674 103c: 92670000 and x0, x0, #0x2000000 1675 1040: aa010000 orr x0, x0, x1 1676 1044: d51c1000 msr sctlr_el2, x0 1677 1048: 2a1303e0 mov w0, w19 1678 104c: 97ffffe1 bl fd0 <cm_el1_sysregs_context_restore> 1679 1050: 2a1303e0 mov w0, w19 1680 1054: f9400bf3 ldr x19, [sp, #16] 1681 1058: a8c27bfd ldp x29, x30, [sp], #32 1682 105c: 17ffffe3 b fe8 <cm_set_next_eret_context> 1683 1060: d5380400 mrs x0, id_aa64pfr0_el1 1684 1064: f2780c1f tst x0, #0xf00 1685 1068: 54ffff00 b.eq 1048 <cm_prepare_el3_exit+0x40> // b.none 1686 106c: f2760021 ands x1, x1, #0x400 1687 1070: d2b00000 mov x0, #0x80000000 // #2147483648 1688 1074: 9a800021 csel x1, x1, x0, eq // eq = none 1689 1078: b2580421 orr x1, x1, #0x30000000000 1690 107c: d51c1101 msr hcr_el2, x1 1691 1080: d2867fe0 mov x0, #0x33ff // #13311 1692 1084: d51c1140 msr cptr_el2, x0 1693 1088: d2800060 mov x0, #0x3 // #3 1694 108c: d51ce100 msr cnthctl_el2, x0 1695 1090: d51ce062 msr cntvoff_el2, x2 1696 1094: d5380000 mrs x0, midr_el1 1697 1098: d51c0000 msr vpidr_el2, x0 1698 109c: d53800a0 mrs x0, mpidr_el1 1699 10a0: d51c00a0 msr vmpidr_el2, x0 1700 10a4: d51c2102 msr vttbr_el2, x2 1701 10a8: d53b9c00 mrs x0, pmcr_el0 1702 10ac: d34b3c00 ubfx x0, x0, #11, #5 1703 10b0: d2a08041 mov x1, #0x4020000 // #67239936 1704 10b4: aa010000 orr x0, x0, x1 1705 10b8: d51c1120 msr mdcr_el2, x0 1706 10bc: d51c1162 msr hstr_el2, x2 1707 10c0: d51ce222 msr cnthp_ctl_el2, x2 1708 10c4: 17ffffe1 b 1048 <cm_prepare_el3_exit+0x40> 1709 171000000000000010c8 <semihosting_file_open>: 1711 10c8: a9bd7bfd stp x29, x30, [sp, #-48]! 1712 10cc: 910003fd mov x29, sp 1713 10d0: a90187e0 stp x0, x1, [sp, #24] 1714 10d4: 940007dc bl 3044 <strlen> 1715 10d8: 910063e1 add x1, sp, #0x18 1716 10dc: f90017e0 str x0, [sp, #40] 1717 10e0: d2800020 mov x0, #0x1 // #1 1718 10e4: 94000560 bl 2664 <semihosting_call> 1719 10e8: a8c37bfd ldp x29, x30, [sp], #48 1720 10ec: d65f03c0 ret 1721 172200000000000010f0 <semihosting_file_seek>: 1723 10f0: a9be7bfd stp x29, x30, [sp, #-32]! 1724 10f4: 910003fd mov x29, sp 1725 10f8: a90107e0 stp x0, x1, [sp, #16] 1726 10fc: 910043e1 add x1, sp, #0x10 1727 1100: d2800140 mov x0, #0xa // #10 1728 1104: 94000558 bl 2664 <semihosting_call> 1729 1108: b4000080 cbz x0, 1118 <semihosting_file_seek+0x28> 1730 110c: d2800001 mov x1, #0x0 // #0 1731 1110: d2800260 mov x0, #0x13 // #19 1732 1114: 94000554 bl 2664 <semihosting_call> 1733 1118: a8c27bfd ldp x29, x30, [sp], #32 1734 111c: d65f03c0 ret 1735 17360000000000001120 <semihosting_file_read>: 1737 1120: f100003f cmp x1, #0x0 1738 1124: fa401844 ccmp x2, #0x0, #0x4, ne // ne = any 1739 1128: 540000e1 b.ne 1144 <semihosting_file_read+0x24> // b.any 1740 112c: 928002a0 mov x0, #0xffffffffffffffea // #-22 1741 1130: d65f03c0 ret 1742 1134: 928002a0 mov x0, #0xffffffffffffffea // #-22 1743 1138: f9400bf3 ldr x19, [sp, #16] 1744 113c: a8c47bfd ldp x29, x30, [sp], #64 1745 1140: d65f03c0 ret 1746 1144: a9bc7bfd stp x29, x30, [sp, #-64]! 1747 1148: 910003fd mov x29, sp 1748 114c: f9000bf3 str x19, [sp, #16] 1749 1150: aa0103f3 mov x19, x1 1750 1154: a9028be0 stp x0, x2, [sp, #40] 1751 1158: 9100a3e1 add x1, sp, #0x28 1752 115c: f9400260 ldr x0, [x19] 1753 1160: f9001fe0 str x0, [sp, #56] 1754 1164: d28000c0 mov x0, #0x6 // #6 1755 1168: 9400053f bl 2664 <semihosting_call> 1756 116c: f9400261 ldr x1, [x19] 1757 1170: eb00003f cmp x1, x0 1758 1174: 54fffe00 b.eq 1134 <semihosting_file_read+0x14> // b.none 1759 1178: 54fffe09 b.ls 1138 <semihosting_file_read+0x18> // b.plast 1760 117c: cb000020 sub x0, x1, x0 1761 1180: f9000260 str x0, [x19] 1762 1184: d2800000 mov x0, #0x0 // #0 1763 1188: 17ffffec b 1138 <semihosting_file_read+0x18> 1764 1765000000000000118c <semihosting_file_write>: 1766 118c: f100003f cmp x1, #0x0 1767 1190: fa401844 ccmp x2, #0x0, #0x4, ne // ne = any 1768 1194: 54000220 b.eq 11d8 <semihosting_file_write+0x4c> // b.none 1769 1198: a9bc7bfd stp x29, x30, [sp, #-64]! 1770 119c: 910003fd mov x29, sp 1771 11a0: f9000bf3 str x19, [sp, #16] 1772 11a4: aa0103f3 mov x19, x1 1773 11a8: a9028be0 stp x0, x2, [sp, #40] 1774 11ac: 9100a3e1 add x1, sp, #0x28 1775 11b0: f9400260 ldr x0, [x19] 1776 11b4: f9001fe0 str x0, [sp, #56] 1777 11b8: d28000a0 mov x0, #0x5 // #5 1778 11bc: 9400052a bl 2664 <semihosting_call> 1779 11c0: f9000260 str x0, [x19] 1780 11c4: b4000040 cbz x0, 11cc <semihosting_file_write+0x40> 1781 11c8: 928002a0 mov x0, #0xffffffffffffffea // #-22 1782 11cc: f9400bf3 ldr x19, [sp, #16] 1783 11d0: a8c47bfd ldp x29, x30, [sp], #64 1784 11d4: d65f03c0 ret 1785 11d8: 928002a0 mov x0, #0xffffffffffffffea // #-22 1786 11dc: d65f03c0 ret 1787 178800000000000011e0 <semihosting_file_close>: 1789 11e0: a9be7bfd stp x29, x30, [sp, #-32]! 1790 11e4: 910003fd mov x29, sp 1791 11e8: 910063e1 add x1, sp, #0x18 1792 11ec: f9000fe0 str x0, [sp, #24] 1793 11f0: d2800040 mov x0, #0x2 // #2 1794 11f4: 9400051c bl 2664 <semihosting_call> 1795 11f8: a8c27bfd ldp x29, x30, [sp], #32 1796 11fc: d65f03c0 ret 1797 17980000000000001200 <semihosting_file_length>: 1799 1200: a9be7bfd stp x29, x30, [sp, #-32]! 1800 1204: 910003fd mov x29, sp 1801 1208: 910063e1 add x1, sp, #0x18 1802 120c: f9000fe0 str x0, [sp, #24] 1803 1210: d2800180 mov x0, #0xc // #12 1804 1214: 94000514 bl 2664 <semihosting_call> 1805 1218: a8c27bfd ldp x29, x30, [sp], #32 1806 121c: d65f03c0 ret 1807 18080000000000001220 <bl1_plat_get_next_image_id>: 1809 1220: 52800020 mov w0, #0x1 // #1 1810 1224: d65f03c0 ret 1811 18120000000000001228 <bl1_plat_set_ep_info>: 1813 1228: d65f03c0 ret 1814 1815000000000000122c <bl1_plat_handle_pre_image_load>: 1816 122c: 52800000 mov w0, #0x0 // #0 1817 1230: d65f03c0 ret 1818 18190000000000001234 <bl1_plat_get_image_desc>: 1820 1234: b0070260 adrp x0, e04e000 <memmap_dev_info> 1821 1238: 91008000 add x0, x0, #0x20 1822 123c: d65f03c0 ret 1823 18240000000000001240 <bl1_plat_handle_post_image_load>: 1825 1240: 7100041f cmp w0, #0x1 1826 1244: 540001e1 b.ne 1280 <bl1_plat_handle_post_image_load+0x40> // b.any 1827 1248: a9be7bfd stp x29, x30, [sp, #-32]! 1828 124c: 910003fd mov x29, sp 1829 1250: a90153f3 stp x19, x20, [sp, #16] 1830 1254: 97fffff8 bl 1234 <bl1_plat_get_image_desc> 1831 1258: aa0003f3 mov x19, x0 1832 125c: 9400000b bl 1288 <bl1_plat_sec_mem_layout> 1833 1260: f9400014 ldr x20, [x0] 1834 1264: aa1403e1 mov x1, x20 1835 1268: 97fffbeb bl 214 <bl1_calc_bl2_mem_layout> 1836 126c: f9002674 str x20, [x19, #72] 1837 1270: 52800000 mov w0, #0x0 // #0 1838 1274: a94153f3 ldp x19, x20, [sp, #16] 1839 1278: a8c27bfd ldp x29, x30, [sp], #32 1840 127c: d65f03c0 ret 1841 1280: 52800000 mov w0, #0x0 // #0 1842 1284: d65f03c0 ret 1843 18440000000000001288 <bl1_plat_sec_mem_layout>: 1845 1288: d0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 1846 128c: 911c4000 add x0, x0, #0x710 1847 1290: d65f03c0 ret 1848 18490000000000001294 <bl1_early_platform_setup>: 1850 1294: a9bf7bfd stp x29, x30, [sp, #-16]! 1851 1298: 910003fd mov x29, sp 1852 129c: 940001b2 bl 1964 <qemu_console_init> 1853 12a0: d0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 1854 12a4: 911c4001 add x1, x0, #0x710 1855 12a8: d2820002 mov x2, #0x1000 // #4096 1856 12ac: f2a1c002 movk x2, #0xe00, lsl #16 1857 12b0: f9038802 str x2, [x0, #1808] 1858 12b4: d29e0000 mov x0, #0xf000 // #61440 1859 12b8: f2a000a0 movk x0, #0x5, lsl #16 1860 12bc: f9000420 str x0, [x1, #8] 1861 12c0: a8c17bfd ldp x29, x30, [sp], #16 1862 12c4: d65f03c0 ret 1863 186400000000000012c8 <bl1_plat_arch_setup>: 1865 12c8: d0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 1866 12cc: 911c4001 add x1, x0, #0x710 1867 12d0: f0000005 adrp x5, 4000 <__TEXT_END__> 1868 12d4: 9137d4a5 add x5, x5, #0xdf5 1869 12d8: f9438800 ldr x0, [x0, #1808] 1870 12dc: d10004a5 sub x5, x5, #0x1 1871 12e0: f9400421 ldr x1, [x1, #8] 1872 12e4: b2402ca5 orr x5, x5, #0xfff 1873 12e8: 910004a5 add x5, x5, #0x1 1874 12ec: b00702a7 adrp x7, e056000 <__BL1_RAM_END__> 1875 12f0: b00702a6 adrp x6, e056000 <__BL1_RAM_END__> 1876 12f4: 910000e7 add x7, x7, #0x0 1877 12f8: 910000c6 add x6, x6, #0x0 1878 12fc: f0000004 adrp x4, 4000 <__TEXT_END__> 1879 1300: f0000003 adrp x3, 4000 <__TEXT_END__> 1880 1304: 91000084 add x4, x4, #0x0 1881 1308: 91000063 add x3, x3, #0x0 1882 130c: f0ffffe2 adrp x2, 0 <bl1_entrypoint> 1883 1310: 91000042 add x2, x2, #0x0 1884 1314: 1400016c b 18c4 <qemu_configure_mmu_el3> 1885 18860000000000001318 <bl1_platform_setup>: 1887 1318: 14000033 b 13e4 <plat_qemu_io_setup> 1888 1889000000000000131c <open_fip>: 1890 131c: a9bc7bfd stp x29, x30, [sp, #-64]! 1891 1320: d2800001 mov x1, #0x0 // #0 1892 1324: 910003fd mov x29, sp 1893 1328: f90013f5 str x21, [sp, #32] 1894 132c: d0070275 adrp x21, e04f000 <__STACKS_START__+0xec0> 1895 1330: a90153f3 stp x19, x20, [sp, #16] 1896 1334: aa0003f4 mov x20, x0 1897 1338: f94396a0 ldr x0, [x21, #1832] 1898 133c: 97fffe3a bl c24 <io_dev_init> 1899 1340: 7100001f cmp w0, #0x0 1900 1344: 2a0003f3 mov w19, w0 1901 1348: fa400a84 ccmp x20, #0x0, #0x4, eq // eq = none 1902 134c: 54000120 b.eq 1370 <open_fip+0x54> // b.none 1903 1350: f94396a0 ldr x0, [x21, #1832] 1904 1354: 9100e3e2 add x2, sp, #0x38 1905 1358: aa1403e1 mov x1, x20 1906 135c: 97fffe40 bl c5c <io_open> 1907 1360: 2a0003f3 mov w19, w0 1908 1364: 35000060 cbnz w0, 1370 <open_fip+0x54> 1909 1368: f9401fe0 ldr x0, [sp, #56] 1910 136c: 97fffe89 bl d90 <io_close> 1911 1370: 2a1303e0 mov w0, w19 1912 1374: a94153f3 ldp x19, x20, [sp, #16] 1913 1378: f94013f5 ldr x21, [sp, #32] 1914 137c: a8c47bfd ldp x29, x30, [sp], #64 1915 1380: d65f03c0 ret 1916 19170000000000001384 <open_memmap>: 1918 1384: a9bc7bfd stp x29, x30, [sp, #-64]! 1919 1388: d2800001 mov x1, #0x0 // #0 1920 138c: 910003fd mov x29, sp 1921 1390: f90013f5 str x21, [sp, #32] 1922 1394: d0070275 adrp x21, e04f000 <__STACKS_START__+0xec0> 1923 1398: a90153f3 stp x19, x20, [sp, #16] 1924 139c: aa0003f4 mov x20, x0 1925 13a0: f9439ea0 ldr x0, [x21, #1848] 1926 13a4: 97fffe20 bl c24 <io_dev_init> 1927 13a8: 2a0003f3 mov w19, w0 1928 13ac: 35000120 cbnz w0, 13d0 <open_memmap+0x4c> 1929 13b0: f9439ea0 ldr x0, [x21, #1848] 1930 13b4: 9100e3e2 add x2, sp, #0x38 1931 13b8: aa1403e1 mov x1, x20 1932 13bc: 97fffe28 bl c5c <io_open> 1933 13c0: 2a0003f3 mov w19, w0 1934 13c4: 35000060 cbnz w0, 13d0 <open_memmap+0x4c> 1935 13c8: f9401fe0 ldr x0, [sp, #56] 1936 13cc: 97fffe71 bl d90 <io_close> 1937 13d0: 2a1303e0 mov w0, w19 1938 13d4: a94153f3 ldp x19, x20, [sp, #16] 1939 13d8: f94013f5 ldr x21, [sp, #32] 1940 13dc: a8c47bfd ldp x29, x30, [sp], #64 1941 13e0: d65f03c0 ret 1942 194300000000000013e4 <plat_qemu_io_setup>: 1944 13e4: a9be7bfd stp x29, x30, [sp, #-32]! 1945 13e8: 910003fd mov x29, sp 1946 13ec: a90153f3 stp x19, x20, [sp, #16] 1947 13f0: d0070274 adrp x20, e04f000 <__STACKS_START__+0xec0> 1948 13f4: 911c8280 add x0, x20, #0x720 1949 13f8: 97fffd09 bl 81c <register_io_dev_fip> 1950 13fc: d0070273 adrp x19, e04f000 <__STACKS_START__+0xec0> 1951 1400: 911cc260 add x0, x19, #0x730 1952 1404: 97fffd6d bl 9b8 <register_io_dev_memmap> 1953 1408: f9439280 ldr x0, [x20, #1824] 1954 140c: d2800001 mov x1, #0x0 // #0 1955 1410: d0070262 adrp x2, e04f000 <__STACKS_START__+0xec0> 1956 1414: 911ca042 add x2, x2, #0x728 1957 1418: 97fffdfd bl c0c <io_dev_open> 1958 141c: f9439a60 ldr x0, [x19, #1840] 1959 1420: d0070262 adrp x2, e04f000 <__STACKS_START__+0xec0> 1960 1424: 911ce042 add x2, x2, #0x738 1961 1428: d2800001 mov x1, #0x0 // #0 1962 142c: d0070273 adrp x19, e04f000 <__STACKS_START__+0xec0> 1963 1430: 97fffdf7 bl c0c <io_dev_open> 1964 1434: 911d0260 add x0, x19, #0x740 1965 1438: 97fffdcc bl b68 <register_io_dev_sh> 1966 143c: f943a260 ldr x0, [x19, #1856] 1967 1440: d0070262 adrp x2, e04f000 <__STACKS_START__+0xec0> 1968 1444: a94153f3 ldp x19, x20, [sp, #16] 1969 1448: 911d2042 add x2, x2, #0x748 1970 144c: a8c27bfd ldp x29, x30, [sp], #32 1971 1450: d2800001 mov x1, #0x0 // #0 1972 1454: 17fffdee b c0c <io_dev_open> 1973 19740000000000001458 <plat_get_image_source>: 1975 1458: a9ba7bfd stp x29, x30, [sp, #-96]! 1976 145c: 910003fd mov x29, sp 1977 1460: a90153f3 stp x19, x20, [sp, #16] 1978 1464: 2a0003f4 mov w20, w0 1979 1468: a90363f7 stp x23, x24, [sp, #48] 1980 146c: d2800317 mov x23, #0x18 // #24 1981 1470: f0000018 adrp x24, 4000 <__TEXT_END__> 1982 1474: 9b177e97 mul x23, x20, x23 1983 1478: 91040318 add x24, x24, #0x100 1984 147c: a9025bf5 stp x21, x22, [sp, #32] 1985 1480: aa0103f6 mov x22, x1 1986 1484: 8b170300 add x0, x24, x23 1987 1488: f90023f9 str x25, [sp, #64] 1988 148c: aa0203f5 mov x21, x2 1989 1490: f9400801 ldr x1, [x0, #16] 1990 1494: f9400419 ldr x25, [x0, #8] 1991 1498: aa1903e0 mov x0, x25 1992 149c: d63f0020 blr x1 1993 14a0: 350001a0 cbnz w0, 14d4 <plat_get_image_source+0x7c> 1994 14a4: 2a0003f3 mov w19, w0 1995 14a8: f90002b9 str x25, [x21] 1996 14ac: f8776b00 ldr x0, [x24, x23] 1997 14b0: f9400000 ldr x0, [x0] 1998 14b4: f90002c0 str x0, [x22] 1999 14b8: 2a1303e0 mov w0, w19 2000 14bc: a94153f3 ldp x19, x20, [sp, #16] 2001 14c0: a9425bf5 ldp x21, x22, [sp, #32] 2002 14c4: a94363f7 ldp x23, x24, [sp, #48] 2003 14c8: f94023f9 ldr x25, [sp, #64] 2004 14cc: a8c67bfd ldp x29, x30, [sp], #96 2005 14d0: d65f03c0 ret 2006 14d4: d0070277 adrp x23, e04f000 <__STACKS_START__+0xec0> 2007 14d8: d2800001 mov x1, #0x0 // #0 2008 14dc: f943a6e0 ldr x0, [x23, #1864] 2009 14e0: 97fffdd1 bl c24 <io_dev_init> 2010 14e4: 2a0003f3 mov w19, w0 2011 14e8: 35fffe80 cbnz w0, 14b8 <plat_get_image_source+0x60> 2012 14ec: f943a6e0 ldr x0, [x23, #1864] 2013 14f0: f0000001 adrp x1, 4000 <__TEXT_END__> 2014 14f4: 910fa021 add x1, x1, #0x3e8 2015 14f8: 910163e2 add x2, sp, #0x58 2016 14fc: 8b141034 add x20, x1, x20, lsl #4 2017 1500: aa1403e1 mov x1, x20 2018 1504: 97fffdd6 bl c5c <io_open> 2019 1508: 2a0003f3 mov w19, w0 2020 150c: 35fffd60 cbnz w0, 14b8 <plat_get_image_source+0x60> 2021 1510: f9402fe0 ldr x0, [sp, #88] 2022 1514: 97fffe1f bl d90 <io_close> 2023 1518: f943a6e0 ldr x0, [x23, #1864] 2024 151c: f90002c0 str x0, [x22] 2025 1520: f90002b4 str x20, [x21] 2026 1524: 17ffffe5 b 14b8 <plat_get_image_source+0x60> 2027 20280000000000001528 <load_auth_image>: 2029 1528: a9b97bfd stp x29, x30, [sp, #-112]! 2030 152c: 910003fd mov x29, sp 2031 1530: a90153f3 stp x19, x20, [sp, #16] 2032 1534: 2a0003f4 mov w20, w0 2033 1538: a9025bf5 stp x21, x22, [sp, #32] 2034 153c: f0000016 adrp x22, 4000 <__TEXT_END__> 2035 1540: aa0103f5 mov x21, x1 2036 1544: 912aded6 add x22, x22, #0xab7 2037 1548: a90363f7 stp x23, x24, [sp, #48] 2038 154c: f0000017 adrp x23, 4000 <__TEXT_END__> 2039 1550: 912c3ef7 add x23, x23, #0xb0f 2040 1554: 910163e2 add x2, sp, #0x58 2041 1558: 910123e1 add x1, sp, #0x48 2042 155c: 2a1403e0 mov w0, w20 2043 1560: f94006b8 ldr x24, [x21, #8] 2044 1564: 97ffffbd bl 1458 <plat_get_image_source> 2045 1568: 2a0003f3 mov w19, w0 2046 156c: 340001c0 cbz w0, 15a4 <load_auth_image+0x7c> 2047 1570: 2a0003e2 mov w2, w0 2048 1574: 2a1403e1 mov w1, w20 2049 1578: f0000000 adrp x0, 4000 <__TEXT_END__> 2050 157c: 9120f400 add x0, x0, #0x83d 2051 1580: 94000040 bl 1680 <tf_log> 2052 1584: 940000c0 bl 1884 <plat_try_next_boot_source> 2053 1588: 35fffe60 cbnz w0, 1554 <load_auth_image+0x2c> 2054 158c: 2a1303e0 mov w0, w19 2055 1590: a94153f3 ldp x19, x20, [sp, #16] 2056 1594: a9425bf5 ldp x21, x22, [sp, #32] 2057 1598: a94363f7 ldp x23, x24, [sp, #48] 2058 159c: a8c77bfd ldp x29, x30, [sp], #112 2059 15a0: d65f03c0 ret 2060 15a4: f94027e0 ldr x0, [sp, #72] 2061 15a8: 910143e2 add x2, sp, #0x50 2062 15ac: f9402fe1 ldr x1, [sp, #88] 2063 15b0: 97fffdab bl c5c <io_open> 2064 15b4: 2a0003f3 mov w19, w0 2065 15b8: 340000c0 cbz w0, 15d0 <load_auth_image+0xa8> 2066 15bc: 2a0003e2 mov w2, w0 2067 15c0: 2a1403e1 mov w1, w20 2068 15c4: f0000000 adrp x0, 4000 <__TEXT_END__> 2069 15c8: 9121b800 add x0, x0, #0x86e 2070 15cc: 17ffffed b 1580 <load_auth_image+0x58> 2071 15d0: f9402be0 ldr x0, [sp, #80] 2072 15d4: 910183e1 add x1, sp, #0x60 2073 15d8: 97fffdde bl d50 <io_size> 2074 15dc: 2a0003f3 mov w19, w0 2075 15e0: 35000060 cbnz w0, 15ec <load_auth_image+0xc4> 2076 15e4: f94033e2 ldr x2, [sp, #96] 2077 15e8: b50000c2 cbnz x2, 1600 <load_auth_image+0xd8> 2078 15ec: 2a1303e2 mov w2, w19 2079 15f0: 2a1403e1 mov w1, w20 2080 15f4: aa1603e0 mov x0, x22 2081 15f8: 94000022 bl 1680 <tf_log> 2082 15fc: 14000009 b 1620 <load_auth_image+0xf8> 2083 1600: b94016a0 ldr w0, [x21, #20] 2084 1604: eb00005f cmp x2, x0 2085 1608: 540001e9 b.ls 1644 <load_auth_image+0x11c> // b.plast 2086 160c: 12800353 mov w19, #0xffffffe5 // #-27 2087 1610: 2a1403e1 mov w1, w20 2088 1614: f0000000 adrp x0, 4000 <__TEXT_END__> 2089 1618: 912bb800 add x0, x0, #0xaee 2090 161c: 94000019 bl 1680 <tf_log> 2091 1620: f9402be0 ldr x0, [sp, #80] 2092 1624: 97fffddb bl d90 <io_close> 2093 1628: f94027e0 ldr x0, [sp, #72] 2094 162c: 97fffd85 bl c40 <io_dev_close> 2095 1630: 35fffab3 cbnz w19, 1584 <load_auth_image+0x5c> 2096 1634: b94012a1 ldr w1, [x21, #16] 2097 1638: f94006a0 ldr x0, [x21, #8] 2098 163c: 94000454 bl 278c <flush_dcache_range> 2099 1640: 17ffffd3 b 158c <load_auth_image+0x64> 2100 1644: f9402be0 ldr x0, [sp, #80] 2101 1648: b90012a2 str w2, [x21, #16] 2102 164c: 9101a3e3 add x3, sp, #0x68 2103 1650: aa1803e1 mov x1, x24 2104 1654: 97fffdc7 bl d70 <io_read> 2105 1658: 2a0003f3 mov w19, w0 2106 165c: 35000080 cbnz w0, 166c <load_auth_image+0x144> 2107 1660: a94607e0 ldp x0, x1, [sp, #96] 2108 1664: eb00003f cmp x1, x0 2109 1668: 54fffdc2 b.cs 1620 <load_auth_image+0xf8> // b.hs, b.nlast 2110 166c: 2a1303e2 mov w2, w19 2111 1670: 2a1403e1 mov w1, w20 2112 1674: aa1703e0 mov x0, x23 2113 1678: 17ffffe0 b 15f8 <load_auth_image+0xd0> 2114 2115000000000000167c <print_entry_point_info>: 2116 167c: d65f03c0 ret 2117 21180000000000001680 <tf_log>: 2119 1680: a9b67bfd stp x29, x30, [sp, #-160]! 2120 1684: 910003fd mov x29, sp 2121 1688: a90153f3 stp x19, x20, [sp, #16] 2122 168c: aa0003f4 mov x20, x0 2123 1690: a9068be1 stp x1, x2, [sp, #104] 2124 1694: b0070261 adrp x1, e04e000 <memmap_dev_info> 2125 1698: a90793e3 stp x3, x4, [sp, #120] 2126 169c: b9410021 ldr w1, [x1, #256] 2127 16a0: a9089be5 stp x5, x6, [sp, #136] 2128 16a4: f9004fe7 str x7, [sp, #152] 2129 16a8: 39400000 ldrb w0, [x0] 2130 16ac: 6b00003f cmp w1, w0 2131 16b0: 54000263 b.cc 16fc <tf_log+0x7c> // b.lo, b.ul, b.last 2132 16b4: 94000076 bl 188c <plat_log_get_prefix> 2133 16b8: aa0003f3 mov x19, x0 2134 16bc: 39400260 ldrb w0, [x19] 2135 16c0: 35000240 cbnz w0, 1708 <tf_log+0x88> 2136 16c4: 910283e0 add x0, sp, #0xa0 2137 16c8: a90403e0 stp x0, x0, [sp, #64] 2138 16cc: 910183e0 add x0, sp, #0x60 2139 16d0: f9002be0 str x0, [sp, #80] 2140 16d4: 128006e0 mov w0, #0xffffffc8 // #-56 2141 16d8: b9005be0 str w0, [sp, #88] 2142 16dc: b9005fff str wzr, [sp, #92] 2143 16e0: a94407e0 ldp x0, x1, [sp, #64] 2144 16e4: a90207e0 stp x0, x1, [sp, #32] 2145 16e8: a94507e0 ldp x0, x1, [sp, #80] 2146 16ec: a90307e0 stp x0, x1, [sp, #48] 2147 16f0: 910083e1 add x1, sp, #0x20 2148 16f4: 91000680 add x0, x20, #0x1 2149 16f8: 94000548 bl 2c18 <vprintf> 2150 16fc: a94153f3 ldp x19, x20, [sp, #16] 2151 1700: a8ca7bfd ldp x29, x30, [sp], #160 2152 1704: d65f03c0 ret 2153 1708: 91000673 add x19, x19, #0x1 2154 170c: 94000643 bl 3018 <putchar> 2155 1710: 17ffffeb b 16bc <tf_log+0x3c> 2156 21570000000000001714 <console_is_registered>: 2158 1714: d0070261 adrp x1, e04f000 <__STACKS_START__+0xec0> 2159 1718: f943a821 ldr x1, [x1, #1872] 2160 171c: b5000061 cbnz x1, 1728 <console_is_registered+0x14> 2161 1720: 52800000 mov w0, #0x0 // #0 2162 1724: d65f03c0 ret 2163 1728: eb00003f cmp x1, x0 2164 172c: 54000060 b.eq 1738 <console_is_registered+0x24> // b.none 2165 1730: f9400021 ldr x1, [x1] 2166 1734: 17fffffa b 171c <console_is_registered+0x8> 2167 1738: 52800020 mov w0, #0x1 // #1 2168 173c: 17fffffa b 1724 <console_is_registered+0x10> 2169 21700000000000001740 <console_register>: 2171 1740: a9bf7bfd stp x29, x30, [sp, #-16]! 2172 1744: aa0003e2 mov x2, x0 2173 1748: 910003fd mov x29, sp 2174 174c: 97fffff2 bl 1714 <console_is_registered> 2175 1750: 7100041f cmp w0, #0x1 2176 1754: 540000a0 b.eq 1768 <console_register+0x28> // b.none 2177 1758: d0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 2178 175c: f943a801 ldr x1, [x0, #1872] 2179 1760: f9000041 str x1, [x2] 2180 1764: f903a802 str x2, [x0, #1872] 2181 1768: 52800020 mov w0, #0x1 // #1 2182 176c: a8c17bfd ldp x29, x30, [sp], #16 2183 1770: d65f03c0 ret 2184 21850000000000001774 <console_set_scope>: 2186 1774: f9400402 ldr x2, [x0, #8] 2187 1778: 2a0103e1 mov w1, w1 2188 177c: 92785c42 and x2, x2, #0xffffff00 2189 1780: aa010042 orr x2, x2, x1 2190 1784: f9000402 str x2, [x0, #8] 2191 1788: d65f03c0 ret 2192 2193000000000000178c <console_putc>: 2194 178c: a9bd7bfd stp x29, x30, [sp, #-48]! 2195 1790: 910003fd mov x29, sp 2196 1794: a9025bf5 stp x21, x22, [sp, #32] 2197 1798: 2a0003f5 mov w21, w0 2198 179c: d0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 2199 17a0: a90153f3 stp x19, x20, [sp, #16] 2200 17a4: b0070276 adrp x22, e04e000 <memmap_dev_info> 2201 17a8: 910412d6 add x22, x22, #0x104 2202 17ac: f943a813 ldr x19, [x0, #1872] 2203 17b0: 12800ff4 mov w20, #0xffffff80 // #-128 2204 17b4: b50000d3 cbnz x19, 17cc <console_putc+0x40> 2205 17b8: 2a1403e0 mov w0, w20 2206 17bc: a94153f3 ldp x19, x20, [sp, #16] 2207 17c0: a9425bf5 ldp x21, x22, [sp, #32] 2208 17c4: a8c37bfd ldp x29, x30, [sp], #48 2209 17c8: d65f03c0 ret 2210 17cc: f9400660 ldr x0, [x19, #8] 2211 17d0: 394002c1 ldrb w1, [x22] 2212 17d4: ea00003f tst x1, x0 2213 17d8: 54000180 b.eq 1808 <console_putc+0x7c> // b.none 2214 17dc: f9400a62 ldr x2, [x19, #16] 2215 17e0: b4000142 cbz x2, 1808 <console_putc+0x7c> 2216 17e4: 71002abf cmp w21, #0xa 2217 17e8: 54000140 b.eq 1810 <console_putc+0x84> // b.none 2218 17ec: f9400a62 ldr x2, [x19, #16] 2219 17f0: aa1303e1 mov x1, x19 2220 17f4: 2a1503e0 mov w0, w21 2221 17f8: d63f0040 blr x2 2222 17fc: 3102029f cmn w20, #0x80 2223 1800: 7a401280 ccmp w20, w0, #0x0, ne // ne = any 2224 1804: 1a80d294 csel w20, w20, w0, le 2225 1808: f9400273 ldr x19, [x19] 2226 180c: 17ffffea b 17b4 <console_putc+0x28> 2227 1810: 3647fee0 tbz w0, #8, 17ec <console_putc+0x60> 2228 1814: aa1303e1 mov x1, x19 2229 1818: 528001a0 mov w0, #0xd // #13 2230 181c: d63f0040 blr x2 2231 1820: 36fffe60 tbz w0, #31, 17ec <console_putc+0x60> 2232 1824: 17fffff6 b 17fc <console_putc+0x70> 2233 22340000000000001828 <console_flush>: 2235 1828: a9be7bfd stp x29, x30, [sp, #-32]! 2236 182c: d0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 2237 1830: 910003fd mov x29, sp 2238 1834: a90153f3 stp x19, x20, [sp, #16] 2239 1838: b0070274 adrp x20, e04e000 <memmap_dev_info> 2240 183c: 91041294 add x20, x20, #0x104 2241 1840: f943a813 ldr x19, [x0, #1872] 2242 1844: b5000093 cbnz x19, 1854 <console_flush+0x2c> 2243 1848: a94153f3 ldp x19, x20, [sp, #16] 2244 184c: a8c27bfd ldp x29, x30, [sp], #32 2245 1850: d65f03c0 ret 2246 1854: f9400660 ldr x0, [x19, #8] 2247 1858: 39400281 ldrb w1, [x20] 2248 185c: ea00003f tst x1, x0 2249 1860: 540000a0 b.eq 1874 <console_flush+0x4c> // b.none 2250 1864: f9401261 ldr x1, [x19, #32] 2251 1868: b4000061 cbz x1, 1874 <console_flush+0x4c> 2252 186c: aa1303e0 mov x0, x19 2253 1870: d63f0020 blr x1 2254 1874: f9400273 ldr x19, [x19] 2255 1878: 17fffff3 b 1844 <console_flush+0x1c> 2256 2257000000000000187c <plat_error_handler>: 2258 187c: d503207f wfi 2259 1880: 17ffffff b 187c <plat_error_handler> 2260 22610000000000001884 <plat_try_next_boot_source>: 2262 1884: 52800000 mov w0, #0x0 // #0 2263 1888: d65f03c0 ret 2264 2265000000000000188c <plat_log_get_prefix>: 2266 188c: 7100c81f cmp w0, #0x32 2267 1890: 52800641 mov w1, #0x32 // #50 2268 1894: 1a819000 csel w0, w0, w1, ls // ls = plast 2269 1898: 52800141 mov w1, #0xa // #10 2270 189c: 6b01001f cmp w0, w1 2271 18a0: 1a812000 csel w0, w0, w1, cs // cs = hs, nlast 2272 18a4: 1ac10800 udiv w0, w0, w1 2273 18a8: f0000001 adrp x1, 4000 <__TEXT_END__> 2274 18ac: 91156021 add x1, x1, #0x558 2275 18b0: 51000400 sub w0, w0, #0x1 2276 18b4: f8607820 ldr x0, [x1, x0, lsl #3] 2277 18b8: d65f03c0 ret 2278 227900000000000018bc <plat_arm_set_twedel_scr_el3>: 2280 18bc: 12800000 mov w0, #0xffffffff // #-1 2281 18c0: d65f03c0 ret 2282 228300000000000018c4 <qemu_configure_mmu_el3>: 2284 18c4: a9bc7bfd stp x29, x30, [sp, #-64]! 2285 18c8: 910003fd mov x29, sp 2286 18cc: a90153f3 stp x19, x20, [sp, #16] 2287 18d0: aa0403f4 mov x20, x4 2288 18d4: aa0603f3 mov x19, x6 2289 18d8: a9025bf5 stp x21, x22, [sp, #32] 2290 18dc: aa0703f6 mov x22, x7 2291 18e0: aa0203f5 mov x21, x2 2292 18e4: aa0103e2 mov x2, x1 2293 18e8: aa0003e1 mov x1, x0 2294 18ec: a90363f7 stp x23, x24, [sp, #48] 2295 18f0: aa0503f7 mov x23, x5 2296 18f4: aa0303f8 mov x24, x3 2297 18f8: 52800143 mov w3, #0xa // #10 2298 18fc: 9400006c bl 1aac <mmap_add_region> 2299 1900: cb150302 sub x2, x24, x21 2300 1904: aa1503e1 mov x1, x21 2301 1908: aa1503e0 mov x0, x21 2302 190c: 52800043 mov w3, #0x2 // #2 2303 1910: 94000067 bl 1aac <mmap_add_region> 2304 1914: cb1402e2 sub x2, x23, x20 2305 1918: aa1403e1 mov x1, x20 2306 191c: aa1403e0 mov x0, x20 2307 1920: 52800843 mov w3, #0x42 // #66 2308 1924: 94000062 bl 1aac <mmap_add_region> 2309 1928: cb1302c2 sub x2, x22, x19 2310 192c: aa1303e1 mov x1, x19 2311 1930: 52800103 mov w3, #0x8 // #8 2312 1934: aa1303e0 mov x0, x19 2313 1938: 9400005d bl 1aac <mmap_add_region> 2314 193c: f0000000 adrp x0, 4000 <__TEXT_END__> 2315 1940: 91160000 add x0, x0, #0x580 2316 1944: 94000067 bl 1ae0 <mmap_add> 2317 1948: 9400006a bl 1af0 <init_xlat_tables> 2318 194c: a94153f3 ldp x19, x20, [sp, #16] 2319 1950: 52800000 mov w0, #0x0 // #0 2320 1954: a9425bf5 ldp x21, x22, [sp, #32] 2321 1958: a94363f7 ldp x23, x24, [sp, #48] 2322 195c: a8c47bfd ldp x29, x30, [sp], #64 2323 1960: 14000073 b 1b2c <enable_mmu_el3> 2324 23250000000000001964 <qemu_console_init>: 2326 1964: a9be7bfd stp x29, x30, [sp, #-32]! 2327 1968: 52984002 mov w2, #0xc200 // #49664 2328 196c: 72a00022 movk w2, #0x1, lsl #16 2329 1970: 910003fd mov x29, sp 2330 1974: f9000bf3 str x19, [sp, #16] 2331 1978: d0070273 adrp x19, e04f000 <__STACKS_START__+0xec0> 2332 197c: 911d6273 add x19, x19, #0x758 2333 1980: 52800021 mov w1, #0x1 // #1 2334 1984: aa1303e3 mov x3, x19 2335 1988: d2a12000 mov x0, #0x9000000 // #150994944 2336 198c: 94000408 bl 29ac <console_pl011_register> 2337 1990: aa1303e0 mov x0, x19 2338 1994: 52800061 mov w1, #0x3 // #3 2339 1998: f9400bf3 ldr x19, [sp, #16] 2340 199c: a8c27bfd ldp x29, x30, [sp], #32 2341 19a0: 17ffff75 b 1774 <console_set_scope> 2342 234300000000000019a4 <xlat_arch_get_pas>: 2344 19a4: 121c0400 and w0, w0, #0x30 2345 19a8: 7100401f cmp w0, #0x10 2346 19ac: 1a9f17e0 cset w0, eq // eq = none 2347 19b0: 531b6800 lsl w0, w0, #5 2348 19b4: d65f03c0 ret 2349 235000000000000019b8 <tcr_physical_addr_size_bits>: 2351 19b8: f2540c1f tst x0, #0xf00000000000 2352 19bc: 54000141 b.ne 19e4 <tcr_physical_addr_size_bits+0x2c> // b.any 2353 19c0: f256041f tst x0, #0xc0000000000 2354 19c4: 54000141 b.ne 19ec <tcr_physical_addr_size_bits+0x34> // b.any 2355 19c8: f258041f tst x0, #0x30000000000 2356 19cc: 54000141 b.ne 19f4 <tcr_physical_addr_size_bits+0x3c> // b.any 2357 19d0: f25c0c1f tst x0, #0xf000000000 2358 19d4: 54000141 b.ne 19fc <tcr_physical_addr_size_bits+0x44> // b.any 2359 19d8: f2600c1f tst x0, #0xf00000000 2360 19dc: 9a9f07e0 cset x0, ne // ne = any 2361 19e0: d65f03c0 ret 2362 19e4: d28000a0 mov x0, #0x5 // #5 2363 19e8: 17fffffe b 19e0 <tcr_physical_addr_size_bits+0x28> 2364 19ec: d2800080 mov x0, #0x4 // #4 2365 19f0: 17fffffc b 19e0 <tcr_physical_addr_size_bits+0x28> 2366 19f4: d2800060 mov x0, #0x3 // #3 2367 19f8: 17fffffa b 19e0 <tcr_physical_addr_size_bits+0x28> 2368 19fc: d2800040 mov x0, #0x2 // #2 2369 1a00: 17fffff8 b 19e0 <tcr_physical_addr_size_bits+0x28> 2370 23710000000000001a04 <is_dcache_enabled>: 2372 1a04: d53e1000 mrs x0, sctlr_el3 2373 1a08: 53020800 ubfx w0, w0, #2, #1 2374 1a0c: d65f03c0 ret 2375 23760000000000001a10 <xlat_arch_regime_get_xn_desc>: 2377 1a10: 7100041f cmp w0, #0x1 2378 1a14: d2e00c01 mov x1, #0x60000000000000 // #27021597764222976 2379 1a18: d2e00800 mov x0, #0x40000000000000 // #18014398509481984 2380 1a1c: 9a800020 csel x0, x1, x0, eq // eq = none 2381 1a20: d65f03c0 ret 2382 23830000000000001a24 <xlat_arch_current_el>: 2384 1a24: d5384240 mrs x0, currentel 2385 1a28: 53020c00 ubfx w0, w0, #2, #2 2386 1a2c: d65f03c0 ret 2387 23880000000000001a30 <setup_mmu_cfg>: 2389 1a30: 91000484 add x4, x4, #0x1 2390 1a34: a9bf7bfd stp x29, x30, [sp, #-16]! 2391 1a38: dac00087 rbit x7, x4 2392 1a3c: 910003fd mov x29, sp 2393 1a40: dac010e7 clz x7, x7 2394 1a44: aa0003e6 mov x6, x0 2395 1a48: 52800804 mov w4, #0x40 // #64 2396 1a4c: aa0303e0 mov x0, x3 2397 1a50: 4b070084 sub w4, w4, w7 2398 1a54: 37080061 tbnz w1, #1, 1a60 <setup_mmu_cfg+0x30> 2399 1a58: 5286a001 mov w1, #0x3500 // #13568 2400 1a5c: 2a010084 orr w4, w4, w1 2401 1a60: 93407c81 sxtw x1, w4 2402 1a64: 97ffffd5 bl 19b8 <tcr_physical_addr_size_bits> 2403 1a68: aa008023 orr x3, x1, x0, lsl #32 2404 1a6c: aa004021 orr x1, x1, x0, lsl #16 2405 1a70: b2690063 orr x3, x3, #0x800000 2406 1a74: 710004bf cmp w5, #0x1 2407 1a78: d2b01000 mov x0, #0x80800000 // #2155872256 2408 1a7c: aa000021 orr x1, x1, x0 2409 1a80: 9a831021 csel x1, x1, x3, ne // ne = any 2410 1a84: d5380740 mrs x0, id_aa64mmfr2_el1 2411 1a88: f2400c1f tst x0, #0xf 2412 1a8c: 54000040 b.eq 1a94 <setup_mmu_cfg+0x64> // b.none 2413 1a90: b2400042 orr x2, x2, #0x1 2414 1a94: d2809fe0 mov x0, #0x4ff // #1279 2415 1a98: a8c17bfd ldp x29, x30, [sp], #16 2416 1a9c: f2a00880 movk x0, #0x44, lsl #16 2417 1aa0: a90004c0 stp x0, x1, [x6] 2418 1aa4: f90008c2 str x2, [x6, #16] 2419 1aa8: d65f03c0 ret 2420 24210000000000001aac <mmap_add_region>: 2422 1aac: a9bc7bfd stp x29, x30, [sp, #-64]! 2423 1ab0: 910003fd mov x29, sp 2424 1ab4: a90187e0 stp x0, x1, [sp, #24] 2425 1ab8: d2a80000 mov x0, #0x40000000 // #1073741824 2426 1abc: 910063e1 add x1, sp, #0x18 2427 1ac0: f90017e2 str x2, [sp, #40] 2428 1ac4: b90033e3 str w3, [sp, #48] 2429 1ac8: f9001fe0 str x0, [sp, #56] 2430 1acc: b0070260 adrp x0, e04e000 <memmap_dev_info> 2431 1ad0: 91028000 add x0, x0, #0xa0 2432 1ad4: 940000f9 bl 1eb8 <mmap_add_region_ctx> 2433 1ad8: a8c47bfd ldp x29, x30, [sp], #64 2434 1adc: d65f03c0 ret 2435 24360000000000001ae0 <mmap_add>: 2437 1ae0: aa0003e1 mov x1, x0 2438 1ae4: b0070260 adrp x0, e04e000 <memmap_dev_info> 2439 1ae8: 91028000 add x0, x0, #0xa0 2440 1aec: 1400017f b 20e8 <mmap_add_ctx> 2441 24420000000000001af0 <init_xlat_tables>: 2443 1af0: a9bf7bfd stp x29, x30, [sp, #-16]! 2444 1af4: 910003fd mov x29, sp 2445 1af8: 97ffffcb bl 1a24 <xlat_arch_current_el> 2446 1afc: 2a0003e1 mov w1, w0 2447 1b00: 7100041f cmp w0, #0x1 2448 1b04: b0070260 adrp x0, e04e000 <memmap_dev_info> 2449 1b08: 91028000 add x0, x0, #0xa0 2450 1b0c: 54000081 b.ne 1b1c <init_xlat_tables+0x2c> // b.any 2451 1b10: b9005801 str w1, [x0, #88] 2452 1b14: a8c17bfd ldp x29, x30, [sp], #16 2453 1b18: 14000183 b 2124 <init_xlat_tables_ctx> 2454 1b1c: 7100083f cmp w1, #0x2 2455 1b20: 52800062 mov w2, #0x3 // #3 2456 1b24: 1a820021 csel w1, w1, w2, eq // eq = none 2457 1b28: 17fffffa b 1b10 <init_xlat_tables+0x20> 2458 24590000000000001b2c <enable_mmu_el3>: 2460 1b2c: b0070262 adrp x2, e04e000 <memmap_dev_info> 2461 1b30: 91028042 add x2, x2, #0xa0 2462 1b34: a9be7bfd stp x29, x30, [sp, #-32]! 2463 1b38: 2a0003e1 mov w1, w0 2464 1b3c: 52800065 mov w5, #0x3 // #3 2465 1b40: 910003fd mov x29, sp 2466 1b44: f9400444 ldr x4, [x2, #8] 2467 1b48: f9402043 ldr x3, [x2, #64] 2468 1b4c: f9401842 ldr x2, [x2, #48] 2469 1b50: f9000bf3 str x19, [sp, #16] 2470 1b54: 2a0003f3 mov w19, w0 2471 1b58: d0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 2472 1b5c: 911e2000 add x0, x0, #0x788 2473 1b60: 97ffffb4 bl 1a30 <setup_mmu_cfg> 2474 1b64: 2a1303e0 mov w0, w19 2475 1b68: f9400bf3 ldr x19, [sp, #16] 2476 1b6c: a8c27bfd ldp x29, x30, [sp], #32 2477 1b70: 140003be b 2a68 <enable_mmu_direct_el3> 2478 24790000000000001b74 <xlat_clean_dcache_range>: 2480 1b74: a9be7bfd stp x29, x30, [sp, #-32]! 2481 1b78: 910003fd mov x29, sp 2482 1b7c: a90153f3 stp x19, x20, [sp, #16] 2483 1b80: aa0003f3 mov x19, x0 2484 1b84: aa0103f4 mov x20, x1 2485 1b88: 97ffff9f bl 1a04 <is_dcache_enabled> 2486 1b8c: 72001c1f tst w0, #0xff 2487 1b90: 540000c0 b.eq 1ba8 <xlat_clean_dcache_range+0x34> // b.none 2488 1b94: aa1403e1 mov x1, x20 2489 1b98: aa1303e0 mov x0, x19 2490 1b9c: a94153f3 ldp x19, x20, [sp, #16] 2491 1ba0: a8c27bfd ldp x29, x30, [sp], #32 2492 1ba4: 14000308 b 27c4 <clean_dcache_range> 2493 1ba8: a94153f3 ldp x19, x20, [sp, #16] 2494 1bac: a8c27bfd ldp x29, x30, [sp], #32 2495 1bb0: d65f03c0 ret 2496 24970000000000001bb4 <xlat_desc>: 2498 1bb4: a9bd7bfd stp x29, x30, [sp, #-48]! 2499 1bb8: 71000c7f cmp w3, #0x3 2500 1bbc: 910003fd mov x29, sp 2501 1bc0: a90153f3 stp x19, x20, [sp, #16] 2502 1bc4: 2a0103f4 mov w20, w1 2503 1bc8: d2800073 mov x19, #0x3 // #3 2504 1bcc: 9a9f0673 csinc x19, x19, xzr, eq // eq = none 2505 1bd0: a9025bf5 stp x21, x22, [sp, #32] 2506 1bd4: aa020275 orr x21, x19, x2 2507 1bd8: aa0003f6 mov x22, x0 2508 1bdc: 2a0103e0 mov w0, w1 2509 1be0: 97ffff71 bl 19a4 <xlat_arch_get_pas> 2510 1be4: 2a0003e0 mov w0, w0 2511 1be8: f27d029f tst x20, #0x8 2512 1bec: 9a9f17f3 cset x19, eq // eq = none 2513 1bf0: aa131c13 orr x19, x0, x19, lsl #7 2514 1bf4: b9405ac0 ldr w0, [x22, #88] 2515 1bf8: aa150273 orr x19, x19, x21 2516 1bfc: 7100041f cmp w0, #0x1 2517 1c00: 54000221 b.ne 1c44 <xlat_desc+0x90> // b.any 2518 1c04: b2760262 orr x2, x19, #0x400 2519 1c08: f279029f tst x20, #0x80 2520 1c0c: d2808801 mov x1, #0x440 // #1088 2521 1c10: aa010273 orr x19, x19, x1 2522 1c14: 9a821273 csel x19, x19, x2, ne // ne = any 2523 1c18: 72000a95 ands w21, w20, #0x7 2524 1c1c: 540001a1 b.ne 1c50 <xlat_desc+0x9c> // b.any 2525 1c20: 97ffff7c bl 1a10 <xlat_arch_regime_get_xn_desc> 2526 1c24: aa000273 orr x19, x19, x0 2527 1c28: d2804082 mov x2, #0x204 // #516 2528 1c2c: aa020273 orr x19, x19, x2 2529 1c30: aa1303e0 mov x0, x19 2530 1c34: a94153f3 ldp x19, x20, [sp, #16] 2531 1c38: a9425bf5 ldp x21, x22, [sp, #32] 2532 1c3c: a8c37bfd ldp x29, x30, [sp], #48 2533 1c40: d65f03c0 ret 2534 1c44: d2808802 mov x2, #0x440 // #1088 2535 1c48: aa020273 orr x19, x19, x2 2536 1c4c: 17fffff3 b 1c18 <xlat_desc+0x64> 2537 1c50: 52800901 mov w1, #0x48 // #72 2538 1c54: 6a01029f tst w20, w1 2539 1c58: 54000060 b.eq 1c64 <xlat_desc+0xb0> // b.none 2540 1c5c: 97ffff6d bl 1a10 <xlat_arch_regime_get_xn_desc> 2541 1c60: aa000273 orr x19, x19, x0 2542 1c64: 71000abf cmp w21, #0x2 2543 1c68: 54000121 b.ne 1c8c <xlat_desc+0xd8> // b.any 2544 1c6c: 12180694 and w20, w20, #0x300 2545 1c70: 710c029f cmp w20, #0x300 2546 1c74: 54fffde0 b.eq 1c30 <xlat_desc+0x7c> // b.none 2547 1c78: b2770260 orr x0, x19, #0x200 2548 1c7c: 7108029f cmp w20, #0x200 2549 1c80: b2780673 orr x19, x19, #0x300 2550 1c84: 9a801273 csel x19, x19, x0, ne // ne = any 2551 1c88: 17ffffea b 1c30 <xlat_desc+0x7c> 2552 1c8c: d2804100 mov x0, #0x208 // #520 2553 1c90: aa000273 orr x19, x19, x0 2554 1c94: 17ffffe7 b 1c30 <xlat_desc+0x7c> 2555 25560000000000001c98 <xlat_tables_map_region>: 2557 1c98: a9b77bfd stp x29, x30, [sp, #-144]! 2558 1c9c: 910003fd mov x29, sp 2559 1ca0: a9025bf5 stp x21, x22, [sp, #32] 2560 1ca4: 92800016 mov x22, #0xffffffffffffffff // #-1 2561 1ca8: a90573fb stp x27, x28, [sp, #80] 2562 1cac: aa0003fb mov x27, x0 2563 1cb0: 2a0503fc mov w28, w5 2564 1cb4: a940d420 ldp x0, x21, [x1, #8] 2565 1cb8: a90153f3 stp x19, x20, [sp, #16] 2566 1cbc: 12800114 mov w20, #0xfffffff7 // #-9 2567 1cc0: a90363f7 stp x23, x24, [sp, #48] 2568 1cc4: d2800037 mov x23, #0x1 // #1 2569 1cc8: 1b147cb4 mul w20, w5, w20 2570 1ccc: a9046bf9 stp x25, x26, [sp, #64] 2571 1cd0: aa0103fa mov x26, x1 2572 1cd4: 11009e94 add w20, w20, #0x27 2573 1cd8: 8b150015 add x21, x0, x21 2574 1cdc: eb02001f cmp x0, x2 2575 1ce0: d10006a1 sub x1, x21, #0x1 2576 1ce4: f9003be1 str x1, [sp, #112] 2577 1ce8: 9ad422e1 lsl x1, x23, x20 2578 1cec: cb0103f3 neg x19, x1 2579 1cf0: 8a000273 and x19, x19, x0 2580 1cf4: 110004b7 add w23, w5, #0x1 2581 1cf8: 9a828273 csel x19, x19, x2, hi // hi = pmore 2582 1cfc: 9ad422d6 lsl x22, x22, x20 2583 1d00: cb020266 sub x6, x19, x2 2584 1d04: aa1303f8 mov x24, x19 2585 1d08: aa3603e0 mvn x0, x22 2586 1d0c: f90037e1 str x1, [sp, #104] 2587 1d10: 9ad424c6 lsr x6, x6, x20 2588 1d14: f9003fe0 str x0, [sp, #120] 2589 1d18: 8b264c75 add x21, x3, w6, uxtw #3 2590 1d1c: b90083e6 str w6, [sp, #128] 2591 1d20: b90087e4 str w4, [sp, #132] 2592 1d24: 295007e0 ldp w0, w1, [sp, #128] 2593 1d28: 6b01001f cmp w0, w1 2594 1d2c: 540003c2 b.cs 1da4 <xlat_tables_map_region+0x10c> // b.hs, b.nlast 2595 1d30: a9408744 ldp x4, x1, [x26, #8] 2596 1d34: f94037e2 ldr x2, [sp, #104] 2597 1d38: f94002a3 ldr x3, [x21] 2598 1d3c: 8b020279 add x25, x19, x2 2599 1d40: 8b010081 add x1, x4, x1 2600 1d44: eb18009f cmp x4, x24 2601 1d48: 12000460 and w0, w3, #0x3 2602 1d4c: d1000421 sub x1, x1, #0x1 2603 1d50: d1000736 sub x22, x25, #0x1 2604 1d54: 540007e8 b.hi 1e50 <xlat_tables_map_region+0x1b8> // b.pmore 2605 1d58: eb0102df cmp x22, x1 2606 1d5c: 540007a8 b.hi 1e50 <xlat_tables_map_region+0x1b8> // b.pmore 2607 1d60: f9400342 ldr x2, [x26] 2608 1d64: cb040042 sub x2, x2, x4 2609 1d68: 8b130042 add x2, x2, x19 2610 1d6c: 71000f9f cmp w28, #0x3 2611 1d70: 540001e1 b.ne 1dac <xlat_tables_map_region+0x114> // b.any 2612 1d74: 71000c1f cmp w0, #0x3 2613 1d78: 54000941 b.ne 1ea0 <xlat_tables_map_region+0x208> // b.any 2614 1d7c: b94083e0 ldr w0, [sp, #128] 2615 1d80: 910022b5 add x21, x21, #0x8 2616 1d84: aa1903f3 mov x19, x25 2617 1d88: 11000400 add w0, w0, #0x1 2618 1d8c: b90083e0 str w0, [sp, #128] 2619 1d90: f94037e0 ldr x0, [sp, #104] 2620 1d94: 8b000318 add x24, x24, x0 2621 1d98: f9403be0 ldr x0, [sp, #112] 2622 1d9c: eb19001f cmp x0, x25 2623 1da0: 54fffc28 b.hi 1d24 <xlat_tables_map_region+0x8c> // b.pmore 2624 1da4: d1000673 sub x19, x19, #0x1 2625 1da8: 14000022 b 1e30 <xlat_tables_map_region+0x198> 2626 1dac: 71000c1f cmp w0, #0x3 2627 1db0: 540005a0 b.eq 1e64 <xlat_tables_map_region+0x1cc> // b.none 2628 1db4: 35fffe40 cbnz w0, 1d7c <xlat_tables_map_region+0xe4> 2629 1db8: f9403fe0 ldr x0, [sp, #120] 2630 1dbc: ea00005f tst x2, x0 2631 1dc0: 540000a1 b.ne 1dd4 <xlat_tables_map_region+0x13c> // b.any 2632 1dc4: 3400009c cbz w28, 1dd4 <xlat_tables_map_region+0x13c> 2633 1dc8: f9401340 ldr x0, [x26, #32] 2634 1dcc: 9ad42400 lsr x0, x0, x20 2635 1dd0: b5000680 cbnz x0, 1ea0 <xlat_tables_map_region+0x208> 2636 1dd4: b9402f60 ldr w0, [x27, #44] 2637 1dd8: f9401363 ldr x3, [x27, #32] 2638 1ddc: 11000401 add w1, w0, #0x1 2639 1de0: b9002f61 str w1, [x27, #44] 2640 1de4: 93747c00 sbfiz x0, x0, #12, #32 2641 1de8: ab000063 adds x3, x3, x0 2642 1dec: 54000220 b.eq 1e30 <xlat_tables_map_region+0x198> // b.none 2643 1df0: b2400460 orr x0, x3, #0x3 2644 1df4: f90002a0 str x0, [x21] 2645 1df8: aa1303e2 mov x2, x19 2646 1dfc: 2a1703e5 mov w5, w23 2647 1e00: aa1a03e1 mov x1, x26 2648 1e04: 52804004 mov w4, #0x200 // #512 2649 1e08: aa1b03e0 mov x0, x27 2650 1e0c: f90047e3 str x3, [sp, #136] 2651 1e10: 97ffffa2 bl 1c98 <xlat_tables_map_region> 2652 1e14: aa0003f3 mov x19, x0 2653 1e18: f94047e3 ldr x3, [sp, #136] 2654 1e1c: d2820001 mov x1, #0x1000 // #4096 2655 1e20: aa0303e0 mov x0, x3 2656 1e24: 97ffff54 bl 1b74 <xlat_clean_dcache_range> 2657 1e28: eb1302df cmp x22, x19 2658 1e2c: 54fffa80 b.eq 1d7c <xlat_tables_map_region+0xe4> // b.none 2659 1e30: aa1303e0 mov x0, x19 2660 1e34: a94153f3 ldp x19, x20, [sp, #16] 2661 1e38: a9425bf5 ldp x21, x22, [sp, #32] 2662 1e3c: a94363f7 ldp x23, x24, [sp, #48] 2663 1e40: a9446bf9 ldp x25, x26, [sp, #64] 2664 1e44: a94573fb ldp x27, x28, [sp, #80] 2665 1e48: a8c97bfd ldp x29, x30, [sp], #144 2666 1e4c: d65f03c0 ret 2667 1e50: eb16009f cmp x4, x22 2668 1e54: 54000069 b.ls 1e60 <xlat_tables_map_region+0x1c8> // b.plast 2669 1e58: eb01031f cmp x24, x1 2670 1e5c: 54fff908 b.hi 1d7c <xlat_tables_map_region+0xe4> // b.pmore 2671 1e60: 34fffba0 cbz w0, 1dd4 <xlat_tables_map_region+0x13c> 2672 1e64: 92748c63 and x3, x3, #0xfffffffff000 2673 1e68: aa1303e2 mov x2, x19 2674 1e6c: 2a1703e5 mov w5, w23 2675 1e70: aa1a03e1 mov x1, x26 2676 1e74: 52804004 mov w4, #0x200 // #512 2677 1e78: aa1b03e0 mov x0, x27 2678 1e7c: f90047e3 str x3, [sp, #136] 2679 1e80: 97ffff86 bl 1c98 <xlat_tables_map_region> 2680 1e84: f94047e3 ldr x3, [sp, #136] 2681 1e88: aa0003f3 mov x19, x0 2682 1e8c: d2820001 mov x1, #0x1000 // #4096 2683 1e90: aa0303e0 mov x0, x3 2684 1e94: 97ffff38 bl 1b74 <xlat_clean_dcache_range> 2685 1e98: eb16027f cmp x19, x22 2686 1e9c: 17ffffe4 b 1e2c <xlat_tables_map_region+0x194> 2687 1ea0: b9401b41 ldr w1, [x26, #24] 2688 1ea4: 2a1c03e3 mov w3, w28 2689 1ea8: aa1b03e0 mov x0, x27 2690 1eac: 97ffff42 bl 1bb4 <xlat_desc> 2691 1eb0: f90002a0 str x0, [x21] 2692 1eb4: 17ffffb2 b 1d7c <xlat_tables_map_region+0xe4> 2693 26940000000000001eb8 <mmap_add_region_ctx>: 2695 1eb8: a9bc7bfd stp x29, x30, [sp, #-64]! 2696 1ebc: 910003fd mov x29, sp 2697 1ec0: a9025bf5 stp x21, x22, [sp, #32] 2698 1ec4: aa0103f6 mov x22, x1 2699 1ec8: f9400821 ldr x1, [x1, #16] 2700 1ecc: a90153f3 stp x19, x20, [sp, #16] 2701 1ed0: f9001bf7 str x23, [sp, #48] 2702 1ed4: b4000941 cbz x1, 1ffc <mmap_add_region_ctx+0x144> 2703 1ed8: aa0003f3 mov x19, x0 2704 1edc: a94002c5 ldp x5, x0, [x22] 2705 1ee0: f94012c2 ldr x2, [x22, #32] 2706 1ee4: aa0100a3 orr x3, x5, x1 2707 1ee8: aa000063 orr x3, x3, x0 2708 1eec: f2402c7f tst x3, #0xfff 2709 1ef0: 54000d81 b.ne 20a0 <mmap_add_region_ctx+0x1e8> // b.any 2710 1ef4: f148005f cmp x2, #0x200, lsl #12 2711 1ef8: d2a80003 mov x3, #0x40000000 // #1073741824 2712 1efc: fa431044 ccmp x2, x3, #0x4, ne // ne = any 2713 1f00: 54000060 b.eq 1f0c <mmap_add_region_ctx+0x54> // b.none 2714 1f04: f140045f cmp x2, #0x1, lsl #12 2715 1f08: 54000cc1 b.ne 20a0 <mmap_add_region_ctx+0x1e8> // b.any 2716 1f0c: 8b0100b5 add x21, x5, x1 2717 1f10: 8b00002a add x10, x1, x0 2718 1f14: d10006b5 sub x21, x21, #0x1 2719 1f18: d1000554 sub x20, x10, #0x1 2720 1f1c: eb1500bf cmp x5, x21 2721 1f20: fa549002 ccmp x0, x20, #0x2, ls // ls = plast 2722 1f24: 54000ce8 b.hi 20c0 <mmap_add_region_ctx+0x208> // b.pmore 2723 1f28: f9400662 ldr x2, [x19, #8] 2724 1f2c: eb02029f cmp x20, x2 2725 1f30: 54000c88 b.hi 20c0 <mmap_add_region_ctx+0x208> // b.pmore 2726 1f34: f9400262 ldr x2, [x19] 2727 1f38: eb0202bf cmp x21, x2 2728 1f3c: 54000c28 b.hi 20c0 <mmap_add_region_ctx+0x208> // b.pmore 2729 1f40: b9401a69 ldr w9, [x19, #24] 2730 1f44: 52800503 mov w3, #0x28 // #40 2731 1f48: f9400a62 ldr x2, [x19, #16] 2732 1f4c: 9b230929 smaddl x9, w9, w3, x2 2733 1f50: f85e8123 ldur x3, [x9, #-24] 2734 1f54: b5000ba3 cbnz x3, 20c8 <mmap_add_region_ctx+0x210> 2735 1f58: aa0203e6 mov x6, x2 2736 1f5c: cb05000b sub x11, x0, x5 2737 1f60: f94008c3 ldr x3, [x6, #16] 2738 1f64: b5000563 cbnz x3, 2010 <mmap_add_region_ctx+0x158> 2739 1f68: aa0203e3 mov x3, x2 2740 1f6c: a9409464 ldp x4, x5, [x3, #8] 2741 1f70: aa0303e0 mov x0, x3 2742 1f74: 9100a063 add x3, x3, #0x28 2743 1f78: 8b0400a4 add x4, x5, x4 2744 1f7c: d1000484 sub x4, x4, #0x1 2745 1f80: eb14009f cmp x4, x20 2746 1f84: 54000042 b.cs 1f8c <mmap_add_region_ctx+0xd4> // b.hs, b.nlast 2747 1f88: b5ffff25 cbnz x5, 1f6c <mmap_add_region_ctx+0xb4> 2748 1f8c: a9408c04 ldp x4, x3, [x0, #8] 2749 1f90: aa0003f7 mov x23, x0 2750 1f94: 9100a000 add x0, x0, #0x28 2751 1f98: 8b040064 add x4, x3, x4 2752 1f9c: eb04015f cmp x10, x4 2753 1fa0: 54000081 b.ne 1fb0 <mmap_add_region_ctx+0xf8> // b.any 2754 1fa4: b4000063 cbz x3, 1fb0 <mmap_add_region_ctx+0xf8> 2755 1fa8: eb03003f cmp x1, x3 2756 1fac: 54ffff08 b.hi 1f8c <mmap_add_region_ctx+0xd4> // b.pmore 2757 1fb0: f9400841 ldr x1, [x2, #16] 2758 1fb4: b4000061 cbz x1, 1fc0 <mmap_add_region_ctx+0x108> 2759 1fb8: eb09005f cmp x2, x9 2760 1fbc: 540008a3 b.cc 20d0 <mmap_add_region_ctx+0x218> // b.lo, b.ul, b.last 2761 1fc0: cb170042 sub x2, x2, x23 2762 1fc4: aa1703e1 mov x1, x23 2763 1fc8: 940002d3 bl 2b14 <memmove> 2764 1fcc: aa1603e1 mov x1, x22 2765 1fd0: aa1703e0 mov x0, x23 2766 1fd4: d2800502 mov x2, #0x28 // #40 2767 1fd8: 940002c7 bl 2af4 <memcpy> 2768 1fdc: f9402260 ldr x0, [x19, #64] 2769 1fe0: eb15001f cmp x0, x21 2770 1fe4: 54000042 b.cs 1fec <mmap_add_region_ctx+0x134> // b.hs, b.nlast 2771 1fe8: f9002275 str x21, [x19, #64] 2772 1fec: f9402660 ldr x0, [x19, #72] 2773 1ff0: eb14001f cmp x0, x20 2774 1ff4: 54000042 b.cs 1ffc <mmap_add_region_ctx+0x144> // b.hs, b.nlast 2775 1ff8: f9002674 str x20, [x19, #72] 2776 1ffc: a94153f3 ldp x19, x20, [sp, #16] 2777 2000: a9425bf5 ldp x21, x22, [sp, #32] 2778 2004: f9401bf7 ldr x23, [sp, #48] 2779 2008: a8c47bfd ldp x29, x30, [sp], #64 2780 200c: d65f03c0 ret 2781 2010: a94010c7 ldp x7, x4, [x6] 2782 2014: 8b030088 add x8, x4, x3 2783 2018: d1000508 sub x8, x8, #0x1 2784 201c: eb04001f cmp x0, x4 2785 2020: 54000263 b.cc 206c <mmap_add_region_ctx+0x1b4> // b.lo, b.ul, b.last 2786 2024: eb08029f cmp x20, x8 2787 2028: 54000269 b.ls 2074 <mmap_add_region_ctx+0x1bc> // b.plast 2788 202c: eb04001f cmp x0, x4 2789 2030: 54000229 b.ls 2074 <mmap_add_region_ctx+0x1bc> // b.plast 2790 2034: eb0702bf cmp x21, x7 2791 2038: 54000503 b.cc 20d8 <mmap_add_region_ctx+0x220> // b.lo, b.ul, b.last 2792 203c: 8b070063 add x3, x3, x7 2793 2040: d1000463 sub x3, x3, #0x1 2794 2044: eb0300bf cmp x5, x3 2795 2048: 1a9f97e3 cset w3, hi // hi = pmore 2796 204c: eb04029f cmp x20, x4 2797 2050: 54000243 b.cc 2098 <mmap_add_region_ctx+0x1e0> // b.lo, b.ul, b.last 2798 2054: eb08001f cmp x0, x8 2799 2058: 1a9f97e4 cset w4, hi // hi = pmore 2800 205c: 6a03009f tst w4, w3 2801 2060: 54000180 b.eq 2090 <mmap_add_region_ctx+0x1d8> // b.none 2802 2064: 9100a0c6 add x6, x6, #0x28 2803 2068: 17ffffbe b 1f60 <mmap_add_region_ctx+0xa8> 2804 206c: eb08029f cmp x20, x8 2805 2070: 54fffe23 b.cc 2034 <mmap_add_region_ctx+0x17c> // b.lo, b.ul, b.last 2806 2074: cb070087 sub x7, x4, x7 2807 2078: eb0b00ff cmp x7, x11 2808 207c: 540000a1 b.ne 2090 <mmap_add_region_ctx+0x1d8> // b.any 2809 2080: eb04001f cmp x0, x4 2810 2084: 54ffff01 b.ne 2064 <mmap_add_region_ctx+0x1ac> // b.any 2811 2088: eb03003f cmp x1, x3 2812 208c: 54fffec1 b.ne 2064 <mmap_add_region_ctx+0x1ac> // b.any 2813 2090: 12800001 mov w1, #0xffffffff // #-1 2814 2094: 14000004 b 20a4 <mmap_add_region_ctx+0x1ec> 2815 2098: 52800024 mov w4, #0x1 // #1 2816 209c: 17fffff0 b 205c <mmap_add_region_ctx+0x1a4> 2817 20a0: 128002a1 mov w1, #0xffffffea // #-22 2818 20a4: a94153f3 ldp x19, x20, [sp, #16] 2819 20a8: d0000000 adrp x0, 4000 <__TEXT_END__> 2820 20ac: a9425bf5 ldp x21, x22, [sp, #32] 2821 20b0: 912d8c00 add x0, x0, #0xb63 2822 20b4: f9401bf7 ldr x23, [sp, #48] 2823 20b8: a8c47bfd ldp x29, x30, [sp], #64 2824 20bc: 17fffd71 b 1680 <tf_log> 2825 20c0: 12800421 mov w1, #0xffffffde // #-34 2826 20c4: 17fffff8 b 20a4 <mmap_add_region_ctx+0x1ec> 2827 20c8: 12800161 mov w1, #0xfffffff4 // #-12 2828 20cc: 17fffff6 b 20a4 <mmap_add_region_ctx+0x1ec> 2829 20d0: 9100a042 add x2, x2, #0x28 2830 20d4: 17ffffb7 b 1fb0 <mmap_add_region_ctx+0xf8> 2831 20d8: eb04029f cmp x20, x4 2832 20dc: 54fffc43 b.cc 2064 <mmap_add_region_ctx+0x1ac> // b.lo, b.ul, b.last 2833 20e0: 52800023 mov w3, #0x1 // #1 2834 20e4: 17ffffdc b 2054 <mmap_add_region_ctx+0x19c> 2835 283600000000000020e8 <mmap_add_ctx>: 2837 20e8: a9be7bfd stp x29, x30, [sp, #-32]! 2838 20ec: 910003fd mov x29, sp 2839 20f0: a90153f3 stp x19, x20, [sp, #16] 2840 20f4: aa0003f4 mov x20, x0 2841 20f8: aa0103f3 mov x19, x1 2842 20fc: f9401260 ldr x0, [x19, #32] 2843 2100: b5000080 cbnz x0, 2110 <mmap_add_ctx+0x28> 2844 2104: a94153f3 ldp x19, x20, [sp, #16] 2845 2108: a8c27bfd ldp x29, x30, [sp], #32 2846 210c: d65f03c0 ret 2847 2110: aa1303e1 mov x1, x19 2848 2114: aa1403e0 mov x0, x20 2849 2118: 9100a273 add x19, x19, #0x28 2850 211c: 97ffff67 bl 1eb8 <mmap_add_region_ctx> 2851 2120: 17fffff7 b 20fc <mmap_add_ctx+0x14> 2852 28530000000000002124 <init_xlat_tables_ctx>: 2854 2124: a9bd7bfd stp x29, x30, [sp, #-48]! 2855 2128: 910003fd mov x29, sp 2856 212c: a90153f3 stp x19, x20, [sp, #16] 2857 2130: aa0003f3 mov x19, x0 2858 2134: f9400814 ldr x20, [x0, #16] 2859 2138: f90013f5 str x21, [sp, #32] 2860 213c: aa1403e0 mov x0, x20 2861 2140: 94000039 bl 2224 <xlat_mmap_print> 2862 2144: b9403a61 ldr w1, [x19, #56] 2863 2148: d2800000 mov x0, #0x0 // #0 2864 214c: 6b00003f cmp w1, w0 2865 2150: 540001c8 b.hi 2188 <init_xlat_tables_ctx+0x64> // b.pmore 2866 2154: b9402a63 ldr w3, [x19, #40] 2867 2158: d2800000 mov x0, #0x0 // #0 2868 215c: 6b00007f cmp w3, w0 2869 2160: 540001cc b.gt 2198 <init_xlat_tables_ctx+0x74> 2870 2164: f9400a80 ldr x0, [x20, #16] 2871 2168: b50002a0 cbnz x0, 21bc <init_xlat_tables_ctx+0x98> 2872 216c: 52800020 mov w0, #0x1 // #1 2873 2170: 39015260 strb w0, [x19, #84] 2874 2174: aa1303e0 mov x0, x19 2875 2178: a94153f3 ldp x19, x20, [sp, #16] 2876 217c: f94013f5 ldr x21, [sp, #32] 2877 2180: a8c37bfd ldp x29, x30, [sp], #48 2878 2184: 14000029 b 2228 <xlat_tables_print> 2879 2188: f9401a62 ldr x2, [x19, #48] 2880 218c: f820785f str xzr, [x2, x0, lsl #3] 2881 2190: 91000400 add x0, x0, #0x1 2882 2194: 17ffffee b 214c <init_xlat_tables_ctx+0x28> 2883 2198: f9401262 ldr x2, [x19, #32] 2884 219c: d2800001 mov x1, #0x0 // #0 2885 21a0: 8b003042 add x2, x2, x0, lsl #12 2886 21a4: f821785f str xzr, [x2, x1, lsl #3] 2887 21a8: 91000421 add x1, x1, #0x1 2888 21ac: f108003f cmp x1, #0x200 2889 21b0: 54ffffa1 b.ne 21a4 <init_xlat_tables_ctx+0x80> // b.any 2890 21b4: 91000400 add x0, x0, #0x1 2891 21b8: 17ffffe9 b 215c <init_xlat_tables_ctx+0x38> 2892 21bc: b9403a64 ldr w4, [x19, #56] 2893 21c0: aa1403e1 mov x1, x20 2894 21c4: b9405265 ldr w5, [x19, #80] 2895 21c8: d2800002 mov x2, #0x0 // #0 2896 21cc: f9401a63 ldr x3, [x19, #48] 2897 21d0: aa1303e0 mov x0, x19 2898 21d4: 97fffeb1 bl 1c98 <xlat_tables_map_region> 2899 21d8: aa0003f5 mov x21, x0 2900 21dc: f9401a60 ldr x0, [x19, #48] 2901 21e0: b9403a61 ldr w1, [x19, #56] 2902 21e4: d37df021 lsl x1, x1, #3 2903 21e8: 97fffe63 bl 1b74 <xlat_clean_dcache_range> 2904 21ec: a9408e81 ldp x1, x3, [x20, #8] 2905 21f0: 8b030020 add x0, x1, x3 2906 21f4: d1000400 sub x0, x0, #0x1 2907 21f8: eb15001f cmp x0, x21 2908 21fc: 54000100 b.eq 221c <init_xlat_tables_ctx+0xf8> // b.none 2909 2200: b9401a84 ldr w4, [x20, #24] 2910 2204: d0000000 adrp x0, 4000 <__TEXT_END__> 2911 2208: f9400282 ldr x2, [x20] 2912 220c: 912e3800 add x0, x0, #0xb8e 2913 2210: 97fffd1c bl 1680 <tf_log> 2914 2214: 97fffd85 bl 1828 <console_flush> 2915 2218: 94000151 bl 275c <do_panic> 2916 221c: 9100a294 add x20, x20, #0x28 2917 2220: 17ffffd1 b 2164 <init_xlat_tables_ctx+0x40> 2918 29190000000000002224 <xlat_mmap_print>: 2920 2224: d65f03c0 ret 2921 29220000000000002228 <xlat_tables_print>: 2923 2228: d65f03c0 ret 2924 2925000000000000222c <smc_handler64>: 2926 222c: d280009e mov x30, #0x4 // #4 2927 2230: eb0003df cmp x30, x0 2928 2234: 540003e1 b.ne 22b0 <smc_handler> // b.any 2929 2238: d53e111e mrs x30, scr_el3 2930 223c: f24003df tst x30, #0x1 2931 2240: 54000321 b.ne 22a4 <unexpected_sync_exception> // b.any 2932 2244: f9408bfe ldr x30, [sp, #272] 2933 2248: d50040bf msr spsel, #0x0 2934 224c: 910003df mov sp, x30 2935 2250: aa0103f4 mov x20, x1 2936 2254: aa1403e0 mov x0, x20 2937 2258: 97fff83d bl 34c <bl1_print_next_bl_ep_info> 2938 225c: a9408680 ldp x0, x1, [x20, #8] 2939 2260: d51e4020 msr elr_el3, x0 2940 2264: d51e4001 msr spsr_el3, x1 2941 2268: d3420c20 ubfx x0, x1, #2, #2 2942 226c: f1000c1f cmp x0, #0x3 2943 2270: 540001a1 b.ne 22a4 <unexpected_sync_exception> // b.any 2944 2274: 940001b1 bl 2938 <disable_mmu_icache_el3> 2945 2278: d50e871f tlbi alle3 2946 227c: d5033b9f dsb ish 2947 2280: aa1403e0 mov x0, x20 2948 2284: 940001b1 bl 2948 <bl1_plat_prepare_exit> 2949 2288: a9449e86 ldp x6, x7, [x20, #72] 2950 228c: a9439684 ldp x4, x5, [x20, #56] 2951 2290: a9428e82 ldp x2, x3, [x20, #40] 2952 2294: a9418680 ldp x0, x1, [x20, #24] 2953 2298: d69f03e0 eret 2954 229c: d503379f dsb nsh 2955 22a0: d5033fdf isb 2956 295700000000000022a4 <unexpected_sync_exception>: 2958 22a4: d2800100 mov x0, #0x8 // #8 2959 22a8: 940001a6 bl 2940 <plat_report_exception> 2960 22ac: 940001a8 bl 294c <plat_panic_handler> 2961 296200000000000022b0 <smc_handler>: 2963 22b0: 940000a4 bl 2540 <save_gp_pmcr_pauth_regs> 2964 22b4: aa1f03e5 mov x5, xzr 2965 22b8: 910003e6 mov x6, sp 2966 22bc: f94088cc ldr x12, [x6, #272] 2967 22c0: d50040bf msr spsel, #0x0 2968 22c4: 9100019f mov sp, x12 2969 22c8: d53e4010 mrs x16, spsr_el3 2970 22cc: d53e4031 mrs x17, elr_el3 2971 22d0: d53e1112 mrs x18, scr_el3 2972 22d4: a911c4d0 stp x16, x17, [x6, #280] 2973 22d8: f90080d2 str x18, [x6, #256] 2974 22dc: b3400247 bfxil x7, x18, #0, #1 2975 22e0: 97fff826 bl 378 <bl1_smc_handler> 2976 22e4: 140000d2 b 262c <el3_exit> 2977 297800000000000022e8 <a53_disable_non_temporal_hint>: 2979 22e8: aa1e03f1 mov x17, x30 2980 22ec: 94000006 bl 2304 <check_errata_disable_non_temporal_hint> 2981 22f0: b4000080 cbz x0, 2300 <a53_disable_non_temporal_hint+0x18> 2982 22f4: d539f201 mrs x1, s3_1_c15_c2_0 2983 22f8: b2680021 orr x1, x1, #0x1000000 2984 22fc: d519f201 msr s3_1_c15_c2_0, x1 2985 2300: d65f0220 ret x17 2986 29870000000000002304 <check_errata_disable_non_temporal_hint>: 2988 2304: d2800061 mov x1, #0x3 // #3 2989 2308: 14000056 b 2460 <cpu_rev_var_ls> 2990 2991000000000000230c <cortex_a53_reset_func>: 2992 230c: aa1e03f3 mov x19, x30 2993 2310: 94000050 bl 2450 <cpu_get_rev_var> 2994 2314: aa0003f2 mov x18, x0 2995 2318: aa1203e0 mov x0, x18 2996 231c: 97fffff3 bl 22e8 <a53_disable_non_temporal_hint> 2997 2320: d539f220 mrs x0, s3_1_c15_c2_1 2998 2324: b27a0000 orr x0, x0, #0x40 2999 2328: d519f220 msr s3_1_c15_c2_1, x0 3000 232c: d5033fdf isb 3001 2330: d65f0260 ret x19 3002 30030000000000002334 <a57_disable_ldnp_overread>: 3004 2334: aa1e03f1 mov x17, x30 3005 2338: 94000006 bl 2350 <check_errata_disable_ldnp_overread> 3006 233c: b4000080 cbz x0, 234c <a57_disable_ldnp_overread+0x18> 3007 2340: d539f201 mrs x1, s3_1_c15_c2_0 3008 2344: b24c0021 orr x1, x1, #0x10000000000000 3009 2348: d519f201 msr s3_1_c15_c2_0, x1 3010 234c: d65f0220 ret x17 3011 30120000000000002350 <check_errata_disable_ldnp_overread>: 3013 2350: d2800241 mov x1, #0x12 // #18 3014 2354: 14000043 b 2460 <cpu_rev_var_ls> 3015 30160000000000002358 <check_errata_cve_2017_5715>: 3017 2358: d2800020 mov x0, #0x1 // #1 3018 235c: d65f03c0 ret 3019 30200000000000002360 <cortex_a57_reset_func>: 3021 2360: aa1e03f3 mov x19, x30 3022 2364: 9400003b bl 2450 <cpu_get_rev_var> 3023 2368: aa0003f2 mov x18, x0 3024 236c: aa1203e0 mov x0, x18 3025 2370: 97fffff1 bl 2334 <a57_disable_ldnp_overread> 3026 2374: d539f200 mrs x0, s3_1_c15_c2_0 3027 2378: b2490000 orr x0, x0, #0x80000000000000 3028 237c: d519f200 msr s3_1_c15_c2_0, x0 3029 2380: d5033fdf isb 3030 2384: d5033f9f dsb sy 3031 2388: d539f220 mrs x0, s3_1_c15_c2_1 3032 238c: b27a0000 orr x0, x0, #0x40 3033 2390: d519f220 msr s3_1_c15_c2_1, x0 3034 2394: d5033fdf isb 3035 2398: d65f0260 ret x19 3036 3037000000000000239c <check_errata_cve_2017_5715>: 3038 239c: d5380400 mrs x0, id_aa64pfr0_el1 3039 23a0: d378ec00 ubfx x0, x0, #56, #4 3040 23a4: f100001f cmp x0, #0x0 3041 23a8: 54000061 b.ne 23b4 <check_errata_cve_2017_5715+0x18> // b.any 3042 23ac: d2800020 mov x0, #0x1 // #1 3043 23b0: d65f03c0 ret 3044 23b4: d2800000 mov x0, #0x0 // #0 3045 23b8: d65f03c0 ret 3046 304700000000000023bc <cortex_a72_reset_func>: 3048 23bc: aa1e03f3 mov x19, x30 3049 23c0: 94000024 bl 2450 <cpu_get_rev_var> 3050 23c4: aa0003f2 mov x18, x0 3051 23c8: d539f200 mrs x0, s3_1_c15_c2_0 3052 23cc: b2490000 orr x0, x0, #0x80000000000000 3053 23d0: d519f200 msr s3_1_c15_c2_0, x0 3054 23d4: d5033fdf isb 3055 23d8: d5033f9f dsb sy 3056 23dc: d539f220 mrs x0, s3_1_c15_c2_1 3057 23e0: b27a0000 orr x0, x0, #0x40 3058 23e4: d519f220 msr s3_1_c15_c2_1, x0 3059 23e8: d5033fdf isb 3060 23ec: d65f0260 ret x19 3061 306200000000000023f0 <reset_handler>: 3063 23f0: aa1e03f3 mov x19, x30 3064 23f4: 94000154 bl 2944 <plat_reset_handler> 3065 23f8: 94000006 bl 2410 <get_cpu_ops_ptr> 3066 23fc: f9400402 ldr x2, [x0, #8] 3067 2400: aa1303fe mov x30, x19 3068 2404: b4000042 cbz x2, 240c <reset_handler+0x1c> 3069 2408: d61f0040 br x2 3070 240c: d65f03c0 ret 3071 30720000000000002410 <get_cpu_ops_ptr>: 3073 2410: d5380002 mrs x2, midr_el1 3074 2414: d29ffe03 mov x3, #0xfff0 // #65520 3075 2418: f2bfe003 movk x3, #0xff00, lsl #16 3076 241c: 0a030042 and w2, w2, w3 3077 2420: 10014645 adr x5, 4ce8 <__CPU_OPS_END__> 3078 2424: d2800000 mov x0, #0x0 // #0 3079 2428: 10013e84 adr x4, 4bf8 <__CPU_OPS_START__> 3080 242c: eb05009f cmp x4, x5 3081 2430: 540000e0 b.eq 244c <search_def_ptr> // b.none 3082 2434: f8428481 ldr x1, [x4], #40 3083 2438: 0a030021 and w1, w1, w3 3084 243c: 6b02003f cmp w1, w2 3085 2440: 54ffff61 b.ne 242c <get_cpu_ops_ptr+0x1c> // b.any 3086 2444: d100a080 sub x0, x4, #0x28 3087 2448: d65f03c0 ret 3088 3089000000000000244c <search_def_ptr>: 3090 244c: d65f03c0 ret 3091 30920000000000002450 <cpu_get_rev_var>: 3093 2450: d5380001 mrs x1, midr_el1 3094 2454: d3505c20 ubfx x0, x1, #16, #8 3095 2458: b3400c20 bfxil x0, x1, #0, #4 3096 245c: d65f03c0 ret 3097 30980000000000002460 <cpu_rev_var_ls>: 3099 2460: d2800022 mov x2, #0x1 // #1 3100 2464: d2800003 mov x3, #0x0 // #0 3101 2468: eb01001f cmp x0, x1 3102 246c: 9a839040 csel x0, x2, x3, ls // ls = plast 3103 2470: d65f03c0 ret 3104 31050000000000002474 <el1_sysregs_context_restore>: 3106 2474: a9402809 ldp x9, x10, [x0] 3107 2478: d5184009 msr spsr_el1, x9 3108 247c: d518402a msr elr_el1, x10 3109 2480: a941400f ldp x15, x16, [x0, #16] 3110 2484: d518100f msr sctlr_el1, x15 3111 2488: d5182050 msr tcr_el1, x16 3112 248c: a9422411 ldp x17, x9, [x0, #32] 3113 2490: d5181051 msr cpacr_el1, x17 3114 2494: d51a0009 msr csselr_el1, x9 3115 2498: a9432c0a ldp x10, x11, [x0, #48] 3116 249c: d51c410a msr sp_el1, x10 3117 24a0: d518520b msr esr_el1, x11 3118 24a4: a944340c ldp x12, x13, [x0, #64] 3119 24a8: d518200c msr ttbr0_el1, x12 3120 24ac: d518202d msr ttbr1_el1, x13 3121 24b0: a9453c0e ldp x14, x15, [x0, #80] 3122 24b4: d518a20e msr mair_el1, x14 3123 24b8: d518a30f msr amair_el1, x15 3124 24bc: a9464410 ldp x16, x17, [x0, #96] 3125 24c0: d5181030 msr actlr_el1, x16 3126 24c4: d518d091 msr tpidr_el1, x17 3127 24c8: a9472809 ldp x9, x10, [x0, #112] 3128 24cc: d51bd049 msr tpidr_el0, x9 3129 24d0: d51bd06a msr tpidrro_el0, x10 3130 24d4: a948380d ldp x13, x14, [x0, #128] 3131 24d8: d518740d msr par_el1, x13 3132 24dc: d518600e msr far_el1, x14 3133 24e0: a949400f ldp x15, x16, [x0, #144] 3134 24e4: d518510f msr afsr0_el1, x15 3135 24e8: d5185130 msr afsr1_el1, x16 3136 24ec: a94a2411 ldp x17, x9, [x0, #160] 3137 24f0: d518d031 msr contextidr_el1, x17 3138 24f4: d518c009 msr vbar_el1, x9 3139 24f8: a94b300b ldp x11, x12, [x0, #176] 3140 24fc: d51c432b msr spsr_abt, x11 3141 2500: d51c434c msr spsr_und, x12 3142 2504: a94c380d ldp x13, x14, [x0, #192] 3143 2508: d51c430d msr spsr_irq, x13 3144 250c: d51c436e msr spsr_fiq, x14 3145 2510: a94d400f ldp x15, x16, [x0, #208] 3146 2514: d51c300f msr dacr32_el2, x15 3147 2518: d51c5030 msr ifsr32_el2, x16 3148 251c: a94e2c0a ldp x10, x11, [x0, #224] 3149 2520: d51be22a msr cntp_ctl_el0, x10 3150 2524: d51be24b msr cntp_cval_el0, x11 3151 2528: a94f340c ldp x12, x13, [x0, #240] 3152 252c: d51be32c msr cntv_ctl_el0, x12 3153 2530: d51be34d msr cntv_cval_el0, x13 3154 2534: f940800e ldr x14, [x0, #256] 3155 2538: d518e10e msr cntkctl_el1, x14 3156 253c: d65f03c0 ret 3157 31580000000000002540 <save_gp_pmcr_pauth_regs>: 3159 2540: a90007e0 stp x0, x1, [sp] 3160 2544: a9010fe2 stp x2, x3, [sp, #16] 3161 2548: a90217e4 stp x4, x5, [sp, #32] 3162 254c: a9031fe6 stp x6, x7, [sp, #48] 3163 2550: a90427e8 stp x8, x9, [sp, #64] 3164 2554: a9052fea stp x10, x11, [sp, #80] 3165 2558: a90637ec stp x12, x13, [sp, #96] 3166 255c: a9073fee stp x14, x15, [sp, #112] 3167 2560: a90847f0 stp x16, x17, [sp, #128] 3168 2564: a9094ff2 stp x18, x19, [sp, #144] 3169 2568: a90a57f4 stp x20, x21, [sp, #160] 3170 256c: a90b5ff6 stp x22, x23, [sp, #176] 3171 2570: a90c67f8 stp x24, x25, [sp, #192] 3172 2574: a90d6ffa stp x26, x27, [sp, #208] 3173 2578: a90e77fc stp x28, x29, [sp, #224] 3174 257c: d5384112 mrs x18, sp_el0 3175 2580: f9007ff2 str x18, [sp, #248] 3176 2584: d2a0100a mov x10, #0x800000 // #8388608 3177 2588: f2c0008a movk x10, #0x4, lsl #32 3178 258c: d53e1329 mrs x9, mdcr_el3 3179 2590: ea0a013f tst x9, x10 3180 2594: 54000121 b.ne 25b8 <save_gp_pmcr_pauth_regs+0x78> // b.any 3181 2598: d53b9c09 mrs x9, pmcr_el0 3182 259c: d53e110a mrs x10, scr_el3 3183 25a0: f240015f tst x10, #0x1 3184 25a4: 54000040 b.eq 25ac <save_gp_pmcr_pauth_regs+0x6c> // b.none 3185 25a8: f90097e9 str x9, [sp, #296] 3186 25ac: b27b0129 orr x9, x9, #0x20 3187 25b0: d51b9c09 msr pmcr_el0, x9 3188 25b4: d5033fdf isb 3189 25b8: d65f03c0 ret 3190 319100000000000025bc <restore_gp_pmcr_pauth_regs>: 3192 25bc: d53e1100 mrs x0, scr_el3 3193 25c0: f240001f tst x0, #0x1 3194 25c4: 54000100 b.eq 25e4 <restore_gp_pmcr_pauth_regs+0x28> // b.none 3195 25c8: d2a01001 mov x1, #0x800000 // #8388608 3196 25cc: f2c00081 movk x1, #0x4, lsl #32 3197 25d0: d53e1320 mrs x0, mdcr_el3 3198 25d4: ea01001f tst x0, x1 3199 25d8: 54000061 b.ne 25e4 <restore_gp_pmcr_pauth_regs+0x28> // b.any 3200 25dc: f94097e0 ldr x0, [sp, #296] 3201 25e0: d51b9c00 msr pmcr_el0, x0 3202 25e4: a94007e0 ldp x0, x1, [sp] 3203 25e8: a9410fe2 ldp x2, x3, [sp, #16] 3204 25ec: a94217e4 ldp x4, x5, [sp, #32] 3205 25f0: a9431fe6 ldp x6, x7, [sp, #48] 3206 25f4: a94427e8 ldp x8, x9, [sp, #64] 3207 25f8: a9452fea ldp x10, x11, [sp, #80] 3208 25fc: a94637ec ldp x12, x13, [sp, #96] 3209 2600: a9473fee ldp x14, x15, [sp, #112] 3210 2604: a94847f0 ldp x16, x17, [sp, #128] 3211 2608: a9494ff2 ldp x18, x19, [sp, #144] 3212 260c: a94a57f4 ldp x20, x21, [sp, #160] 3213 2610: a94b5ff6 ldp x22, x23, [sp, #176] 3214 2614: a94c67f8 ldp x24, x25, [sp, #192] 3215 2618: a94d6ffa ldp x26, x27, [sp, #208] 3216 261c: f9407ffc ldr x28, [sp, #248] 3217 2620: d518411c msr sp_el0, x28 3218 2624: a94e77fc ldp x28, x29, [sp, #224] 3219 2628: d65f03c0 ret 3220 3221000000000000262c <el3_exit>: 3222 262c: 910003f1 mov x17, sp 3223 2630: d50041bf msr spsel, #0x1 3224 2634: f9008bf1 str x17, [sp, #272] 3225 2638: f94083f2 ldr x18, [sp, #256] 3226 263c: a951c7f0 ldp x16, x17, [sp, #280] 3227 2640: d51e1112 msr scr_el3, x18 3228 2644: d51e4010 msr spsr_el3, x16 3229 2648: d51e4031 msr elr_el3, x17 3230 264c: 97ffffdc bl 25bc <restore_gp_pmcr_pauth_regs> 3231 2650: f9407bfe ldr x30, [sp, #240] 3232 2654: d5033f9f dsb sy 3233 2658: d69f03e0 eret 3234 265c: d503379f dsb nsh 3235 2660: d5033fdf isb 3236 32370000000000002664 <semihosting_call>: 3238 2664: d45e0000 hlt #0xf000 3239 2668: d65f03c0 ret 3240 3241000000000000266c <plat_set_my_stack>: 3242 266c: b0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 3243 2670: 91050000 add x0, x0, #0x140 3244 2674: 9100001f mov sp, x0 3245 2678: d65f03c0 ret 3246 3247000000000000267c <plat_my_core_pos>: 3248 267c: d53800a0 mrs x0, mpidr_el1 3249 2680: 14000001 b 2684 <plat_qemu_calc_core_pos> 3250 32510000000000002684 <plat_qemu_calc_core_pos>: 3252 2684: 92401c01 and x1, x0, #0xff 3253 2688: 92781c00 and x0, x0, #0xff00 3254 268c: 8b401820 add x0, x1, x0, lsr #6 3255 2690: d65f03c0 ret 3256 32570000000000002694 <plat_is_my_cpu_primary>: 3258 2694: d53800a0 mrs x0, mpidr_el1 3259 2698: 92403c00 and x0, x0, #0xffff 3260 269c: f100001f cmp x0, #0x0 3261 26a0: 1a9f17e0 cset w0, eq // eq = none 3262 26a4: d65f03c0 ret 3263 326400000000000026a8 <plat_secondary_cold_boot_setup>: 3265 26a8: 97fffff5 bl 267c <plat_my_core_pos> 3266 26ac: d37df000 lsl x0, x0, #3 3267 26b0: d2800102 mov x2, #0x8 // #8 3268 26b4: f2a1c002 movk x2, #0xe00, lsl #16 3269 327000000000000026b8 <poll_mailbox>: 3271 26b8: f8606841 ldr x1, [x2, x0] 3272 26bc: b40000c1 cbz x1, 26d4 <poll_mailbox+0x1c> 3273 26c0: d2800001 mov x1, #0x0 // #0 3274 26c4: f8206841 str x1, [x2, x0] 3275 26c8: d2a1c000 mov x0, #0xe000000 // #234881024 3276 26cc: f9400001 ldr x1, [x0] 3277 26d0: d61f0020 br x1 3278 26d4: d503205f wfe 3279 26d8: 17fffff8 b 26b8 <poll_mailbox> 3280 328100000000000026dc <plat_get_my_entrypoint>: 3282 26dc: d2800000 mov x0, #0x0 // #0 3283 26e0: d65f03c0 ret 3284 328500000000000026e4 <platform_mem_init>: 3286 26e4: d65f03c0 ret 3287 328800000000000026e8 <plat_crash_console_init>: 3289 26e8: d2a12080 mov x0, #0x9040000 // #151257088 3290 26ec: d2800021 mov x1, #0x1 // #1 3291 26f0: d2984002 mov x2, #0xc200 // #49664 3292 26f4: f2a00022 movk x2, #0x1, lsl #16 3293 26f8: 14000097 b 2954 <console_pl011_core_init> 3294 329500000000000026fc <plat_crash_console_putc>: 3296 26fc: d2a12081 mov x1, #0x9040000 // #151257088 3297 2700: 140000c0 b 2a00 <console_pl011_core_putc> 3298 32990000000000002704 <plat_crash_console_flush>: 3300 2704: d2a12080 mov x0, #0x9040000 // #151257088 3301 2708: 140000d3 b 2a54 <console_pl011_core_flush> 3302 3303000000000000270c <asm_print_str>: 3304 270c: aa1e03e3 mov x3, x30 3305 2710: 38401480 ldrb w0, [x4], #1 3306 2714: b4000060 cbz x0, 2720 <asm_print_str+0x14> 3307 2718: 97fffff9 bl 26fc <plat_crash_console_putc> 3308 271c: 17fffffd b 2710 <asm_print_str+0x4> 3309 2720: d65f0060 ret x3 3310 33110000000000002724 <asm_print_hex>: 3312 2724: d2800805 mov x5, #0x40 // #64 3313 33140000000000002728 <asm_print_hex_bits>: 3315 2728: aa1e03e3 mov x3, x30 3316 272c: d10010a5 sub x5, x5, #0x4 3317 2730: 9ac52480 lsr x0, x4, x5 3318 2734: 92400c00 and x0, x0, #0xf 3319 2738: f100281f cmp x0, #0xa 3320 273c: 54000043 b.cc 2744 <asm_print_hex_bits+0x1c> // b.lo, b.ul, b.last 3321 2740: 91009c00 add x0, x0, #0x27 3322 2744: 9100c000 add x0, x0, #0x30 3323 2748: 97ffffed bl 26fc <plat_crash_console_putc> 3324 274c: b5ffff05 cbnz x5, 272c <asm_print_hex_bits+0x4> 3325 2750: d65f0060 ret x3 3326 33270000000000002754 <asm_print_newline>: 3328 2754: d2800140 mov x0, #0xa // #10 3329 2758: 17ffffe9 b 26fc <plat_crash_console_putc> 3330 3331000000000000275c <do_panic>: 3332 275c: aa1e03e6 mov x6, x30 3333 2760: 97ffffe2 bl 26e8 <plat_crash_console_init> 3334 2764: b4000100 cbz x0, 2784 <_panic_handler> 3335 2768: 300123a4 adr x4, 4bdd <panic_msg> 3336 276c: 97ffffe8 bl 270c <asm_print_str> 3337 2770: aa0603e4 mov x4, x6 3338 2774: d1001084 sub x4, x4, #0x4 3339 2778: 97ffffeb bl 2724 <asm_print_hex> 3340 277c: 97fffff6 bl 2754 <asm_print_newline> 3341 2780: 97ffffe1 bl 2704 <plat_crash_console_flush> 3342 33430000000000002784 <_panic_handler>: 3344 2784: aa0603fe mov x30, x6 3345 2788: 14000071 b 294c <plat_panic_handler> 3346 3347000000000000278c <flush_dcache_range>: 3348 278c: b40001a1 cbz x1, 27c0 <exit_loop_civac> 3349 2790: d53b0023 mrs x3, ctr_el0 3350 2794: d3504c63 ubfx x3, x3, #16, #4 3351 2798: d2800082 mov x2, #0x4 // #4 3352 279c: 9ac32042 lsl x2, x2, x3 3353 27a0: 8b010001 add x1, x0, x1 3354 27a4: d1000443 sub x3, x2, #0x1 3355 27a8: 8a230000 bic x0, x0, x3 3356 335700000000000027ac <loop_civac>: 3358 27ac: d50b7e20 dc civac, x0 3359 27b0: 8b020000 add x0, x0, x2 3360 27b4: eb01001f cmp x0, x1 3361 27b8: 54ffffa3 b.cc 27ac <loop_civac> // b.lo, b.ul, b.last 3362 27bc: d5033f9f dsb sy 3363 336400000000000027c0 <exit_loop_civac>: 3365 27c0: d65f03c0 ret 3366 336700000000000027c4 <clean_dcache_range>: 3368 27c4: b40001a1 cbz x1, 27f8 <exit_loop_cvac> 3369 27c8: d53b0023 mrs x3, ctr_el0 3370 27cc: d3504c63 ubfx x3, x3, #16, #4 3371 27d0: d2800082 mov x2, #0x4 // #4 3372 27d4: 9ac32042 lsl x2, x2, x3 3373 27d8: 8b010001 add x1, x0, x1 3374 27dc: d1000443 sub x3, x2, #0x1 3375 27e0: 8a230000 bic x0, x0, x3 3376 337700000000000027e4 <loop_cvac>: 3378 27e4: d50b7a20 dc cvac, x0 3379 27e8: 8b020000 add x0, x0, x2 3380 27ec: eb01001f cmp x0, x1 3381 27f0: 54ffffa3 b.cc 27e4 <loop_cvac> // b.lo, b.ul, b.last 3382 27f4: d5033f9f dsb sy 3383 338400000000000027f8 <exit_loop_cvac>: 3385 27f8: d65f03c0 ret 3386 338700000000000027fc <zeromem>: 3388 27fc: 8b010002 add x2, x0, x1 3389 2800: 14000030 b 28c0 <zero_normalmem+0xbc> 3390 33910000000000002804 <zero_normalmem>: 3392 2804: 8b010002 add x2, x0, x1 3393 2808: d53b00e3 mrs x3, dczid_el0 3394 280c: d3400c63 ubfx x3, x3, #0, #4 3395 2810: d2800085 mov x5, #0x4 // #4 3396 2814: 9ac320a3 lsl x3, x5, x3 3397 2818: eb03003f cmp x1, x3 3398 281c: 54000523 b.cc 28c0 <zero_normalmem+0xbc> // b.lo, b.ul, b.last 3399 2820: d1000461 sub x1, x3, #0x1 3400 2824: ea01001f tst x0, x1 3401 2828: 54000260 b.eq 2874 <zero_normalmem+0x70> // b.none 3402 282c: aa010004 orr x4, x0, x1 3403 2830: 91000484 add x4, x4, #0x1 3404 2834: b4000464 cbz x4, 28c0 <zero_normalmem+0xbc> 3405 2838: eb02009f cmp x4, x2 3406 283c: 54000428 b.hi 28c0 <zero_normalmem+0xbc> // b.pmore 3407 2840: f2400c1f tst x0, #0xf 3408 2844: 540000e0 b.eq 2860 <zero_normalmem+0x5c> // b.none 3409 2848: b2400c05 orr x5, x0, #0xf 3410 284c: 910004a5 add x5, x5, #0x1 3411 2850: b4000385 cbz x5, 28c0 <zero_normalmem+0xbc> 3412 2854: 3800141f strb wzr, [x0], #1 3413 2858: eb05001f cmp x0, x5 3414 285c: 54ffffc1 b.ne 2854 <zero_normalmem+0x50> // b.any 3415 2860: eb04001f cmp x0, x4 3416 2864: 54000082 b.cs 2874 <zero_normalmem+0x70> // b.hs, b.nlast 3417 2868: a8817c1f stp xzr, xzr, [x0], #16 3418 286c: eb04001f cmp x0, x4 3419 2870: 54ffffc3 b.cc 2868 <zero_normalmem+0x64> // b.lo, b.ul, b.last 3420 2874: 8a210044 bic x4, x2, x1 3421 2878: eb04001f cmp x0, x4 3422 287c: 540000a2 b.cs 2890 <zero_normalmem+0x8c> // b.hs, b.nlast 3423 2880: d50b7420 dc zva, x0 3424 2884: 8b030000 add x0, x0, x3 3425 2888: eb04001f cmp x0, x4 3426 288c: 54ffffa3 b.cc 2880 <zero_normalmem+0x7c> // b.lo, b.ul, b.last 3427 2890: 927cec44 and x4, x2, #0xfffffffffffffff0 3428 2894: eb04001f cmp x0, x4 3429 2898: 54000082 b.cs 28a8 <zero_normalmem+0xa4> // b.hs, b.nlast 3430 289c: a8817c1f stp xzr, xzr, [x0], #16 3431 28a0: eb04001f cmp x0, x4 3432 28a4: 54ffffc3 b.cc 289c <zero_normalmem+0x98> // b.lo, b.ul, b.last 3433 28a8: eb02001f cmp x0, x2 3434 28ac: 54000080 b.eq 28bc <zero_normalmem+0xb8> // b.none 3435 28b0: 3800141f strb wzr, [x0], #1 3436 28b4: eb02001f cmp x0, x2 3437 28b8: 54ffffc1 b.ne 28b0 <zero_normalmem+0xac> // b.any 3438 28bc: d65f03c0 ret 3439 28c0: f2400c1f tst x0, #0xf 3440 28c4: 54fffe60 b.eq 2890 <zero_normalmem+0x8c> // b.none 3441 28c8: b2400c04 orr x4, x0, #0xf 3442 28cc: 91000484 add x4, x4, #0x1 3443 28d0: b4fffec4 cbz x4, 28a8 <zero_normalmem+0xa4> 3444 28d4: eb02009f cmp x4, x2 3445 28d8: 54fffe82 b.cs 28a8 <zero_normalmem+0xa4> // b.hs, b.nlast 3446 28dc: 3800141f strb wzr, [x0], #1 3447 28e0: eb04001f cmp x0, x4 3448 28e4: 54ffffc1 b.ne 28dc <zero_normalmem+0xd8> // b.any 3449 28e8: 17ffffea b 2890 <zero_normalmem+0x8c> 3450 345100000000000028ec <memcpy16>: 3452 28ec: f100405f cmp x2, #0x10 3453 28f0: 540000a3 b.cc 2904 <m_loop1> // b.lo, b.ul, b.last 3454 28f4: a8c11023 ldp x3, x4, [x1], #16 3455 28f8: a8811003 stp x3, x4, [x0], #16 3456 28fc: d1004042 sub x2, x2, #0x10 3457 2900: 17fffffb b 28ec <memcpy16> 3458 34590000000000002904 <m_loop1>: 3460 2904: b40000a2 cbz x2, 2918 <m_end> 3461 2908: 38401423 ldrb w3, [x1], #1 3462 290c: 38001403 strb w3, [x0], #1 3463 2910: f1000442 subs x2, x2, #0x1 3464 2914: 54ffff81 b.ne 2904 <m_loop1> // b.any 3465 34660000000000002918 <m_end>: 3467 2918: d65f03c0 ret 3468 3469000000000000291c <disable_mmu_el3>: 3470 291c: d28000a1 mov x1, #0x5 // #5 3471 34720000000000002920 <do_disable_mmu_el3>: 3473 2920: d53e1000 mrs x0, sctlr_el3 3474 2924: 8a210000 bic x0, x0, x1 3475 2928: d51e1000 msr sctlr_el3, x0 3476 292c: d5033fdf isb 3477 2930: d5033f9f dsb sy 3478 2934: d65f03c0 ret 3479 34800000000000002938 <disable_mmu_icache_el3>: 3481 2938: d28200a1 mov x1, #0x1005 // #4101 3482 293c: 17fffff9 b 2920 <do_disable_mmu_el3> 3483 34840000000000002940 <plat_report_exception>: 3485 2940: d65f03c0 ret 3486 34870000000000002944 <plat_reset_handler>: 3488 2944: d65f03c0 ret 3489 34900000000000002948 <bl1_plat_prepare_exit>: 3491 2948: d65f03c0 ret 3492 3493000000000000294c <plat_panic_handler>: 3494 294c: d503207f wfi 3495 2950: 17ffffff b 294c <plat_panic_handler> 3496 34970000000000002954 <console_pl011_core_init>: 3498 2954: b4000280 cbz x0, 29a4 <core_init_fail> 3499 2958: 34000261 cbz w1, 29a4 <core_init_fail> 3500 295c: 34000242 cbz w2, 29a4 <core_init_fail> 3501 2960: b9403003 ldr w3, [x0, #48] 3502 2964: 52800024 mov w4, #0x1 // #1 3503 2968: 0a240063 bic w3, w3, w4 3504 296c: b9003003 str w3, [x0, #48] 3505 2970: 531e7421 lsl w1, w1, #2 3506 2974: 1ac20822 udiv w2, w1, w2 3507 2978: 53067c41 lsr w1, w2, #6 3508 297c: b9002401 str w1, [x0, #36] 3509 2980: 12001441 and w1, w2, #0x3f 3510 2984: b9002801 str w1, [x0, #40] 3511 2988: 52800e01 mov w1, #0x70 // #112 3512 298c: b9002c01 str w1, [x0, #44] 3513 2990: b900041f str wzr, [x0, #4] 3514 2994: 52806021 mov w1, #0x301 // #769 3515 2998: b9003001 str w1, [x0, #48] 3516 299c: 52800020 mov w0, #0x1 // #1 3517 29a0: d65f03c0 ret 3518 351900000000000029a4 <core_init_fail>: 3520 29a4: 2a1f03e0 mov w0, wzr 3521 29a8: d65f03c0 ret 3522 352300000000000029ac <console_pl011_register>: 3524 29ac: aa1e03e7 mov x7, x30 3525 29b0: aa0303e6 mov x6, x3 3526 29b4: b4000246 cbz x6, 29fc <register_fail> 3527 29b8: f90014c0 str x0, [x6, #40] 3528 29bc: 97ffffe6 bl 2954 <console_pl011_core_init> 3529 29c0: b40001e0 cbz x0, 29fc <register_fail> 3530 29c4: aa0603e0 mov x0, x6 3531 29c8: aa0703fe mov x30, x7 3532 29cc: 90000001 adrp x1, 2000 <mmap_add_region_ctx+0x148> 3533 29d0: 9128a021 add x1, x1, #0xa28 3534 29d4: f9000801 str x1, [x0, #16] 3535 29d8: 90000001 adrp x1, 2000 <mmap_add_region_ctx+0x148> 3536 29dc: 91293021 add x1, x1, #0xa4c 3537 29e0: f9000c01 str x1, [x0, #24] 3538 29e4: 90000001 adrp x1, 2000 <mmap_add_region_ctx+0x148> 3539 29e8: 91298021 add x1, x1, #0xa60 3540 29ec: f9001001 str x1, [x0, #32] 3541 29f0: d28000a1 mov x1, #0x5 // #5 3542 29f4: f9000401 str x1, [x0, #8] 3543 29f8: 17fffb52 b 1740 <console_register> 3544 354500000000000029fc <register_fail>: 3546 29fc: d65f00e0 ret x7 3547 35480000000000002a00 <console_pl011_core_putc>: 3549 2a00: 7100281f cmp w0, #0xa 3550 2a04: 540000a1 b.ne 2a18 <console_pl011_core_putc+0x18> // b.any 3551 2a08: b9401822 ldr w2, [x1, #24] 3552 2a0c: 372fffe2 tbnz w2, #5, 2a08 <console_pl011_core_putc+0x8> 3553 2a10: 528001a2 mov w2, #0xd // #13 3554 2a14: b9000022 str w2, [x1] 3555 2a18: b9401822 ldr w2, [x1, #24] 3556 2a1c: 372fffe2 tbnz w2, #5, 2a18 <console_pl011_core_putc+0x18> 3557 2a20: b9000020 str w0, [x1] 3558 2a24: d65f03c0 ret 3559 35600000000000002a28 <console_pl011_putc>: 3561 2a28: f9401421 ldr x1, [x1, #40] 3562 2a2c: 17fffff5 b 2a00 <console_pl011_core_putc> 3563 35640000000000002a30 <console_pl011_core_getc>: 3565 2a30: b9401801 ldr w1, [x0, #24] 3566 2a34: 37200081 tbnz w1, #4, 2a44 <no_char> 3567 2a38: b9400001 ldr w1, [x0] 3568 2a3c: 2a0103e0 mov w0, w1 3569 2a40: d65f03c0 ret 3570 35710000000000002a44 <no_char>: 3572 2a44: 12800000 mov w0, #0xffffffff // #-1 3573 2a48: d65f03c0 ret 3574 35750000000000002a4c <console_pl011_getc>: 3576 2a4c: f9401400 ldr x0, [x0, #40] 3577 2a50: 17fffff8 b 2a30 <console_pl011_core_getc> 3578 35790000000000002a54 <console_pl011_core_flush>: 3580 2a54: b9401801 ldr w1, [x0, #24] 3581 2a58: 371fffe1 tbnz w1, #3, 2a54 <console_pl011_core_flush> 3582 2a5c: d65f03c0 ret 3583 35840000000000002a60 <console_pl011_flush>: 3585 2a60: f9401400 ldr x0, [x0, #40] 3586 2a64: 17fffffc b 2a54 <console_pl011_core_flush> 3587 35880000000000002a68 <enable_mmu_direct_el3>: 3589 2a68: d50e871f tlbi alle3 3590 2a6c: aa0003e7 mov x7, x0 3591 2a70: b0070260 adrp x0, e04f000 <__STACKS_START__+0xec0> 3592 2a74: 911e2000 add x0, x0, #0x788 3593 2a78: f9400001 ldr x1, [x0] 3594 2a7c: d51ea201 msr mair_el3, x1 3595 2a80: f9400402 ldr x2, [x0, #8] 3596 2a84: d51e2042 msr tcr_el3, x2 3597 2a88: f9400803 ldr x3, [x0, #16] 3598 2a8c: d51e2003 msr ttbr0_el3, x3 3599 2a90: d5033b9f dsb ish 3600 2a94: d5033fdf isb 3601 2a98: d53e1004 mrs x4, sctlr_el3 3602 2a9c: d28000a5 mov x5, #0x5 // #5 3603 2aa0: f2a00105 movk x5, #0x8, lsl #16 3604 2aa4: aa050084 orr x4, x4, x5 3605 2aa8: 927df885 and x5, x4, #0xfffffffffffffffb 3606 2aac: f24000ff tst x7, #0x1 3607 2ab0: 9a8410a4 csel x4, x5, x4, ne // ne = any 3608 2ab4: d51e1004 msr sctlr_el3, x4 3609 2ab8: d5033fdf isb 3610 2abc: d65f03c0 ret 3611 36120000000000002ac0 <memcmp>: 3613 2ac0: d1000421 sub x1, x1, #0x1 3614 2ac4: d2800004 mov x4, #0x0 // #0 3615 2ac8: eb04005f cmp x2, x4 3616 2acc: 54000061 b.ne 2ad8 <memcmp+0x18> // b.any 3617 2ad0: 52800000 mov w0, #0x0 // #0 3618 2ad4: 14000007 b 2af0 <memcmp+0x30> 3619 2ad8: 38646803 ldrb w3, [x0, x4] 3620 2adc: 91000484 add x4, x4, #0x1 3621 2ae0: 38646825 ldrb w5, [x1, x4] 3622 2ae4: 6b05007f cmp w3, w5 3623 2ae8: 54ffff00 b.eq 2ac8 <memcmp+0x8> // b.none 3624 2aec: 4b050060 sub w0, w3, w5 3625 2af0: d65f03c0 ret 3626 36270000000000002af4 <memcpy>: 3628 2af4: d2800003 mov x3, #0x0 // #0 3629 2af8: eb03005f cmp x2, x3 3630 2afc: 54000041 b.ne 2b04 <memcpy+0x10> // b.any 3631 2b00: d65f03c0 ret 3632 2b04: 38636824 ldrb w4, [x1, x3] 3633 2b08: 38236804 strb w4, [x0, x3] 3634 2b0c: 91000463 add x3, x3, #0x1 3635 2b10: 17fffffa b 2af8 <memcpy+0x4> 3636 36370000000000002b14 <memmove>: 3638 2b14: cb010006 sub x6, x0, x1 3639 2b18: aa0003e5 mov x5, x0 3640 2b1c: eb0200df cmp x6, x2 3641 2b20: 54000043 b.cc 2b28 <memmove+0x14> // b.lo, b.ul, b.last 3642 2b24: 17fffff4 b 2af4 <memcpy> 3643 2b28: 8b020024 add x4, x1, x2 3644 2b2c: 8b020000 add x0, x0, x2 3645 2b30: eb05001f cmp x0, x5 3646 2b34: 54000041 b.ne 2b3c <memmove+0x28> // b.any 3647 2b38: d65f03c0 ret 3648 2b3c: 385ffc81 ldrb w1, [x4, #-1]! 3649 2b40: 381ffc01 strb w1, [x0, #-1]! 3650 2b44: 17fffffb b 2b30 <memmove+0x1c> 3651 36520000000000002b48 <unsigned_num_print>: 3653 2b48: a9ba7bfd stp x29, x30, [sp, #-96]! 3654 2b4c: 2a0103e1 mov w1, w1 3655 2b50: 910003fd mov x29, sp 3656 2b54: a9025bf5 stp x21, x22, [sp, #32] 3657 2b58: 910123f5 add x21, sp, #0x48 3658 2b5c: f9001bf7 str x23, [sp, #48] 3659 2b60: 12001c57 and w23, w2, #0xff 3660 2b64: a90153f3 stp x19, x20, [sp, #16] 3661 2b68: 2a0303f3 mov w19, w3 3662 2b6c: d2800003 mov x3, #0x0 // #0 3663 2b70: 9ac10807 udiv x7, x0, x1 3664 2b74: 11000474 add w20, w3, #0x1 3665 2b78: 9b0180e6 msub x6, x7, x1, x0 3666 2b7c: 12001cc4 and w4, w6, #0xff 3667 2b80: f10024df cmp x6, #0x9 3668 2b84: 1100c085 add w5, w4, #0x30 3669 2b88: 11015c84 add w4, w4, #0x57 3670 2b8c: 12001ca5 and w5, w5, #0xff 3671 2b90: 12001c84 and w4, w4, #0xff 3672 2b94: 1a858084 csel w4, w4, w5, hi // hi = pmore 3673 2b98: 38356864 strb w4, [x3, x21] 3674 2b9c: 91000463 add x3, x3, #0x1 3675 2ba0: eb00003f cmp x1, x0 3676 2ba4: 540001c9 b.ls 2bdc <unsigned_num_print+0x94> // b.plast 3677 2ba8: 7100027f cmp w19, #0x0 3678 2bac: 540002cc b.gt 2c04 <unsigned_num_print+0xbc> 3679 2bb0: 52800013 mov w19, #0x0 // #0 3680 2bb4: 93407e96 sxtw x22, w20 3681 2bb8: d10006d6 sub x22, x22, #0x1 3682 2bbc: 310006df cmn w22, #0x1 3683 2bc0: 54000261 b.ne 2c0c <unsigned_num_print+0xc4> // b.any 3684 2bc4: 0b140260 add w0, w19, w20 3685 2bc8: a94153f3 ldp x19, x20, [sp, #16] 3686 2bcc: a9425bf5 ldp x21, x22, [sp, #32] 3687 2bd0: f9401bf7 ldr x23, [sp, #48] 3688 2bd4: a8c67bfd ldp x29, x30, [sp], #96 3689 2bd8: d65f03c0 ret 3690 2bdc: aa0703e0 mov x0, x7 3691 2be0: 17ffffe4 b 2b70 <unsigned_num_print+0x28> 3692 2be4: 510006d6 sub w22, w22, #0x1 3693 2be8: 2a1703e0 mov w0, w23 3694 2bec: 9400010b bl 3018 <putchar> 3695 2bf0: 6b1402df cmp w22, w20 3696 2bf4: 54ffff8c b.gt 2be4 <unsigned_num_print+0x9c> 3697 2bf8: 6b140260 subs w0, w19, w20 3698 2bfc: 1a9fa013 csel w19, w0, wzr, ge // ge = tcont 3699 2c00: 17ffffed b 2bb4 <unsigned_num_print+0x6c> 3700 2c04: 2a1303f6 mov w22, w19 3701 2c08: 17fffffa b 2bf0 <unsigned_num_print+0xa8> 3702 2c0c: 38766aa0 ldrb w0, [x21, x22] 3703 2c10: 94000102 bl 3018 <putchar> 3704 2c14: 17ffffe9 b 2bb8 <unsigned_num_print+0x70> 3705 37060000000000002c18 <vprintf>: 3707 2c18: a9b97bfd stp x29, x30, [sp, #-112]! 3708 2c1c: 910003fd mov x29, sp 3709 2c20: a90153f3 stp x19, x20, [sp, #16] 3710 2c24: b9401834 ldr w20, [x1, #24] 3711 2c28: a90363f7 stp x23, x24, [sp, #48] 3712 2c2c: a9405c33 ldp x19, x23, [x1] 3713 2c30: a9025bf5 stp x21, x22, [sp, #32] 3714 2c34: aa0003f6 mov x22, x0 3715 2c38: a9046bf9 stp x25, x26, [sp, #64] 3716 2c3c: d000001a adrp x26, 4000 <__TEXT_END__> 3717 2c40: 9119c35a add x26, x26, #0x670 3718 2c44: 52800015 mov w21, #0x0 // #0 3719 2c48: 52800019 mov w25, #0x0 // #0 3720 2c4c: a90573fb stp x27, x28, [sp, #80] 3721 2c50: 394002c0 ldrb w0, [x22] 3722 2c54: 35000120 cbnz w0, 2c78 <vprintf+0x60> 3723 2c58: 2a1503e0 mov w0, w21 3724 2c5c: a94153f3 ldp x19, x20, [sp, #16] 3725 2c60: a9425bf5 ldp x21, x22, [sp, #32] 3726 2c64: a94363f7 ldp x23, x24, [sp, #48] 3727 2c68: a9446bf9 ldp x25, x26, [sp, #64] 3728 2c6c: a94573fb ldp x27, x28, [sp, #80] 3729 2c70: a8c77bfd ldp x29, x30, [sp], #112 3730 2c74: d65f03c0 ret 3731 2c78: 910006d6 add x22, x22, #0x1 3732 2c7c: 7100941f cmp w0, #0x25 3733 2c80: 54001c61 b.ne 300c <vprintf+0x3f4> // b.any 3734 2c84: 52800018 mov w24, #0x0 // #0 3735 2c88: 52800001 mov w1, #0x0 // #0 3736 2c8c: 14000002 b 2c94 <vprintf+0x7c> 3737 2c90: 52800619 mov w25, #0x30 // #48 3738 2c94: 394002c0 ldrb w0, [x22] 3739 2c98: 7101e81f cmp w0, #0x7a 3740 2c9c: 540000e8 b.hi 2cb8 <vprintf+0xa0> // b.pmore 3741 2ca0: 71018c1f cmp w0, #0x63 3742 2ca4: 540000e8 b.hi 2cc0 <vprintf+0xa8> // b.pmore 3743 2ca8: 7100941f cmp w0, #0x25 3744 2cac: 54000180 b.eq 2cdc <vprintf+0xc4> // b.none 3745 2cb0: 7100c01f cmp w0, #0x30 3746 2cb4: 54001960 b.eq 2fe0 <vprintf+0x3c8> // b.none 3747 2cb8: 12800015 mov w21, #0xffffffff // #-1 3748 2cbc: 17ffffe7 b 2c58 <vprintf+0x40> 3749 2cc0: 51019000 sub w0, w0, #0x64 3750 2cc4: 7100581f cmp w0, #0x16 3751 2cc8: 54ffff88 b.hi 2cb8 <vprintf+0xa0> // b.pmore 3752 2ccc: 78605b40 ldrh w0, [x26, w0, uxtw #1] 3753 2cd0: 10000062 adr x2, 2cdc <vprintf+0xc4> 3754 2cd4: 8b20a840 add x0, x2, w0, sxth #2 3755 2cd8: d61f0000 br x0 3756 2cdc: 940000cf bl 3018 <putchar> 3757 2ce0: 910006d6 add x22, x22, #0x1 3758 2ce4: 17ffffdb b 2c50 <vprintf+0x38> 3759 2ce8: 7100043f cmp w1, #0x1 3760 2cec: 5400022d b.le 2d30 <vprintf+0x118> 3761 2cf0: 37f802f4 tbnz w20, #31, 2d4c <vprintf+0x134> 3762 2cf4: 91003e60 add x0, x19, #0xf 3763 2cf8: 2a1403e1 mov w1, w20 3764 2cfc: 927df000 and x0, x0, #0xfffffffffffffff8 3765 2d00: f940027c ldr x28, [x19] 3766 2d04: 2a0103f4 mov w20, w1 3767 2d08: aa0003f3 mov x19, x0 3768 2d0c: b6f8045c tbz x28, #63, 2d94 <vprintf+0x17c> 3769 2d10: 528005a0 mov w0, #0x2d // #45 3770 2d14: 940000c1 bl 3018 <putchar> 3771 2d18: cb1c03e0 neg x0, x28 3772 2d1c: 51000718 sub w24, w24, #0x1 3773 2d20: 2a1803e3 mov w3, w24 3774 2d24: 2a1903e2 mov w2, w25 3775 2d28: 52800141 mov w1, #0xa // #10 3776 2d2c: 14000068 b 2ecc <vprintf+0x2b4> 3777 2d30: 54fffe00 b.eq 2cf0 <vprintf+0xd8> // b.none 3778 2d34: 37f801f4 tbnz w20, #31, 2d70 <vprintf+0x158> 3779 2d38: 91002e60 add x0, x19, #0xb 3780 2d3c: 2a1403e1 mov w1, w20 3781 2d40: 927df000 and x0, x0, #0xfffffffffffffff8 3782 2d44: b980027c ldrsw x28, [x19] 3783 2d48: 17ffffef b 2d04 <vprintf+0xec> 3784 2d4c: 11002281 add w1, w20, #0x8 3785 2d50: 7100003f cmp w1, #0x0 3786 2d54: 5400008d b.le 2d64 <vprintf+0x14c> 3787 2d58: 91003e60 add x0, x19, #0xf 3788 2d5c: 927df000 and x0, x0, #0xfffffffffffffff8 3789 2d60: 17ffffe8 b 2d00 <vprintf+0xe8> 3790 2d64: aa1303e0 mov x0, x19 3791 2d68: 8b34c2f3 add x19, x23, w20, sxtw 3792 2d6c: 17ffffe5 b 2d00 <vprintf+0xe8> 3793 2d70: 11002281 add w1, w20, #0x8 3794 2d74: 7100003f cmp w1, #0x0 3795 2d78: 5400008d b.le 2d88 <vprintf+0x170> 3796 2d7c: 91002e60 add x0, x19, #0xb 3797 2d80: 927df000 and x0, x0, #0xfffffffffffffff8 3798 2d84: 17fffff0 b 2d44 <vprintf+0x12c> 3799 2d88: aa1303e0 mov x0, x19 3800 2d8c: 8b34c2f3 add x19, x23, w20, sxtw 3801 2d90: 17ffffed b 2d44 <vprintf+0x12c> 3802 2d94: aa1c03e0 mov x0, x28 3803 2d98: 17ffffe2 b 2d20 <vprintf+0x108> 3804 2d9c: 37f801f4 tbnz w20, #31, 2dd8 <vprintf+0x1c0> 3805 2da0: 91003e78 add x24, x19, #0xf 3806 2da4: 2a1403fc mov w28, w20 3807 2da8: 927df318 and x24, x24, #0xfffffffffffffff8 3808 2dac: f9400274 ldr x20, [x19] 3809 2db0: d2800013 mov x19, #0x0 // #0 3810 2db4: d1000694 sub x20, x20, #0x1 3811 2db8: 2a1303e1 mov w1, w19 3812 2dbc: 91000673 add x19, x19, #0x1 3813 2dc0: 38736a80 ldrb w0, [x20, x19] 3814 2dc4: 350001c0 cbnz w0, 2dfc <vprintf+0x1e4> 3815 2dc8: 0b0102b5 add w21, w21, w1 3816 2dcc: 2a1c03f4 mov w20, w28 3817 2dd0: aa1803f3 mov x19, x24 3818 2dd4: 17ffffc3 b 2ce0 <vprintf+0xc8> 3819 2dd8: 1100229c add w28, w20, #0x8 3820 2ddc: 7100039f cmp w28, #0x0 3821 2de0: 5400008d b.le 2df0 <vprintf+0x1d8> 3822 2de4: 91003e78 add x24, x19, #0xf 3823 2de8: 927df318 and x24, x24, #0xfffffffffffffff8 3824 2dec: 17fffff0 b 2dac <vprintf+0x194> 3825 2df0: aa1303f8 mov x24, x19 3826 2df4: 8b34c2f3 add x19, x23, w20, sxtw 3827 2df8: 17ffffed b 2dac <vprintf+0x194> 3828 2dfc: 94000087 bl 3018 <putchar> 3829 2e00: 17ffffee b 2db8 <vprintf+0x1a0> 3830 2e04: 37f801f4 tbnz w20, #31, 2e40 <vprintf+0x228> 3831 2e08: 91003e7c add x28, x19, #0xf 3832 2e0c: 2a1403fb mov w27, w20 3833 2e10: 927df39c and x28, x28, #0xfffffffffffffff8 3834 2e14: f9400265 ldr x5, [x19] 3835 2e18: b50003a5 cbnz x5, 2e8c <vprintf+0x274> 3836 2e1c: 2a1803e3 mov w3, w24 3837 2e20: 2a1903e2 mov w2, w25 3838 2e24: aa0503e0 mov x0, x5 3839 2e28: 52800201 mov w1, #0x10 // #16 3840 2e2c: 2a1b03f4 mov w20, w27 3841 2e30: 97ffff46 bl 2b48 <unsigned_num_print> 3842 2e34: aa1c03f3 mov x19, x28 3843 2e38: 0b0002b5 add w21, w21, w0 3844 2e3c: 17ffffa9 b 2ce0 <vprintf+0xc8> 3845 2e40: 1100229b add w27, w20, #0x8 3846 2e44: 7100037f cmp w27, #0x0 3847 2e48: 5400008d b.le 2e58 <vprintf+0x240> 3848 2e4c: 91003e7c add x28, x19, #0xf 3849 2e50: 927df39c and x28, x28, #0xfffffffffffffff8 3850 2e54: 17fffff0 b 2e14 <vprintf+0x1fc> 3851 2e58: aa1303fc mov x28, x19 3852 2e5c: 8b34c2f3 add x19, x23, w20, sxtw 3853 2e60: 17ffffed b 2e14 <vprintf+0x1fc> 3854 2e64: f90037e5 str x5, [sp, #104] 3855 2e68: 9400006c bl 3018 <putchar> 3856 2e6c: f94037e5 ldr x5, [sp, #104] 3857 2e70: 2a1303e1 mov w1, w19 3858 2e74: 91000673 add x19, x19, #0x1 3859 2e78: 38746a60 ldrb w0, [x19, x20] 3860 2e7c: 35ffff40 cbnz w0, 2e64 <vprintf+0x24c> 3861 2e80: 0b0102b5 add w21, w21, w1 3862 2e84: 51000b18 sub w24, w24, #0x2 3863 2e88: 17ffffe5 b 2e1c <vprintf+0x204> 3864 2e8c: d0000014 adrp x20, 4000 <__TEXT_END__> 3865 2e90: d2800013 mov x19, #0x0 // #0 3866 2e94: 912fb694 add x20, x20, #0xbed 3867 2e98: 17fffff6 b 2e70 <vprintf+0x258> 3868 2e9c: 7100043f cmp w1, #0x1 3869 2ea0: 540001cd b.le 2ed8 <vprintf+0x2c0> 3870 2ea4: 37f80294 tbnz w20, #31, 2ef4 <vprintf+0x2dc> 3871 2ea8: 91003e61 add x1, x19, #0xf 3872 2eac: 2a1403e2 mov w2, w20 3873 2eb0: 927df021 and x1, x1, #0xfffffffffffffff8 3874 2eb4: f9400260 ldr x0, [x19] 3875 2eb8: 2a0203f4 mov w20, w2 3876 2ebc: 2a1803e3 mov w3, w24 3877 2ec0: 2a1903e2 mov w2, w25 3878 2ec4: aa0103f3 mov x19, x1 3879 2ec8: 52800201 mov w1, #0x10 // #16 3880 2ecc: 97ffff1f bl 2b48 <unsigned_num_print> 3881 2ed0: 0b0002b5 add w21, w21, w0 3882 2ed4: 17ffff83 b 2ce0 <vprintf+0xc8> 3883 2ed8: 54fffe60 b.eq 2ea4 <vprintf+0x28c> // b.none 3884 2edc: 37f801f4 tbnz w20, #31, 2f18 <vprintf+0x300> 3885 2ee0: 91002e61 add x1, x19, #0xb 3886 2ee4: 2a1403e2 mov w2, w20 3887 2ee8: 927df021 and x1, x1, #0xfffffffffffffff8 3888 2eec: b9400260 ldr w0, [x19] 3889 2ef0: 17fffff2 b 2eb8 <vprintf+0x2a0> 3890 2ef4: 11002282 add w2, w20, #0x8 3891 2ef8: 7100005f cmp w2, #0x0 3892 2efc: 5400008d b.le 2f0c <vprintf+0x2f4> 3893 2f00: 91003e61 add x1, x19, #0xf 3894 2f04: 927df021 and x1, x1, #0xfffffffffffffff8 3895 2f08: 17ffffeb b 2eb4 <vprintf+0x29c> 3896 2f0c: aa1303e1 mov x1, x19 3897 2f10: 8b34c2f3 add x19, x23, w20, sxtw 3898 2f14: 17ffffe8 b 2eb4 <vprintf+0x29c> 3899 2f18: 11002282 add w2, w20, #0x8 3900 2f1c: 7100005f cmp w2, #0x0 3901 2f20: 5400008d b.le 2f30 <vprintf+0x318> 3902 2f24: 91002e61 add x1, x19, #0xb 3903 2f28: 927df021 and x1, x1, #0xfffffffffffffff8 3904 2f2c: 17fffff0 b 2eec <vprintf+0x2d4> 3905 2f30: aa1303e1 mov x1, x19 3906 2f34: 8b34c2f3 add x19, x23, w20, sxtw 3907 2f38: 17ffffed b 2eec <vprintf+0x2d4> 3908 2f3c: 910006d6 add x22, x22, #0x1 3909 2f40: 52800041 mov w1, #0x2 // #2 3910 2f44: 17ffff54 b 2c94 <vprintf+0x7c> 3911 2f48: 11000421 add w1, w1, #0x1 3912 2f4c: 910006d6 add x22, x22, #0x1 3913 2f50: 17ffff51 b 2c94 <vprintf+0x7c> 3914 2f54: 7100043f cmp w1, #0x1 3915 2f58: 5400012d b.le 2f7c <vprintf+0x364> 3916 2f5c: 37f801f4 tbnz w20, #31, 2f98 <vprintf+0x380> 3917 2f60: 91003e61 add x1, x19, #0xf 3918 2f64: 2a1403e2 mov w2, w20 3919 2f68: 927df021 and x1, x1, #0xfffffffffffffff8 3920 2f6c: f9400260 ldr x0, [x19] 3921 2f70: 2a0203f4 mov w20, w2 3922 2f74: aa0103f3 mov x19, x1 3923 2f78: 17ffff6a b 2d20 <vprintf+0x108> 3924 2f7c: 54ffff00 b.eq 2f5c <vprintf+0x344> // b.none 3925 2f80: 37f801f4 tbnz w20, #31, 2fbc <vprintf+0x3a4> 3926 2f84: 91002e61 add x1, x19, #0xb 3927 2f88: 2a1403e2 mov w2, w20 3928 2f8c: 927df021 and x1, x1, #0xfffffffffffffff8 3929 2f90: b9400260 ldr w0, [x19] 3930 2f94: 17fffff7 b 2f70 <vprintf+0x358> 3931 2f98: 11002282 add w2, w20, #0x8 3932 2f9c: 7100005f cmp w2, #0x0 3933 2fa0: 5400008d b.le 2fb0 <vprintf+0x398> 3934 2fa4: 91003e61 add x1, x19, #0xf 3935 2fa8: 927df021 and x1, x1, #0xfffffffffffffff8 3936 2fac: 17fffff0 b 2f6c <vprintf+0x354> 3937 2fb0: aa1303e1 mov x1, x19 3938 2fb4: 8b34c2f3 add x19, x23, w20, sxtw 3939 2fb8: 17ffffed b 2f6c <vprintf+0x354> 3940 2fbc: 11002282 add w2, w20, #0x8 3941 2fc0: 7100005f cmp w2, #0x0 3942 2fc4: 5400008d b.le 2fd4 <vprintf+0x3bc> 3943 2fc8: 91002e61 add x1, x19, #0xb 3944 2fcc: 927df021 and x1, x1, #0xfffffffffffffff8 3945 2fd0: 17fffff0 b 2f90 <vprintf+0x378> 3946 2fd4: aa1303e1 mov x1, x19 3947 2fd8: 8b34c2f3 add x19, x23, w20, sxtw 3948 2fdc: 17ffffed b 2f90 <vprintf+0x378> 3949 2fe0: 910006d6 add x22, x22, #0x1 3950 2fe4: 52800018 mov w24, #0x0 // #0 3951 2fe8: 394002c0 ldrb w0, [x22] 3952 2fec: 5100c000 sub w0, w0, #0x30 3953 2ff0: 12001c02 and w2, w0, #0xff 3954 2ff4: 7100245f cmp w2, #0x9 3955 2ff8: 54ffe4c8 b.hi 2c90 <vprintf+0x78> // b.pmore 3956 2ffc: 52800142 mov w2, #0xa // #10 3957 3000: 910006d6 add x22, x22, #0x1 3958 3004: 1b020318 madd w24, w24, w2, w0 3959 3008: 17fffff8 b 2fe8 <vprintf+0x3d0> 3960 300c: 110006b5 add w21, w21, #0x1 3961 3010: 94000002 bl 3018 <putchar> 3962 3014: 17ffff0f b 2c50 <vprintf+0x38> 3963 39640000000000003018 <putchar>: 3965 3018: a9be7bfd stp x29, x30, [sp, #-32]! 3966 301c: 910003fd mov x29, sp 3967 3020: f9000bf3 str x19, [sp, #16] 3968 3024: 2a0003f3 mov w19, w0 3969 3028: 12001c00 and w0, w0, #0xff 3970 302c: 97fff9d8 bl 178c <console_putc> 3971 3030: 7100001f cmp w0, #0x0 3972 3034: 5a9fa260 csinv w0, w19, wzr, ge // ge = tcont 3973 3038: f9400bf3 ldr x19, [sp, #16] 3974 303c: a8c27bfd ldp x29, x30, [sp], #32 3975 3040: d65f03c0 ret 3976 39770000000000003044 <strlen>: 3978 3044: aa0003e1 mov x1, x0 3979 3048: 39400022 ldrb w2, [x1] 3980 304c: 35000062 cbnz w2, 3058 <strlen+0x14> 3981 3050: cb000020 sub x0, x1, x0 3982 3054: d65f03c0 ret 3983 3058: 91000421 add x1, x1, #0x1 3984 305c: 17fffffb b 3048 <strlen+0x4> 3985 ... 3986 39870000000000003800 <SynchronousExceptionSP0>: 3988 3800: d2800000 mov x0, #0x0 // #0 3989 3804: 97fffc4f bl 2940 <plat_report_exception> 3990 3808: 97fffc51 bl 294c <plat_panic_handler> 3991 ... 3992 39930000000000003880 <IrqSP0>: 3994 3880: d2800020 mov x0, #0x1 // #1 3995 3884: 97fffc2f bl 2940 <plat_report_exception> 3996 3888: 97fffc31 bl 294c <plat_panic_handler> 3997 ... 3998 39990000000000003900 <FiqSP0>: 4000 3900: d2800040 mov x0, #0x2 // #2 4001 3904: 97fffc0f bl 2940 <plat_report_exception> 4002 3908: 97fffc11 bl 294c <plat_panic_handler> 4003 ... 4004 40050000000000003980 <SErrorSP0>: 4006 3980: d2800060 mov x0, #0x3 // #3 4007 3984: 97fffbef bl 2940 <plat_report_exception> 4008 3988: 97fffbf1 bl 294c <plat_panic_handler> 4009 ... 4010 40110000000000003a00 <SynchronousExceptionSPx>: 4012 3a00: d2800080 mov x0, #0x4 // #4 4013 3a04: 97fffbcf bl 2940 <plat_report_exception> 4014 3a08: 97fffbd1 bl 294c <plat_panic_handler> 4015 ... 4016 40170000000000003a80 <IrqSPx>: 4018 3a80: d28000a0 mov x0, #0x5 // #5 4019 3a84: 97fffbaf bl 2940 <plat_report_exception> 4020 3a88: 97fffbb1 bl 294c <plat_panic_handler> 4021 ... 4022 40230000000000003b00 <FiqSPx>: 4024 3b00: d28000c0 mov x0, #0x6 // #6 4025 3b04: 97fffb8f bl 2940 <plat_report_exception> 4026 3b08: 97fffb91 bl 294c <plat_panic_handler> 4027 ... 4028 40290000000000003b80 <SErrorSPx>: 4030 3b80: d28000e0 mov x0, #0x7 // #7 4031 3b84: 97fffb6f bl 2940 <plat_report_exception> 4032 3b88: 97fffb71 bl 294c <plat_panic_handler> 4033 ... 4034 40350000000000003c00 <SynchronousExceptionA64>: 4036 3c00: d50344ff msr daifclr, #0x4 4037 3c04: f9007bfe str x30, [sp, #240] 4038 3c08: d53e521e mrs x30, esr_el3 4039 3c0c: d35a7fde ubfx x30, x30, #26, #6 4040 3c10: f1005fdf cmp x30, #0x17 4041 3c14: 54ff3481 b.ne 22a4 <unexpected_sync_exception> // b.any 4042 3c18: 17fff985 b 222c <smc_handler64> 4043 ... 4044 40450000000000003c80 <IrqA64>: 4046 3c80: d2800120 mov x0, #0x9 // #9 4047 3c84: 97fffb2f bl 2940 <plat_report_exception> 4048 3c88: 97fffb31 bl 294c <plat_panic_handler> 4049 ... 4050 40510000000000003d00 <FiqA64>: 4052 3d00: d2800140 mov x0, #0xa // #10 4053 3d04: 97fffb0f bl 2940 <plat_report_exception> 4054 3d08: 97fffb11 bl 294c <plat_panic_handler> 4055 ... 4056 40570000000000003d80 <SErrorA64>: 4058 3d80: d2800160 mov x0, #0xb // #11 4059 3d84: 97fffaef bl 2940 <plat_report_exception> 4060 3d88: 97fffaf1 bl 294c <plat_panic_handler> 4061 ... 4062 40630000000000003e00 <SynchronousExceptionA32>: 4064 3e00: d2800180 mov x0, #0xc // #12 4065 3e04: 97fffacf bl 2940 <plat_report_exception> 4066 3e08: 97fffad1 bl 294c <plat_panic_handler> 4067 ... 4068 40690000000000003e80 <IrqA32>: 4070 3e80: d28001a0 mov x0, #0xd // #13 4071 3e84: 97fffaaf bl 2940 <plat_report_exception> 4072 3e88: 97fffab1 bl 294c <plat_panic_handler> 4073 ... 4074 40750000000000003f00 <FiqA32>: 4076 3f00: d28001c0 mov x0, #0xe // #14 4077 3f04: 97fffa8f bl 2940 <plat_report_exception> 4078 3f08: 97fffa91 bl 294c <plat_panic_handler> 4079 ... 4080 40810000000000003f80 <SErrorA32>: 4082 3f80: d28001e0 mov x0, #0xf // #15 4083 3f84: 97fffa6f bl 2940 <plat_report_exception> 4084 3f88: 97fffa71 bl 294c <plat_panic_handler> 4085 ... 4086