arch-power: Added dcbz instruction
authorKajoljain379 <kajoljain797@gmail.com>
Wed, 10 Apr 2019 05:40:49 +0000 (05:40 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 24 Jan 2021 03:59:45 +0000 (03:59 +0000)
* Added dcbz cache instruction which used by kernel to clear multiple
  words at a time.

Change-Id: I7cfd7c93cac2d4419db987e7cf8fef8b4c71f805
Signed-off-by: Kajoljain379 <kajoljain797@gmail.com>
src/arch/power/isa/decoder.isa

index c73df0b386a88dd694946c6743fffd173c8534a4..9e0fc3c9e14d5965be6883b671e70682209dff22 100644 (file)
@@ -964,6 +964,21 @@ decode PO default Unknown::unknown() {
         format MiscOp {
             278: dcbt({{ }});
             246: dcbtst({{ }});
+
+            1014: dcbz({{
+                  Request::Flags flags = Request::PHYSICAL;
+                  Addr EA;
+                  if(RA == 0)
+                    EA = Rb & -128ULL;
+                  else
+                    EA = (Ra + Rb) & -128ULL;
+                  Mem = 0;
+                  for (int i = 0; i < 16; ++i) {
+                    writeMemAtomic(xc, traceData, Mem,EA + i*8,
+                                            flags, NULL);
+                }
+            }});
+
             86: dcbf({{ }});
             598: sync({{ }}, [ IsMemBarrier ]);
             854: eieio({{ }}, [ IsMemBarrier ]);