system.hh (8832:247fee427324) system.hh (8852:c744483edfcf)
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 42 unchanged lines hidden (view full) ---

51#include <vector>
52
53#include "base/loader/symtab.hh"
54#include "base/misc.hh"
55#include "base/statistics.hh"
56#include "cpu/pc_event.hh"
57#include "enums/MemoryMode.hh"
58#include "kern/system_events.hh"
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 42 unchanged lines hidden (view full) ---

51#include <vector>
52
53#include "base/loader/symtab.hh"
54#include "base/misc.hh"
55#include "base/statistics.hh"
56#include "cpu/pc_event.hh"
57#include "enums/MemoryMode.hh"
58#include "kern/system_events.hh"
59#include "mem/fs_translating_port_proxy.hh"
59#include "mem/mem_object.hh"
60#include "mem/port.hh"
61#include "params/System.hh"
62
63class BaseCPU;
64class BaseRemoteGDB;
60#include "mem/mem_object.hh"
61#include "mem/port.hh"
62#include "params/System.hh"
63
64class BaseCPU;
65class BaseRemoteGDB;
65class FSTranslatingPortProxy;
66class GDBListener;
67class ObjectFile;
68class PhysicalMemory;
69class Platform;
66class GDBListener;
67class ObjectFile;
68class PhysicalMemory;
69class Platform;
70class PortProxy;
71class ThreadContext;
70class ThreadContext;
72class VirtualPort;
73
74class System : public MemObject
75{
76 private:
77
78 /**
79 * Private class for the system port which is only used as a
80 * master for debug access and for non-structural entities that do

--- 31 unchanged lines hidden (view full) ---

112
113 /**
114 * After all objects have been created and all ports are
115 * connected, check that the system port is connected.
116 */
117 virtual void init();
118
119 /**
71
72class System : public MemObject
73{
74 private:
75
76 /**
77 * Private class for the system port which is only used as a
78 * master for debug access and for non-structural entities that do

--- 31 unchanged lines hidden (view full) ---

110
111 /**
112 * After all objects have been created and all ports are
113 * connected, check that the system port is connected.
114 */
115 virtual void init();
116
117 /**
120 * Get a pointer to the system port that can be used by
118 * Get a reference to the system port that can be used by
121 * non-structural simulation objects like processes or threads, or
122 * external entities like loaders and debuggers, etc, to access
123 * the memory system.
124 *
119 * non-structural simulation objects like processes or threads, or
120 * external entities like loaders and debuggers, etc, to access
121 * the memory system.
122 *
125 * @return a pointer to the system port we own
123 * @return a reference to the system port we own
126 */
124 */
127 Port* getSystemPort() { return &_systemPort; }
125 Port& getSystemPort() { return _systemPort; }
128
129 /**
130 * Additional function to return the Port of a memory object.
131 */
132 Port *getPort(const std::string &if_name, int idx = -1);
133
134 static const char *MemoryModeStrings[3];
135

--- 40 unchanged lines hidden (view full) ---

176 bool isMemory(const Addr addr) const;
177
178 Addr pagePtr;
179
180 uint64_t init_param;
181
182 /** Port to physical memory used for writing object files into ram at
183 * boot.*/
126
127 /**
128 * Additional function to return the Port of a memory object.
129 */
130 Port *getPort(const std::string &if_name, int idx = -1);
131
132 static const char *MemoryModeStrings[3];
133

--- 40 unchanged lines hidden (view full) ---

174 bool isMemory(const Addr addr) const;
175
176 Addr pagePtr;
177
178 uint64_t init_param;
179
180 /** Port to physical memory used for writing object files into ram at
181 * boot.*/
184 PortProxy* physProxy;
185 FSTranslatingPortProxy* virtProxy;
182 PortProxy physProxy;
183 FSTranslatingPortProxy virtProxy;
186
187 /** kernel symbol table */
188 SymbolTable *kernelSymtab;
189
190 /** Object pointer for the kernel code */
191 ObjectFile *kernel;
192
193 /** Begining of kernel code */

--- 219 unchanged lines hidden ---
184
185 /** kernel symbol table */
186 SymbolTable *kernelSymtab;
187
188 /** Object pointer for the kernel code */
189 ObjectFile *kernel;
190
191 /** Begining of kernel code */

--- 219 unchanged lines hidden ---