Andreas Hansson [Tue, 31 Jan 2012 16:50:07 +0000 (11:50 -0500)]
Thread: Use inherited baseCpu rather than cpu in SimpleThread
This patch is a trivial simplification, removing the cpu pointer from
SimpleThread and relying on the baseCpu pointer in ThreadState. The
patch does not add or change any functionality, it merely cleans up
the code.
Dam Sunwoo [Tue, 31 Jan 2012 15:46:04 +0000 (07:46 -0800)]
util: implements "writefile" gem5 op to export file from guest to host filesystem
Usage: m5 writefile <filename>
File will be created in the gem5 output folder with the identical filename.
Implementation is largely based on the existing "readfile" functionality.
Currently does not support exporting of folders.
Geoffrey Blake [Tue, 31 Jan 2012 15:46:03 +0000 (07:46 -0800)]
CheckerCPU: Re-factor CheckerCPU to be compatible with current gem5
Brings the CheckerCPU back to life to allow FS and SE checking of the
O3CPU. These changes have only been tested with the ARM ISA. Other
ISAs potentially require modification.
Andreas Hansson [Mon, 30 Jan 2012 14:37:06 +0000 (09:37 -0500)]
Ruby: Connect system port in Ruby network test
This patch moves the connection of the system port to create_system in
Ruby.py. Thereby it allows the failing Ruby test (and other Ruby
systems) to run again.
Andreas Hansson [Mon, 30 Jan 2012 10:38:24 +0000 (05:38 -0500)]
MEM: Make the RubyPort physMemPort a PioPort instead of M5Port
This patch makes the physMemPort of the RubyPort a PioPort rather than
an M5Port. This reflects the fact that the M5Port and PioPort have
different roles. The M5Port is really a coherent slave that is
connected to the CPUs and other coherent masters of the system,
e.g. DMA ports. The PioPort, on the other hand, is a master port that
is connected to the memory and other slaves, for example the pio
devices.
This simplifies future changes into master/slave ports and is
consistent with the port roles throughout the system.
Andreas Hansson [Mon, 30 Jan 2012 08:44:25 +0000 (03:44 -0500)]
MEM: Clean-up of Functional/Virtual/TranslatingPort remnants
This patch cleans up forward declarations and a member-function
prototype that still referred to the old FunctionalPort, VirtualPort
and TranslatingPort. There is no change in functionality.
Nilay Vaish [Sun, 29 Jan 2012 01:33:37 +0000 (19:33 -0600)]
Config: Enable O3 CPU and Ruby in FS mode
Nilay Vaish [Sun, 29 Jan 2012 01:09:17 +0000 (19:09 -0600)]
X86 Regressions: Update stats due to introduction of TSO
Nilay Vaish [Sun, 29 Jan 2012 01:09:04 +0000 (19:09 -0600)]
O3 CPU LSQ: Implement TSO
This patch makes O3's LSQ maintain total order between stores. Essentially
only the store at the head of the store buffer is allowed to be in flight.
Only after that store completes, the next store is issued to the memory
system. By default, the x86 architecture will have TSO.
Andreas Hansson [Fri, 27 Jan 2012 17:54:11 +0000 (12:54 -0500)]
ns_gige: Fix a missing curly brace in if-statement
This patch adds a missing curly brace when clearing and setting the
appropriate bits in the ns_gige.cc code.
This commit is not based on any runtime bug experienced, but rather
inspection of the code.
Ronald Dreslinski [Thu, 26 Jan 2012 21:44:43 +0000 (16:44 -0500)]
configs: actually add ARMv7a-like cpu/cache file
Ronald Dreslinski [Thu, 26 Jan 2012 19:53:48 +0000 (14:53 -0500)]
configs: A more realistic configuration of an ARM-like processor
Andreas Hansson [Wed, 25 Jan 2012 17:44:43 +0000 (12:44 -0500)]
MEM: Fix fs.py by specifying the range size rather than end
This patch fixes the currently broken fs.py by specifying the size of
the bridge range rather than the end address. This effectively
subtracts one when determining the address range for the IO bridge
(from IO bus to membus), and thus avoids the overlapping ranges.
Mitchell Hayenga [Thu, 12 Jan 2012 21:27:20 +0000 (15:27 -0600)]
Fix memory corruption issue with CopyStringOut()
CopyStringOut() improperly indexed setting the null
character, would result in zeroing a random byte
of memory after(out of bounds) the character array.
Ali Saidi [Wed, 25 Jan 2012 17:19:50 +0000 (17:19 +0000)]
stats: Update stats for final tick and memory bandwidth patches
Ali Saidi [Wed, 25 Jan 2012 17:18:25 +0000 (17:18 +0000)]
sim: display final value of curTick in stats
Different from sim_ticks in that this value is restored from checkpoints and is never reset.
Useful for aligning with framebuffer output ticks
Ali Saidi [Wed, 25 Jan 2012 17:18:25 +0000 (17:18 +0000)]
Mem: Add simple bandwidth stats to PhysicalMemory
Nilay Vaish [Mon, 23 Jan 2012 17:33:52 +0000 (11:33 -0600)]
Config: Enable using O3 CPU and Ruby in SE mode
Nilay Vaish [Mon, 23 Jan 2012 17:07:14 +0000 (11:07 -0600)]
O3, Ruby: Forward invalidations from Ruby to O3 CPU
This patch implements the functionality for forwarding invalidations and
replacements from the L1 cache of the Ruby memory system to the O3 CPU. The
implementation adds a list of ports to RubyPort. Whenever a replacement or an
invalidation is performed, the L1 cache forwards this to all the ports, which
is the LSQ in case of the O3 CPU.
Nilay Vaish [Mon, 23 Jan 2012 17:07:11 +0000 (11:07 -0600)]
MemCmd: Add a command for invalidation requests to LSQ
This command will be sent from the memory system (Ruby) to the LSQ of
an O3 CPU so that the LSQ, if it needs to, invalidates the address in
the request packet.
Andreas Hansson [Tue, 17 Jan 2012 18:55:09 +0000 (12:55 -0600)]
MEM: Make the bus default port yet another port
This patch removes the idiosyncratic nature of the default bus port
and makes it yet another port in the list of interfaces. Rather than
having a specific pointer to the default port we merely track the
identifier of this port. This change makes future port diversification
easier and overall cleans up the bus code.
Andreas Hansson [Tue, 17 Jan 2012 18:55:09 +0000 (12:55 -0600)]
MEM: Removing the default port peer from Python ports
In preparation for the introduction of Master and Slave ports, this
patch removes the default port parameter in the Python port and thus
forces the argument list of the Port to contain only the
description. The drawback at this point is that the config port and
dma port of PCI and DMA devices have to be connected explicitly. This
is key for future diversification as the pio and config port are
slaves, but the dma port is a master.
Andreas Hansson [Tue, 17 Jan 2012 18:55:09 +0000 (12:55 -0600)]
MEM: Make the bus bridge unidirectional and fixed address range
This patch makes the bus bridge uni-directional and specialises the
bus ports to be a master port and a slave port. This greatly
simplifies the assumptions on both sides as either port only has to
deal with requests or responses. The following patches introduce the
notion of master and slave ports, and would not be possible without
this split of responsibilities.
In making the bridge unidirectional, the address range mechanism of
the bridge is also changed. For the cases where communication is
taking place both ways, an additional bridge is needed. This causes
issues with the existing mechanism, as the busses cannot determine
when to stop iterating the address updates from the two bridges. To
avoid this issue, and also greatly simplify the specification, the
bridge now has a fixed set of address ranges, specified at creation
time.
William Wang [Tue, 17 Jan 2012 18:55:09 +0000 (12:55 -0600)]
MEM: Remove the functional ports from the memory system
The functional ports are no longer used and this patch cleans up the
legacy that is still present in buses, memories, CPUs etc. Note that
this does not refer to the class FunctionalPort (already removed), but
rather ports with the name (and use) functional.
Andreas Hansson [Tue, 17 Jan 2012 18:55:09 +0000 (12:55 -0600)]
MEM: Separate queries for snooping and address ranges
This patch simplifies the address-range determination mechanism and
also unifies the naming across ports and devices. It further splits
the queries for determining if a port is snooping and what address
ranges it responds to (aiming towards a separation of
cache-maintenance ports and pure memory-mapped ports). Default
behaviours are such that most ports do not have to define isSnooping,
and master ports need not implement getAddrRanges.
Andreas Hansson [Tue, 17 Jan 2012 18:55:09 +0000 (12:55 -0600)]
MEM: Remove Port removeConn and MemObject deletePortRefs
Cleaning up and simplifying the ports and going towards a more strict
elaboration-time creation and binding of the ports.
Andreas Hansson [Tue, 17 Jan 2012 18:55:09 +0000 (12:55 -0600)]
MEM: Remove the notion of the default port
This patch removes the default port and instead relies on the peer
being set to NULL initially. The binding check (i.e. is a port
connected or not) will eventually be moved to the init function of the
modules.
Andreas Hansson [Tue, 17 Jan 2012 18:55:09 +0000 (12:55 -0600)]
MEM: Simplify ports by removing EventManager
This patch removes the inheritance of EventManager from the ports and
moves all responsibility for event queues to the owner. Eventually the
event manager should be the interface block, which could either be the
structural owner or a subblock like a LSQ in the O3 CPU for example.
Andreas Hansson [Tue, 17 Jan 2012 18:55:08 +0000 (12:55 -0600)]
CPU: Moving towards a more general port across CPU models
This patch performs minimal changes to move the instruction and data
ports from specialised subclasses to the base CPU (to the largest
degree possible). Ultimately it servers to make the CPU(s) have a
well-defined interface to the memory sub-system.
Andreas Hansson [Tue, 17 Jan 2012 18:55:08 +0000 (12:55 -0600)]
MEM: Add port proxies instead of non-structural ports
Port proxies are used to replace non-structural ports, and thus enable
all ports in the system to correspond to a structural entity. This has
the advantage of accessing memory through the normal memory subsystem
and thus allowing any constellation of distributed memories, address
maps, etc. Most accesses are done through the "system port" that is
used for loading binaries, debugging etc. For the entities that belong
to the CPU, e.g. threads and thread contexts, they wrap the CPU data
port in a port proxy.
The following replacements are made:
FunctionalPort > PortProxy
TranslatingPort > SETranslatingPortProxy
VirtualPort > FSTranslatingPortProxy
--HG--
rename : src/mem/vport.cc => src/mem/fs_translating_port_proxy.cc
rename : src/mem/vport.hh => src/mem/fs_translating_port_proxy.hh
rename : src/mem/translating_port.cc => src/mem/se_translating_port_proxy.cc
rename : src/mem/translating_port.hh => src/mem/se_translating_port_proxy.hh
Andreas Hansson [Tue, 17 Jan 2012 18:55:07 +0000 (12:55 -0600)]
Ruby: Change the access permissions for MOESI hammer
Regression statistics update.
Andreas Hansson [Tue, 17 Jan 2012 18:55:07 +0000 (12:55 -0600)]
Ruby: Change the access permissions for MOESI hammer
This patch changes the access permission for the WB_E_W state from
Busy to Read_Write to avoid having issues in follow-on patches with
functional accesses going through Ruby. This change was made after
consultation with all involved parties and is more of a work-around
than a fix.
Andreas Hansson [Tue, 17 Jan 2012 18:55:07 +0000 (12:55 -0600)]
MEM: Add the system port as a central access point
The system port is used as a globally reachable access point to the
memory subsystem. The benefit of using an actual port is that the
usual infrastructure is used to resolve any access and thus makes the
overall system able to handle distributed memories in any
configuration, and also makes the accesses agnostic to the address
map. This patch only introduces the port and does not actually use it
for anything.
Andreas Hansson [Tue, 17 Jan 2012 18:55:07 +0000 (12:55 -0600)]
MEM: Differentiate functional cache accesses from CPU and memory
This patch changes the functionalAccess member function in the cache
model such that it is aware of what port the access came from, i.e. if
it came from the CPU side or from the memory side. By adding this
information, it is possible to respect the 'forwardSnoops' flag for
snooping requests coming from the memory side and not forward
them. This fixes an outstanding issue with the IO bus getting accesses
that have no valid destination port and also cleans up future changes
to the bus model.
Ali Saidi [Tue, 17 Jan 2012 03:37:05 +0000 (22:37 -0500)]
stats: undo parser change from initparam change
Steve Reinhardt [Tue, 17 Jan 2012 03:01:27 +0000 (19:01 -0800)]
Alpha: warn_once about broken PAL breakpoints.
A recent changeset (
aae12ce9f34c) removed support for
PAL-mode breakpoints in Alpha, since it was awkward
and likely unused. This patch lets a user know if they
potentially run into this limitation.
Steve Reinhardt [Tue, 17 Jan 2012 03:00:59 +0000 (19:00 -0800)]
debug: fix AllFlags::disable()
Looks like copy-and-paste bug, apparently I'm the first
person to ever use this since it's plainly broken.
Maximilien Breughe [Thu, 12 Jan 2012 15:15:00 +0000 (10:15 -0500)]
inorder: MDU deadlock fix
Deyuan Guo [Thu, 12 Jan 2012 14:59:01 +0000 (09:59 -0500)]
mips: compatibility between MIPS_SE and cross compiler from CodeSorcery
Deyuan Guo [Thu, 12 Jan 2012 14:59:00 +0000 (09:59 -0500)]
mips: Fix bugs in faults.cc/hh and tlb.cc for MIPS_FS
Deyuan Guo [Thu, 12 Jan 2012 14:58:59 +0000 (09:58 -0500)]
mips: Fix decoder of two float-convert instructions
Deyuan Guo [Thu, 12 Jan 2012 14:58:58 +0000 (09:58 -0500)]
mips: definition of MIPS64_QNAN in registers.hh
Nilay Vaish [Thu, 12 Jan 2012 06:35:57 +0000 (00:35 -0600)]
PerfectCacheMemory: Remove references to CacheMsg
The definition for the class CacheMsg was removed long back. Some declaration
had still survived, which was recently removed. Since the PerfectCacheMemory
class relied on this particular declaration, its absence let to compilation
breaking down. Hence this patch.
Ali Saidi [Thu, 12 Jan 2012 00:27:11 +0000 (19:27 -0500)]
Packet: Put back part of the assert
Ali Saidi [Thu, 12 Jan 2012 00:24:13 +0000 (19:24 -0500)]
Packet: Remove meaningless assert statement
Nilay Vaish [Wed, 11 Jan 2012 19:53:38 +0000 (13:53 -0600)]
Ruby: Use map option for selecting b/w sparse and memory vector
Nilay Vaish [Wed, 11 Jan 2012 19:50:18 +0000 (13:50 -0600)]
Config: Add support for restoring using a timing CPU
Currently there is an assumption that restoration from a checkpoint will
happen by first restoring to an atomic CPU and then switching to a timing
CPU. This patch adds support for directly restoring to a timing CPU. It
adds a new option '--restore-with-cpu' which is used to specify the type
of CPU to which the checkpoint should be restored to. It defaults to
'atomic' which was the case before.
Nilay Vaish [Wed, 11 Jan 2012 19:48:48 +0000 (13:48 -0600)]
Ruby: Resurrect Cache Warmup Capability
This patch resurrects ruby's cache warmup capability. It essentially
makes use of all the infrastructure that was added to the controllers,
memories and the cache recorder.
Nilay Vaish [Wed, 11 Jan 2012 19:42:00 +0000 (13:42 -0600)]
Ruby Debug Flags: Remove one, add another
The flag RubyStoreBuffer is being removed, instead RubySystem is being added
Nilay Vaish [Wed, 11 Jan 2012 19:39:58 +0000 (13:39 -0600)]
Ruby Port: Add a list of cpu ports attached to this port
Nilay Vaish [Wed, 11 Jan 2012 19:31:04 +0000 (13:31 -0600)]
Ruby EventQueue: Remove unused functions
Nilay Vaish [Wed, 11 Jan 2012 19:29:54 +0000 (13:29 -0600)]
Ruby Sparse Memory: Add function for collating blocks
This patch adds function to the Sparse Memory so that the blocks can be
recorded in a cache trace. The blocks are added to the cache recorder
which can later write them into a file.
Nilay Vaish [Wed, 11 Jan 2012 19:29:15 +0000 (13:29 -0600)]
Ruby: Add infrastructure for recording cache contents
This patch changes CacheRecorder, CacheMemory, CacheControllers
so that the contents of a cache can be recorded for checkpointing
purposes.
Nilay Vaish [Wed, 11 Jan 2012 17:46:23 +0000 (11:46 -0600)]
Ruby Memory Vector: Functions for collating and populating pages
This patch adds functions to the memory vector class that can be used for
collating memory pages to raw trace and for populating pages from a raw
trace.
Nilay Vaish [Wed, 11 Jan 2012 00:35:45 +0000 (18:35 -0600)]
Ruby: remove the files related to the tracer
The Ruby Tracer is out of date with the changes that are being carried
out to support checkpointing. Hence, it needs to be removed.
Nathan Binkert [Wed, 11 Jan 2012 06:50:54 +0000 (22:50 -0800)]
hgfilesize: skip files that have been removed
Nilay Vaish [Tue, 10 Jan 2012 23:28:49 +0000 (17:28 -0600)]
MOESI Hammer: Update regression test output
Nilay Vaish [Tue, 10 Jan 2012 23:28:44 +0000 (17:28 -0600)]
MOESI Hammer: Remove a couple of bugs
A couple of bugs were observed while building checkpointing support in Ruby.
This patch changes transitions to remove those errors.
Nilay Vaish [Tue, 10 Jan 2012 16:20:32 +0000 (10:20 -0600)]
Sparse Memory: Simplify the structure for an entry
The SparseMemEntry structure includes just one void* pointer. It seems
unnecessary that we have a structure for this. The patch removes the
structure and makes use of a typedef on void* instead.
Ali Saidi [Tue, 10 Jan 2012 16:18:08 +0000 (10:18 -0600)]
Automated merge with ssh://repo.gem5.org/gem5
Ali Saidi [Tue, 10 Jan 2012 16:17:33 +0000 (10:17 -0600)]
config: Fix json output for Python lt 2.6.
Nilay Vaish [Tue, 10 Jan 2012 16:15:02 +0000 (10:15 -0600)]
DPRINTF: Improve some dprintf messages.
Nilay Vaish [Tue, 10 Jan 2012 15:59:01 +0000 (09:59 -0600)]
X86 Regressions: Update stats due to fence instruction
Nilay Vaish [Tue, 10 Jan 2012 02:13:31 +0000 (20:13 -0600)]
X86: Add memory fence to I/O instructions
Nilay Vaish [Tue, 10 Jan 2012 12:35:40 +0000 (06:35 -0600)]
Config: Remove short option string for cpu type
Anders Handler [Tue, 10 Jan 2012 01:05:07 +0000 (20:05 -0500)]
CPU: Remove Alpha-specific PC alignment check.
Ali Saidi [Tue, 10 Jan 2012 01:04:28 +0000 (20:04 -0500)]
Config: Fix issue with JSON output
Geoffrey Blake [Tue, 10 Jan 2012 00:10:05 +0000 (18:10 -0600)]
Packet: Add derived class FunctionalPacket to enable partial functional reads
This adds the derived class FunctionalPacket to fix a long standing
deficiency in the Packet class where it was unable to handle finding data to
partially satisfy a functional access. Made this a derived class as
functional accesses are used only in certain contexts and to not add any
additional overhead to the existing Packet class.
Dam Sunwoo [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
stats: fix Vector2d to display stats correctly when y_subname is not specified.
Vector2d stats with no y_subname were not displayed as the VectorPrint subname was not initialized correctly to reflect the empty field.
Prakash Ramrakhyani [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
sim: Enable sampling of run-time for code-sections marked using pseudo insts.
This patch adds a mechanism to collect run time samples for specific portions
of a benchmark, using work_begin and work_end pseudo instructions.It also enhances
the histogram stat to report geometric mean.
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
O3: Remove some asserts that no longer seem to be valid.
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
config: support outputing a pickle of the configuration tree
Min Kyu Jeong [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
mem: Change DPRINTF prints more useful destination port number.
Old code prints 0 for destination since pkt->getDest() returns 0 for
pkt->getDest() == Packet::Broadcast, which is always true.
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
O3: Add support of function tracing with O3 CPU.
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
ARM: Add support for running multiple systems
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
stats: Update stats for ARM init param changes.
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
ARM: Add support for initparam m5 op
Dam Sunwoo [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
Base: Fixed shift amount in genrand() to work with large numbers
The previous version didn't work correctly with max integer values (2^31-1 for
32-bit, 2^63-1 for 64bit version), causing "shift" to become -1. For smaller
numbers, it wouldn't have caused functional errors, but would have resulted in
more than necessary loops in the while loop. Special-cased cases when (max + 1
== 0) to prevent the ceilLog2 functions from failing.
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
cpu2000: Add missing art benchmark to all
Andreas Hansson [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
SWIG: Make gem5 compile and link with swig 2.0.4
To make gem5 compile and run with swig 2.0.4 a few minor fixes are
necessary, the fail label issues by swig must not be treated as an
error by gcc (tested with gcc 4.2.1), and the vector wrappers must
have SWIGPY_SLICE_ARG defined which happens in pycontainer.swg,
included through std_container.i. By adding the aforementioned include
to the vector wrappers everything seems to work.
Andreas Hansson [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
MAC: Make gem5 compile and run on MacOSX 10.7.2
Adaptations to make gem5 compile and run on OSX 10.7.2, with a stock
gcc 4.2.1 and the remaining dependencies from macports, i.e. python
2.7,.2 swig 2.0.4, mercurial 2.0. The changes include an adaptation of
the SConstruct to handle non-library linker flags, and Darwin-specific
code to find the memory usage of gem5. A number of Ruby files relied
on ambigious uint (without the 32 suffix) which caused compilation
errors.
Nilay Vaish [Sat, 7 Jan 2012 13:40:44 +0000 (07:40 -0600)]
Merged with Nate's commit
Nilay Vaish [Sat, 7 Jan 2012 13:38:53 +0000 (07:38 -0600)]
Ruby Cache: Add param for marking caches as instruction only
Nathan Binkert [Fri, 6 Jan 2012 23:19:13 +0000 (18:19 -0500)]
hooks: Add a hook to limit the size of any individual file
Nilay Vaish [Fri, 6 Jan 2012 11:11:07 +0000 (05:11 -0600)]
AbstractController: Remove some of the unused functions
--HG--
extra : rebase_source :
78df7398a609f1db8a2592cd2d1bdc9156d1b8c3
Nilay Vaish [Fri, 6 Jan 2012 11:11:07 +0000 (05:11 -0600)]
Ruby Set: Move NUMBER_WORDS_PER_SET to Set.hh
This constant is currently in System.hh, but is only used in Set.hh. It
is being moved to Set.hh to remove this artificial dependence of Set.hh
on System.hh.
--HG--
extra : rebase_source :
683c43a5eeaec4f5f523b3ea32953a07f65cfee7
Nilay Vaish [Thu, 5 Jan 2012 17:04:25 +0000 (11:04 -0600)]
Config: Add an option of type 'choice' for cpu type
This patch adds a new option for cpu type. This option is of type 'choice'
which is similar to a C++ enum, except that it takes string values as
possible choices. Following options are being removed -- detailed, timing,
inorder.
--HG--
extra : rebase_source :
58885e2e8a88b6af8e6ff884a5922059dbb1a6cb
Nilay Vaish [Thu, 5 Jan 2012 17:02:56 +0000 (11:02 -0600)]
eventq: add a function for replacing head of the queue
This patch adds a function for replacing the event at the head of the queue
with another event. This helps in running a different set of events. Events
already scheduled can processed by replacing the original head event back.
This function has been specifically added to support cache warmup and
cooldown required for creating and restoring checkpoints.
--HG--
extra : rebase_source :
ed6e2905720b6bfdefd020fab76235ccf33d28d1
Nilay Vaish [Thu, 5 Jan 2012 17:00:45 +0000 (11:00 -0600)]
MESI Coherence Protocol: Fix L2 miss statistics
This patch removes calls to uu_ProfileMiss from transitions where the request
is satisfied by the L2 cache controller.
--HG--
extra : rebase_source :
e59fe7c6cd5795c0019cf178dd3b062d73cc2ff5
Nilay Vaish [Thu, 5 Jan 2012 17:00:32 +0000 (11:00 -0600)]
X86 TLB: Move a DPRINTF to its correct place
The DPRINTF for doing protection checks appears after the checks have been
carried out. It is possible that the function returns while the checks are
being carried, in which case the printf is missed out. This patch moves the
DPRINTF before the checks.
--HG--
extra : rebase_source :
172896057e593022444d882ea93323a5d9f77a89
Nilay Vaish [Sun, 1 Jan 2012 00:44:51 +0000 (18:44 -0600)]
Ruby: Shuffle some of the included files
This patch adds and removes included files from some of the files so as to
organize remove some false dependencies and include some files directly
instead of transitively.
--HG--
extra : rebase_source :
09b482ee9ae00b3a204ace0c63550bc3ca220134
Nilay Vaish [Sat, 31 Dec 2011 22:38:30 +0000 (16:38 -0600)]
SLICC: Use pointers for directory entries
SLICC uses pointers for cache and TBE entries but not for directory entries.
This patch changes the protocols, SLICC and Ruby memory system so that even
directory entries are referenced using pointers.
--HG--
extra : rebase_source :
abeb4ac78033d003153751f216fd1948251fcfad
Anthony Gutierrez [Thu, 15 Dec 2011 05:43:35 +0000 (00:43 -0500)]
ARM: Update config files for Android/BBench images available on website.
--HG--
extra : rebase_source :
ca98021c3f96422374fbd4500da312a5a9dd00df
Ali Saidi [Thu, 15 Dec 2011 05:09:46 +0000 (00:09 -0500)]
IO: Fix bug in DMA Device where receiving a snoop on DMA port would cause a panic.
--HG--
extra : rebase_source :
8152d4fa7d7354c9f150a450ae0710e95141ba4b
Nathan Binkert [Tue, 13 Dec 2011 19:49:27 +0000 (11:49 -0800)]
gcc: fix unused variable warnings from GCC 4.6.1
--HG--
extra : rebase_source :
f9e22de341493a25ac6106c16ac35c61c128a080
Ali Saidi [Fri, 2 Dec 2011 01:36:22 +0000 (17:36 -0800)]
Trace: FIx issue with creation of trace file with output dir overhaul.
--HG--
extra : rebase_source :
c1ab57ea8805703d97cdee4f32410821a2d2a9db
Brad Beckmann [Thu, 1 Dec 2011 19:54:30 +0000 (11:54 -0800)]
regress: updated hammer memtest and rubytest outputs
--HG--
extra : rebase_source :
b02ad38b477d87bf28f7677c985ec7fe9a7d4694
gloh [Thu, 1 Dec 2011 18:08:52 +0000 (10:08 -0800)]
config: command line option to specify ruby output file
--HG--
extra : rebase_source :
df2237b2ce01b1a3e1d6f112a62deadde4d92420
Brad Beckmann [Thu, 1 Dec 2011 18:08:52 +0000 (10:08 -0800)]
MOESI_hammer: fixed L2 to L1 infinite stalls and deadlock
--HG--
extra : rebase_source :
90f217f28e195a8cee5d64b25c913b452d818676
Brad Beckmann [Thu, 1 Dec 2011 18:08:52 +0000 (10:08 -0800)]
physmem: Improved fatal message for size mismatch
--HG--
extra : rebase_source :
16da1c63263f8fd6fef9a842c577343cd6246a35