Nikos Nikoleris has uploaded this change for review. (
https://gem5-review.googlesource.com/5057
Change subject: mem-ruby: Prevent ruby from crashing on CMOs
......................................................................
mem-ruby: Prevent ruby from crashing on CMOs
Ruby has no support for cache maintenace operations. As a workaround,
after printing a warning, we treat them as no-ops in the memory system
and respond immediately without handling them. There should be
workarounds in the memory system already that allow execution to
proceed without the requirement for cache maintenance operations.
Change-Id: I125ee4fa37b674c636d87f2d9205bbc1a74da101
---
M src/mem/ruby/system/RubyPort.cc
1 file changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/mem/ruby/system/RubyPort.cc
b/src/mem/ruby/system/RubyPort.cc
index 5b94f80..6a71787 100644
--- a/src/mem/ruby/system/RubyPort.cc
+++ b/src/mem/ruby/system/RubyPort.cc
@@ -237,6 +237,14 @@
panic("RubyPort should never see request with the "
"cacheResponding flag set\n");
+ // ruby doesn't support cache maintenance operations at the
+ // moment, as a workaround, we respond right away
+ if (pkt->req->isCacheMaintenance()) {
+ warn_once("Cache maintenance operations are not supported in
Ruby.\n");
+ pkt->makeResponse();
+ sendTimingResp(pkt);
+ return true;
+ }
// Check for pio requests and directly send them to the dedicated
// pio port.
if (pkt->cmd != MemCmd::MemFenceReq) {
--
To view, visit https://gem5-review.googlesource.com/5057
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I125ee4fa37b674c636d87f2d9205bbc1a74da101
Gerrit-Change-Number: 5057
Gerrit-PatchSet: 1
Gerrit-Owner: Nikos Nikoleris <[email protected]>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev