Jason Lowe-Power has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/34417 )

Change subject: mem-ruby: Update port names in Ruby
......................................................................

mem-ruby: Update port names in Ruby

After the terminology update commit there were still many confusing
names in the Ruby ports. This changeset is a proposal for updating these
names.

For an example use case, see the following resources changeset.
https://gem5-review.googlesource.com/c/public/gem5-resources/+/34416

Change-Id: I01d4f24a70b300e39438ee147dfab7a8d674d5c7
Signed-off-by: Jason Lowe-Power <ja...@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34417
Reviewed-by: Ayaz Akram <yazak...@ucdavis.edu>
Reviewed-by: Bobby R. Bruce <bbr...@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbr...@ucdavis.edu>
Tested-by: kokoro <noreply+kok...@google.com>
---
M src/mem/ruby/slicc_interface/Controller.py
M src/mem/ruby/system/RubyPort.cc
M src/mem/ruby/system/Sequencer.py
3 files changed, 23 insertions(+), 12 deletions(-)

Approvals:
  Ayaz Akram: Looks good to me, but someone else must approve
  Bobby R. Bruce: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/mem/ruby/slicc_interface/Controller.py b/src/mem/ruby/slicc_interface/Controller.py
index 2c6c655..1f9c0db 100644
--- a/src/mem/ruby/slicc_interface/Controller.py
+++ b/src/mem/ruby/slicc_interface/Controller.py
@@ -66,5 +66,8 @@
         Param.Cycles(1, "Default latency for requests added to the " \
                         "mandatory queue on top-level controllers")

-    memory = RequestPort("Port for attaching a memory controller")
+    memory_out_port = RequestPort("Port for attaching a memory controller")
+    memory = DeprecatedParam(memory_out_port, "The request port for Ruby "
+        "memory output to the main memory is now called `memory_out_port`")
+
     system = Param.System(Parent.any, "system object parameter")
diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc
index 4fc41c9..fc011cc 100644
--- a/src/mem/ruby/system/RubyPort.cc
+++ b/src/mem/ruby/system/RubyPort.cc
@@ -61,13 +61,13 @@
       memResponsePort(csprintf("%s-mem-response-port", name()), this,
                    p->ruby_system->getAccessBackingStore(), -1,
                    p->no_retry_on_stall),
-      gotAddrRanges(p->port_request_ports_connection_count),
+      gotAddrRanges(p->port_interrupt_out_port_connection_count),
       m_isCPUSequencer(p->is_cpu_sequencer)
 {
     assert(m_version != -1);

     // create the response ports based on the number of connected ports
-    for (size_t i = 0; i < p->port_response_ports_connection_count; ++i) {
+    for (size_t i = 0; i < p->port_in_ports_connection_count; ++i) {
         response_ports.push_back(new MemResponsePort(csprintf
             ("%s.response_ports%d", name(), i), this,
             p->ruby_system->getAccessBackingStore(),
@@ -75,7 +75,7 @@
     }

     // create the request ports based on the number of connected ports
-    for (size_t i = 0; i < p->port_request_ports_connection_count; ++i) {
+ for (size_t i = 0; i < p->port_interrupt_out_port_connection_count; ++i) {
         request_ports.push_back(new PioRequestPort(csprintf(
                     "%s.request_ports%d", name(), i), this));
     }
@@ -99,7 +99,7 @@
         return memResponsePort;
     } else if (if_name == "pio_response_port") {
         return pioResponsePort;
-    } else if (if_name == "request_ports") {
+    } else if (if_name == "interrupt_out_port") {
         // used by the x86 CPUs to connect the interrupt PIO and interrupt
         // response port
         if (idx >= static_cast<PortID>(request_ports.size())) {
@@ -107,7 +107,7 @@
         }

         return *request_ports[idx];
-    } else if (if_name == "response_ports") {
+    } else if (if_name == "in_ports") {
         // used by the CPUs to connect the caches to the interconnect, and
         // for the x86 case also the interrupt request port
         if (idx >= static_cast<PortID>(response_ports.size())) {
diff --git a/src/mem/ruby/system/Sequencer.py b/src/mem/ruby/system/Sequencer.py
index 6869fc2..0a28d36 100644
--- a/src/mem/ruby/system/Sequencer.py
+++ b/src/mem/ruby/system/Sequencer.py
@@ -35,18 +35,26 @@
    cxx_header = "mem/ruby/system/RubyPort.hh"
    version = Param.Int(0, "")

-   response_ports = VectorResponsePort("CPU response port")
-   slave     = DeprecatedParam(response_ports,
-                        '`slave` is now called `response_ports`')
-   request_ports = VectorRequestPort("CPU request port")
-   master    = DeprecatedParam(request_ports,
-                        '`master` is now called `request_ports`')
+   in_ports = VectorResponsePort("CPU side of this RubyPort/Sequencer. "
+ "The CPU request ports should be connected to this. If a CPU " + "has multiple ports (e.g., I/D ports) all of the ports for a "
+               "single CPU can connect to one RubyPort.")
+   slave    = DeprecatedParam(in_ports,
+                        '`slave` is now called `in_port`')
+
+ interrupt_out_port = VectorRequestPort("Port to connect to x86 interrupt " + "controller to send the CPU requests from outside.")
+   master             = DeprecatedParam(interrupt_out_port,
+                        '`master` is now called `interrupt_out_port`')
+
    pio_request_port = RequestPort("Ruby pio request port")
    pio_master_port  = DeprecatedParam(pio_request_port,
'`pio_master_port` is now called `pio_request_port`')
+
    mem_request_port = RequestPort("Ruby mem request port")
    mem_master_port  = DeprecatedParam(mem_request_port,
'`mem_master_port` is now called `mem_request_port`')
+
    pio_response_port = ResponsePort("Ruby pio response port")
    pio_slave_port    = DeprecatedParam(pio_response_port,
'`pio_slave_port` is now called `pio_response_port`')

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

Gerrit-Project: public/gem5
Gerrit-Branch: release-staging-v20.1.0.0
Gerrit-Change-Id: I01d4f24a70b300e39438ee147dfab7a8d674d5c7
Gerrit-Change-Number: 34417
Gerrit-PatchSet: 2
Gerrit-Owner: Jason Lowe-Power <power...@gmail.com>
Gerrit-Reviewer: Ayaz Akram <yazak...@ucdavis.edu>
Gerrit-Reviewer: Bobby R. Bruce <bbr...@ucdavis.edu>
Gerrit-Reviewer: Bradford Beckmann <bradford.beckm...@gmail.com>
Gerrit-Reviewer: Jason Lowe-Power <power...@gmail.com>
Gerrit-Reviewer: Matthew Poremba <matthew.pore...@amd.com>
Gerrit-Reviewer: Tiago Mück <tiago.m...@arm.com>
Gerrit-Reviewer: Timothy Hayes <timothy.ha...@arm.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
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

Reply via email to