[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