[gem5-dev] Change in gem5/gem5[develop]: arch-riscv: make uret,sret,mret SerializeAfter,NonSpeculative.

2020-04-29 Thread Nils Asmussen (Gerrit) via gem5-dev
Nils Asmussen has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/25656 )


Change subject: arch-riscv: make uret,sret,mret  
SerializeAfter,NonSpeculative.

..

arch-riscv: make uret,sret,mret SerializeAfter,NonSpeculative.

These instructions potentially change the privilege level, upon which
the execution of other instructions depends. For that reason, we need to
make *ret SerializeAfter and we also don't want to execute them
speculatively.

Change-Id: If3b5ba6ec3b4102d53c51cf723eba5d5da3eaa2f
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25656
Tested-by: kokoro 
Tested-by: Gem5 Cloud Project GCB service account  
<345032938...@cloudbuild.gserviceaccount.com>

Reviewed-by: Jason Lowe-Power 
Maintainer: Jason Lowe-Power 
---
M src/arch/riscv/isa/decoder.isa
1 file changed, 3 insertions(+), 3 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass
  Gem5 Cloud Project GCB service account: Regressions pass



diff --git a/src/arch/riscv/isa/decoder.isa b/src/arch/riscv/isa/decoder.isa
index 9e65ecf..35d08ec 100644
--- a/src/arch/riscv/isa/decoder.isa
+++ b/src/arch/riscv/isa/decoder.isa
@@ -1775,7 +1775,7 @@
 status.upie = 1;
 xc->setMiscReg(MISCREG_STATUS, status);
 NPC = xc->readMiscReg(MISCREG_UEPC);
-}}, IsReturn);
+}}, IsSerializeAfter, IsNonSpeculative, IsReturn);
 }
 0x8: decode RS2 {
 0x2: sret({{
@@ -1796,7 +1796,7 @@
 xc->setMiscReg(MISCREG_STATUS, status);
 NPC = xc->readMiscReg(MISCREG_SEPC);
 }
-}}, IsReturn);
+}}, IsSerializeAfter, IsNonSpeculative, IsReturn);
 0x5: wfi({{
 STATUS status =  
xc->readMiscReg(MISCREG_STATUS);

 auto pm = (PrivilegeMode)xc->readMiscReg(
@@ -1835,7 +1835,7 @@
 xc->setMiscReg(MISCREG_STATUS, status);
 NPC = xc->readMiscReg(MISCREG_MEPC);
 }
-}}, IsReturn);
+}}, IsSerializeAfter, IsNonSpeculative, IsReturn);
 }
 }
 format CSROp {

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/25656
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: If3b5ba6ec3b4102d53c51cf723eba5d5da3eaa2f
Gerrit-Change-Number: 25656
Gerrit-PatchSet: 11
Gerrit-Owner: Nils Asmussen 
Gerrit-Reviewer: Alec Roelke 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Gem5 Cloud Project GCB service account  
<345032938...@cloudbuild.gserviceaccount.com>

Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Nils Asmussen 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
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


[gem5-dev] Change in gem5/gem5[develop]: arch-riscv: make uret, sret, mret SerializeAfter, NonSpeculative.

2020-02-24 Thread Nils Asmussen (Gerrit)
Nils Asmussen has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/25656 )



Change subject: arch-riscv: make uret,sret,mret  
SerializeAfter,NonSpeculative.

..

arch-riscv: make uret,sret,mret SerializeAfter,NonSpeculative.

These instructions potentially change the privilege level, upon which
the execution of other instructions depends. For that reason, we need to
make *ret SerializeAfter and we also don't want to execute them
speculatively.

Change-Id: If3b5ba6ec3b4102d53c51cf723eba5d5da3eaa2f
---
M src/arch/riscv/isa/decoder.isa
1 file changed, 3 insertions(+), 3 deletions(-)



diff --git a/src/arch/riscv/isa/decoder.isa b/src/arch/riscv/isa/decoder.isa
index 5de3eee..4f0a90a 100644
--- a/src/arch/riscv/isa/decoder.isa
+++ b/src/arch/riscv/isa/decoder.isa
@@ -1775,7 +1775,7 @@
 status.upie = 1;
 xc->setMiscReg(MISCREG_STATUS, status);
 NPC = xc->readMiscReg(MISCREG_UEPC);
-}}, IsReturn);
+}}, IsSerializeAfter, IsNonSpeculative, IsReturn);
 }
 0x8: decode RS2 {
 0x2: sret({{
@@ -1796,7 +1796,7 @@
 xc->setMiscReg(MISCREG_STATUS, status);
 NPC = xc->readMiscReg(MISCREG_SEPC);
 }
-}}, IsReturn);
+}}, IsSerializeAfter, IsNonSpeculative, IsReturn);
 0x5: wfi({{
 STATUS status =  
xc->readMiscReg(MISCREG_STATUS);

 auto pm = (PrivilegeMode)xc->readMiscReg(
@@ -1835,7 +1835,7 @@
 xc->setMiscReg(MISCREG_STATUS, status);
 NPC = xc->readMiscReg(MISCREG_MEPC);
 }
-}}, IsReturn);
+}}, IsSerializeAfter, IsNonSpeculative, IsReturn);
 }
 }
 format CSROp {

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/25656
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: If3b5ba6ec3b4102d53c51cf723eba5d5da3eaa2f
Gerrit-Change-Number: 25656
Gerrit-PatchSet: 1
Gerrit-Owner: Nils Asmussen 
Gerrit-MessageType: newchange
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev