aarch64-linux-gnu-objdump -d ./vmlinux
./vmlinux: file format elf64-littleaarch64
Disassembly of section .text:
0000000000080000 <__start>:
...
0000000000100000 <_start>:
100000: d53b4220 mrs x0, daif
100004: b27a0c00 orr x0, x0, #0x3c0
100008: d51b4220 msr daif, x0
10000c: 58000121 ldr x1, 100030 <entry_kernel+0x4>
100010: 9100003f mov sp, x1
100014: 58000120 ldr x0, 100038 <entry_kernel+0xc>
100018: 58000141 ldr x1, 100040 <entry_kernel+0x14>
000000000010001c <loop>:
10001c: b4000081 cbz x1, 10002c <entry_kernel>
100020: f800841f str xzr, [x0], #8
100024: d1002000 sub x0, x0, #0x8
100028: b5ffffa1 cbnz x1, 10001c <loop>
000000000010002c <entry_kernel>:
10002c: 94000015 bl 100080 <kernel_main>
100030: 0010a000 .word 0x0010a000
100034: 00000000 .word 0x00000000
100038: 00102000 .word 0x00102000
...
0000000000100048 <uart_put_char>:
100048: d2a12001 mov x1, #0x9000000 // #150994944
10004c: 92401c00 and x0, x0, #0xff
100050: f9000020 str x0, [x1]
100054: d65f03c0 ret
0000000000100058 <uart_puts>:
100058: 39400001 ldrb w1, [x0]
10005c: 340000e1 cbz w1, 100078 <uart_puts+0x20>
100060: 91000400 add x0, x0, #0x1
100064: d2a12002 mov x2, #0x9000000 // #150994944
100068: 92401c21 and x1, x1, #0xff
10006c: f9000041 str x1, [x2]
100070: 38401401 ldrb w1, [x0], #1
100074: 35ffffa1 cbnz w1, 100068 <uart_puts+0x10>
100078: d65f03c0 ret
10007c: d503201f nop
0000000000100080 <kernel_main>:
100080: b0000001 adrp x1, 101000 <__rodata_start>
100084: 91000421 add x1, x1, #0x1
100088: 52800d00 mov w0, #0x68 // #104
10008c: d2a12002 mov x2, #0x9000000 // #150994944
100090: 92401c00 and x0, x0, #0xff
100094: f9000040 str x0, [x2]
100098: 38401420 ldrb w0, [x1], #1
10009c: 35ffffa0 cbnz w0, 100090 <kernel_main+0x10>
1000a0: 14000000 b 1000a0 <kernel_main+0x20>