gem5/src/arch/mips
Andreas Hansson 0cacf7e817 Clock: Add a Cycles wrapper class and use where applicable
This patch addresses the comments and feedback on the preceding patch
that reworks the clocks and now more clearly shows where cycles
(relative cycle counts) are used to express time.

Instead of bumping the existing patch I chose to make this a separate
patch, merely to try and focus the discussion around a smaller set of
changes. The two patches will be pushed together though.

This changes done as part of this patch are mostly following directly
from the introduction of the wrapper class, and change enough code to
make things compile and run again. There are definitely more places
where int/uint/Tick is still used to represent cycles, and it will
take some time to chase them all down. Similarly, a lot of parameters
should be changed from Param.Tick and Param.Unsigned to
Param.Cycles.

In addition, the use of curTick is questionable as there should not be
an absolute cycle. Potential solutions can be built on top of this
patch. There is a similar situation in the o3 CPU where
lastRunningCycle is currently counting in Cycles, and is still an
absolute time. More discussion to be had in other words.

An additional change that would be appropriate in the future is to
perform a similar wrapping of Tick and probably also introduce a
Ticks class along with suitable operators for all these classes.
2012-08-28 14:30:33 -04:00
..
bare_iron MIPS: Many style fixes. 2009-07-21 01:08:53 -07:00
isa ISA: Make the decode function part of the ISA's decoder. 2012-05-25 00:55:24 -07:00
linux sysemul: bump all linux versions of for syscal emulation to 3.0. 2012-08-15 10:38:04 -04:00
BISystem.py SE/FS: Get rid of FULL_SYSTEM in MIPS. 2011-10-30 18:39:38 -07:00
decoder.cc ISA,CPU: Generalize and split out the components of the decode cache. 2012-05-26 13:45:12 -07:00
decoder.hh ISA,CPU: Generalize and split out the components of the decode cache. 2012-05-26 13:45:12 -07:00
dsp.cc SE/FS: Get rid of includes of config/full_system.hh. 2011-11-18 02:20:22 -08:00
dsp.hh SE/FS: Get rid of includes of config/full_system.hh. 2011-11-18 02:20:22 -08:00
dt_constants.hh MIPS: Use BitUnions instead of bits() functions and constants. 2009-07-20 20:14:15 -07:00
faults.cc Merge with head, hopefully the last time for this batch. 2012-01-31 22:40:08 -08:00
faults.hh Merge with head, hopefully the last time for this batch. 2012-01-31 22:40:08 -08:00
idle_event.cc MIPS: Many style fixes. 2009-07-21 01:08:53 -07:00
idle_event.hh fix MIPS headers 2007-11-15 14:21:01 -05:00
interrupts.cc SE/FS: Build the Interrupt objects in SE mode. 2011-10-09 00:15:50 -07:00
interrupts.hh MIPS: Get MIPS_FS to compile, more style fixes. 2009-07-21 01:09:05 -07:00
isa.cc Clock: Add a Cycles wrapper class and use where applicable 2012-08-28 14:30:33 -04:00
isa.hh Clock: Add a Cycles wrapper class and use where applicable 2012-08-28 14:30:33 -04:00
isa_traits.hh ISA: Back-out NoopMachInst as a StaticInstPtr change. 2012-06-05 13:52:30 -04:00
kernel_stats.hh Make commenting on close namespace brackets consistent. 2011-01-03 14:35:43 -08:00
locked_mem.hh trace: reimplement the DTRACE function so it doesn't use a vector 2011-04-15 10:44:32 -07:00
microcode_rom.hh CPU: Create a microcode ROM object in the CPU which is defined by the ISA. 2008-10-12 15:59:21 -07:00
MipsCPU.py python: Move more code into m5.util allow SCons to use that code. 2009-09-22 15:24:16 -07:00
MipsInterrupts.py Turn Interrupts objects into SimObjects. Also, move local APIC state into x86's Interrupts object. 2008-10-12 09:09:56 -07:00
MipsSystem.py SE/FS: Get rid of FULL_SYSTEM in MIPS. 2011-10-30 18:39:38 -07:00
MipsTLB.py tlb: Don't separate the TLB classes into an instruction TLB and a data TLB 2009-04-08 22:21:27 -07:00
mmapped_ipr.hh Clock: Add a Cycles wrapper class and use where applicable 2012-08-28 14:30:33 -04:00
mt.hh Clock: Add a Cycles wrapper class and use where applicable 2012-08-28 14:30:33 -04:00
mt_constants.hh MIPS: Use BitUnions instead of bits() functions and constants. 2009-07-20 20:14:15 -07:00
pagetable.cc MIPS: Many style fixes. 2009-07-21 01:08:53 -07:00
pagetable.hh SE/FS: Turn on the page table class in FS. 2011-10-16 05:06:40 -07:00
pra_constants.hh MIPS: Get MIPS_FS to compile, more style fixes. 2009-07-21 01:09:05 -07:00
process.cc MEM: Make port proxies use references rather than pointers 2012-02-24 11:45:30 -05:00
process.hh includes: sort all includes 2011-04-15 10:44:06 -07:00
registers.hh O3: Clean up the O3 structures and try to pack them a bit better. 2012-06-05 01:23:09 -04:00
remote_gdb.cc Decode: Make the Decoder class defined per ISA. 2012-05-25 00:53:37 -07:00
remote_gdb.hh MEM: Enable multiple distributed generalized memories 2012-04-06 13:46:31 -04:00
SConscript ISA: Back-out NoopMachInst as a StaticInstPtr change. 2012-06-05 13:52:30 -04:00
SConsopts go back and fix up MIPS copyright headers 2007-11-16 21:32:22 -05:00
stacktrace.cc MEM: Make port proxies use references rather than pointers 2012-02-24 11:45:30 -05:00
stacktrace.hh trace: reimplement the DTRACE function so it doesn't use a vector 2011-04-15 10:44:32 -07:00
system.cc Merge with the main repo. 2012-01-28 07:24:01 -08:00
system.hh SE/FS: Get rid of FULL_SYSTEM in MIPS. 2011-10-30 18:39:38 -07:00
tlb.cc CheckerCPU: Add function stubs to non-ARM ISA source to compile with CheckerCPU 2012-03-09 09:59:28 -05:00
tlb.hh CheckerCPU: Add function stubs to non-ARM ISA source to compile with CheckerCPU 2012-03-09 09:59:28 -05:00
types.hh mips: cleanup ISA-specific code 2011-03-26 09:23:52 -04:00
utility.cc Clock: Add a Cycles wrapper class and use where applicable 2012-08-28 14:30:33 -04:00
utility.hh SE/FS: Get rid of includes of config/full_system.hh. 2011-11-18 02:20:22 -08:00
vtophys.cc Merge with the main repo. 2012-01-28 07:24:01 -08:00
vtophys.hh Merge with main repository. 2012-01-30 21:07:57 -08:00