Skip to content

Instantly share code, notes, and snippets.

@mingyang91
Created October 29, 2024 07:39
Show Gist options
  • Save mingyang91/c118aff0fa5a299e52dd616e7f809573 to your computer and use it in GitHub Desktop.
Save mingyang91/c118aff0fa5a299e52dd616e7f809573 to your computer and use it in GitHub Desktop.
decompile assembly kernel
target/riscv64gc-unknown-none-elf/release/os: file format elf64-littleriscv
Disassembly of section .text.entry:
ffffffff80200000 <_start>:
ffffffff80200000: 1141 add sp,sp,-16
ffffffff80200002: 80201137 lui sp,0x80201
ffffffff80200006: 1102 sll sp,sp,0x20
ffffffff80200008: 02015113 srl sp,sp,0x20
ffffffff8020000c <.Lpcrel_hi41>:
ffffffff8020000c: 00001617 auipc a2,0x1
ffffffff80200010: ff460613 add a2,a2,-12 # ffffffff80201000 <ROOT_PAGE_TABLE>
ffffffff80200014: 200006b7 lui a3,0x20000
ffffffff80200018: 0cf6869b addw a3,a3,207 # 200000cf <.Lline_table_start1+0x1ffcfb0c>
ffffffff8020001c: ea14 sd a3,16(a2)
ffffffff8020001e: 7ff60613 add a2,a2,2047
ffffffff80200022: 7ed638a3 sd a3,2033(a2)
ffffffff80200026: 0030 add a2,sp,8
ffffffff80200028: 8231 srl a2,a2,0xc
ffffffff8020002a: 56fd li a3,-1
ffffffff8020002c: 16fe sll a3,a3,0x3f
ffffffff8020002e: 8e55 or a2,a2,a3
ffffffff80200030: 18061073 csrw satp,a2
ffffffff80200034: 12000073 sfence.vma
ffffffff80200038: 80201137 lui sp,0x80201
ffffffff8020003c: 802042b7 lui t0,0x80204
ffffffff80200040: 1dc28293 add t0,t0,476 # ffffffff802041dc <rust_main>
ffffffff80200044: 852a mv a0,a0
ffffffff80200046: 85ae mv a1,a1
ffffffff80200048: 8282 jr t0
...
Disassembly of section .text:
ffffffff80203000 <_ZN10dtb_walker3Dtb4walk17h1a9549db00689b94E>:
ffffffff80203000: 7179 add sp,sp,-48
ffffffff80203002: f406 sd ra,40(sp)
ffffffff80203004: 00053303 ld t1,0(a0)
ffffffff80203008: 00832703 lw a4,8(t1)
ffffffff8020300c: 00853883 ld a7,8(a0)
ffffffff80203010: 00875513 srl a0,a4,0x8
ffffffff80203014: 66c1 lui a3,0x10
ffffffff80203016: f0068693 add a3,a3,-256 # ff00 <.Lline_table_start0+0x194f>
ffffffff8020301a: 8d75 and a0,a0,a3
ffffffff8020301c: 0187579b srlw a5,a4,0x18
ffffffff80203020: 8d5d or a0,a0,a5
ffffffff80203022: 00d777b3 and a5,a4,a3
ffffffff80203026: 07a2 sll a5,a5,0x8
ffffffff80203028: 0762 sll a4,a4,0x18
ffffffff8020302a: 8f5d or a4,a4,a5
ffffffff8020302c: 8d59 or a0,a0,a4
ffffffff8020302e: 1502 sll a0,a0,0x20
ffffffff80203030: 9101 srl a0,a0,0x20
ffffffff80203032: 0aa8e663 bltu a7,a0,ffffffff802030de <.Lpcrel_hi0>
ffffffff80203036: 00c32703 lw a4,12(t1)
ffffffff8020303a: 00875793 srl a5,a4,0x8
ffffffff8020303e: 00d7f833 and a6,a5,a3
ffffffff80203042: 0187579b srlw a5,a4,0x18
ffffffff80203046: 00f867b3 or a5,a6,a5
ffffffff8020304a: 8ef9 and a3,a3,a4
ffffffff8020304c: 06a2 sll a3,a3,0x8
ffffffff8020304e: 0762 sll a4,a4,0x18
ffffffff80203050: 8ed9 or a3,a3,a4
ffffffff80203052: 8edd or a3,a3,a5
ffffffff80203054: 1682 sll a3,a3,0x20
ffffffff80203056: 0206d293 srl t0,a3,0x20
ffffffff8020305a: 0858eb63 bltu a7,t0,ffffffff802030f0 <.Lpcrel_hi3>
ffffffff8020305e: 02032783 lw a5,32(t1)
ffffffff80203062: 0087d813 srl a6,a5,0x8
ffffffff80203066: 6741 lui a4,0x10
ffffffff80203068: f0070613 add a2,a4,-256 # ff00 <.Lline_table_start0+0x194f>
ffffffff8020306c: 00c87833 and a6,a6,a2
ffffffff80203070: 0187d69b srlw a3,a5,0x18
ffffffff80203074: 00d866b3 or a3,a6,a3
ffffffff80203078: 00c7f733 and a4,a5,a2
ffffffff8020307c: 0722 sll a4,a4,0x8
ffffffff8020307e: 07e2 sll a5,a5,0x18
ffffffff80203080: 8f5d or a4,a4,a5
ffffffff80203082: 8ed9 or a3,a3,a4
ffffffff80203084: 1682 sll a3,a3,0x20
ffffffff80203086: 0206d813 srl a6,a3,0x20
ffffffff8020308a: 405887b3 sub a5,a7,t0
ffffffff8020308e: 0707eb63 bltu a5,a6,ffffffff80203104 <.Lpcrel_hi1>
ffffffff80203092: 02432683 lw a3,36(t1)
ffffffff80203096: 929a add t0,t0,t1
ffffffff80203098: 951a add a0,a0,t1
ffffffff8020309a: 0521 add a0,a0,8
ffffffff8020309c: 0086d713 srl a4,a3,0x8
ffffffff802030a0: 8f71 and a4,a4,a2
ffffffff802030a2: 0186d79b srlw a5,a3,0x18
ffffffff802030a6: 8f5d or a4,a4,a5
ffffffff802030a8: 8e75 and a2,a2,a3
ffffffff802030aa: 0622 sll a2,a2,0x8
ffffffff802030ac: 06e2 sll a3,a3,0x18
ffffffff802030ae: 8e55 or a2,a2,a3
ffffffff802030b0: 8e59 or a2,a2,a4
ffffffff802030b2: 0026561b srlw a2,a2,0x2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment