Review Board 2.0.15


MEM: Add the system port as a central access point

Review Request #942 - Created Dec. 18, 2011 and submitted

Information
Andreas Hansson
gem5
default
Reviewers
Default
MEM: Add the system port as a central access point

The system port is used as a globally reachable access point to the
memory subsystem. The benefit of using an actual port is that the
usual infrastructure is used to resolve any access and thus makes the
overall system able to handle distributed memories in any
configuration, and also makes the accesses agnostic to the address
map. This patch only introduces the port and does not actually use it
for anything.
util/regress all passing (disregarding t1000 and eio)
Review request changed
Updated (Jan. 5, 2012, 10:16 p.m.)
Ship it!
Posted (Jan. 10, 2012, 1:18 a.m.)
great!
Posted (Jan. 10, 2012, 2:37 p.m.)



  
src/sim/system.hh (Diff revision 3)
 
 
Do we need a special function for this, as opposed to other objects just calling getPort("system_port")?
  1. I want to get away from using getPort(const std::string&) in the C++ code all together as the "magic" names like system_port, icache_port, dcache_port etc refer to persistent and very specific ports that the objects would not be complete without. Thus, for the few objects where we get pointers to ports in the C++ code I eventually want to end up with similar functions like getDataPort() and getInstPort() on a CPU. If a port name changes that is then limited to the Python "assembly" scripts and the mapping of those names to port pointers when connecting them up.
Ship it!
Posted (Jan. 11, 2012, 1:39 a.m.)
Good answer...