- .size exec_pagefault, .-exec_pagefault
-
-/* Special dynamic linker for the case where a page fault
- may occur in a branch delay slot */
-FUNCTION(dyna_linker_ds):
- /* r0 = virtual target address */
- /* r1 = instruction to patch */
- mov r4, r0
- mov r5, r1
-10:
- dyna_linker_main
-
- bic r0, r4, #7
- orr r0, r0, #1
- bl new_recompile_block
- tst r0, r0
- beq 10b
-
- /* pagefault */
- mov r0, r4
- bic r1, r0, #7
- mov r2, #0x80000008 /* High bit set indicates pagefault in delay slot */
- sub r0, r1, #4
- b exec_pagefault
- .size dyna_linker_ds, .-dyna_linker_ds