summaryrefslogtreecommitdiff
path: root/src/mem/external_master.cc
diff options
context:
space:
mode:
authorChristian Menard <Christian.Menard@tu-dresden.de>2017-02-09 19:14:58 -0500
committerChristian Menard <Christian.Menard@tu-dresden.de>2017-02-09 19:14:58 -0500
commit41a61589545c284d109019c3cb528762b8345aa0 (patch)
tree0f1cc5c5b4d471fbe32406dd4c7d1d9d3ba64d3b /src/mem/external_master.cc
parent164d9bd73282907ded465b8b45503dc41c007ee8 (diff)
downloadgem5-41a61589545c284d109019c3cb528762b8345aa0.tar.xz
misc: add a MasterId to the ExternalPort
The Request constructor requires a MasterID. However, an external transactor has no chance of getting a MasterID as it does not have a pointer to the System. This patch adds a MasterID to ExternalMaster to allow external modules to easily genrerate new Requests. Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/mem/external_master.cc')
-rw-r--r--src/mem/external_master.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mem/external_master.cc b/src/mem/external_master.cc
index 143019950..e0e8c1e87 100644
--- a/src/mem/external_master.cc
+++ b/src/mem/external_master.cc
@@ -36,6 +36,7 @@
*
* Authors: Andrew Bardsley
* Curtis Dunham
+ * Christian Menard
*/
#include "mem/external_master.hh"
@@ -45,6 +46,7 @@
#include "base/trace.hh"
#include "debug/ExternalPort.hh"
+#include "sim/system.hh"
std::map<std::string, ExternalMaster::Handler *>
ExternalMaster::portHandlers;
@@ -54,7 +56,8 @@ ExternalMaster::ExternalMaster(ExternalMasterParams *params) :
externalPort(NULL),
portName(params->name + ".port"),
portType(params->port_type),
- portData(params->port_data)
+ portData(params->port_data),
+ masterId(params->system->getMasterId(params->name))
{}
BaseMasterPort &