summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-03-21ruby: removed ruby.config from configs/exampleBrad Beckmann
2010-03-21ruby: Fixed small data msg bug in MOESI_hammer-dirBrad Beckmann
2010-03-21TimingSimpleCPU: Fixed uncacacheable request read bugBrad Beckmann
Previously the recording of an uncached read occurred after the request was possibly deleted within the translateTiming function.
2010-03-21ruby: Python config files now sets a unique id for each sequencerBrad Beckmann
2010-03-21ruby: fixed how ruby_fs creates phsyical memoryBrad Beckmann
Now ruby_fs creates physical memory of the right size.
2010-03-21ruby: Removed the no longer used rubymem filesBrad Beckmann
2010-03-21ruby: Fix MOESI_hammer cache profiler calls for L2 missesBrad Beckmann
2010-03-21ruby: Added a mesh network with directories at the cornersBrad Beckmann
The patch creates a specific mesh network where directories are at the corners. The patch is a good example of how to create an arbitrary network, similar to the old file specified network, while leveraging scripts and loops when possible.
2010-03-21ruby: Removed deprecated stats from the main profilerBrad Beckmann
2010-03-16orion: Make declarations match definitionNathan Binkert
2010-03-14ruby: Fix copyrights on filesNathan Binkert
Mostly files missed during import or screwed up during import
2010-03-12slicc: Change the code generation so that the generated code is easier to readNathan Binkert
2010-03-12packet: add a method to set the sizeNathan Binkert
2010-03-12eventq: rearrange a little bit so I can add some stuffNathan Binkert
2010-03-12eventq: remove some unused includesNathan Binkert
2010-03-12bugfix: since pow() causes a bug don't use itNathan Binkert
It's a power of two anyway, so why use it in the first place.
2010-03-10ruby: get rid of std-includes.hhNathan Binkert
Do not use "using namespace std;" in headers Include header files as needed
2010-03-10ruby: remove calc_host.diff since we don't use itNathan Binkert
2010-03-10ruby: get rid of the ioutil stuff since it isn't used anymoreNathan Binkert
2010-03-10slicc: have a central mechanism for creating a code_formatter.Nathan Binkert
This makes it easier to add global variables like protocol
2010-03-10scons: import ply to work around scons sys.path weirdnessNathan Binkert
2010-02-28SmartDict: Make SmartDict an attrdictNathan Binkert
2010-02-28uart: use integer versions of time instead of messing around with floatsNathan Binkert
2010-02-27Config: Fix fs.py's call to CacheConfig.config_cache.Gabe Black
2010-02-26cpu_models: get rid of cpu_models.py and move the stuff into SConsNathan Binkert
2010-02-26isa_parser: Make SCons import the isa_parserNathan Binkert
this is instead of forking a new interpreter
2010-02-26isa_parser: move the operand map stuff into the ISAParser class.Nathan Binkert
2010-02-26isa_parser: move more support functions into the ISAParser classNathan Binkert
2010-02-26isa_parser: move more stuff into the ISAParser classNathan Binkert
2010-02-26isa_parser: move the formatMap and exportContext into the ISAParser classNathan Binkert
2010-02-26isa_parser: Make stack objects class members instead of globalsNathan Binkert
2010-02-26isa_parser: add a debug variable that changes how errors are reported.Nathan Binkert
This allows us to get tracebacks in certain cases where they're more useful than our error message.
2010-02-26isa_parser: Use an exception to flag errorNathan Binkert
This allows the error to propagate more easily
2010-02-26isa_parser: Move more stuff into the ISAParser classNathan Binkert
2010-02-26isa_parser: move code around to prepare for putting more stuff in the classNathan Binkert
2010-02-26isa_parser: simple fixes, formatting and styleNathan Binkert
2010-02-26events: Give EventWrapped a default name and descriptionNathan Binkert
2010-02-25configs: pull out cache configuration code from se.py and fs.py.Lisa Hsu
Most of these frontend configurations share cache configuration code, pull it out so that changes to caches don't have to require changing multiple config files.
2010-02-25stats: update stats for the changes I pushed re: shared cache occupancyLisa Hsu
2010-02-24cache stats: account for writebacks and/or device occupancy in the cache.Lisa Hsu
Plus, a minor bugfix that neglects to update blk->contextSrc in certain cases on a cache insert.
2010-02-23cache: Make caches sharing aware and add occupancy stats.Lisa Hsu
On the config end, if a shared L2 is created for the system, it is parameterized to have n sharers as defined by option.num_cpus. In addition to making the cache sharing aware so that discriminating tag policies can make use of context_ids to make decisions, I added an occupancy AverageStat and an occ % stat to each cache so that you could know which contexts are occupying how much cache on average, both in terms of blocks and percentage. Note that since devices have context_id -1, having an array of occ stats that correspond to each context_id will break here, so in FS mode I add an extra bucket for device blocks. This bucket is explicitly not added in SE mode in order to not only avoid ugliness in the stats.txt file, but to avoid broken stats (some formulas break when a bucket is 0).
2010-02-23stats: this makes some fixes to AverageStat and AverageVector.Lisa Hsu
Also, make Formulas work on AverageVector. First, Stat::Average (and thus Stats::AverageVector) was broken when coming out of a checkpoint and on resets, this fixes that. Formulas also didn't work with AverageVector, but added support for that.
2010-02-23cache: pull CacheSet out of LRU so that other tags can use associative sets.Lisa Hsu
2010-02-20BaseDynInst: Preserve the faults returned from read and write.Timothy M. Jones
When implementing timing address translations instead of atomic, I forgot to preserve the faults that are returned from the read and write calls. This patch reinstates them.
2010-02-12O3PCU: Split loads and stores that cross cache line boundaries.Timothy M. Jones
When each load or store is sent to the LSQ, we check whether it will cross a cache line boundary and, if so, split it in two. This creates two TLB translations and two memory requests. Care has to be taken if the first packet of a split load is sent but the second blocks the cache. Similarly, for a store, if the first packet cannot be sent, we must store the second one somewhere to retry later. This modifies the LSQSenderState class to record both packets in a split load or store. Finally, a new const variable, HasUnalignedMemAcc, is added to each ISA to indicate whether unaligned memory accesses are allowed. This is used throughout the changed code so that compiler can optimise away code dealing with split requests for ISAs that don't need them.
2010-02-12BaseDynInst: Make the TLB translation timing instead of atomic.Timothy M. Jones
This initiates a timing translation and passes the read or write on to the processor before waiting for it to finish. Once the translation is finished, the instruction's state is updated via the 'finish' function. A new DataTranslation class is created to handle this. The idea is taken from the implementation of timing translations in TimingSimpleCPU by Gabe Black. This patch also separates out the timing translations from this CPU and uses the new DataTranslation class.
2010-02-12Power ISA: Add an alignment fault to Power ISA and check alignment in TLB.Timothy M. Jones
2010-02-10ruby: fixed data block assignment fixBrad Beckmann
Fixed data block assignment to not delete if not internally allocated.
2010-02-10ruby: Initialize sender in MI_example-dirBrad Beckmann
2010-02-10ruby: Fixed slicc to initialize the m_is_blocking flagBrad Beckmann