diff options
Diffstat (limited to 'src/sim')
48 files changed, 143 insertions, 113 deletions
diff --git a/src/sim/SConscript b/src/sim/SConscript index 61e4df966..7fec029f1 100644 --- a/src/sim/SConscript +++ b/src/sim/SConscript @@ -82,6 +82,9 @@ if env['TARGET_ISA'] != 'null': Source('syscall_emul.cc') Source('syscall_desc.cc') +if env['TARGET_ISA'] != 'x86': + Source('microcode_rom.cc') + DebugFlag('Checkpoint') DebugFlag('Config') DebugFlag('CxxConfig') diff --git a/src/sim/arguments.cc b/src/sim/arguments.cc index 5d6ded9ee..4d00d2cf6 100644 --- a/src/sim/arguments.cc +++ b/src/sim/arguments.cc @@ -32,7 +32,6 @@ #include "arch/utility.hh" #include "config/the_isa.hh" -#include "cpu/thread_context.hh" Arguments::Data::~Data() { diff --git a/src/sim/arguments.hh b/src/sim/arguments.hh index 165880095..498527ca2 100644 --- a/src/sim/arguments.hh +++ b/src/sim/arguments.hh @@ -34,7 +34,6 @@ #include <cassert> #include <memory> -#include "base/types.hh" #include "mem/fs_translating_port_proxy.hh" class ThreadContext; diff --git a/src/sim/byteswap.hh b/src/sim/byteswap.hh index 7e5d6809e..23786bb71 100644 --- a/src/sim/byteswap.hh +++ b/src/sim/byteswap.hh @@ -38,7 +38,6 @@ #define __SIM_BYTE_SWAP_HH__ #include "base/bigint.hh" -#include "base/misc.hh" #include "base/types.hh" // This lets us figure out what the byte order of the host system is diff --git a/src/sim/clock_domain.cc b/src/sim/clock_domain.cc index 5b05ced9b..46dbcbaac 100644 --- a/src/sim/clock_domain.cc +++ b/src/sim/clock_domain.cc @@ -47,6 +47,7 @@ #include <algorithm> #include <functional> +#include "base/trace.hh" #include "debug/ClockDomain.hh" #include "params/ClockDomain.hh" #include "params/DerivedClockDomain.hh" diff --git a/src/sim/clocked_object.hh b/src/sim/clocked_object.hh index d85d226c9..b89e1ce13 100644 --- a/src/sim/clocked_object.hh +++ b/src/sim/clocked_object.hh @@ -51,7 +51,6 @@ #include "base/callback.hh" #include "base/intmath.hh" -#include "base/misc.hh" #include "enums/PwrState.hh" #include "params/ClockedObject.hh" #include "sim/core.hh" diff --git a/src/sim/cxx_config.hh b/src/sim/cxx_config.hh index da2752b4b..8860e0297 100644 --- a/src/sim/cxx_config.hh +++ b/src/sim/cxx_config.hh @@ -57,8 +57,6 @@ #include <string> #include <vector> -#include "mem/port.hh" -#include "params/SimObject.hh" #include "sim/sim_object.hh" class CxxConfigParams; diff --git a/src/sim/cxx_config_ini.cc b/src/sim/cxx_config_ini.cc index 3df6d72d4..41ad8e6f5 100644 --- a/src/sim/cxx_config_ini.cc +++ b/src/sim/cxx_config_ini.cc @@ -39,6 +39,8 @@ #include "sim/cxx_config_ini.hh" +#include "base/str.hh" + bool CxxIniFile::getParam(const std::string &object_name, const std::string ¶m_name, diff --git a/src/sim/cxx_config_ini.hh b/src/sim/cxx_config_ini.hh index 9ea61976e..84900a62e 100644 --- a/src/sim/cxx_config_ini.hh +++ b/src/sim/cxx_config_ini.hh @@ -47,7 +47,6 @@ #define __SIM_CXX_CONFIG_INI_HH__ #include "base/inifile.hh" -#include "base/str.hh" #include "sim/cxx_config.hh" /** CxxConfigManager interface for using .ini files */ diff --git a/src/sim/cxx_manager.cc b/src/sim/cxx_manager.cc index a679c6105..bb6c6a807 100644 --- a/src/sim/cxx_manager.cc +++ b/src/sim/cxx_manager.cc @@ -43,6 +43,7 @@ #include <sstream> #include "base/str.hh" +#include "base/trace.hh" #include "debug/CxxConfig.hh" #include "mem/mem_object.hh" #include "sim/serialize.hh" diff --git a/src/sim/drain.hh b/src/sim/drain.hh index 370217bd6..b3145e7ed 100644 --- a/src/sim/drain.hh +++ b/src/sim/drain.hh @@ -44,8 +44,6 @@ #include <mutex> #include <unordered_set> -#include "base/flags.hh" - class Drainable; #ifndef SWIG // SWIG doesn't support strongly typed enums diff --git a/src/sim/dvfs_handler.cc b/src/sim/dvfs_handler.cc index 254720c5f..5ccd50bcd 100644 --- a/src/sim/dvfs_handler.cc +++ b/src/sim/dvfs_handler.cc @@ -45,9 +45,11 @@ #include <utility> #include "base/misc.hh" +#include "base/trace.hh" #include "debug/DVFS.hh" #include "params/DVFSHandler.hh" #include "sim/clock_domain.hh" +#include "sim/eventq_impl.hh" #include "sim/stat_control.hh" #include "sim/voltage_domain.hh" @@ -170,6 +172,30 @@ DVFSHandler::UpdateEvent::updatePerfLevel() d->perfLevel(perfLevelToSet); } +double +DVFSHandler::voltageAtPerfLevel(DomainID domain_id, PerfLevel perf_level) const +{ + VoltageDomain *d = findDomain(domain_id)->voltageDomain(); + assert(d); + PerfLevel n = d->numVoltages(); + if (perf_level < n) + return d->voltage(perf_level); + + // Request outside of the range of the voltage domain + if (n == 1) { + DPRINTF(DVFS, "DVFS: Request for perf-level %i for single-point "\ + "voltage domain %s. Returning voltage at level 0: %.2f "\ + "V\n", perf_level, d->name(), d->voltage(0)); + // Special case for single point voltage domain -> same voltage for + // all points + return d->voltage(0); + } + + warn("DVFSHandler %s reads illegal voltage level %u from "\ + "VoltageDomain %s. Returning 0 V\n", name(), perf_level, d->name()); + return 0.; +} + void DVFSHandler::serialize(CheckpointOut &cp) const { diff --git a/src/sim/dvfs_handler.hh b/src/sim/dvfs_handler.hh index f587f7c25..23ac4bf50 100644 --- a/src/sim/dvfs_handler.hh +++ b/src/sim/dvfs_handler.hh @@ -53,13 +53,10 @@ #include <vector> #include "debug/DVFS.hh" -#include "params/ClockDomain.hh" #include "params/DVFSHandler.hh" -#include "params/VoltageDomain.hh" #include "sim/clock_domain.hh" #include "sim/eventq.hh" #include "sim/sim_object.hh" -#include "sim/voltage_domain.hh" /** * DVFS Handler class, maintains a list of all the domains it can handle. @@ -156,28 +153,7 @@ class DVFSHandler : public SimObject * @return Voltage for the requested performance level of the respective * domain */ - double voltageAtPerfLevel(DomainID domain_id, PerfLevel perf_level) const - { - VoltageDomain *d = findDomain(domain_id)->voltageDomain(); - assert(d); - PerfLevel n = d->numVoltages(); - if (perf_level < n) - return d->voltage(perf_level); - - // Request outside of the range of the voltage domain - if (n == 1) { - DPRINTF(DVFS, "DVFS: Request for perf-level %i for single-point "\ - "voltage domain %s. Returning voltage at level 0: %.2f "\ - "V\n", perf_level, d->name(), d->voltage(0)); - // Special case for single point voltage domain -> same voltage for - // all points - return d->voltage(0); - } - - warn("DVFSHandler %s reads illegal voltage level %u from "\ - "VoltageDomain %s. Returning 0 V\n", name(), perf_level, d->name()); - return 0.; - } + double voltageAtPerfLevel(DomainID domain_id, PerfLevel perf_level) const; /** * Get the total number of available performance levels. diff --git a/src/sim/eventq.hh b/src/sim/eventq.hh index eeb392153..0b76491ca 100644 --- a/src/sim/eventq.hh +++ b/src/sim/eventq.hh @@ -47,7 +47,6 @@ #include <string> #include "base/flags.hh" -#include "base/misc.hh" #include "base/types.hh" #include "debug/Event.hh" #include "sim/serialize.hh" diff --git a/src/sim/fd_entry.hh b/src/sim/fd_entry.hh index 0cbb769b5..fd68ba50b 100644 --- a/src/sim/fd_entry.hh +++ b/src/sim/fd_entry.hh @@ -35,7 +35,9 @@ #include <ostream> #include <string> -#include "sim/emul_driver.hh" +#include "sim/serialize.hh" + +class EmulatedDriver; /** * FDEntry is used to manage a single file descriptor mapping and metadata diff --git a/src/sim/init_signals.cc b/src/sim/init_signals.cc index 81dba189b..5acfe45fd 100644 --- a/src/sim/init_signals.cc +++ b/src/sim/init_signals.cc @@ -52,6 +52,7 @@ #include "base/atomicio.hh" #include "base/cprintf.hh" +#include "base/misc.hh" #include "sim/async.hh" #include "sim/backtrace.hh" #include "sim/core.hh" diff --git a/src/sim/insttracer.hh b/src/sim/insttracer.hh index 7b15d1f91..caeee520d 100644 --- a/src/sim/insttracer.hh +++ b/src/sim/insttracer.hh @@ -45,9 +45,8 @@ #define __INSTRECORD_HH__ #include "base/bigint.hh" -#include "base/trace.hh" #include "base/types.hh" -#include "cpu/inst_seq.hh" // for InstSeqNum +#include "cpu/inst_seq.hh" #include "cpu/static_inst.hh" #include "sim/sim_object.hh" diff --git a/src/sim/microcode_rom.cc b/src/sim/microcode_rom.cc new file mode 100644 index 000000000..d050919e7 --- /dev/null +++ b/src/sim/microcode_rom.cc @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2008 The Regents of The University of Michigan + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Authors: Gabe Black + */ + +#include "sim/microcode_rom.hh" + +#include "base/misc.hh" +#include "cpu/static_inst_fwd.hh" + +StaticInstPtr +MicrocodeRom::fetchMicroop(MicroPC micropc, StaticInstPtr curMacroop) +{ + panic("ROM based microcode isn't implemented.\n"); +} diff --git a/src/sim/microcode_rom.hh b/src/sim/microcode_rom.hh index be10de86b..d45c0870a 100644 --- a/src/sim/microcode_rom.hh +++ b/src/sim/microcode_rom.hh @@ -36,17 +36,16 @@ * anything more. */ -#include "base/misc.hh" -#include "cpu/static_inst.hh" +#include <inttypes.h> + +#include "cpu/static_inst_fwd.hh" + +typedef uint16_t MicroPC; class MicrocodeRom { public: - StaticInstPtr - fetchMicroop(MicroPC micropc, StaticInstPtr curMacroop) - { - panic("ROM based microcode isn't implemented.\n"); - } + StaticInstPtr fetchMicroop(MicroPC micropc, StaticInstPtr curMacroop); }; #endif // __SIM_MICROCODE_ROM_HH__ diff --git a/src/sim/power/mathexpr_powermodel.hh b/src/sim/power/mathexpr_powermodel.hh index 563b1fa7f..5c121c7b6 100644 --- a/src/sim/power/mathexpr_powermodel.hh +++ b/src/sim/power/mathexpr_powermodel.hh @@ -42,11 +42,13 @@ #include <unordered_map> -#include "base/statistics.hh" #include "params/MathExprPowerModel.hh" #include "sim/mathexpr.hh" #include "sim/power/power_model.hh" -#include "sim/sim_object.hh" + +namespace Stats { + class Info; +} /** * A Equation power model. The power is represented as a combination diff --git a/src/sim/power/power_model.cc b/src/sim/power/power_model.cc index bd06ced70..5f810fe60 100644 --- a/src/sim/power/power_model.cc +++ b/src/sim/power/power_model.cc @@ -42,7 +42,7 @@ #include "base/statistics.hh" #include "params/PowerModel.hh" #include "params/PowerModelState.hh" -#include "sim/sim_object.hh" +#include "sim/clocked_object.hh" #include "sim/sub_system.hh" PowerModelState::PowerModelState(const Params *p) diff --git a/src/sim/power/power_model.hh b/src/sim/power/power_model.hh index a2ddcea18..976c0543f 100644 --- a/src/sim/power/power_model.hh +++ b/src/sim/power/power_model.hh @@ -43,9 +43,10 @@ #include "base/statistics.hh" #include "params/PowerModel.hh" #include "params/PowerModelState.hh" -#include "sim/power/thermal_model.hh" #include "sim/probe/probe.hh" -#include "sim/sim_object.hh" + +class SimObject; +class ClockedObject; /** * A PowerModelState is an abstract class used as interface to get power diff --git a/src/sim/power/thermal_domain.cc b/src/sim/power/thermal_domain.cc index 11f48371e..0724ee80f 100644 --- a/src/sim/power/thermal_domain.cc +++ b/src/sim/power/thermal_domain.cc @@ -44,8 +44,11 @@ #include "base/statistics.hh" #include "debug/ThermalDomain.hh" #include "params/ThermalDomain.hh" +#include "sim/clocked_object.hh" +#include "sim/linear_solver.hh" #include "sim/power/thermal_model.hh" -#include "sim/sim_object.hh" +#include "sim/probe/probe.hh" +#include "sim/sub_system.hh" ThermalDomain::ThermalDomain(const Params *p) : SimObject(p), _initTemperature(p->initial_temperature), diff --git a/src/sim/power/thermal_domain.hh b/src/sim/power/thermal_domain.hh index 9236a2437..f385994f8 100644 --- a/src/sim/power/thermal_domain.hh +++ b/src/sim/power/thermal_domain.hh @@ -45,11 +45,11 @@ #include "base/statistics.hh" #include "params/ThermalDomain.hh" #include "sim/power/thermal_entity.hh" -#include "sim/probe/probe.hh" #include "sim/sim_object.hh" -#include "sim/sub_system.hh" +class SubSystem; class ThermalNode; +template <class T> class ProbePointArg; /** * A ThermalDomain is used to group objects under that operate under diff --git a/src/sim/power/thermal_entity.hh b/src/sim/power/thermal_entity.hh index 77846b67a..fb703961f 100644 --- a/src/sim/power/thermal_entity.hh +++ b/src/sim/power/thermal_entity.hh @@ -40,8 +40,7 @@ #ifndef __SIM_THERMAL_ENTITY_HH__ #define __SIM_THERMAL_ENTITY_HH__ -#include "sim/linear_solver.hh" - +class LinearEquation; class ThermalNode; /** diff --git a/src/sim/power/thermal_model.hh b/src/sim/power/thermal_model.hh index 64f831982..32f34f109 100644 --- a/src/sim/power/thermal_model.hh +++ b/src/sim/power/thermal_model.hh @@ -42,7 +42,6 @@ #include <vector> -#include "base/statistics.hh" #include "params/ThermalCapacitor.hh" #include "params/ThermalModel.hh" #include "params/ThermalReference.hh" diff --git a/src/sim/probe/probe.cc b/src/sim/probe/probe.cc index 5f20f7861..f0522bef9 100644 --- a/src/sim/probe/probe.cc +++ b/src/sim/probe/probe.cc @@ -40,6 +40,7 @@ #include "sim/probe/probe.hh" #include "debug/ProbeVerbose.hh" +#include "params/ProbeListenerObject.hh" ProbePoint::ProbePoint(ProbeManager *manager, const std::string& _name) : name(_name) diff --git a/src/sim/probe/probe.hh b/src/sim/probe/probe.hh index 8f68c0441..e391f016b 100644 --- a/src/sim/probe/probe.hh +++ b/src/sim/probe/probe.hh @@ -64,13 +64,14 @@ #include <string> #include <vector> +#include "base/compiler.hh" #include "base/trace.hh" -#include "params/ProbeListenerObject.hh" #include "sim/sim_object.hh" /** Forward declare the ProbeManager. */ class ProbeManager; class ProbeListener; +class ProbeListenerObjectParams; /** * Name space containing shared probe point declarations. diff --git a/src/sim/process.cc b/src/sim/process.cc index bead9d362..560870c96 100644 --- a/src/sim/process.cc +++ b/src/sim/process.cc @@ -48,9 +48,10 @@ #include <fcntl.h> #include <unistd.h> -#include <cstdio> +#include <array> #include <map> #include <string> +#include <vector> #include "base/intmath.hh" #include "base/loader/object_file.hh" @@ -58,14 +59,11 @@ #include "base/statistics.hh" #include "config/the_isa.hh" #include "cpu/thread_context.hh" -#include "mem/multi_level_page_table.hh" #include "mem/page_table.hh" #include "mem/se_translating_port_proxy.hh" #include "params/LiveProcess.hh" #include "params/Process.hh" -#include "sim/debug.hh" -#include "sim/process_impl.hh" -#include "sim/stats.hh" +#include "sim/emul_driver.hh" #include "sim/syscall_desc.hh" #include "sim/system.hh" diff --git a/src/sim/process.hh b/src/sim/process.hh index d9762c052..30852f6af 100644 --- a/src/sim/process.hh +++ b/src/sim/process.hh @@ -34,6 +34,7 @@ #define __PROCESS_HH__ #include <array> +#include <map> #include <string> #include <vector> @@ -44,15 +45,16 @@ #include "mem/se_translating_port_proxy.hh" #include "sim/fd_entry.hh" #include "sim/sim_object.hh" -#include "sim/syscall_return.hh" -class PageTable; -struct ProcessParams; struct LiveProcessParams; +struct ProcessParams; + +class EmulatedDriver; +class PageTableBase; class SyscallDesc; +class SyscallReturn; class System; class ThreadContext; -class EmulatedDriver; template<class IntType> struct AuxVector diff --git a/src/sim/process_impl.hh b/src/sim/process_impl.hh index b1905834b..3f3d6ae15 100644 --- a/src/sim/process_impl.hh +++ b/src/sim/process_impl.hh @@ -36,7 +36,6 @@ #include <vector> #include "mem/se_translating_port_proxy.hh" -#include "sim/byteswap.hh" //This needs to be templated for cases where 32 bit pointers are needed. template<class AddrType> diff --git a/src/sim/root.cc b/src/sim/root.cc index 6787564dd..752632b5e 100644 --- a/src/sim/root.cc +++ b/src/sim/root.cc @@ -31,13 +31,13 @@ * Gabe Black */ -#include "sim/root.hh" - #include "base/misc.hh" #include "base/trace.hh" #include "config/the_isa.hh" #include "debug/TimeSync.hh" +#include "sim/eventq_impl.hh" #include "sim/full_system.hh" +#include "sim/root.hh" Root *Root::_root = NULL; diff --git a/src/sim/serialize.hh b/src/sim/serialize.hh index 4c5e9d79c..1005d5b97 100644 --- a/src/sim/serialize.hh +++ b/src/sim/serialize.hh @@ -59,14 +59,12 @@ #include <vector> #include "base/bitunion.hh" -#include "base/types.hh" +class CheckpointIn; class IniFile; class Serializable; -class CheckpointIn; class SimObject; class SimObjectResolver; -class EventQueue; typedef std::ostream CheckpointOut; diff --git a/src/sim/sim_exit.hh b/src/sim/sim_exit.hh index 218db9aeb..55db55ff2 100644 --- a/src/sim/sim_exit.hh +++ b/src/sim/sim_exit.hh @@ -35,7 +35,8 @@ #include <string> #include "base/types.hh" -#include "sim/core.hh" + +Tick curTick(); // forward declaration class Callback; diff --git a/src/sim/sim_object.cc b/src/sim/sim_object.cc index 0ccc36b35..516019a7c 100644 --- a/src/sim/sim_object.cc +++ b/src/sim/sim_object.cc @@ -32,17 +32,11 @@ #include "sim/sim_object.hh" -#include <cassert> - -#include "base/callback.hh" -#include "base/inifile.hh" #include "base/match.hh" #include "base/misc.hh" #include "base/trace.hh" -#include "base/types.hh" #include "debug/Checkpoint.hh" #include "sim/probe/probe.hh" -#include "sim/stats.hh" using namespace std; diff --git a/src/sim/sim_object.hh b/src/sim/sim_object.hh index 7c1452f01..42a19bbe7 100644 --- a/src/sim/sim_object.hh +++ b/src/sim/sim_object.hh @@ -49,21 +49,18 @@ #ifndef __SIM_OBJECT_HH__ #define __SIM_OBJECT_HH__ -#include <iostream> -#include <list> -#include <map> #include <string> #include <vector> -#include "enums/MemoryMode.hh" #include "params/SimObject.hh" #include "sim/drain.hh" +#include "sim/eventq.hh" #include "sim/eventq_impl.hh" #include "sim/serialize.hh" -class BaseCPU; -class Event; +class EventManager; class ProbeManager; + /** * Abstract superclass for simulation objects. Represents things that * correspond to physical components and can be specified via the diff --git a/src/sim/simulate.hh b/src/sim/simulate.hh index 85d58e119..e39a2595d 100644 --- a/src/sim/simulate.hh +++ b/src/sim/simulate.hh @@ -30,7 +30,8 @@ */ #include "base/types.hh" -#include "sim/sim_events.hh" + +class GlobalSimLoopExitEvent; GlobalSimLoopExitEvent *simulate(Tick num_cycles = MaxTick); extern GlobalSimLoopExitEvent *simulate_limit_event; diff --git a/src/sim/stat_register.cc b/src/sim/stat_register.cc index ef7ff8216..371fd9621 100644 --- a/src/sim/stat_register.cc +++ b/src/sim/stat_register.cc @@ -39,6 +39,8 @@ #include "sim/stat_register.hh" +#include "base/statistics.hh" + namespace Stats { diff --git a/src/sim/stat_register.hh b/src/sim/stat_register.hh index 7f8c3bcd9..bbe909321 100644 --- a/src/sim/stat_register.hh +++ b/src/sim/stat_register.hh @@ -44,8 +44,6 @@ #ifndef __SIM_STAT_REGISTER_H__ #define __SIM_STAT_REGISTER_H__ -#include "base/statistics.hh" - namespace Stats { diff --git a/src/sim/sub_system.hh b/src/sim/sub_system.hh index 20a352fc3..e2e75be52 100644 --- a/src/sim/sub_system.hh +++ b/src/sim/sub_system.hh @@ -48,7 +48,6 @@ #include <vector> #include "params/SubSystem.hh" -#include "sim/power/thermal_domain.hh" #include "sim/sim_object.hh" class PowerModel; diff --git a/src/sim/syscall_emul.cc b/src/sim/syscall_emul.cc index b34e983a6..56518726c 100644 --- a/src/sim/syscall_emul.cc +++ b/src/sim/syscall_emul.cc @@ -34,7 +34,6 @@ #include <fcntl.h> #include <unistd.h> -#include <cstdio> #include <iostream> #include <string> @@ -42,7 +41,6 @@ #include "base/chunk_generator.hh" #include "base/trace.hh" #include "config/the_isa.hh" -#include "cpu/base.hh" #include "cpu/thread_context.hh" #include "mem/page_table.hh" #include "sim/process.hh" diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh index 4433b5039..31e4c07cd 100644 --- a/src/sim/syscall_emul.hh +++ b/src/sim/syscall_emul.hh @@ -62,7 +62,7 @@ /// application on the host machine. #ifdef __CYGWIN32__ -#include <sys/fcntl.h> // for O_BINARY +#include <sys/fcntl.h> #endif #include <fcntl.h> @@ -78,8 +78,7 @@ #include <cerrno> #include <string> -#include "base/chunk_generator.hh" -#include "base/intmath.hh" // for RoundUp +#include "base/intmath.hh" #include "base/loader/object_file.hh" #include "base/misc.hh" #include "base/trace.hh" @@ -88,13 +87,11 @@ #include "cpu/base.hh" #include "cpu/thread_context.hh" #include "mem/page_table.hh" -#include "sim/byteswap.hh" #include "sim/emul_driver.hh" #include "sim/process.hh" #include "sim/syscall_debug_macros.hh" #include "sim/syscall_emul_buf.hh" #include "sim/syscall_return.hh" -#include "sim/system.hh" class SyscallDesc; @@ -156,7 +153,7 @@ SyscallReturn lseekFunc(SyscallDesc *desc, int num, /// Target _llseek() handler. SyscallReturn _llseekFunc(SyscallDesc *desc, int num, - LiveProcess *p, ThreadContext *tc); + LiveProcess *p, ThreadContext *tc); /// Target munmap() handler. SyscallReturn munmapFunc(SyscallDesc *desc, int num, @@ -236,39 +233,39 @@ SyscallReturn fcntlFunc(SyscallDesc *desc, int num, /// Target fcntl64() handler. SyscallReturn fcntl64Func(SyscallDesc *desc, int num, - LiveProcess *process, ThreadContext *tc); + LiveProcess *process, ThreadContext *tc); /// Target setuid() handler. SyscallReturn setuidFunc(SyscallDesc *desc, int num, - LiveProcess *p, ThreadContext *tc); + LiveProcess *p, ThreadContext *tc); /// Target getpid() handler. SyscallReturn getpidFunc(SyscallDesc *desc, int num, - LiveProcess *p, ThreadContext *tc); + LiveProcess *p, ThreadContext *tc); /// Target getuid() handler. SyscallReturn getuidFunc(SyscallDesc *desc, int num, - LiveProcess *p, ThreadContext *tc); + LiveProcess *p, ThreadContext *tc); /// Target getgid() handler. SyscallReturn getgidFunc(SyscallDesc *desc, int num, - LiveProcess *p, ThreadContext *tc); + LiveProcess *p, ThreadContext *tc); /// Target getppid() handler. SyscallReturn getppidFunc(SyscallDesc *desc, int num, - LiveProcess *p, ThreadContext *tc); + LiveProcess *p, ThreadContext *tc); /// Target geteuid() handler. SyscallReturn geteuidFunc(SyscallDesc *desc, int num, - LiveProcess *p, ThreadContext *tc); + LiveProcess *p, ThreadContext *tc); /// Target getegid() handler. SyscallReturn getegidFunc(SyscallDesc *desc, int num, - LiveProcess *p, ThreadContext *tc); + LiveProcess *p, ThreadContext *tc); /// Target clone() handler. SyscallReturn cloneFunc(SyscallDesc *desc, int num, - LiveProcess *p, ThreadContext *tc); + LiveProcess *p, ThreadContext *tc); /// Target access() handler SyscallReturn accessFunc(SyscallDesc *desc, int num, diff --git a/src/sim/syscall_return.hh b/src/sim/syscall_return.hh index fdd740775..1d531daac 100644 --- a/src/sim/syscall_return.hh +++ b/src/sim/syscall_return.hh @@ -31,7 +31,7 @@ #ifndef __SIM_SYSCALLRETURN_HH__ #define __SIM_SYSCALLRETURN_HH__ -#include "base/types.hh" +#include <inttypes.h> /** * This class represents the return value from an emulated system call, diff --git a/src/sim/system.hh b/src/sim/system.hh index 7e167c75f..2d491e8c3 100644 --- a/src/sim/system.hh +++ b/src/sim/system.hh @@ -53,7 +53,6 @@ #include "arch/isa_traits.hh" #include "base/loader/symtab.hh" -#include "base/misc.hh" #include "base/statistics.hh" #include "config/the_isa.hh" #include "enums/MemoryMode.hh" @@ -71,11 +70,9 @@ #include "cpu/pc_event.hh" #endif -class BaseCPU; class BaseRemoteGDB; class GDBListener; class ObjectFile; -class Platform; class ThreadContext; class System : public MemObject diff --git a/src/sim/ticked_object.cc b/src/sim/ticked_object.cc index ecdb87827..4cd0dc171 100644 --- a/src/sim/ticked_object.cc +++ b/src/sim/ticked_object.cc @@ -39,6 +39,9 @@ #include "sim/ticked_object.hh" +#include "params/TickedObject.hh" +#include "sim/clocked_object.hh" + Ticked::Ticked(ClockedObject &object_, Stats::Scalar *imported_num_cycles, Event::Priority priority) : diff --git a/src/sim/ticked_object.hh b/src/sim/ticked_object.hh index b21322670..d8b69a320 100644 --- a/src/sim/ticked_object.hh +++ b/src/sim/ticked_object.hh @@ -48,9 +48,10 @@ #ifndef __SIM_TICKED_OBJECT_HH__ #define __SIM_TICKED_OBJECT_HH__ -#include "params/TickedObject.hh" #include "sim/clocked_object.hh" +class TickedObjectParams; + /** Ticked attaches gem5's event queue/scheduler to evaluate * calls and provides a start/stop interface to ticking. * diff --git a/src/sim/voltage_domain.cc b/src/sim/voltage_domain.cc index 0c5b65d6a..6f32dc7c0 100644 --- a/src/sim/voltage_domain.cc +++ b/src/sim/voltage_domain.cc @@ -43,6 +43,7 @@ #include <algorithm> #include "base/statistics.hh" +#include "base/trace.hh" #include "debug/VoltageDomain.hh" #include "params/VoltageDomain.hh" #include "sim/sim_object.hh" diff --git a/src/sim/vptr.hh b/src/sim/vptr.hh index 658959a90..6eefd5937 100644 --- a/src/sim/vptr.hh +++ b/src/sim/vptr.hh @@ -31,8 +31,6 @@ #ifndef __ARCH_ALPHA_VPTR_HH__ #define __ARCH_ALPHA_VPTR_HH__ -#include "arch/isa_traits.hh" -#include "arch/vtophys.hh" #include "mem/fs_translating_port_proxy.hh" class ThreadContext; |