about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-11-14 20:57:51 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-11-14 20:57:51 +0100
commit2ea272fcd635685896434844ada57c0f5571e6e2 (patch)
treef182727cea7ff1a9a12c618541b934defeb58b54 /src
parentd3e85b439b8b111eff208063b89d80d5f0e1c9d0 (diff)
downloadbox64-2ea272fcd635685896434844ada57c0f5571e6e2.tar.gz
box64-2ea272fcd635685896434844ada57c0f5571e6e2.zip
[DYNAREC] Added DMB emitter
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/arm64_emitter.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/dynarec/arm64_emitter.h b/src/dynarec/arm64_emitter.h
index 1118ec11..a063c958 100755
--- a/src/dynarec/arm64_emitter.h
+++ b/src/dynarec/arm64_emitter.h
@@ -351,6 +351,9 @@
 
 #define PST_L1_STREAM_U12(Rn, imm12)    EMIT(PRFM_imm(((imm12)>>3)&0xfff, Rn, 0b01001))
 
+// Data Memory Barrier
+#define DMB_gen(CRm)                    (0b1101010100<<22 | 0b011<<16 | 0b0011<<12 | (CRm)<<8 | 1<<7 | 0b01<<5 | 0b11111)
+#define DMB_ISH()                       EMIT(DMB_gen(0b1011))
 
 // BR and Branches
 #define BR_gen(Z, op, A, M, Rn, Rm)       (0b1101011<<25 | (Z)<<24 | (op)<<21 | 0b11111<<16 | (A)<<11 | (M)<<10 | (Rn)<<5 | (Rm))