From 41a61589545c284d109019c3cb528762b8345aa0 Mon Sep 17 00:00:00 2001 From: Christian Menard Date: Thu, 9 Feb 2017 19:14:58 -0500 Subject: 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 --- src/mem/external_master.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/mem/external_master.cc') 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 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 & -- cgit v1.2.3