Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/52109 )

Change subject: mem-ruby: Don't conditionalize setting RubySequencer's pio_response_port
......................................................................

mem-ruby: Don't conditionalize setting RubySequencer's pio_response_port

This was conditioned on the TARGET_ISA being x86 because the code it
replaced was, and that was because the x86 interrupts object had an
extra port that didn't appear for other ISAs. This inconsistency is not
present on either side of this connection, and so we don't need it to be
conditional.

We do, however, need to ensure that the port sends a range change even
if it doesn't have any ranges to send, to satisfy the bookkeeping of the
bus on the other side of the connection. We do that in init, like leaf
devices do.

Change-Id: Idec6f6c5e2cf78b113fb238d0edd2c63d6cd2c23
---
M src/mem/ruby/system/RubyPort.cc
M src/mem/ruby/system/Sequencer.py
2 files changed, 24 insertions(+), 2 deletions(-)



diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc
index ff02fde..37c34c5 100644
--- a/src/mem/ruby/system/RubyPort.cc
+++ b/src/mem/ruby/system/RubyPort.cc
@@ -95,6 +95,9 @@
     m_mandatory_q_ptr = m_controller->getMandatoryQueue();
     for (const auto &response_port : response_ports)
         response_port->sendRangeChange();
+    if (gotAddrRanges == 0 && FullSystem) {
+        pioResponsePort.sendRangeChange();
+    }
 }

 Port &
diff --git a/src/mem/ruby/system/Sequencer.py b/src/mem/ruby/system/Sequencer.py
index 50e8718..53e4f9c 100644
--- a/src/mem/ruby/system/Sequencer.py
+++ b/src/mem/ruby/system/Sequencer.py
@@ -125,8 +125,7 @@
         import m5.defines
         self.pio_request_port = piobus.cpu_side_ports
         self.mem_request_port = piobus.cpu_side_ports
-        if m5.defines.buildEnv['TARGET_ISA'] == "x86":
-            self.pio_response_port = piobus.mem_side_ports
+        self.pio_response_port = piobus.mem_side_ports

 class RubyHTMSequencer(RubySequencer):
     type = 'RubyHTMSequencer'

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/52109
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: Idec6f6c5e2cf78b113fb238d0edd2c63d6cd2c23
Gerrit-Change-Number: 52109
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to