[aarch64-port-dev ] Add ISHST and ISHLD to builtin sim
Edward Nevill
edward.nevill at linaro.org
Tue Aug 5 15:11:43 UTC 2014
Hi,
jdk8 uses dmb ishst and dmb ishld but these are not supported by the simulator.
from assembler_aarch64.hpp
// A more convenient access to dmb for our purposes
enum Membar_mask_bits {
// We can use ISH for a barrier because the ARM ARM says "This
// architecture assumes that all Processing Elements that use the
// same operating system or hypervisor are in the same Inner
// Shareable shareability domain."
StoreStore = ISHST,
LoadStore = ISHLD,
LoadLoad = ISHLD,
StoreLoad = ISH,
AnyAny = ISH
};
The following patch adds support in the simulator.
Could someone push this? I don't believe I have push access.
Thx,
Ed.
--- CUT HERE ---
# HG changeset patch
# User Edward Nevill edward.nevill at linaro.org
# Date 1407251414 -3600
# Tue Aug 05 16:10:14 2014 +0100
# Node ID 4242ce38679276f6b910e602d1fc0f7f5008882b
# Parent 153cf8706124ade1a6805ef3d84448fc8c94a2c2
Add ISHLD and ISHST to dmb
diff -r 153cf8706124 -r 4242ce386792 simulator.cpp
--- a/simulator.cpp Wed Jul 23 16:30:26 2014 +0100
+++ b/simulator.cpp Tue Aug 05 16:10:14 2014 +0100
@@ -3872,10 +3872,12 @@
{
barrier kind = (barrier)uimm(instr, 11, 8);
switch (kind) {
+ case ISHST:
case ST:
memory->flush_all(false);
asm("sfence");
break;
+ case ISHLD:
case LD:
memory->flush_all(true);
asm("lfence");
--- CUT HERE ---
More information about the aarch64-port-dev
mailing list