Advertisement
Guest User

Untitled

a guest
Nov 19th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.44 KB | None | 0 0
  1. Dump of assembler code for function init_heap_pages:
  2. 0xffff82d080223900 <+0>: push %rbp
  3. 0xffff82d080223901 <+1>: mov %rsp,%rbp
  4. 0xffff82d080223904 <+4>: push %r15
  5. 0xffff82d080223906 <+6>: push %r14
  6. 0xffff82d080223908 <+8>: push %r13
  7. 0xffff82d08022390a <+10>: push %r12
  8. 0xffff82d08022390c <+12>: push %rbx
  9. 0xffff82d08022390d <+13>: sub $0x28,%rsp
  10. 0xffff82d080223911 <+17>: mov %rsi,%r15
  11. 0xffff82d080223914 <+20>: mov %rdi,%rbx
  12. 0xffff82d080223917 <+23>: movabs $0x7d2000000000,%r12
  13. 0xffff82d080223921 <+33>: lea 0x267d08(%rip),%r14 # 0xffff82d08048b630 <heap_lock>
  14. 0xffff82d080223928 <+40>: mov %r14,%rdi
  15. 0xffff82d08022392b <+43>: callq 0xffff82d08023a4c0 <_spin_lock>
  16. 0xffff82d080223930 <+48>: mov %rbx,-0x40(%rbp)
  17. 0xffff82d080223934 <+52>: lea (%rbx,%r12,1),%rdi
  18. 0xffff82d080223938 <+56>: sar $0x5,%rdi
  19. 0xffff82d08022393c <+60>: callq 0xffff82d0802249c0 <pdx_to_pfn>
  20. 0xffff82d080223941 <+65>: mov %rax,%rdi
  21. 0xffff82d080223944 <+68>: callq 0xffff82d080222340 <_mfn>
  22. 0xffff82d080223949 <+73>: mov 0x267cd8(%rip),%rsi # 0xffff82d08048b628 <first_valid_mfn>
  23. 0xffff82d080223950 <+80>: mov %rax,%rdi
  24. 0xffff82d080223953 <+83>: callq 0xffff82d080222310 <mfn_min>
  25. 0xffff82d080223958 <+88>: mov %rax,0x267cc9(%rip) # 0xffff82d08048b628 <first_valid_mfn>
  26. 0xffff82d08022395f <+95>: mov %r14,%rdi
  27. 0xffff82d080223962 <+98>: callq 0xffff82d08023a530 <_spin_unlock>
  28. 0xffff82d080223967 <+103>: cmpl $0x3,0x37b032(%rip) # 0xffff82d08059e9a0 <system_state>
  29. 0xffff82d08022396e <+110>: setb -0x29(%rbp)
  30. 0xffff82d080223972 <+114>: cmpl $0x2,0x228a8b(%rip) # 0xffff82d08044c404 <opt_bootscrub>
  31. 0xffff82d080223979 <+121>: sete %al
  32. 0xffff82d08022397c <+124>: mov %r15,-0x38(%rbp)
  33. 0xffff82d080223980 <+128>: test %r15,%r15
  34. 0xffff82d080223983 <+131>: je 0xffff82d080223aee <init_heap_pages+494>
  35. 0xffff82d080223989 <+137>: and %al,-0x29(%rbp)
  36. 0xffff82d08022398c <+140>: xor %r12d,%r12d
  37. 0xffff82d08022398f <+143>: jmpq 0xffff82d080223a70 <init_heap_pages+368>
  38. 0xffff82d080223994 <+148>: mov -0x38(%rbp),%rax
  39. 0xffff82d080223998 <+152>: shl $0x5,%rax
  40. 0xffff82d08022399c <+156>: add -0x40(%rbp),%rax
  41. 0xffff82d0802239a0 <+160>: movabs $0x7d2000000000,%rcx
  42. 0xffff82d0802239aa <+170>: lea (%rcx,%rax,1),%rdi
  43. 0xffff82d0802239ae <+174>: add $0xffffffffffffffe0,%rdi
  44. 0xffff82d0802239b2 <+178>: sar $0x5,%rdi
  45. 0xffff82d0802239b6 <+182>: callq 0xffff82d0802249c0 <pdx_to_pfn>
  46. 0xffff82d0802239bb <+187>: mov %rax,%rdi
  47. 0xffff82d0802239be <+190>: callq 0xffff82d080222340 <_mfn>
  48. ---Type <return> to continue, or q <return> to quit---
  49. 0xffff82d0802239c3 <+195>: mov %rax,%rdi
  50. 0xffff82d0802239c6 <+198>: callq 0xffff82d080224ff0 <mfn_add>
  51. 0xffff82d0802239cb <+203>: mov %rax,%rdi
  52. 0xffff82d0802239ce <+206>: callq 0xffff82d080222dd0 <mfn_x>
  53. 0xffff82d0802239d3 <+211>: mov %rax,-0x48(%rbp)
  54. 0xffff82d0802239d7 <+215>: shl $0xc,%rax
  55. 0xffff82d0802239db <+219>: lea -0x1000(%rax),%rdi
  56. 0xffff82d0802239e2 <+226>: callq 0xffff82d0802238d0 <phys_to_nid>
  57. 0xffff82d0802239e7 <+231>: xor %ecx,%ecx
  58. 0xffff82d0802239e9 <+233>: test $0x3ffff,%r13d
  59. 0xffff82d0802239f0 <+240>: jne 0xffff82d080223a11 <init_heap_pages+273>
  60. 0xffff82d0802239f2 <+242>: cmp %al,%r14b
  61. 0xffff82d0802239f5 <+245>: jne 0xffff82d080223a11 <init_heap_pages+273>
  62. 0xffff82d0802239f7 <+247>: mov -0x48(%rbp),%rdi
  63. 0xffff82d0802239fb <+251>: callq 0xffff82d080225010 <find_first_set_bit>
  64. 0xffff82d080223a00 <+256>: mov %eax,%r14d
  65. 0xffff82d080223a03 <+259>: mov %r13,%rdi
  66. 0xffff82d080223a06 <+262>: callq 0xffff82d080225010 <find_first_set_bit>
  67. 0xffff82d080223a0b <+267>: cmp %eax,%r14d
  68. 0xffff82d080223a0e <+270>: setbe %cl
  69. 0xffff82d080223a11 <+273>: mov %cl,-0x2a(%rbp)
  70. 0xffff82d080223a14 <+276>: mov -0x38(%rbp),%r14
  71. 0xffff82d080223a18 <+280>: mov %r14,%rdx
  72. 0xffff82d080223a1b <+283>: sub %r12,%rdx
  73. 0xffff82d080223a1e <+286>: mov %r15d,%edi
  74. 0xffff82d080223a21 <+289>: mov %r13,%rsi
  75. 0xffff82d080223a24 <+292>: lea -0x2a(%rbp),%rcx
  76. 0xffff82d080223a28 <+296>: callq 0xffff82d080225030 <init_node_heap>
  77. 0xffff82d080223a2d <+301>: lea (%rax,%r12,1),%rcx
  78. 0xffff82d080223a31 <+305>: cmp %r14,%rcx
  79. 0xffff82d080223a34 <+308>: ja 0xffff82d080223afd <init_heap_pages+509>
  80. 0xffff82d080223a3a <+314>: test %rax,%rax
  81. 0xffff82d080223a3d <+317>: je 0xffff82d080223a53 <init_heap_pages+339>
  82. 0xffff82d080223a3f <+319>: movzbl -0x2a(%rbp),%edx
  83. 0xffff82d080223a43 <+323>: test %dl,%dl
  84. 0xffff82d080223a45 <+325>: jne 0xffff82d080223a53 <init_heap_pages+339>
  85. 0xffff82d080223a47 <+327>: add %rax,%r12
  86. 0xffff82d080223a4a <+330>: add $0xffffffffffffffff,%r12
  87. 0xffff82d080223a4e <+334>: jmpq 0xffff82d080223ae4 <init_heap_pages+484>
  88. 0xffff82d080223a53 <+339>: cmp -0x38(%rbp),%rcx
  89. 0xffff82d080223a57 <+343>: je 0xffff82d080223aee <init_heap_pages+494>
  90. 0xffff82d080223a5d <+349>: sub %rax,-0x38(%rbp)
  91. 0xffff82d080223a61 <+353>: jmp 0xffff82d080223aca <init_heap_pages+458>
  92. 0xffff82d080223a63 <+355>: data16 data16 data16 nopw %cs:0x0(%rax,%rax,1)
  93. 0xffff82d080223a70 <+368>: mov %r12,%rbx
  94. 0xffff82d080223a73 <+371>: shl $0x5,%rbx
  95. 0xffff82d080223a77 <+375>: add -0x40(%rbp),%rbx
  96. 0xffff82d080223a7b <+379>: movabs $0x7d2000000000,%rax
  97. 0xffff82d080223a85 <+389>: lea (%rbx,%rax,1),%rdi
  98. 0xffff82d080223a89 <+393>: sar $0x5,%rdi
  99. 0xffff82d080223a8d <+397>: callq 0xffff82d0802249c0 <pdx_to_pfn>
  100. 0xffff82d080223a92 <+402>: mov %rax,%rdi
  101. ---Type <return> to continue, or q <return> to quit---
  102. 0xffff82d080223a95 <+405>: callq 0xffff82d080222340 <_mfn>
  103. 0xffff82d080223a9a <+410>: mov %rax,%rdi
  104. 0xffff82d080223a9d <+413>: callq 0xffff82d080222dd0 <mfn_x>
  105. 0xffff82d080223aa2 <+418>: mov %rax,%r13
  106. 0xffff82d080223aa5 <+421>: mov %r13,%rdi
  107. 0xffff82d080223aa8 <+424>: shl $0xc,%rdi
  108. 0xffff82d080223aac <+428>: callq 0xffff82d0802238d0 <phys_to_nid>
  109. 0xffff82d080223ab1 <+433>: mov %eax,%r14d
  110. 0xffff82d080223ab4 <+436>: movzbl %r14b,%r15d
  111. 0xffff82d080223ab8 <+440>: lea 0x37cc81(%rip),%rax # 0xffff82d0805a0740 <avail>
  112. 0xffff82d080223abf <+447>: cmpq $0x0,(%rax,%r15,8)
  113. 0xffff82d080223ac4 <+452>: je 0xffff82d080223994 <init_heap_pages+148>
  114. 0xffff82d080223aca <+458>: cmpb $0x0,0x251aff(%rip) # 0xffff82d0804755d0 <scrub_debug>
  115. 0xffff82d080223ad1 <+465>: setne %al
  116. 0xffff82d080223ad4 <+468>: or -0x29(%rbp),%al
  117. 0xffff82d080223ad7 <+471>: movzbl %al,%edx
  118. 0xffff82d080223ada <+474>: xor %esi,%esi
  119. 0xffff82d080223adc <+476>: mov %rbx,%rdi
  120. 0xffff82d080223adf <+479>: callq 0xffff82d080223270 <free_heap_pages>
  121. 0xffff82d080223ae4 <+484>: add $0x1,%r12
  122. 0xffff82d080223ae8 <+488>: cmp %r12,-0x38(%rbp)
  123. 0xffff82d080223aec <+492>: ja 0xffff82d080223a70 <init_heap_pages+368>
  124. 0xffff82d080223aee <+494>: add $0x28,%rsp
  125. 0xffff82d080223af2 <+498>: pop %rbx
  126. 0xffff82d080223af3 <+499>: pop %r12
  127. 0xffff82d080223af5 <+501>: pop %r13
  128. 0xffff82d080223af7 <+503>: pop %r14
  129. 0xffff82d080223af9 <+505>: pop %r15
  130. 0xffff82d080223afb <+507>: pop %rbp
  131. 0xffff82d080223afc <+508>: retq
  132. 0xffff82d080223afd <+509>: ud2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement