Files
raspberrypi/boards/pi3/aarch64/bootloader07/bootloader07.list

405 lines
16 KiB
Plaintext

bootloader07.elf: file format elf64-littleaarch64
Disassembly of section .text:
0000000000000000 <_start>:
0: 14080000 b 200000 <skip>
...
0000000000200000 <skip>:
200000: d53800a0 mrs x0, mpidr_el1
200004: d2b82001 mov x1, #0xc1000000 // #3238002688
200008: 8a210000 bic x0, x0, x1
20000c: b4000040 cbz x0, 200014 <master>
200010: 14000003 b 20001c <hang>
0000000000200014 <master>:
200014: b26503ff mov sp, #0x8000000 // #134217728
200018: 940000bc bl 200308 <notmain>
000000000020001c <hang>:
20001c: 14000000 b 20001c <hang>
0000000000200020 <PUT32>:
200020: b9000001 str w1, [x0]
200024: d65f03c0 ret
0000000000200028 <GET32>:
200028: b9400000 ldr w0, [x0]
20002c: d65f03c0 ret
0000000000200030 <GETPC>:
200030: aa1e03e0 mov x0, x30
200034: d65f03c0 ret
0000000000200038 <BRANCHTO>:
200038: 2a0003fe mov w30, w0
20003c: d65f03c0 ret
0000000000200040 <dummy>:
200040: d65f03c0 ret
200044: 00000000 .inst 0x00000000 ; undefined
0000000000200048 <uart_lcr>:
200048: 528a0a80 mov w0, #0x5054 // #20564
20004c: 72a7e420 movk w0, #0x3f21, lsl #16
200050: 17fffff6 b 200028 <GET32>
200054: d503201f nop
0000000000200058 <uart_recv>:
200058: a9be7bfd stp x29, x30, [sp,#-32]!
20005c: 910003fd mov x29, sp
200060: f9000bf3 str x19, [sp,#16]
200064: 528a0a93 mov w19, #0x5054 // #20564
200068: 72a7e433 movk w19, #0x3f21, lsl #16
20006c: 2a1303e0 mov w0, w19
200070: 97ffffee bl 200028 <GET32>
200074: 3607ffc0 tbz w0, #0, 20006c <uart_recv+0x14>
200078: 528a0800 mov w0, #0x5040 // #20544
20007c: 72a7e420 movk w0, #0x3f21, lsl #16
200080: 97ffffea bl 200028 <GET32>
200084: f9400bf3 ldr x19, [sp,#16]
200088: 53001c00 uxtb w0, w0
20008c: a8c27bfd ldp x29, x30, [sp],#32
200090: d65f03c0 ret
200094: d503201f nop
0000000000200098 <uart_check>:
200098: a9bf7bfd stp x29, x30, [sp,#-16]!
20009c: 528a0a80 mov w0, #0x5054 // #20564
2000a0: 72a7e420 movk w0, #0x3f21, lsl #16
2000a4: 910003fd mov x29, sp
2000a8: 97ffffe0 bl 200028 <GET32>
2000ac: 12000000 and w0, w0, #0x1
2000b0: a8c17bfd ldp x29, x30, [sp],#16
2000b4: d65f03c0 ret
00000000002000b8 <uart_send>:
2000b8: a9be7bfd stp x29, x30, [sp,#-32]!
2000bc: 910003fd mov x29, sp
2000c0: a90153f3 stp x19, x20, [sp,#16]
2000c4: 528a0a93 mov w19, #0x5054 // #20564
2000c8: 2a0003f4 mov w20, w0
2000cc: 72a7e433 movk w19, #0x3f21, lsl #16
2000d0: 2a1303e0 mov w0, w19
2000d4: 97ffffd5 bl 200028 <GET32>
2000d8: 362fffc0 tbz w0, #5, 2000d0 <uart_send+0x18>
2000dc: 2a1403e1 mov w1, w20
2000e0: 528a0800 mov w0, #0x5040 // #20544
2000e4: a94153f3 ldp x19, x20, [sp,#16]
2000e8: 72a7e420 movk w0, #0x3f21, lsl #16
2000ec: a8c27bfd ldp x29, x30, [sp],#32
2000f0: 17ffffcc b 200020 <PUT32>
2000f4: d503201f nop
00000000002000f8 <uart_flush>:
2000f8: a9be7bfd stp x29, x30, [sp,#-32]!
2000fc: 910003fd mov x29, sp
200100: f9000bf3 str x19, [sp,#16]
200104: 528a0a93 mov w19, #0x5054 // #20564
200108: 72a7e433 movk w19, #0x3f21, lsl #16
20010c: 2a1303e0 mov w0, w19
200110: 97ffffc6 bl 200028 <GET32>
200114: 3747ffc0 tbnz w0, #8, 20010c <uart_flush+0x14>
200118: f9400bf3 ldr x19, [sp,#16]
20011c: a8c27bfd ldp x29, x30, [sp],#32
200120: d65f03c0 ret
200124: d503201f nop
0000000000200128 <hexstrings>:
200128: a9be7bfd stp x29, x30, [sp,#-32]!
20012c: 910003fd mov x29, sp
200130: a90153f3 stp x19, x20, [sp,#16]
200134: 2a0003f4 mov w20, w0
200138: 52800413 mov w19, #0x20 // #32
20013c: 51001273 sub w19, w19, #0x4
200140: 1ad32681 lsr w1, w20, w19
200144: 12000c21 and w1, w1, #0xf
200148: 1100dc20 add w0, w1, #0x37
20014c: 1100c022 add w2, w1, #0x30
200150: 7100283f cmp w1, #0xa
200154: 1a803040 csel w0, w2, w0, cc
200158: 97ffffd8 bl 2000b8 <uart_send>
20015c: 35ffff13 cbnz w19, 20013c <hexstrings+0x14>
200160: a94153f3 ldp x19, x20, [sp,#16]
200164: 52800400 mov w0, #0x20 // #32
200168: a8c27bfd ldp x29, x30, [sp],#32
20016c: 17ffffd3 b 2000b8 <uart_send>
0000000000200170 <hexstring>:
200170: a9bf7bfd stp x29, x30, [sp,#-16]!
200174: 910003fd mov x29, sp
200178: 97ffffec bl 200128 <hexstrings>
20017c: 528001a0 mov w0, #0xd // #13
200180: 97ffffce bl 2000b8 <uart_send>
200184: a8c17bfd ldp x29, x30, [sp],#16
200188: 52800140 mov w0, #0xa // #10
20018c: 17ffffcb b 2000b8 <uart_send>
0000000000200190 <uart_init>:
200190: a9be7bfd stp x29, x30, [sp,#-32]!
200194: 528a0080 mov w0, #0x5004 // #20484
200198: 52800021 mov w1, #0x1 // #1
20019c: 72a7e420 movk w0, #0x3f21, lsl #16
2001a0: 910003fd mov x29, sp
2001a4: f9000bf3 str x19, [sp,#16]
2001a8: 52800013 mov w19, #0x0 // #0
2001ac: 97ffff9d bl 200020 <PUT32>
2001b0: 528a0880 mov w0, #0x5044 // #20548
2001b4: 52800001 mov w1, #0x0 // #0
2001b8: 72a7e420 movk w0, #0x3f21, lsl #16
2001bc: 97ffff99 bl 200020 <PUT32>
2001c0: 528a0c00 mov w0, #0x5060 // #20576
2001c4: 52800001 mov w1, #0x0 // #0
2001c8: 72a7e420 movk w0, #0x3f21, lsl #16
2001cc: 97ffff95 bl 200020 <PUT32>
2001d0: 528a0980 mov w0, #0x504c // #20556
2001d4: 52800061 mov w1, #0x3 // #3
2001d8: 72a7e420 movk w0, #0x3f21, lsl #16
2001dc: 97ffff91 bl 200020 <PUT32>
2001e0: 528a0a00 mov w0, #0x5050 // #20560
2001e4: 52800001 mov w1, #0x0 // #0
2001e8: 72a7e420 movk w0, #0x3f21, lsl #16
2001ec: 97ffff8d bl 200020 <PUT32>
2001f0: 528a0880 mov w0, #0x5044 // #20548
2001f4: 52800001 mov w1, #0x0 // #0
2001f8: 72a7e420 movk w0, #0x3f21, lsl #16
2001fc: 97ffff89 bl 200020 <PUT32>
200200: 528a0900 mov w0, #0x5048 // #20552
200204: 528018c1 mov w1, #0xc6 // #198
200208: 72a7e420 movk w0, #0x3f21, lsl #16
20020c: 97ffff85 bl 200020 <PUT32>
200210: 528a0d00 mov w0, #0x5068 // #20584
200214: 528021c1 mov w1, #0x10e // #270
200218: 72a7e420 movk w0, #0x3f21, lsl #16
20021c: 97ffff81 bl 200020 <PUT32>
200220: 52800080 mov w0, #0x4 // #4
200224: 72a7e400 movk w0, #0x3f20, lsl #16
200228: 97ffff80 bl 200028 <GET32>
20022c: 120e6402 and w2, w0, #0xfffc0fff
200230: 52840001 mov w1, #0x2000 // #8192
200234: 52800080 mov w0, #0x4 // #4
200238: 72a00021 movk w1, #0x1, lsl #16
20023c: 72a7e400 movk w0, #0x3f20, lsl #16
200240: 2a010041 orr w1, w2, w1
200244: 97ffff77 bl 200020 <PUT32>
200248: 52801280 mov w0, #0x94 // #148
20024c: 52800001 mov w1, #0x0 // #0
200250: 72a7e400 movk w0, #0x3f20, lsl #16
200254: 97ffff73 bl 200020 <PUT32>
200258: 2a1303e0 mov w0, w19
20025c: 11000673 add w19, w19, #0x1
200260: 97ffff78 bl 200040 <dummy>
200264: 71025a7f cmp w19, #0x96
200268: 54ffff81 b.ne 200258 <uart_init+0xc8>
20026c: 52801300 mov w0, #0x98 // #152
200270: 52980001 mov w1, #0xc000 // #49152
200274: 72a7e400 movk w0, #0x3f20, lsl #16
200278: 52800013 mov w19, #0x0 // #0
20027c: 97ffff69 bl 200020 <PUT32>
200280: 2a1303e0 mov w0, w19
200284: 11000673 add w19, w19, #0x1
200288: 97ffff6e bl 200040 <dummy>
20028c: 71025a7f cmp w19, #0x96
200290: 54ffff81 b.ne 200280 <uart_init+0xf0>
200294: 52801300 mov w0, #0x98 // #152
200298: 52800001 mov w1, #0x0 // #0
20029c: 72a7e400 movk w0, #0x3f20, lsl #16
2002a0: 97ffff60 bl 200020 <PUT32>
2002a4: f9400bf3 ldr x19, [sp,#16]
2002a8: a8c27bfd ldp x29, x30, [sp],#32
2002ac: 528a0c00 mov w0, #0x5060 // #20576
2002b0: 52800061 mov w1, #0x3 // #3
2002b4: 72a7e420 movk w0, #0x3f21, lsl #16
2002b8: 17ffff5a b 200020 <PUT32>
2002bc: d503201f nop
00000000002002c0 <timer_init>:
2002c0: a9be7bfd stp x29, x30, [sp,#-32]!
2002c4: 52a01f21 mov w1, #0xf90000 // #16318464
2002c8: 910003fd mov x29, sp
2002cc: f9000bf3 str x19, [sp,#16]
2002d0: 52968113 mov w19, #0xb408 // #46088
2002d4: 72a7e013 movk w19, #0x3f00, lsl #16
2002d8: 2a1303e0 mov w0, w19
2002dc: 97ffff51 bl 200020 <PUT32>
2002e0: 2a1303e0 mov w0, w19
2002e4: f9400bf3 ldr x19, [sp,#16]
2002e8: a8c27bfd ldp x29, x30, [sp],#32
2002ec: 52804001 mov w1, #0x200 // #512
2002f0: 72a01f21 movk w1, #0xf9, lsl #16
2002f4: 17ffff4b b 200020 <PUT32>
00000000002002f8 <timer_tick>:
2002f8: 52968400 mov w0, #0xb420 // #46112
2002fc: 72a7e000 movk w0, #0x3f00, lsl #16
200300: 17ffff4a b 200028 <GET32>
200304: 00000000 .inst 0x00000000 ; undefined
0000000000200308 <notmain>:
200308: a9bb7bfd stp x29, x30, [sp,#-80]!
20030c: 910003fd mov x29, sp
200310: a90153f3 stp x19, x20, [sp,#16]
200314: 52800014 mov w20, #0x0 // #0
200318: a9025bf5 stp x21, x22, [sp,#32]
20031c: 90000015 adrp x21, 200000 <skip>
200320: a90363f7 stp x23, x24, [sp,#48]
200324: 911512b5 add x21, x21, #0x544
200328: a9046bf9 stp x25, x26, [sp,#64]
20032c: 97ffff99 bl 200190 <uart_init>
200330: 528acf00 mov w0, #0x5678 // #22136
200334: 52800018 mov w24, #0x0 // #0
200338: 72a24680 movk w0, #0x1234, lsl #16
20033c: 52800017 mov w23, #0x0 // #0
200340: 5280001a mov w26, #0x0 // #0
200344: 52800016 mov w22, #0x0 // #0
200348: 97ffff8a bl 200170 <hexstring>
20034c: 52800013 mov w19, #0x0 // #0
200350: 97ffff38 bl 200030 <GETPC>
200354: 52800139 mov w25, #0x9 // #9
200358: 97ffff86 bl 200170 <hexstring>
20035c: 52800920 mov w0, #0x49 // #73
200360: 97ffff56 bl 2000b8 <uart_send>
200364: 52800900 mov w0, #0x48 // #72
200368: 97ffff54 bl 2000b8 <uart_send>
20036c: 528008a0 mov w0, #0x45 // #69
200370: 97ffff52 bl 2000b8 <uart_send>
200374: 52800b00 mov w0, #0x58 // #88
200378: 97ffff50 bl 2000b8 <uart_send>
20037c: 528001a0 mov w0, #0xd // #13
200380: 97ffff4e bl 2000b8 <uart_send>
200384: 52800140 mov w0, #0xa // #10
200388: 97ffff4c bl 2000b8 <uart_send>
20038c: 97ffff33 bl 200058 <uart_recv>
200390: 7100e81f cmp w0, #0x3a
200394: 54000340 b.eq 2003fc <notmain+0xf4>
200398: 7100281f cmp w0, #0xa
20039c: 7a4d1804 ccmp w0, #0xd, #0x4, ne
2003a0: 54000360 b.eq 20040c <notmain+0x104>
2003a4: 121a7801 and w1, w0, #0xffffffdf
2003a8: 71011c3f cmp w1, #0x47
2003ac: 54000820 b.eq 2004b0 <notmain+0x1a8>
2003b0: 51000661 sub w1, w19, #0x1
2003b4: 7100503f cmp w1, #0x14
2003b8: 54fffea8 b.hi 20038c <notmain+0x84>
2003bc: 38614aa1 ldrb w1, [x21,w1,uxtw]
2003c0: 10000062 adr x2, 2003cc <notmain+0xc4>
2003c4: 8b218841 add x1, x2, w1, sxtb #2
2003c8: d61f0020 br x1
2003cc: d503201f nop
2003d0: 7100e81f cmp w0, #0x3a
2003d4: 51001c01 sub w1, w0, #0x7
2003d8: 1a802020 csel w0, w1, w0, cs
2003dc: 7100567f cmp w19, #0x15
2003e0: 12000c00 and w0, w0, #0xf
2003e4: 2a171017 orr w23, w0, w23, lsl #4
2003e8: 540009c0 b.eq 200520 <notmain+0x218>
2003ec: 97ffff1b bl 200058 <uart_recv>
2003f0: 7100e81f cmp w0, #0x3a
2003f4: 11000673 add w19, w19, #0x1
2003f8: 54fffd01 b.ne 200398 <notmain+0x90>
2003fc: 52800033 mov w19, #0x1 // #1
200400: 17ffffe3 b 20038c <notmain+0x84>
200404: d503201f nop
200408: 531c6f5a lsl w26, w26, #4
20040c: 52800013 mov w19, #0x0 // #0
200410: 17ffffdf b 20038c <notmain+0x84>
200414: d503201f nop
200418: 51001c01 sub w1, w0, #0x7
20041c: 7100e81f cmp w0, #0x3a
200420: 1a802020 csel w0, w1, w0, cs
200424: 11000673 add w19, w19, #0x1
200428: 12000c00 and w0, w0, #0xf
20042c: 2a1a1000 orr w0, w0, w26, lsl #4
200430: 12003c1a and w26, w0, #0xffff
200434: 17ffffd6 b 20038c <notmain+0x84>
200438: 7100e81f cmp w0, #0x3a
20043c: 51001c01 sub w1, w0, #0x7
200440: 1a802020 csel w0, w1, w0, cs
200444: 12000c00 and w0, w0, #0xf
200448: 2a141014 orr w20, w0, w20, lsl #4
20044c: 12001e94 and w20, w20, #0xff
200450: 7100069f cmp w20, #0x1
200454: 540005e0 b.eq 200510 <notmain+0x208>
200458: 34000594 cbz w20, 200508 <notmain+0x200>
20045c: 71000a9f cmp w20, #0x2
200460: 1a9f0333 csel w19, w25, wzr, eq
200464: 17ffffca b 20038c <notmain+0x84>
200468: 51001c01 sub w1, w0, #0x7
20046c: 7100e81f cmp w0, #0x3a
200470: 1a802020 csel w0, w1, w0, cs
200474: 52800113 mov w19, #0x8 // #8
200478: 12000c00 and w0, w0, #0xf
20047c: 2a141014 orr w20, w0, w20, lsl #4
200480: 12001e94 and w20, w20, #0xff
200484: 17ffffc2 b 20038c <notmain+0x84>
200488: 51001c01 sub w1, w0, #0x7
20048c: 7100e81f cmp w0, #0x3a
200490: 1a802020 csel w0, w1, w0, cs
200494: 11000673 add w19, w19, #0x1
200498: 12000c00 and w0, w0, #0xf
20049c: 2a161016 orr w22, w0, w22, lsl #4
2004a0: 12003ed6 and w22, w22, #0xffff
2004a4: 2a160356 orr w22, w26, w22
2004a8: 17ffffb9 b 20038c <notmain+0x84>
2004ac: d503201f nop
2004b0: 528001a0 mov w0, #0xd // #13
2004b4: 97ffff01 bl 2000b8 <uart_send>
2004b8: 528005a0 mov w0, #0x2d // #45
2004bc: 97fffeff bl 2000b8 <uart_send>
2004c0: 528005a0 mov w0, #0x2d // #45
2004c4: 97fffefd bl 2000b8 <uart_send>
2004c8: 528001a0 mov w0, #0xd // #13
2004cc: 97fffefb bl 2000b8 <uart_send>
2004d0: 52800140 mov w0, #0xa // #10
2004d4: 97fffef9 bl 2000b8 <uart_send>
2004d8: 52800140 mov w0, #0xa // #10
2004dc: 97fffef7 bl 2000b8 <uart_send>
2004e0: 52900000 mov w0, #0x8000 // #32768
2004e4: 97fffed5 bl 200038 <BRANCHTO>
2004e8: 52800000 mov w0, #0x0 // #0
2004ec: a94153f3 ldp x19, x20, [sp,#16]
2004f0: a9425bf5 ldp x21, x22, [sp,#32]
2004f4: a94363f7 ldp x23, x24, [sp,#48]
2004f8: a9446bf9 ldp x25, x26, [sp,#64]
2004fc: a8c57bfd ldp x29, x30, [sp],#80
200500: d65f03c0 ret
200504: d503201f nop
200508: 528001d3 mov w19, #0xe // #14
20050c: 17ffffa0 b 20038c <notmain+0x84>
200510: 2a1803e0 mov w0, w24
200514: 52800013 mov w19, #0x0 // #0
200518: 97ffff16 bl 200170 <hexstring>
20051c: 17ffff9c b 20038c <notmain+0x84>
200520: 5ac00af7 rev w23, w23
200524: 2a1603e0 mov w0, w22
200528: 2a1703e1 mov w1, w23
20052c: 0b1802d8 add w24, w22, w24
200530: 528001d3 mov w19, #0xe // #14
200534: 0b1802f8 add w24, w23, w24
200538: 110012d6 add w22, w22, #0x4
20053c: 97fffeb9 bl 200020 <PUT32>
200540: 17ffff93 b 20038c <notmain+0x84>
Disassembly of section .rodata:
0000000000200544 <.rodata>:
200544: 2f2f0808 .word 0x2f2f0808
200548: 1b272f2f .word 0x1b272f2f
20054c: 13131313 .word 0x13131313
200550: 0101010f .word 0x0101010f
200554: 01010101 .word 0x01010101
200558: Address 0x0000000000200558 is out of bounds.
Disassembly of section .comment:
0000000000000000 <.comment>:
0: 3a434347 ccmn w26, w3, #0x7, mi
4: 4e472820 trn1 v0.8h, v1.8h, v7.8h
8: 36202955 tbz w21, #4, 530 <_start+0x530>
c: 302e312e adr x14, 5c631 <_start+0x5c631>
...