Advertisement
Bond697

Untitled

Sep 29th, 2015
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 9.05 KB | None | 0 0
  1. text:FFF1BD68             ; =============== S U B R O U T I N E =======================================
  2. .text:FFF1BD68
  3. .text:FFF1BD68
  4. .text:FFF1BD68             ; int __fastcall sub_FFF1BD68(void *rounded_addr, void *rounded_end_addr)
  5. .text:FFF1BD68             sub_FFF1BD68                            ; CODE XREF: sub_FFF1D654+A8p
  6. .text:FFF1BD68                                                     ; clean_flush_data_cache_k+6Cp
  7. .text:FFF1BD68                                                     ; sub_FFF25BD8+3Cp
  8. .text:FFF1BD68                                                     ; clean_invalidate_dcache+3Cp
  9. .text:FFF1BD68 F0 5F 2D E9                 STMFD   SP!, {R4-R12,LR}
  10. .text:FFF1BD6C 01 70 A0 E1                 MOV     R7, R1
  11. .text:FFF1BD70 07 00 50 E1                 CMP     R0, R7
  12. .text:FFF1BD74 5E 00 00 2A                 BCS     locret_FFF1BEF4
  13. .text:FFF1BD78 7C 61 9F E5                 LDR     R6, =0xFFFB8770
  14. .text:FFF1BD7C 74 A1 9F E5                 LDR     R10, =off_FFFF9000
  15. .text:FFF1BD80 00 90 A0 E3                 MOV     R9, #0
  16. .text:FFF1BD84 40 B0 46 E2                 SUB     R11, R6, #0x40  ; 0xFFFB8730
  17. .text:FFF1BD88
  18. .text:FFF1BD88             loc_FFF1BD88                            ; CODE XREF: sub_FFF1BD68+188j
  19. .text:FFF1BD88 01 58 80 E2                 ADD     R5, R0, #0x10000 ; r5 = rounded_addr + 0x10000
  20. .text:FFF1BD8C 07 00 55 E1                 CMP     R5, R7
  21. .text:FFF1BD90 01 00 00 8A                 BHI     loc_FFF1BD9C    ; jump if rounded_addr + 0x10000 > rounded_end_addr
  22. .text:FFF1BD94 00 00 55 E1                 CMP     R5, R0
  23. .text:FFF1BD98 00 00 00 2A                 BCS     loc_FFF1BDA0    ; jump if rounded_addr + 0x10000 >= rounded_addr
  24. .text:FFF1BD9C
  25. .text:FFF1BD9C             loc_FFF1BD9C                            ; CODE XREF: sub_FFF1BD68+28j
  26. .text:FFF1BD9C 07 50 A0 E1                 MOV     R5, R7          ; if rounded_addr + 0x10000 > rounded_end_addr, r5 = rounded_end_addr
  27. .text:FFF1BDA0
  28. .text:FFF1BDA0             loc_FFF1BDA0                            ; CODE XREF: sub_FFF1BD68+30j
  29. .text:FFF1BDA0 00 40 A0 E1                 MOV     R4, R0
  30. .text:FFF1BDA4 54 01 9F E5                 LDR     R0, =dword_FFF2E064
  31. .text:FFF1BDA8 00 10 9A E5                 LDR     R1, [R10]
  32. .text:FFF1BDAC 00 80 A0 E1                 MOV     R8, R0
  33. .text:FFF1BDB0 9F 2F 90 E1                 LDREX   R2, [R0]
  34. .text:FFF1BDB4 00 00 52 E3                 CMP     R2, #0
  35. .text:FFF1BDB8 91 3F 80 01                 STREXEQ R3, R1, [R0]
  36. .text:FFF1BDBC 92 3F 80 11                 STREXNE R3, R2, [R0]
  37. .text:FFF1BDC0 00 00 53 03                 CMPEQ   R3, #0
  38. .text:FFF1BDC4 09 05 00 1B                 BLNE    interlock_error
  39. .text:FFF1BDC8 BA 9F 07 EE                 MCR     p15, 0, R9,c7,c10, 5 ; Data Memory Barrier
  40. .text:FFF1BDCC 01 1C 84 E2                 ADD     R1, R4, #0x100
  41. .text:FFF1BDD0 05 00 51 E1                 CMP     R1, R5
  42. .text:FFF1BDD4 2B 00 00 2A                 BCS     loc_FFF1BE88
  43. .text:FFF1BDD8
  44. .text:FFF1BDD8             loc_FFF1BDD8                            ; CODE XREF: sub_FFF1BD68+11Cj
  45. .text:FFF1BDD8 E0 10 84 E2                 ADD     R1, R4, #0xE0
  46. .text:FFF1BDDC 24 06 A0 E1                 MOV     R0, R4,LSR#12
  47. .text:FFF1BDE0 21 16 A0 E1                 MOV     R1, R1,LSR#12
  48. .text:FFF1BDE4 00 06 A0 E1                 MOV     R0, R0,LSL#12
  49. .text:FFF1BDE8 01 16 A0 E1                 MOV     R1, R1,LSL#12
  50. .text:FFF1BDEC 01 00 50 E1                 CMP     R0, R1
  51. .text:FFF1BDF0 04 1A A0 E1                 MOV     R1, R4,LSL#20
  52. .text:FFF1BDF4 21 1A A0 E1                 MOV     R1, R1,LSR#20
  53. .text:FFF1BDF8 38 0F 07 EE                 MCR     p15, 0, R0,c7,c8, 1 ; VA to PA translation with privileged write permission check
  54. .text:FFF1BDFC 14 0F 17 EE                 MRC     p15, 0, R0,c7,c4, 0 ; Read PA register (PA after successful translation)
  55. .text:FFF1BE00 01 20 00 E2                 AND     R2, R0, #1
  56. .text:FFF1BE04 15 00 00 1A                 BNE     loc_FFF1BE60
  57. .text:FFF1BE08 00 00 52 E3                 CMP     R2, #0
  58. .text:FFF1BE0C 20 06 A0 01                 MOVEQ   R0, R0,LSR#12
  59. .text:FFF1BE10 00 06 A0 01                 MOVEQ   R0, R0,LSL#12
  60. .text:FFF1BE14 01 00 80 01                 ORREQ   R0, R0, R1
  61. .text:FFF1BE18 00 00 A0 13                 MOVNE   R0, #0
  62. .text:FFF1BE1C 20 20 80 E2                 ADD     R2, R0, #0x20
  63. .text:FFF1BE20 40 C0 80 E2                 ADD     R12, R0, #0x40
  64. .text:FFF1BE24 00 00 86 E5                 STR     R0, [R6]
  65. .text:FFF1BE28 60 10 80 E2                 ADD     R1, R0, #0x60
  66. .text:FFF1BE2C 00 20 86 E5                 STR     R2, [R6]
  67. .text:FFF1BE30 80 20 80 E2                 ADD     R2, R0, #0x80
  68. .text:FFF1BE34 A0 30 80 E2                 ADD     R3, R0, #0xA0
  69. .text:FFF1BE38 00 C0 86 E5                 STR     R12, [R6]
  70. .text:FFF1BE3C C0 C0 80 E2                 ADD     R12, R0, #0xC0
  71. .text:FFF1BE40 E0 00 80 E2                 ADD     R0, R0, #0xE0
  72. .text:FFF1BE44 00 10 86 E5                 STR     R1, [R6]
  73. .text:FFF1BE48 00 20 86 E5                 STR     R2, [R6]
  74. .text:FFF1BE4C 00 30 86 E5                 STR     R3, [R6]
  75. .text:FFF1BE50 00 C0 86 E5                 STR     R12, [R6]
  76. .text:FFF1BE54 00 00 86 E5                 STR     R0, [R6]
  77. .text:FFF1BE58 01 4C 84 E2                 ADD     R4, R4, #0x100
  78. .text:FFF1BE5C 06 00 00 EA                 B       loc_FFF1BE7C
  79. .text:FFF1BE60             ; ---------------------------------------------------------------------------
  80. .text:FFF1BE60
  81. .text:FFF1BE60             loc_FFF1BE60                            ; CODE XREF: sub_FFF1BD68+9Cj
  82. .text:FFF1BE60 00 00 52 E3                 CMP     R2, #0
  83. .text:FFF1BE64 20 06 A0 01                 MOVEQ   R0, R0,LSR#12
  84. .text:FFF1BE68 20 40 84 E2                 ADD     R4, R4, #0x20
  85. .text:FFF1BE6C 00 06 A0 01                 MOVEQ   R0, R0,LSL#12
  86. .text:FFF1BE70 01 00 80 01                 ORREQ   R0, R0, R1
  87. .text:FFF1BE74 00 00 A0 13                 MOVNE   R0, #0
  88. .text:FFF1BE78 00 00 86 E5                 STR     R0, [R6]
  89. .text:FFF1BE7C
  90. .text:FFF1BE7C             loc_FFF1BE7C                            ; CODE XREF: sub_FFF1BD68+F4j
  91. .text:FFF1BE7C 01 1C 84 E2                 ADD     R1, R4, #0x100
  92. .text:FFF1BE80 05 00 51 E1                 CMP     R1, R5
  93. .text:FFF1BE84 D3 FF FF 3A                 BCC     loc_FFF1BDD8
  94. .text:FFF1BE88
  95. .text:FFF1BE88             loc_FFF1BE88                            ; CODE XREF: sub_FFF1BD68+6Cj
  96. .text:FFF1BE88 05 00 54 E1                 CMP     R4, R5
  97. .text:FFF1BE8C 0E 00 00 2A                 BCS     loc_FFF1BECC
  98. .text:FFF1BE90
  99. .text:FFF1BE90             loc_FFF1BE90                            ; CODE XREF: sub_FFF1BD68+160j
  100. .text:FFF1BE90 24 06 A0 E1                 MOV     R0, R4,LSR#12
  101. .text:FFF1BE94 04 1A A0 E1                 MOV     R1, R4,LSL#20
  102. .text:FFF1BE98 00 06 A0 E1                 MOV     R0, R0,LSL#12
  103. .text:FFF1BE9C 21 1A A0 E1                 MOV     R1, R1,LSR#20
  104. .text:FFF1BEA0 38 0F 07 EE                 MCR     p15, 0, R0,c7,c8, 1 ; VA to PA translation with privileged write permission check
  105. .text:FFF1BEA4 14 0F 17 EE                 MRC     p15, 0, R0,c7,c4, 0 ; Read PA register (PA after successful translation)
  106. .text:FFF1BEA8 01 00 10 E3                 TST     R0, #1
  107. .text:FFF1BEAC 20 06 A0 01                 MOVEQ   R0, R0,LSR#12
  108. .text:FFF1BEB0 20 40 84 E2                 ADD     R4, R4, #0x20
  109. .text:FFF1BEB4 00 06 A0 01                 MOVEQ   R0, R0,LSL#12
  110. .text:FFF1BEB8 01 00 80 01                 ORREQ   R0, R0, R1
  111. .text:FFF1BEBC 00 00 A0 13                 MOVNE   R0, #0
  112. .text:FFF1BEC0 00 00 86 E5                 STR     R0, [R6]
  113. .text:FFF1BEC4 05 00 54 E1                 CMP     R4, R5
  114. .text:FFF1BEC8 F0 FF FF 3A                 BCC     loc_FFF1BE90
  115. .text:FFF1BECC
  116. .text:FFF1BECC             loc_FFF1BECC                            ; CODE XREF: sub_FFF1BD68+124j
  117. .text:FFF1BECC 00 90 8B E5                 STR     R9, [R11]
  118. .text:FFF1BED0 08 00 A0 E1                 MOV     R0, R8
  119. .text:FFF1BED4 BA 9F 07 EE                 MCR     p15, 0, R9,c7,c10, 5 ; Data Memory Barrier
  120. .text:FFF1BED8 00 90 88 E5                 STR     R9, [R8]
  121. .text:FFF1BEDC F4 10 D8 E1                 LDRSH   R1, [R8,#4]
  122. .text:FFF1BEE0 00 00 51 E3                 CMP     R1, #0
  123. .text:FFF1BEE4 24 05 00 CB                 BLGT    kernel_error
  124. .text:FFF1BEE8 07 00 55 E1                 CMP     R5, R7
  125. .text:FFF1BEEC 05 00 A0 E1                 MOV     R0, R5
  126. .text:FFF1BEF0 A4 FF FF 3A                 BCC     loc_FFF1BD88
  127. .text:FFF1BEF4
  128. .text:FFF1BEF4             locret_FFF1BEF4                         ; CODE XREF: sub_FFF1BD68+Cj
  129. .text:FFF1BEF4 F0 9F BD E8                 LDMFD   SP!, {R4-R12,PC}
  130. .text:FFF1BEF4             ; End of function sub_FFF1BD68
  131. .text:FFF1BEF4
  132. .text:FFF1BEF4             ; ---------------------------------------------------------------------------
  133. .text:FFF1BEF8 00 90 FF FF off_FFF1BEF8    DCD off_FFFF9000        ; DATA XREF: sub_FFF1BD68+14r
  134. .text:FFF1BEFC 70 87 FB FF dword_FFF1BEFC  DCD 0xFFFB8770          ; DATA XREF: sub_FFF1BD68+10r
  135. .text:FFF1BF00 64 E0 F2 FF off_FFF1BF00    DCD dword_FFF2E064      ; DATA XREF: sub_FFF1BD68+3Cr
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement