summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2013-09-04 13:22:55 -0400
committerAndreas Hansson <andreas.hansson@arm.com>2013-09-04 13:22:55 -0400
commitcead68a78189f764a98be88206592884cdde75ec (patch)
tree72c3216139882b15283da7a64b52b2262e1e57d7
parentfdf6f6c4b61cadd79d910ccb225ebf9fba6191c2 (diff)
downloadgem5-cead68a78189f764a98be88206592884cdde75ec.tar.xz
alpha: Move system virtProxy to Alpha only
This patch moves the system virtual port proxy to the Alpha system only to make the resurrection of the NOISA slightly less painful. Alpha is the only ISA that is actually using it.
-rw-r--r--src/arch/alpha/system.cc2
-rw-r--r--src/arch/alpha/system.hh6
-rw-r--r--src/sim/system.cc1
-rw-r--r--src/sim/system.hh3
4 files changed, 8 insertions, 4 deletions
diff --git a/src/arch/alpha/system.cc b/src/arch/alpha/system.cc
index f8e65015a..3ebc02b64 100644
--- a/src/arch/alpha/system.cc
+++ b/src/arch/alpha/system.cc
@@ -45,7 +45,7 @@
using namespace AlphaISA;
AlphaSystem::AlphaSystem(Params *p)
- : System(p), intrFreq(0)
+ : System(p), intrFreq(0), virtProxy(getSystemPort(), p->cache_line_size)
{
consoleSymtab = new SymbolTable;
palSymtab = new SymbolTable;
diff --git a/src/arch/alpha/system.hh b/src/arch/alpha/system.hh
index bbf281c39..11a5e90a4 100644
--- a/src/arch/alpha/system.hh
+++ b/src/arch/alpha/system.hh
@@ -38,6 +38,7 @@
#include "base/loader/symtab.hh"
#include "cpu/pc_event.hh"
#include "kern/system_events.hh"
+#include "mem/fs_translating_port_proxy.hh"
#include "params/AlphaSystem.hh"
#include "sim/sim_object.hh"
#include "sim/system.hh"
@@ -91,6 +92,11 @@ class AlphaSystem : public System
protected:
Tick intrFreq;
+ /**
+ * Proxy used to copy arguments directly into kernel memory.
+ */
+ FSTranslatingPortProxy virtProxy;
+
const Params *params() const { return (const Params *)_params; }
diff --git a/src/sim/system.cc b/src/sim/system.cc
index f9799d26f..24f9dfbad 100644
--- a/src/sim/system.cc
+++ b/src/sim/system.cc
@@ -79,7 +79,6 @@ System::System(Params *p)
pagePtr(0),
init_param(p->init_param),
physProxy(_systemPort, p->cache_line_size),
- virtProxy(_systemPort, p->cache_line_size),
loadAddrMask(p->load_addr_mask),
nextPID(0),
physmem(name() + ".physmem", p->memories),
diff --git a/src/sim/system.hh b/src/sim/system.hh
index 6e44d0ab5..5058e7b26 100644
--- a/src/sim/system.hh
+++ b/src/sim/system.hh
@@ -57,9 +57,9 @@
#include "cpu/pc_event.hh"
#include "enums/MemoryMode.hh"
#include "kern/system_events.hh"
-#include "mem/fs_translating_port_proxy.hh"
#include "mem/mem_object.hh"
#include "mem/port.hh"
+#include "mem/port_proxy.hh"
#include "mem/physical.hh"
#include "params/System.hh"
@@ -211,7 +211,6 @@ class System : public MemObject
/** Port to physical memory used for writing object files into ram at
* boot.*/
PortProxy physProxy;
- FSTranslatingPortProxy virtProxy;
/** kernel symbol table */
SymbolTable *kernelSymtab;