Giacomo Travaglini has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/56607 )
Change subject: arch-arm: Implement DSB Shareable as a DVM op
......................................................................
arch-arm: Implement DSB Shareable as a DVM op
JIRA: https://gem5.atlassian.net/browse/GEM5-1097
Change-Id: I52c965817dd9d70feca31d1ec2981ad3a090e6a3
Signed-off-by: Giacomo Travaglini <giacomo.travagl...@arm.com>
---
M src/arch/arm/isa/insts/misc64.isa
1 file changed, 33 insertions(+), 4 deletions(-)
diff --git a/src/arch/arm/isa/insts/misc64.isa
b/src/arch/arm/isa/insts/misc64.isa
index 9151b88..3c1ff3b 100644
--- a/src/arch/arm/isa/insts/misc64.isa
+++ b/src/arch/arm/isa/insts/misc64.isa
@@ -179,12 +179,29 @@
decoder_output += BasicConstructor64.subst(dsbLocalIop)
exec_output += BasicExecute.subst(dsbLocalIop)
- dsbShareableIop =
ArmInstObjParams("dsb", "Dsb64Shareable", "ArmStaticInst", "",
+ dvmCode = '''
+ if (machInst.dvmEnabled) {
+ Request::Flags memAccessFlags =
+ Request::STRICT_ORDER|Request::TLBI_SYNC;
+
+ if (!PendingDvm) {
+ memAccessFlags = memAccessFlags | Request::NO_ACCESS;
+ }
+
+ fault = xc->initiateSpecialMemCmd(memAccessFlags);
+
+ PendingDvm = false;
+ }
+ '''
+ dsbShareableIop =
ArmInstObjParams("dsb", "Dsb64Shareable", "ArmStaticInst",
+ { "code" : "", "dvm_code" : dvmCode
},
['IsReadBarrier', 'IsWriteBarrier',
- 'IsSerializeAfter'])
- header_output += BasicDeclare.subst(dsbShareableIop)
- decoder_output += BasicConstructor64.subst(dsbShareableIop)
+ 'IsSerializeAfter'])
+ header_output += DvmDeclare.subst(dsbShareableIop)
+ decoder_output += DvmConstructor.subst(dsbShareableIop)
exec_output += BasicExecute.subst(dsbShareableIop)
+ exec_output += DvmInitiateAcc.subst(dsbShareableIop)
+ exec_output += DvmCompleteAcc.subst(dsbShareableIop)
dmbIop = ArmInstObjParams("dmb", "Dmb64", "ArmStaticInst", "",
['IsReadBarrier', 'IsWriteBarrier'])
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/56607
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: I52c965817dd9d70feca31d1ec2981ad3a090e6a3
Gerrit-Change-Number: 56607
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