aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/new_dynarec/linkage_arm.S
diff options
context:
space:
mode:
authornotaz2016-09-21 02:24:37 +0300
committernotaz2016-09-21 02:24:37 +0300
commit9766e77ddec3157cbf8b7da407b99f47467a8f72 (patch)
tree4684ad5828896ca870ffa6fe8fe53af943141cc2 /libpcsxcore/new_dynarec/linkage_arm.S
parent38b1da12aade33bf94bdbe71a3988db6f57fb012 (diff)
parent1e212a25c55c298490867c2ded029c82db1d2b9d (diff)
downloadpcsx_rearmed-9766e77ddec3157cbf8b7da407b99f47467a8f72.tar.gz
pcsx_rearmed-9766e77ddec3157cbf8b7da407b99f47467a8f72.tar.bz2
pcsx_rearmed-9766e77ddec3157cbf8b7da407b99f47467a8f72.zip
Merge branch 'mainline' into libretro
Diffstat (limited to 'libpcsxcore/new_dynarec/linkage_arm.S')
-rw-r--r--libpcsxcore/new_dynarec/linkage_arm.S11
1 files changed, 9 insertions, 2 deletions
diff --git a/libpcsxcore/new_dynarec/linkage_arm.S b/libpcsxcore/new_dynarec/linkage_arm.S
index 95af8b4..147b0df 100644
--- a/libpcsxcore/new_dynarec/linkage_arm.S
+++ b/libpcsxcore/new_dynarec/linkage_arm.S
@@ -20,6 +20,7 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "arm_features.h"
+#include "new_dynarec_config.h"
#include "linkage_offsets.h"
@@ -160,9 +161,10 @@ ptr_hash_table:
#endif
.endm
+/* r0 = virtual target address */
+/* r1 = instruction to patch */
.macro dyna_linker_main
- /* r0 = virtual target address */
- /* r1 = instruction to patch */
+#ifndef NO_WRITE_EXEC
load_varadr_ext r3, jump_in
/* get_page */
lsr r2, r0, #12
@@ -242,6 +244,11 @@ ptr_hash_table:
str r3, [r6, #12]
mov pc, r1
8:
+#else
+ /* XXX: should be able to do better than this... */
+ bl get_addr_ht
+ mov pc, r0
+#endif
.endm