summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-03-22MEM: Split SimpleTimingPort into PacketQueue and portsAndreas Hansson
This patch decouples the queueing and the port interactions to simplify the introduction of the master and slave ports. By separating the queueing functionality from the port itself, it becomes much easier to distinguish between master and slave ports, and still retain the queueing ability for both (without code duplication). As part of the split into a PacketQueue and a port, there is now also a hierarchy of two port classes, QueuedPort and SimpleTimingPort. The QueuedPort is useful for ports that want to leave the packet transmission of outgoing packets to the queue and is used by both master and slave ports. The SimpleTimingPort inherits from the QueuedPort and adds the implemention of recvTiming and recvFunctional through recvAtomic. The PioPort and MessagePort are cleaned up as part of the changes. --HG-- rename : src/mem/tport.cc => src/mem/packet_queue.cc rename : src/mem/tport.hh => src/mem/packet_queue.hh
2012-03-22Scons: Remove Werror=False in SConscript filesAndreas Hansson
This patch removes the overriding of "-Werror" in a handful of cases. The code compiles with gcc 4.6.3 and clang 3.0 without any warnings, and thus without any errors. There are no functional changes introduced by this patch. In the future, rather than ypassing "-Werror", address the warnings.
2012-03-21Python: Fix a conditional expression that requires Python 2.5Andreas Hansson
This patch changes a conditional expression to a conventional if/else block, which does not require Python >= 2.5.
2012-03-21ARM: Update stats for IT and conditional branch changesAli Saidi
2012-03-21ARM: Fix case where cond/uncond control is mis-specifiedNathanael Premillieu
2012-03-21ARM: Clean up condCodes in IT blocks.Ali Saidi
2012-03-21ARM: IT doesn't need to be serializing.Geoffrey Blake
2012-03-21O3: Fix sizing of decode to rename skid buffer.Andrew Lukefahr
2012-03-21ARM: Add RTC to PBX SystemKoan-Sin Tan
2012-03-21O3: Fix size of skid buffer between fetch and decode when widths are differentBrian Grayson
2012-03-21ARM: Fix uninitialized value in ARM RTC model.Ali Saidi
2012-03-19Garnet: Stats at vnet granularity + code cleanupTushar Krishna
This patch (1) Moves redundant code from fixed and flexible networks to BaseGarnetNetwork. (2) Prints network stats at vnet granularity.
2012-03-19gcc: Clean-up of non-C++0x compliant code, first stepsAndreas Hansson
This patch cleans up a number of minor issues aiming to get closer to compliance with the C++0x standard as interpreted by gcc and clang (compile with std=c++0x and -pedantic-errors). In particular, the patch cleans up enums where the last item was succeded by a comma, namespaces closed by a curcly brace followed by a semi-colon, and the use of the GNU-extension typeof (replaced by templated functions). It does not address variable-length arrays, zero-size arrays, anonymous structs, range expressions in switch statements, and the use of long long. The generated CPU code also has a large number of issues that remain to be fixed, mainly related to overflows in implicit constant conversion (due to shifts).
2012-03-19clang: Fix recently introduced clang compilation errorsAndreas Hansson
This patch makes the code compile with clang 2.9 and 3.0 again by making two very minor changes. Firt, it maintains a strict typing in the forward declaration of the BaseCPUParams. Second, it adds a FullSystemInt flag of the type unsigned int next to the boolean FullSystem flag. The FullSystemInt variable can be used in decode-statements (expands to switch statements) in the instruction decoder.
2012-03-19scripts: Fix to ensure that port connection count is always setAndreas Hansson
This patch ensures that the port connection count is set to zero in those cases when the port is not connected.
2012-03-16ruby_fs.py: Add call to createInterruptController()Nilay Vaish
2012-03-16FSConfig.py: fix a typo makeLinuxAlphaRubySystemNilay Vaish
2012-03-16build: remove implicit-cache setting of scons from recent build faster patchMarc Orr
2012-03-11se.py: Changes to ruby portion due to SE/FS mergeNilay Vaish
With the SE/FS merge, interrupt controller is created irrespective of the mode. This patch creates the interrupt controller when Ruby is used and connects its ports.
2012-03-11O3: Add fatal when fetchWidth > Impl::MaxWidth.Brian Grayson
2012-03-09ARM: Fix memory starting at non-zero address and exceeding max mem for a system.Ali Saidi
2012-03-09ARM: Update stats for CBNZ fix.Ali Saidi
2012-03-09ARM: Fix branch prediction issue with CB(N)Z instructionBrian Grayson
2012-03-09ARM: Update stats for valgrind fix and replace config.inis which are out of ↵Ali Saidi
date.
2012-03-09O3/Ozone: Eliminate dead code counting software prefetch instsGeoffrey Blake
Eliminates dead code in the O3 and Ozone CPU models that counted software prefetch instructions separately for the ALPHA ISA only.
2012-03-09CheckerCPU: Make some basic regression tests for CheckerCPUGeoffrey Blake
Adds regression tests for the CheckerCPU. ARM ISA support only at this point.
2012-03-09CheckerCPU: Add function stubs to non-ARM ISA source to compile with CheckerCPUGeoffrey Blake
Making the CheckerCPU a runtime time option requires the code to be compatible with ISAs other than ARM. This patch adds the appropriate function stubs to allow compilation.
2012-03-09CheckerCPU: Make CheckerCPU runtime selectable instead of compile selectableGeoffrey Blake
Enables the CheckerCPU to be selected at runtime with the --checker option from the configs/example/fs.py and configs/example/se.py configuration files. Also merges with the SE/FS changes.
2012-03-09ARM: Don't reset CPUs that are going to be switched in.Ali Saidi
2012-03-09System: Move code in initState() back into constructor whenever possible.Ali Saidi
The change to port proxies recently moved code out of the constructor into initState(). This is needed for code that loads data into memory, however for code that setups symbol tables, kernel based events, etc this is the wrong thing to do as that code is only called when a checkpoint isn't being restored from.
2012-03-09ARM: Fix valgrind reported error on O3 that was causing minor stats changes.Ali Saidi
2012-03-09cache: Allow main memory to be at disjoint address ranges.Ali Saidi
2012-03-08Fix the SPARC fs regression by adding a call to createInterruptController.Gabe Black
2012-03-06build scripts: Made minor modifications to reduce build overhead time.Marc Orr
1. --implicit-cache behavior is default. 2. makeEnv in src/SConscript is conditionally called. 3. decider set to MD5-timestamp 4. NO_HTML build option changed to SLICC_HTML (defaults to False)
2012-03-06Stats: Update stats for changeset 8868Andreas Hansson
Changeset 8868 slightly changes the statistics for the parser and bzip2 regressions for ARM o3-timing. This patch merely updates the statistics to reflect these changes.
2012-03-02SConstruct: rename and document AddM5OptionSteve Reinhardt
Got rid of gratuitous M5 reference in the function name. In the process, wondered why we have this function at all and spent time trying to get rid of it and eventually firgured out why it's needed. Put the answer in a comment so we don't have to wonder again.
2012-03-02SConstruct: update comments & doc stringsSteve Reinhardt
Lots of references to 'M5' still, and some to SE/FS
2012-03-02DynInst: get rid of dead MyHash code.Steve Reinhardt
Not sure what this was ever used for, but it doesn't seem used anymore.
2012-03-02CPU: Check that the interrupt controller is created when neededAndreas Hansson
This patch adds a creation-time check to the CPU to ensure that the interrupt controller is created for the cases where it is needed, i.e. if the CPU is not being switched in later and not a checker CPU. The patch also adds the "createInterruptController" call to a number of the regression scripts.
2012-03-02Stats: Fix the realview regression stats after nvmem moveAndreas Hansson
This patch updates the realview regressions stats to reflect that nvmem moved in the object hierarchy and is now under system.realview.
2012-03-02Ruby: Rename RubyPort::sendTiming to avoid overriding base classAndreas Hansson
This patch renames the sendTiming member function in the RubyPort to avoid inadvertently hiding Port::sendTiming (discovered through some rather painful debugging). The RubyPort does, in fact, rely on the functionality of the queued port and the implementation merely schedules a send the next cycle. The new name for the member function is sendNextCycle to better reflect this behaviour. In the unlikely event that we ever shift to using C++11 the member functions in Port should have a "final" identifier to prevent any overriding in derived classes.
2012-03-02ARM: FIx a bug preventing multiple cores booting a VExpress_EMM machine.Ali Saidi
New kernel code verifies that multi-processor extensions are available before booting secondary CPUs.
2012-03-01ARM: FIx missing cf controller connection.Ali Saidi
2012-03-01VNC: spacingChander Sudanthi
Fixed some spacing in a switch statement
2012-03-01ARM: Add support for Versatile Express extended memory mapAli Saidi
Also clean up how we create boot loader memory a bit.
2012-03-01ARM: Add RTC device for ARM platforms.Ali Saidi
This change implements a PL031 real time clock. --HG-- rename : src/dev/arm/timer_sp804.cc => src/dev/arm/rtc_pl031.cc rename : src/dev/arm/timer_sp804.hh => src/dev/arm/rtc_pl031.hh
2012-03-01ARM: Add limited CP14 support.Matt Horsnell
New kernels attempt to read CP14 what debug architecture is available. These changes add the debug registers and return that none is currently available.
2012-03-01Cache: Fix an issue with LRU when bonus block is used to complete transaction.Ali Saidi
The block is never inserted because it's the one extra block in the cache, but it can be invalidated twice in a row. In that case the block doesn't have a new master id (beacuse it was never inserted), however it is valid and the accounting goes wrong at that point.
2012-03-01ARM: move kernel func event to correct location.Dam Sunwoo
With the recent series of patches, the symbol table loading moved from "construct" time to "init" time, but the kernel function event callback registration was left behind. This patch moves it to the proper location.
2012-03-01ARM: fix bits-to-fp conversion function declarations.Giacomo Gabrielli
Add extra declarations to allow the compiler to pick up the right function. Please note that these declarations have been added as part of the clang-related changes.