Giacomo Travaglini has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/56606 )

Change subject: arch-arm: Implement TLBI Shareable as a DVM op
......................................................................

arch-arm: Implement TLBI Shareable as a DVM op

JIRA: https://gem5.atlassian.net/browse/GEM5-1097

Change-Id: Ie0a374abce41997af600773cc270a47cdf2c1338
Signed-off-by: Giacomo Travaglini <giacomo.travagl...@arm.com>
---
M src/arch/arm/isa/insts/data64.isa
1 file changed, 27 insertions(+), 3 deletions(-)



diff --git a/src/arch/arm/isa/insts/data64.isa b/src/arch/arm/isa/insts/data64.isa
index 038963d..6cc177e 100644
--- a/src/arch/arm/isa/insts/data64.isa
+++ b/src/arch/arm/isa/insts/data64.isa
@@ -378,12 +378,24 @@
     decoder_output += MiscRegRegOp64Constructor.subst(msrTlbiIop)
     exec_output += BasicExecute.subst(msrTlbiIop)

+    dvmCode = '''
+    if (machInst.dvmEnabled) {
+        Request::Flags memAccessFlags =
+            Request::STRICT_ORDER | Request::TLBI;
+
+        fault = xc->initiateSpecialMemCmd(memAccessFlags);
+
+        PendingDvm = true;
+    }
+    '''
     msrTlbiSIop = ArmInstObjParams("msr", "Tlbi64ShareableHub", "TlbiOp64",
-                                  tlbiCode,
+ { "code" : tlbiCode, "dvm_code" : dvmCode },
                                   ["IsSerializeAfter", "IsNonSpeculative"])
-    header_output += MiscRegRegOp64Declare.subst(msrTlbiSIop)
-    decoder_output += MiscRegRegOp64Constructor.subst(msrTlbiSIop)
+    header_output += MiscRegRegMemOp64Declare.subst(msrTlbiSIop)
+    decoder_output += DvmTlbiConstructor.subst(msrTlbiSIop)
     exec_output += BasicExecute.subst(msrTlbiSIop)
+    exec_output += DvmInitiateAcc.subst(msrTlbiSIop)
+    exec_output += DvmCompleteAcc.subst(msrTlbiSIop)

     buildDataXRegInst("msrNZCV", 1, '''
         CPSR cpsr = XOp1;

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/56606
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ie0a374abce41997af600773cc270a47cdf2c1338
Gerrit-Change-Number: 56606
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini <giacomo.travagl...@arm.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to