DF-2489 / ad_attach_stock_disasm.txt
/boot/kernel/kernel: file format elf64-x86-64 Disassembly of section .text: ffffffff80328d30 <ad_attach>: ffffffff80328d30: 55 push %rbp ffffffff80328d31: 48 89 e5 mov %rsp,%rbp ffffffff80328d34: 41 57 push %r15 ffffffff80328d36: 41 56 push %r14 ffffffff80328d38: 41 55 push %r13 ffffffff80328d3a: 41 54 push %r12 ffffffff80328d3c: 53 push %rbx ffffffff80328d3d: 48 89 fb mov %rdi,%rbx ffffffff80328d40: 48 81 ec f8 00 00 00 sub $0xf8,%rsp ffffffff80328d47: e8 f4 43 36 00 callq ffffffff8068d140 <device_get_parent> ffffffff80328d4c: 48 89 c7 mov %rax,%rdi ffffffff80328d4f: e8 9c 47 36 00 callq ffffffff8068d4f0 <device_get_softc> ffffffff80328d54: 48 89 df mov %rbx,%rdi ffffffff80328d57: 49 89 c6 mov %rax,%r14 ffffffff80328d5a: e8 91 47 36 00 callq ffffffff8068d4f0 <device_get_softc> ffffffff80328d5f: 48 89 df mov %rbx,%rdi ffffffff80328d62: 49 89 c4 mov %rax,%r12 ffffffff80328d65: e8 16 48 36 00 callq ffffffff8068d580 <device_get_ivars> ffffffff80328d6a: 49 89 c5 mov %rax,%r13 ffffffff80328d6d: b8 11 00 00 00 mov $0x11,%eax ffffffff80328d72: 4d 85 ed test %r13,%r13 ffffffff80328d75: 74 19 je ffffffff80328d90 <ad_attach+0x60> ffffffff80328d77: 48 8d 65 d8 lea -0x28(%rbp),%rsp ffffffff80328d7b: 5b pop %rbx ffffffff80328d7c: 41 5c pop %r12 ffffffff80328d7e: 41 5d pop %r13 ffffffff80328d80: 41 5e pop %r14 ffffffff80328d82: 41 5f pop %r15 ffffffff80328d84: 5d pop %rbp ffffffff80328d85: c3 retq ffffffff80328d86: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) ffffffff80328d8d: 00 00 00 ffffffff80328d90: ba 02 12 00 00 mov $0x1202,%edx ffffffff80328d95: 48 c7 c6 40 e5 05 81 mov $0xffffffff8105e540,%rsi ffffffff80328d9c: bf e8 05 00 00 mov $0x5e8,%edi ffffffff80328da1: e8 1a e0 32 00 callq ffffffff80656dc0 <_kmalloc> ffffffff80328da6: 48 8d 78 08 lea 0x8(%rax),%rdi ffffffff80328daa: 48 89 c1 mov %rax,%rcx ffffffff80328dad: 48 c7 00 00 00 00 00 movq $0x0,(%rax) ffffffff80328db4: 49 89 c7 mov %rax,%r15 ffffffff80328db7: 48 83 e7 f8 and $0xfffffffffffffff8,%rdi ffffffff80328dbb: 4c 89 fe mov %r15,%rsi ffffffff80328dbe: 48 c7 80 e0 05 00 00 movq $0x0,0x5e0(%rax) ffffffff80328dc5: 00 00 00 00 ffffffff80328dc9: 4c 89 e8 mov %r13,%rax ffffffff80328dcc: 48 29 f9 sub %rdi,%rcx ffffffff80328dcf: 81 c1 e8 05 00 00 add $0x5e8,%ecx ffffffff80328dd5: c1 e9 03 shr $0x3,%ecx ffffffff80328dd8: f3 48 ab rep stos %rax,%es:(%rdi) ffffffff80328ddb: 48 89 df mov %rbx,%rdi ffffffff80328dde: e8 ad 47 36 00 callq ffffffff8068d590 <device_set_ivars> ffffffff80328de3: 48 89 df mov %rbx,%rdi ffffffff80328de6: e8 05 47 36 00 callq ffffffff8068d4f0 <device_get_softc> ffffffff80328deb: 48 89 df mov %rbx,%rdi ffffffff80328dee: 49 89 c5 mov %rax,%r13 ffffffff80328df1: e8 8a 47 36 00 callq ffffffff8068d580 <device_get_ivars> ffffffff80328df6: 41 f6 45 76 01 testb $0x1,0x76(%r13) ffffffff80328dfb: 74 0e je ffffffff80328e0b <ad_attach+0xdb> ffffffff80328dfd: 41 0f b7 55 7a movzwl 0x7a(%r13),%edx ffffffff80328e02: 66 85 d2 test %dx,%dx ffffffff80328e05: 0f 85 85 03 00 00 jne ffffffff80329190 <ad_attach+0x460> ffffffff80328e0b: 41 0f b7 55 12 movzwl 0x12(%r13),%edx ffffffff80328e10: 88 50 08 mov %dl,0x8(%rax) ffffffff80328e13: 41 0f b7 75 18 movzwl 0x18(%r13),%esi ffffffff80328e18: 0f b6 d2 movzbl %dl,%edx ffffffff80328e1b: 40 88 70 09 mov %sil,0x9(%rax) ffffffff80328e1f: 40 0f b6 f6 movzbl %sil,%esi ffffffff80328e23: 41 0f b7 4d 0e movzwl 0xe(%r13),%ecx ffffffff80328e28: 0f af d6 imul %esi,%edx ffffffff80328e2b: 0f af d1 imul %ecx,%edx ffffffff80328e2e: 48 63 d2 movslq %edx,%rdx ffffffff80328e31: 48 89 10 mov %rdx,(%rax) ffffffff80328e34: 41 0f b7 b5 ac 00 00 movzwl 0xac(%r13),%esi ffffffff80328e3b: 00 ffffffff80328e3c: 41 8b 8d 84 00 00 00 mov 0x84(%r13),%ecx ffffffff80328e43: 66 83 fe ff cmp $0xffff,%si ffffffff80328e47: 74 18 je ffffffff80328e61 <ad_attach+0x131> ffffffff80328e49: ba 0f 00 00 00 mov $0xf,%edx ffffffff80328e4e: 66 90 xchg %ax,%ax ffffffff80328e50: 0f a3 d6 bt %edx,%esi ffffffff80328e53: 0f 82 5a 03 00 00 jb ffffffff803291b3 <ad_attach+0x483> ffffffff80328e59: 83 ea 01 sub $0x1,%edx ffffffff80328e5c: 83 fa ff cmp $0xffffffff,%edx ffffffff80328e5f: 75 ef jne ffffffff80328e50 <ad_attach+0x120> ffffffff80328e61: 41 83 8d 34 02 00 00 orl $0x1,0x234(%r13) ffffffff80328e68: 01 ffffffff80328e69: 66 41 81 7d 0e ff 3f cmpw $0x3fff,0xe(%r13) ffffffff80328e70: 89 ca mov %ecx,%edx ffffffff80328e72: 0f 84 f8 02 00 00 je ffffffff80329170 <ad_attach+0x440> ffffffff80328e78: 48 39 10 cmp %rdx,(%rax) ffffffff80328e7b: 0f 82 ef 02 00 00 jb ffffffff80329170 <ad_attach+0x440> ffffffff80328e81: 49 8b 95 d4 00 00 00 mov 0xd4(%r13),%rdx ffffffff80328e88: 41 f6 85 b3 00 00 00 testb $0x4,0xb3(%r13) ffffffff80328e8f: 04 ffffffff80328e90: 74 0d je ffffffff80328e9f <ad_attach+0x16f> ffffffff80328e92: 48 81 fa ff ff ff 0f cmp $0xfffffff,%rdx ffffffff80328e99: 0f 87 e1 02 00 00 ja ffffffff80329180 <ad_attach+0x450> ffffffff80328e9f: 48 89 df mov %rbx,%rdi ffffffff80328ea2: e8 b9 fc ff ff callq ffffffff80328b60 <ad_init> ffffffff80328ea7: 48 89 df mov %rbx,%rdi ffffffff80328eaa: e8 71 43 36 00 callq ffffffff8068d220 <device_get_unit> ffffffff80328eaf: 48 83 ec 08 sub $0x8,%rsp ffffffff80328eb3: b9 00 02 00 00 mov $0x200,%ecx ffffffff80328eb8: 41 b9 20 00 00 00 mov $0x20,%r9d ffffffff80328ebe: 68 10 01 00 00 pushq $0x110 ffffffff80328ec3: 89 c2 mov %eax,%edx ffffffff80328ec5: 49 8d 7f 18 lea 0x18(%r15),%rdi ffffffff80328ec9: 41 b8 02 00 00 00 mov $0x2,%r8d ffffffff80328ecf: 48 c7 c6 c2 f5 c3 80 mov $0xffffffff80c3f5c2,%rsi ffffffff80328ed6: e8 d5 94 36 00 callq ffffffff806923b0 <devstat_add_entry> ffffffff80328edb: 49 8d 87 e0 00 00 00 lea 0xe0(%r15),%rax ffffffff80328ee2: 48 89 df mov %rbx,%rdi ffffffff80328ee5: 49 89 c5 mov %rax,%r13 ffffffff80328ee8: 48 89 85 00 ff ff ff mov %rax,-0x100(%rbp) ffffffff80328eef: e8 2c 43 36 00 callq ffffffff8068d220 <device_get_unit> ffffffff80328ef4: 48 c7 c2 c0 e6 05 81 mov $0xffffffff8105e6c0,%rdx ffffffff80328efb: 4c 89 ee mov %r13,%rsi ffffffff80328efe: 89 c7 mov %eax,%edi ffffffff80328f00: e8 db b1 36 00 callq ffffffff806940e0 <disk_create> ffffffff80328f05: ba 00 00 01 00 mov $0x10000,%edx ffffffff80328f0a: 48 89 98 98 00 00 00 mov %rbx,0x98(%rax) ffffffff80328f11: 49 8b 8e d8 01 00 00 mov 0x1d8(%r14),%rcx ffffffff80328f18: 5e pop %rsi ffffffff80328f19: 5f pop %rdi ffffffff80328f1a: 48 85 c9 test %rcx,%rcx ffffffff80328f1d: 74 03 je ffffffff80328f22 <ad_attach+0x1f2> ffffffff80328f1f: 8b 51 64 mov 0x64(%rcx),%edx ffffffff80328f22: 89 90 b8 00 00 00 mov %edx,0xb8(%rax) ffffffff80328f28: b9 06 00 00 00 mov $0x6,%ecx ffffffff80328f2d: 48 8d bd 18 ff ff ff lea -0xe8(%rbp),%rdi ffffffff80328f34: 41 0f b6 57 09 movzbl 0x9(%r15),%edx ffffffff80328f39: 49 89 87 e0 05 00 00 mov %rax,0x5e0(%r15) ffffffff80328f40: 31 c0 xor %eax,%eax ffffffff80328f42: f3 48 ab rep stos %rax,%es:(%rdi) ffffffff80328f45: 41 0f b6 4f 08 movzbl 0x8(%r15),%ecx ffffffff80328f4a: 49 8b 07 mov (%r15),%rax ffffffff80328f4d: 48 89 df mov %rbx,%rdi ffffffff80328f50: 89 95 3c ff ff ff mov %edx,-0xc4(%rbp) ffffffff80328f56: 89 8d 34 ff ff ff mov %ecx,-0xcc(%rbp) ffffffff80328f5c: 0f af ca imul %edx,%ecx ffffffff80328f5f: 31 d2 xor %edx,%edx ffffffff80328f61: 48 89 85 20 ff ff ff mov %rax,-0xe0(%rbp) ffffffff80328f68: c7 85 28 ff ff ff 00 movl $0x200,-0xd8(%rbp) ffffffff80328f6f: 02 00 00 ffffffff80328f72: 48 63 f1 movslq %ecx,%rsi ffffffff80328f75: 89 8d 40 ff ff ff mov %ecx,-0xc0(%rbp) ffffffff80328f7b: 48 f7 f6 div %rsi ffffffff80328f7e: 89 85 38 ff ff ff mov %eax,-0xc8(%rbp) ffffffff80328f84: 49 8d 44 24 20 lea 0x20(%r12),%rax ffffffff80328f89: 48 89 85 48 ff ff ff mov %rax,-0xb8(%rbp) ffffffff80328f90: e8 8b 42 36 00 callq ffffffff8068d220 <device_get_unit> ffffffff80328f95: 48 c7 c6 c5 f5 c3 80 mov $0xffffffff80c3f5c5,%rsi ffffffff80328f9c: 48 89 df mov %rbx,%rdi ffffffff80328f9f: 89 c2 mov %eax,%edx ffffffff80328fa1: e8 6a 40 36 00 callq ffffffff8068d010 <device_add_child> ffffffff80328fa6: 48 89 df mov %rbx,%rdi ffffffff80328fa9: e8 22 68 36 00 callq ffffffff8068f7d0 <bus_generic_attach> ffffffff80328fae: 48 89 df mov %rbx,%rdi ffffffff80328fb1: e8 8a 41 36 00 callq ffffffff8068d140 <device_get_parent> ffffffff80328fb6: 48 89 c7 mov %rax,%rdi ffffffff80328fb9: e8 32 45 36 00 callq ffffffff8068d4f0 <device_get_softc> ffffffff80328fbe: 48 89 df mov %rbx,%rdi ffffffff80328fc1: 48 89 85 f8 fe ff ff mov %rax,-0x108(%rbp) ffffffff80328fc8: e8 23 45 36 00 callq ffffffff8068d4f0 <device_get_softc> ffffffff80328fcd: 48 89 df mov %rbx,%rdi ffffffff80328fd0: 49 89 c5 mov %rax,%r13 ffffffff80328fd3: e8 a8 45 36 00 callq ffffffff8068d580 <device_get_ivars> ffffffff80328fd8: 4d 8d 75 42 lea 0x42(%r13),%r14 ffffffff80328fdc: be 20 00 00 00 mov $0x20,%esi ffffffff80328fe1: 4c 89 f7 mov %r14,%rdi ffffffff80328fe4: 49 89 c7 mov %rax,%r15 ffffffff80328fe7: e8 94 bf 6a 00 callq ffffffff809d4f80 <index> ffffffff80328fec: 48 85 c0 test %rax,%rax ffffffff80328fef: 0f 84 2b 02 00 00 je ffffffff80329220 <ad_attach+0x4f0> ffffffff80328ff5: 4c 29 f0 sub %r14,%rax ffffffff80328ff8: 4c 89 f6 mov %r14,%rsi ffffffff80328ffb: 4c 63 c0 movslq %eax,%r8 ffffffff80328ffe: 48 rex.W ffffffff80328fff: 89 .byte 0x89