14299:2fbea9df56d2 |
23-Sep-2019 |
Bobby R. Bruce <bbruce@ucdavis.edu> |
ext: Updated Pybind11 to version 2.4.1.
This updates Pybind11 from version 2.2.1 to version 2.4.1. This fixes warning/error received when "<experiment/optional>" is used when compiling using c++14 with clang. It should be noted that "ext/pybind11/include/pybind11/std.h" has been changed to include a fix added by commit ba42457254cc362eddc099f22b60d469cc6369e0. This is necessary to avoid build errors.
Built: Linux (gcc, c++11) and MacOS (clang, c++14). Tested: Ran quick tests for X86, ARM, and RISC-V. Deprecates: https://gem5-review.googlesource.com/c/public/gem5/+/21019 Change-Id: Ie9783511cb6be50136076a55330e645f4f36d075 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21119 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Tested-by: kokoro <noreply+kokoro@google.com> |
14141:b3ceff47211a |
18-Jun-2019 |
Nikos Nikoleris <nikos.nikoleris@arm.com> |
tests: Refactor the Gem5Fixture to derive from UniqueFixture
Gem5Fixture is used to define a fixture for building the gem5 binary. Most tests are expected to define their own Gem5Fixture, however, as some might depend on the same binary (e.g., ./build/ARM/gem5.opt), they will try to re-define a fixture for the same target. This patchset changes Gem5Fixture to derive from UniqueFixture.
In addition, this patchset changes the way global fixtures are discovered to work with the new Gem5Fixture class. Instead of enumerating them when test definitions are loaded, we do so after the tests have been filtered according to specified tags (e.g., include opt variant, exclude fast, debug variants).
Change-Id: Ie868a7e18ef6c3271f3c8a658229657cd43997cb Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19251 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com> |
13791:435826029a61 |
14-Mar-2019 |
Jason Lowe-Power <jason@lowepower.com> |
ext,tests: Add back failing exceptions
Change-Id: Idf4ba8a2a3888787abf33d1a4ac52fcf146ce732 Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17452 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> |
13790:ed7f0a384c22 |
13-Mar-2019 |
Jason Lowe-Power <jason@lowepower.com> |
tests,ext: Add skip_cleanup implementation for TempdirFixture
Change-Id: Idc5ec9309a4ef3c0ad0c7e8b2df47294acc97ec4 Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17451 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> |
13789:d7b2be2c468b |
14-Mar-2019 |
Jason Lowe-Power <jason@lowepower.com> |
ext,tests: Make return code based on test results
This patch also fixes a spelling mistake.
Change-Id: I8635216e512c10913a9cda54541d7e31e0d22a40 Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17450 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> |
13788:becab13ee708 |
12-Mar-2019 |
Jason Lowe-Power <jason@lowepower.com> |
ext,test: Provide default terminal size
When creating the separator for printing things to the terminal (=.*) we use an ioctl that isn't supported in some sandboxed environments. When running on the Google jenkins server (kokoro) it errors with an IOError.
Change-Id: I148dd87cffe6e93d6723a386aecf9a9ea6c5b455 Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17449 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> |
13704:5fc317541cb6 |
20-Feb-2019 |
Gabe Black <gabeblack@google.com> |
ext: test: Split up the GTEST_CPPFLAGS and CPPFLAGS.
scons seems to get confused in some situations when this is a single large string and passes it as one big argument to g++ instead of breaking it up into several arguments.
We need to do the work for it and break it into individual arguments, like what was already being done with GTEST_LIBS.
Also wrap some overly long lines.
Change-Id: Ib7688a7abced43a9c62994d17b78d358fc0dc000 Reviewed-on: https://gem5-review.googlesource.com/c/16567 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Gabe Black <gabeblack@google.com> |
13578:54b8a3a55e4a |
21-Dec-2018 |
Ciro Santilli <ciro.santilli@arm.com> |
ext: import GDB XML target description files for arm
The XML files were copied from the binutils-gdb source tree under gdb/features at tag gdb-8.2-release Those XML files have a different copyright header than the rest of binutils-gdb which allows them to be copied into non-GPL projects.
Change-Id: I49bdeaad91ceb284c73cc0b861906ce09e44ca1d Reviewed-on: https://gem5-review.googlesource.com/c/15256 Maintainer: Gabe Black <gabeblack@google.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> |
13540:da30e62884ee |
10-Jan-2019 |
Andrea Mondelli <andrea.mondelli@ucf.edu> |
misc: updated shabang for python script
The default python on MacOS doesn’t have an alias to python2. The official python version supported in gem5 is Python2.7.
This patch updates the shabang according to the version required in gem5.
Change-Id: I9533c0f7858b5b3cab0ef101be1ee5cd718105b0 Reviewed-on: https://gem5-review.googlesource.com/c/15375 Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> |
13484:3f28e9f7949b |
02-Oct-2018 |
Matteo Andreozzi <Matteo.Andreozzi@arm.com> |
ext: Remove unused bankwiseMode variable
Apple LLVM version 10.0.0 (clang-1000.11.45.2) complains about unused members variables
Change-Id: If1f2210c09e80b632cb3688aaa7df0594f9e49c9 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/13228 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> |
13481:0a2c5afe5163 |
03-Dec-2018 |
Giacomo Travaglini <giacomo.travaglini@arm.com> |
ext: Build googlemock with googletest
googlemock needs to be built together with googletest. This patch is enabling it by doing the following things
* Moving googletest and googlemock under the same top level directory, so that we have a single SConscript for building them. This also matches googletest directory structure: googletest |_googletest |_googlemock
* Adding a shared SConscript which is building gmock and gtest as libgtest * Removing googletest/SConscript
Change-Id: I88accbdd2e80fb47efaa17819233371fbad6acaa Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Ciro Santilli <ciro.santilli@arm.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/14696 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13480:67e6c2c91e54 |
14-Nov-2018 |
Giacomo Travaglini <giacomo.travaglini@arm.com> |
ext: Import googlemock, release version 1.8.0
gtest 1.8.0 is already part of gem5; this patch adds a matching gmock so that it is possible to create Mocks in gem5 unit tests.
Please note: the commit is just importing the source code as it is without adding any SConscript; it is hence unbuildable at the moment. Next commits will integrate the mocking framework into the gem5 build system
Change-Id: Iaf05ad91b1964aac7ea37085f839027a8d34ba3e Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Ciro Santilli <ciro.santilli@arm.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/14695 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com> Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
12942:012ed559070a |
17-Aug-2018 |
Sean Wilson <spwilson2@wisc.edu> |
testlib: No catch of custom exceptions in sandbox
Custom exceptions are not always properly pickled which could lead to the sandbox test executor to crash when it tries to re __init__ pickled exceptions thrown from the failed test.
Change-Id: I4e2ffe5802dda668b5d61c5a16e0989717121a04 Signed-off-by: Sean Wilson <spwilson27@gmail.com> Reviewed-on: https://gem5-review.googlesource.com/12167 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> |
12894:6fdceb5c835f |
31-Jul-2018 |
Jason Lowe-Power <jason@lowepower.com> |
ext: Cherry-pick pybind change to support GCC 8
GCC 8's -Wcast-function-type didn't like this line in pybind. Rather than updating pybind to the HEAD, we'll wait for a new release. The last release was in April and didn't include this change.
See https://github.com/pybind/pybind11/pull/1396.
Change-Id: I199c3023487d5a73a745396df8e7fcd6635a146c Reported-by: Thawra Kadeed <kadeed@ida.ing.tu-bs.de> Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/11909 Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br> |
12882:dd87d7f2f3e5 |
03-Aug-2017 |
Sean Wilson <spwilson2@wisc.edu> |
tests,ext: Add a new testing library proposal
The new test library is split into two parts: The framework which resides in ext/, and the gem5 helping components in /tests/gem5.
Change-Id: Ib4f3ae8d7eb96a7306335a3e739b7e8041aa99b9 Signed-off-by: Sean Wilson <spwilson2@wisc.edu> Reviewed-on: https://gem5-review.googlesource.com/4421 Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> |
12749:223c83ed9979 |
04-Jun-2018 |
Giacomo Travaglini <giacomo.travaglini@arm.com> |
misc: Using smart pointers for memory Requests
This patch is changing the underlying type for RequestPtr from Request* to shared_ptr<Request>. Having memory requests being managed by smart pointers will simplify the code; it will also prevent memory leakage and dangling pointers.
Change-Id: I7749af38a11ac8eb4d53d8df1252951e0890fde3 Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/10996 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com> |
12563:8d59ed22ae79 |
06-Mar-2018 |
Gabe Black <gabeblack@google.com> |
scons: Switch from the print statement to the print function.
Starting with version 3, scons imposes using the print function instead of the print statement in code it processes. To get things building again, this change moves all python code within gem5 to use the function version. Another change by another author separately made this same change to the site_tools and site_init.py files.
Change-Id: I2de7dc3b1be756baad6f60574c47c8b7e80ea3b0 Reviewed-on: https://gem5-review.googlesource.com/8761 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Gabe Black <gabeblack@google.com> |
12429:beefb9f5f551 |
09-Jan-2018 |
BKP <brandon.potter@amd.com> |
style: change C/C++ source permissions to noexec
Several files in the repository were tracked with execute permissions even though the files are just normal C/C++ files (and the one .isa).
Change-Id: I976b096acab4a1fc74c5699ef1f9b222c1e635c2 Reviewed-on: https://gem5-review.googlesource.com/7241 Reviewed-by: Gabe Black <gabeblack@google.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> |
12392:e0dbdf30a2a5 |
13-Dec-2017 |
Jason Lowe-Power <jason@lowepower.com> |
misc: Updates for gcc7.2 for x86
GCC 7.2 is much stricter than previous GCC versions. The following changes are needed:
* There is now a warning if there is an implicit fallthrough between two case statments. C++17 adds the [[fallthrough]]; declaration. However, to support non C++17 standards (i.e., C++11), we use M5_FALLTHROUGH. M5_FALLTHROUGH checks for [[fallthrough]] compliant C++17 compiler and if that doesn't exist, it defaults to nothing (no older compilers generate warnings). * The above resulted in a couple of bugs that were found. This is noted in the review request on gerrit. * throw() for dynamic exception specification is deprecated * There were a couple of new uninitialized variable warnings * Can no longer perform bitwise operations on a bool. * Must now include <functional> for std::function * Compiler bug for void* lambda. Changed to auto as work around. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82878
Change-Id: I5d4c782a4e133fa4cdb119e35d9aff68c6e2958e Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/5802 Reviewed-by: Gabe Black <gabeblack@google.com> |
12391:ceeca8b41e4b |
17-Nov-2017 |
Jason Lowe-Power <jason@lowepower.com> |
ext: Upgrade PyBind11 to version 2.2.1
This upgrade is necessary for pybind to build with GCC 7.2.
We still need to add the patch for stl.h. MSC_FULL_VER change is no longer needed. See https://gem5-review.googlesource.com/c/public/gem5/+/2230
Change-Id: I806729217d022070583994c2dfcaa74476aef30f Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/5801 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> |
12334:e0ab29a34764 |
30-Nov-2017 |
Gabe Black <gabeblack@google.com> |
misc: Rename misc.(hh|cc) to logging.(hh|cc)
These files aren't a collection of miscellaneous stuff, they're the definition of the Logger interface, and a few utility macros for calling into that interface (panic, warn, etc.).
Change-Id: I84267ac3f45896a83c0ef027f8f19c5e9a5667d1 Reviewed-on: https://gem5-review.googlesource.com/6226 Reviewed-by: Brandon Potter <Brandon.Potter@amd.com> Maintainer: Gabe Black <gabeblack@google.com> |
12312:5c73feeac300 |
22-Nov-2017 |
Gabe Black <gabeblack@google.com> |
tests: scons: Integrate the googletest library into the build.
A static library is built using gtest-all.cc and includes the gtest main function from gtest_main.cc. extra libraries to use when linking are included in the main environment variable GTEST_LIBS, and extra CPPFLAGS are in GTEST_CPPFLAGS. The library's path is added to the library search path, and it's headers to the header search path.
Change-Id: I2bd6f705bd9fac5db9280996f574b168c11ff8ce Reviewed-on: https://gem5-review.googlesource.com/6083 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> |
12311:932e3c52c06b |
22-Nov-2017 |
Gabe Black <gabeblack@google.com> |
tests: Import the googletest library, release version 1.8.0.
Change-Id: Ic6c1391a19238011ff5cc97f513dbdc020dc6144 Reviewed-on: https://gem5-review.googlesource.com/6082 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> |
12266:63b8da9eeca4 |
19-Dec-2016 |
Radhika Jagtap <radhika.jagtap@arm.com> |
ext, mem: Pull DRAMPower SHA 90d6290 and rebase
This patch syncs the DRAMPower library of gem5 to the external github (https://github.com/ravenrd/DRAMPower).
The version pulled in is the commit: 90d6290f802c29b3de9e10233ceee22290907ce6 from 30th Oct. 2016.
This change also modifies the DRAM Ctrl interaction with the DRAMPower, due to changes in the lib API in the above version.
Previously multiple functions were called to prepare the power lib before calling the function that would calculate the enery. With the new API, these functions are encompassed inside the function to calculate the energy and therefore should now be removed from the DRAM controller.
The other key difference is the introduction of a new function called calcWindowEnergy which can be useful for any system that wants to do measurements over intervals. For gem5 DRAM ctrl that means we now need to accumulate the window energy measurements into the total stat.
Change-Id: I3570fff2805962e166ff2a1a3217ebf2d5a197fb Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/5724 Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> |
12046:35899b7da75f |
19-May-2017 |
Gabe Black <gabeblack@google.com> |
ext: Revamp the systemc SConscripts.
The existing scripts were including pthread code and QT code at the same time, and also insisting on an having a set of architecture specific source files for whatever the current architecture is.
This change selects using either QT or pthreads based on the host architecture, distributes accumulating source files, list source files explicitly (to avoid including redundant coroutine libraries) and makes scons insist on an architecture specific QT implementation only if QT is being used. It also defines a preprocessor symbol which tells some headers whether or not pthreads are being used, and also clones the scons environment to avoid leaking flags into the main environment used to compile gem5 itself.
If the host architecture isn't supported by systemc, a warning will be printed, and the various build products and SConscript files will be skipped over.
Change-Id: I1a40123a11e49e02922a054f093246cf197087bf Reviewed-on: https://gem5-review.googlesource.com/3461 Reviewed-by: Matthias Jung <jungma@eit.uni-kl.de> Reviewed-by: Christian Menard <christian.menard@tu-dresden.de> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> |
12037:d28054ac6ec9 |
09-May-2017 |
Andreas Sandberg <andreas.sandberg@arm.com> |
ext: Upgrade PyBind11 to version 2.1.1
Change-Id: I16870dec402d661295f9d013dc23e362b2b2c169 Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Curtis Dunham <curtis.dunham@arm.com> Reviewed-on: https://gem5-review.googlesource.com/3225 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> |
12027:1eb7dc7aa10b |
01-Mar-2017 |
Matthias Jung <jungma@eit.uni-kl.de> |
ext: Include SystemC 2.3.1 into gem5
In the past it happened several times that some changes in gem5 broke the SystemC coupling. Recently Accelera has changed the licence for SystemC from their own licence to Apache2.0, which is compatible with gem5. However, SystemC usually relies on the Boost library, but I was able to exchange the boost calls by c++11 alternatives. The recent SystemC version is placed into /ext and is integrated into gem5's build system. The goal is to integrate some SystemC tests for the CI in some following patches.
Change-Id: I4b66ec806b5e3cffc1d7c85d3735ff4fa5b31fd0 Reviewed-on: https://gem5-review.googlesource.com/2240 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> |
11987:e11f9aa23297 |
27-Feb-2017 |
Andreas Sandberg <andreas.sandberg@arm.com> |
ext: Fix undefined macro in pybind
Change-Id: I63a2506d3c028f78cacce8308e2f0e4880531dec Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Andreas Hansson <andreas.hansson@arm.com> Reviewed-by: Curtis Dunham <curtis.dunham@arm.com> Reviewed-on: https://gem5-review.googlesource.com/2230 Reviewed-by: Tony Gutierrez <anthony.gutierrez@amd.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Pierre-Yves PĂ©neau <pierre-yves.peneau@lirmm.fr> |
11986:c12e4625ab56 |
27-Feb-2017 |
Andreas Sandberg <andreas.sandberg@arm.com> |
ext: Add pybind rev f4b81b3
Change-Id: I52e4fc9ebf2f59da57d8cf8f3e37cc79598c2f5f Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Andreas Hansson <andreas.hansson@arm.com> Reviewed-by: Curtis Dunham <curtis.dunham@arm.com> Reviewed-on: https://gem5-review.googlesource.com/2229 Reviewed-by: Tony Gutierrez <anthony.gutierrez@amd.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Pierre-Yves PĂ©neau <pierre-yves.peneau@lirmm.fr> |
11887:f08918a690cf |
05-Feb-2017 |
Andreas Sandberg <andreas.sandberg@arm.com> |
scons: Automatically add a git commit message hook
Gerrit requires that all commit messages have a Change-Id tag. This tag is added automatically by a commit message hook in Git. Include the default Gerrit commit message hook and add it automatically using scons to make life easier for everyone.
Change-Id: I1270fbaaadf6ed151bddf14521a38e0c1a02d131 Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/2166 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> |
11828:36b064696175 |
10-Feb-2017 |
Jason Lowe-Power <jason@lowepower.com> |
misc: Update #!env calls for python to explicit version
In some newer Linux distributions, env python default to Python 3.0. This patch explicitly uses "python2" instead of just "python" for all scripts that use #!
Reported-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Jason Lowe-Power <jason@lowepower.com> |
11723:0596db108c53 |
30-Nov-2016 |
Alec Roelke <ar4jc@virginia.edu> |
arch: [Patch 1/5] Added RISC-V base instruction set RV64I
First of five patches adding RISC-V to GEM5. This patch introduces the base 64-bit ISA (RV64I) in src/arch/riscv for use with syscall emulation. The multiply, floating point, and atomic memory instructions will be added in additional patches, as well as support for more detailed CPU models. The loader is also modified to be able to parse RISC-V ELF files, and a "Hello world\!" example for RISC-V is added to test-progs.
Patch 2 will implement the multiply extension, RV64M; patch 3 will implement the floating point (single- and double-precision) extensions, RV64FD; patch 4 will implement the atomic memory instructions, RV64A, and patch 5 will add support for timing, minor, and detailed CPU models that is missing from the first four patches (such as handling locked memory).
[Removed several unused parameters and imports from RiscvInterrupts.py, RiscvISA.py, and RiscvSystem.py.] [Fixed copyright information in RISC-V files copied from elsewhere that had ARM licenses attached.] [Reorganized instruction definitions in decoder.isa so that they are sorted by opcode in preparation for the addition of ISA extensions M, A, F, D.] [Fixed formatting of several files, removed some variables and instructions that were missed when moving them to other patches, fixed RISC-V Foundation copyright attribution, and fixed history of files copied from other architectures using hg copy.] [Fixed indentation of switch cases in isa.cc.] [Reorganized syscall descriptions in linux/process.cc to remove large number of repeated unimplemented system calls and added implmementations to functions that have received them since it process.cc was first created.] [Fixed spacing for some copyright attributions.] [Replaced the rest of the file copies using hg copy.] [Fixed style check errors and corrected unaligned memory accesses.] [Fix some minor formatting mistakes.] Signed-off by: Alec Roelke
Signed-off by: Jason Lowe-Power <jason@lowepower.com> |
11708:0bb9093e4bbd |
18-Nov-2016 |
Andreas Sandberg <andreas.sandberg@arm.com> |
ext: Update fputils to rev 13589cd
This patch updates fputils to the latest revision (13589cd) from the upstream repository (github.com/andysan/fputils). |
11647:1ede1b60b318 |
20-Sep-2016 |
Curtis Dunham <Curtis.Dunham@arm.com> |
ext: update SST test config
Align configuration with new SST change [1] requiring units for memHierarchy's backend.mem_size parameter.
[1] https://github.com/sstsimulator/sst-elements/commit/c901abb4e79644ff18f5222c94f5dae012772e1e
Change-Id: I19fa09bec8aa453dc52d154598a4ebb20ea304d8 |
11618:37b0af2c7ba8 |
02-Sep-2016 |
Curtis Dunham <Curtis.Dunham@arm.com> |
ext: eliminate warnings in SST connector
Now compiles completely clean. |
11617:a51ae096ca25 |
24-Aug-2016 |
Curtis Dunham <Curtis.Dunham@arm.com> |
commit 15c633eea52f21dae8cb3a195823b3cdec7be491 Author: Curtis Dunham <Curtis.Dunham@arm.com> ext: update SST connector for SST 6.0 |
11555:2efa95cf8504 |
01-Jul-2016 |
Matthias Jung <jungma@eit.uni-kl.de> |
ext: Update DRAMPower
Sync DRAMPower to external tool
This patch syncs the DRAMPower library of gem5 to the external one on github (https://github.com/ravenrd/DRAMPower) of which I am a maintainer.
The version used is the commit: 902a00a1797c48a9df97ec88868f20e847680ae6 from 07. May. 2016.
Committed by Jason Lowe-Power <jason@lowepower.com> |
11435:0f1b46dde3fa |
07-Apr-2016 |
Mitch Hayenga <mitch.hayenga@arm.com> |
mem: Remove threadId from memory request class
In general, the ThreadID parameter is unnecessary in the memory system as the ContextID is what is used for the purposes of locks/wakeups. Since we allocate sequential ContextIDs for each thread on MT-enabled CPUs, ThreadID is unnecessary as the CPUs can identify the requesting thread through sideband info (SenderState / LSQ entries) or ContextID offset from the base ContextID for a cpu.
This is a re-spin of 20264eb after the revert (bd1c6789) and includes some fixes of that commit. |
11429:cf5af0cc3be4 |
06-Apr-2016 |
Andreas Sandberg <andreas.sandberg@arm.com> |
Revert power patch sets with unexpected interactions
The following patches had unexpected interactions with the current upstream code and have been reverted for now:
e07fd01651f3: power: Add support for power models 831c7f2f9e39: power: Low-power idle power state for idle CPUs 4f749e00b667: power: Add power states to ClockedObject
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> |
11428:20264eb69fbf |
05-Apr-2016 |
Mitch Hayenga <mitch.hayenga@arm.com> |
mem: Remove threadId from memory request class
In general, the ThreadID parameter is unnecessary in the memory system as the ContextID is what is used for the purposes of locks/wakeups. Since we allocate sequential ContextIDs for each thread on MT-enabled CPUs, ThreadID is unnecessary as the CPUs can identify the requesting thread through sideband info (SenderState / LSQ entries) or ContextID offset from the base ContextID for a cpu. |
11315:10647f5d0f7f |
04-Feb-2016 |
Curtis Dunham <Curtis.Dunham@arm.com> |
ext: fix SST connector
Should work with SST 5.1 and trunk as of right now. |
11314:4a5f52f2defa |
29-Jan-2016 |
Curtis Dunham <Curtis.Dunham@arm.com> |
ext: remove redundant parameter in example SST+gem5 test
The SST connector automatically adds --initialize-only to the gem5 "command line" (as it should); the config script doesn't need it. |
11313:89fd4a775287 |
28-Jan-2016 |
Andreas Sandberg <andreas.sandberg@arm.com> |
ext: Update NoMali to external rev f08e0a5
Update NoMali from external revision 9adf9d6 to f08e0a5 and bring in the following changes:
f08e0a5 Add support for tracking address space state f11099e Fix job slot register handling when running new jobs b28c98e api: Add a reset callback 29ac4c3 tests: Update gitignore to cover all future test cases 1c6b893 Propagate reset calls to all job slots 8f8ec15 Remove redundant reg vector in MMU 85d90d2 tests: Fix incorrect extern declaration |
11294:a368064a2ab5 |
11-Jan-2016 |
Andreas Hansson <andreas.hansson@arm.com> |
scons: Enable -Wextra by default
Make best use of the compiler, and enable -Wextra as well as -Wall. There are a few issues that had to be resolved, but they are all trivial. |
11293:25352d3d491e |
11-Jan-2016 |
Andreas Hansson <andreas.hansson@arm.com> |
ext: Replace gzstream with iostream3 from zlib to avoid LGPL
This patch replaces the gzstream zlib wrapper with the iostream3 wrapper provided as part of zlib contributions. The main reason for the switch is to avoid including LGPL in the default gem5 build. iostream3 is provided under a more permissive license:
The code is provided "as is", with the permission to use, copy, modify, distribute and sell it for any purpose without fee. |
11254:2c263c3426fa |
08-Dec-2015 |
Curtis Dunham <Curtis.Dunham@arm.com> |
ext: fix SST connector
Writeback no longer a MemCmd. |
11158:a84eecaaa866 |
06-Oct-2015 |
Curtis Dunham <Curtis.Dunham@arm.com> |
ext: fix SST connector
The renamings in changesets 8f5993cf (2015-03-23) "mem: rename Locked/LOCKED to LockedRMW/LOCKED_RMW" and fdd4a895 (2015-07-03) "mem: Split WriteInvalidateReq into write and invalidate" broke the SST connector. This commit repeats those renamings in ext/sst. |
10915:71ace17ccb3d |
07-Jul-2015 |
Andreas Sandberg <andreas.sandberg@arm.com> |
ext: Add the NoMali GPU no-simulation library
Add revision 9adf9d6e2d889a483a92136c96eb8a434d360561 of NoMali-model from https://github.com/ARM-software/nomali-model. This library implements the register interface of the Mali T6xx/T7xx series GPUs, but doesn't do any rendering. It can be used to hide the effects of software rendering. |
10780:46070443051e |
08-Apr-2015 |
Curtis Dunham <Curtis.Dunham@arm.com> |
config: Support full-system with SST's memory system
This patch adds an example configuration in ext/sst/tests/ that allows an SST/gem5 instance to simulate a 4-core AArch64 system with SST's memHierarchy components providing all the caches and memories. |
10779:3e986011e99e |
08-Apr-2015 |
Curtis Dunham <Curtis.Dunham@arm.com> |
ext: Add SST connector
This patch adds a connector that allows gem5 to be used as a component in SST (Structural Simulation Toolkit, sst-simulator.org). At a high level, this allows memory traffic to pass between the two simulators. SST Links are roughly analogous to gem5 Ports, although Links do not have a notion of master and slave. This distinction is important to gem5, so when connecting a gem5 CPU to an SST cache, an ExternalSlave must be used, and similarly when connecting the memory side of SST cache to a gem5 port (for memory <-> I/O), an ExternalMaster must be used.
These connectors handle the administrative aspects of gem5 (initialization, simulation, shutdown) as well as translating SST's MemEvents into gem5 Packets and vice-versa. |
10490:8647eb4489b8 |
20-Oct-2014 |
Andreas Hansson <andreas.hansson@arm.com> |
ext: Bump DRAMPower to avoid compilation issues
This patch bumps DRAMPower to commit 19433a6897ede4bbb19b06694faa8589b5a6569a which contains a small fix for clang, and a work-around for LTO with gcc 4.6. |
10480:5d4ebc92d32e |
16-Oct-2014 |
Andreas Sandberg <Andreas.Sandberg@ARM.com> |
ext: Update fputils to rev 6a47fd8358
This patch updates fputils to the latest revision (6a47fd8358) from the upstream repository (github.com/andysan/fputils). Most notably, this includes changes that export a limited set of 64-bit float manipulation and avoids a warning about unused 64-bit floats in clang. |
10448:bc1a3b7ab5ef |
11-Oct-2014 |
Nilay Vaish <nilay@cs.wisc.edu> |
ext: dsent: adds a Python interface, drops C++ one This patch extensively modifies DSENT so that it can be accessed using Python. To access the Python interface, DSENT needs to compiled as a shared library. For this purpose a CMakeLists.txt file has been added. Some of the code that is not required is being removed. |
10447:a465576671d4 |
11-Oct-2014 |
Nilay Vaish <nilay@cs.wisc.edu> |
ext: add the source code for DSENT This patch adds a tool called DSENT to the ext/ directory. DSENT is a tool that models power and area for on-chip networks. The next patch adds a script for using the tool. |
10428:0caf62b57dfd |
09-Oct-2014 |
Andreas Hansson <andreas.hansson@arm.com> |
ext: Add DRAMPower to enable on-line DRAM power modelling
This patch adds the open-source (BSD 3-clause) tool DRAMPower, commit 8d3cf4bbb10aa202d850ef5e5e3e4f53aa668fa6, to be built as a part of the simulator. We have chosen this specific version of DRAMPower as it provides the necessary functionality, and future updates will be coordinated with the DRAMPower development team. The files added only include the bits needed to build the library, thus excluding all memory specifications, traces, and the stand-alone DRAMPower command-line tool.
A future patch includes the DRAMPower functionality in the DRAM controller, to enable on-line DRAM power modelling, and avoid using post-processing of traces. |
10271:0edd36ea6130 |
13-Aug-2014 |
Mitch Hayenga <mitch.hayenga@arm.com> |
ext: clang fix for flexible array members
Changes how flexible array members are defined so clang does not error out during compilation. |
10235:0db28826e333 |
04-Jun-2014 |
Yasuko Eckert <yasuko.eckert@amd.com> |
ext: Add a McPAT regression tester Add a regression tester to McPAT. Joel Hestness wrote these tests and Yasuko Eckert modified them to reflect the new McPAT interface and other changes the previous patch made. |
10234:5cb711fa6176 |
03-Jun-2014 |
Yasuko Eckert <yasuko.eckert@amd.com> |
ext: McPAT interface changes and fixes This patch includes software engineering changes and some generic bug fixes Joel Hestness and Yasuko Eckert made to McPAT 0.8. There are still known issues/concernts we did not have a chance to address in this patch.
High-level changes in this patch include: 1) Making XML parsing modular and hierarchical: - Shift parsing responsibility into the components - Read XML in a (mostly) context-free recursive manner so that McPAT input files can contain arbitrary component hierarchies 2) Making power, energy, and area calculations a hierarchical and recursive process - Components track their subcomponents and recursively call compute functions in stages - Make C++ object hierarchy reflect inheritance of classes of components with similar structures - Simplify computeArea() and computeEnergy() functions to eliminate successive calls to calculate separate TDP vs. runtime energy - Remove Processor component (now unnecessary) and introduce a more abstract System component 3) Standardizing McPAT output across all components - Use a single, common data structure for storing and printing McPAT output - Recursively call print functions through component hierarchy 4) For caches, allow splitting data array and tag array reads and writes for better accuracy 5) Improving the usability of CACTI by printing more helpful warning and error messages 6) Minor: Impose more rigorous code style for clarity (more work still to be done) Overall, these changes greatly reduce the amount of replicated code, and they improve McPAT runtime and decrease memory footprint. |
10233:648ea04db2ab |
03-Jun-2014 |
Yasuko Eckert <yasuko.eckert@amd.com> |
ext: change McPAT to not force compile in 32-bit mode. |
10232:ae97cd1bad82 |
03-Jun-2014 |
Yasuko Eckert <yasuko.eckert@amd.com> |
ext: Redirect McPAT object files
All object files and McPAT binaries are moved to directory gem5/build/mcpat/ rather than creating them locally. |
10182:a0d94ac7e004 |
19-Mar-2014 |
Curtis Dunham <Curtis.Dunham@arm.com> |
ext: disable PLY debugging
Very rarely does anyone ever mess with PLY code, and when such a need arises, the developer can reenable this flag in their working tree.
This will eliminate the "generating LALR tables" message during compilation and temporary parser.out file as well. |
10152:52c552138ba1 |
01-Apr-2014 |
Anthony Gutierrez <atgutier@umich.edu> |
ext: add McPAT source
this patch adds the source for mcpat, a power, area, and timing modeling framework. |
10130:476aeb6b51b0 |
23-Mar-2014 |
Andreas Hansson <andreas.hansson@arm.com> |
ext: Fix typo in DRAMSim2 SConscript
This patch fixes a typo in the SConscript which caused the DRAMSim2 sources to be built without the appropriate flags. |
10066:06a33d872798 |
18-Feb-2014 |
Andreas Hansson <andreas.hansson@arm.com> |
mem: Add a wrapped DRAMSim2 memory controller
This patch adds DRAMSim2 as a memory controller by wrapping the external library and creating a sublass of AbstractMemory that bridges between the semantics of gem5 and the DRAMSim2 interface.
The DRAMSim2 wrapper extracts the clock period from the config file. There is no way of extracting this information from DRAMSim2 itself, so we simply read the same config file and get it from there.
To properly model the response queue, the wrapper keeps track of how many transactions are in the actual controller, and how many are stacking up waiting to be sent back as responses (in the wrapper). The latter requires us to move away from the queued port and manage the packets ourselves. This is due to DRAMSim2 not having any flow control on the response path.
DRAMSim2 assumes that the transactions it is given are matching the burst size of the choosen memory. The wrapper checks to ensure the cache line size of the system matches the burst size of DRAMSim2 as there are currently no provisions to split the system requests. In theory we could allow a cache line size smaller than the burst size, but that would lead to inefficient use of the DRAM, so for not we fatal also in this case. |
10037:5cac77888310 |
24-Jan-2014 |
ARM gem5 Developers |
arm: Add support for ARMv8 (AArch64 & AArch32)
Note: AArch64 and AArch32 interworking is not supported. If you use an AArch64 kernel you are restricted to AArch64 user-mode binaries. This will be addressed in a later patch.
Note: Virtualization is only supported in AArch32 mode. This will also be fixed in a later patch.
Contributors: Giacomo Gabrielli (TrustZone, LPAE, system-level AArch64, AArch64 NEON, validation) Thomas Grocutt (AArch32 Virtualization, AArch64 FP, validation) Mbou Eyole (AArch64 NEON, validation) Ali Saidi (AArch64 Linux support, code integration, validation) Edmund Grimley-Evans (AArch64 FP) William Wang (AArch64 Linux support) Rene De Jong (AArch64 Linux support, performance opt.) Matt Horsnell (AArch64 MP, validation) Matt Evans (device models, code integration, validation) Chris Adeniyi-Jones (AArch64 syscall-emulation) Prakash Ramrakhyani (validation) Dam Sunwoo (validation) Chander Sudanthi (validation) Stephan Diestelhorst (validation) Andreas Hansson (code integration, performance opt.) Eric Van Hensbergen (performance opt.) Gabe Black |
9902:55cddee143f0 |
02-Oct-2013 |
Andreas Hansson <andreas.hansson@arm.com> |
ext: Fix fputils compiler flags to ensure ISO C99
The fp code relies on C99, and depending on gcc version, the default is to use c89. This patch adds -std=c99 when using gcc to ensure the code is compiled in ISO C99 mode. |
9899:0392ef94d766 |
01-Oct-2013 |
Andreas Sandberg <andreas@sandberg.pp.se> |
ext: Update fputils to rev 52b6190b4e
This changeset updates the external library to git revision 52b6190b4e. This update includes changes that fix compilation errors on old gcc versions and fixes to test a case that affect ICC. |
9888:68d6b600d51f |
30-Sep-2013 |
Andreas Sandberg <andreas@sandberg.pp.se> |
ext: Include libfputils
This changeset includes libfputils from revision bbf0d61d75. This library can be used to convert to and from 80-bit floats and query the type of an 80-bit float, which is needed to support the x87 FPU. |
9537:ad5b3252dcc6 |
15-Feb-2013 |
Anthony Gutierrez <atgutier@umich.edu> |
ext lib: add libfdt to enable flattened device tree support
this patch adds libfdt, a library necessary for supporting flattened device tree support in current and future versions of the linux/android kernel for ARM. |
9420:965d857ac791 |
07-Jan-2013 |
Andreas Hansson <andreas.hansson@arm.com> |
scons: Enforce gcc >= 4.4 or clang >= 2.9 and c++0x support
This patch checks that the compiler in use is either gcc >= 4.4 or clang >= 2.9. and enables building with --std=c++0x in all cases. As a consequence, we can tidy up the hashmap and always have static_assert available. If anyone wants to use alternative compilers, icc for example supports c++0x to a similar level and could be added if needed.
This patch opens up for a more elaborate use of c++0x features that are present in gcc 4.4 and clang 2.9, e.g. auto typed variables, variadic templates, rvalues and move semantics, and strongly typed enums. There will be no going back on this one... |
9388:b958d9fa867c |
07-Jan-2013 |
Andreas Hansson <andreas.hansson@arm.com> |
scons: Fix libelf linking errors when using clang/llvm
This patch fixes a linking error that occurs when using clang/llvm in combination with older versions of glibc. The fix involves adding -std=gnu89 to the command line when compiling libelf as clang defaults to c99, causing issues with the symbols in sysmacros.h being defined multiple times. |
8946:fb6c89334b86 |
14-Apr-2012 |
Andreas Hansson <andreas.hansson@arm.com> |
clang/gcc: Fix compilation issues with clang 3.0 and gcc 4.6
This patch addresses a number of minor issues that cause problems when compiling with clang >= 3.0 and gcc >= 4.6. Most importantly, it avoids using the deprecated ext/hash_map and instead uses unordered_map (and similarly so for the hash_set). To make use of the new STL containers, g++ and clang has to be invoked with "-std=c++0x", and this is now added for all gcc versions >= 4.6, and for clang >= 3.0. For gcc >= 4.3 and <= 4.5 and clang <= 3.0 we use the tr1 unordered_map to avoid the deprecation warning.
The addition of c++0x in turn causes a few problems, as the compiler is more stringent and adds a number of new warnings. Below, the most important issues are enumerated:
1) the use of namespaces is more strict, e.g. for isnan, and all headers opening the entire namespace std are now fixed.
2) another other issue caused by the more stringent compiler is the narrowing of the embedded python, which used to be a char array, and is now unsigned char since there were values larger than 128.
3) a particularly odd issue that arose with the new c++0x behaviour is found in range.hh, where the operator< causes gcc to complain about the template type parsing (the "<" is interpreted as the beginning of a template argument), and the problem seems to be related to the begin/end members introduced for the range-type iteration, which is a new feature in c++11.
As a minor update, this patch also fixes the build flags for the clang debug target that used to be shared with gcc and incorrectly use "-ggdb". |
8737:770ccf3af571 |
31-Jan-2012 |
Koan-Sin Tan <koansin.tan@gmail.com> |
clang: Enable compiling gem5 using clang 2.9 and 3.0
This patch adds the necessary flags to the SConstruct and SConscript files for compiling using clang 2.9 and later (on Ubuntu et al and OSX XCode 4.2), and also cleans up a bunch of compiler warnings found by clang. Most of the warnings are related to hidden virtual functions, comparisons with unsigneds >= 0, and if-statements with empty bodies. A number of mismatches between struct and class are also fixed. clang 2.8 is not working as it has problems with class names that occur in multiple namespaces (e.g. Statistics in kernel_stats.hh).
clang has a bug (http://llvm.org/bugs/show_bug.cgi?id=7247) which causes confusion between the container std::set and the function Packet::set, and this is currently addressed by not including the entire namespace std, but rather selecting e.g. "using std::vector" in the appropriate places. |
8655:e4001326a5ba |
09-Jan-2012 |
Andreas Hansson <andreas.hansson@arm.com> |
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. |
8349:931ef19535e0 |
13-Jun-2011 |
Gabe Black <gblack@eecs.umich.edu> |
LibElf: Build the error management code in libelf.
This change makes some minor changes to get the error management code in libelf to build on Linux and to build it into the library. |
7941:9aab11bcd84c |
09-Feb-2011 |
Ali Saidi <saidi@eecs.umich.edu> |
Ext: Add X11 keysym header files to ext directory. |
7739:f97a5f4d0879 |
09-Nov-2010 |
Gabe Black <gblack@eecs.umich.edu> |
scons: Work around for old versions of scons mistaking strings for sequences. |
6511:f9e065561d5c |
17-Aug-2009 |
pdudnik@gmail.com |
Branch Merge |
6504:67f07e24dc7d |
17-Aug-2009 |
Gabe Black <gblack@eecs.umich.edu> |
Merge with head. |
6498:e21e9ab5fad0 |
16-Aug-2009 |
Nathan Binkert <nate@binkert.org> |
ply: update PLY to version 3.2 |
6240:ceb4c8a5e7a2 |
13-Jun-2009 |
Nathan Binkert <nate@binkert.org> |
scons: Make shared library builds work again Compile gzstream as position independent code use the PIC version of date for shared libs...oops |
6121:18aff7f548c1 |
21-Apr-2009 |
Nathan Binkert <nate@binkert.org> |
scons: Rename the basic environment from env -> main. env is used as a local variable all over the place and sometimes it is easy to get confused as to whether the global env or local env is being used. This will become especially important when I change the way we support our variants. |
6120:4dcea6c903fa |
21-Apr-2009 |
Nathan Binkert <nate@binkert.org> |
scons: Fix two problems with the way that the library path is generated. 1) -L is automatically added, so don't do it ourselves 2) prepend the paths for gzstream and libelf so they are certain to come first. The problem is that python might add /usr/lib to the path and the user might have a locally installed version of libelf installed. |
6020:0647c8b31a99 |
06-Apr-2009 |
Gabe Black <gblack@eecs.umich.edu> |
Merge ARM into the head. ARM will compile but may not actually work. |
6017:7e310503019e |
17-Mar-2009 |
Nathan Binkert <nate@binkert.org> |
includes: add ext to the includes path. move dnet to the correct place so that we use this |
5863:f73e06bc8765 |
09-Feb-2009 |
Nathan Binkert <nate@binkert.org> |
scons: Require SCons version 0.98.1 This allows me to clean things up so we are up to date with respect to deprecated features. There are many features scheduled for permanent failure in scons 2.0 and 0.98.1 provides the most compatability for that. It also paves the way for some nice new features that I will add soon |
5765:fdfd6e4aad66 |
06-Dec-2008 |
Nathan Binkert <nate@binkert.org> |
scons: only use -Wno-pointer-sign with gcc >= 4.3 |
5749:7015e400bd1d |
15-Nov-2008 |
Clint Smullen <cws3k@cs.virginia.edu> |
Output: Include gzstream package to allow automatically-gzipped output The gzstream package provides an ostream-interface for writing gzipped files. The package comes from: http://www.cs.unc.edu/Research/compgeom/gzstream/ And is distributed under the LGPL license. Both the license and version information has been preservered, though all other files in the package have been purged. Minor modifications to the code have been made. The output module detects when a filename ends in .gz and constructs an ogzstream object instead of an ofstream object. This works for both the create(...) and find(...) commands. Additionally, since gzstream objects needs to be closed to ensure proper file termination, I have the output deconstructor deleting all ostream's that it manages on behalf of find(...). At the moment, the only output file that I know this functionality works for is stats, i.e. by specifying "--stats-file=m5stats.txt.gz" on the command line. |
5711:93eb7f618517 |
28-Oct-2008 |
Ali Saidi <saidi@eecs.umich.edu> |
Libelf: Append options to CCFLAGS for warning free libelf compile instead of deleting CCFLAGS. Should fix 64bit OS X compile problem. |
5601:1acb7016d0e4 |
09-Oct-2008 |
Nathan Binkert <nate@binkert.org> |
SCons: add code to provide a libm5 shared library. Targets look like libm5_debug.so. This target can be dynamically linked into another C++ program and provide just about all of the M5 features. Additionally, this library is a standalone module that can be imported into python with an "import libm5_debug" type command line. |
5397:58e5b68f7095 |
07-Apr-2008 |
Ali Saidi <saidi@eecs.umich.edu> |
SCons: Make BATCH options global sticky so libelf is built appropriately. |
5274:7888bf966443 |
19-Nov-2007 |
Ali Saidi <saidi@eecs.umich.edu> |
Compiling: Make sure that libelf is also compiled for 64bit on OS X. |
4781:59a75bd0ddf4 |
28-Jul-2007 |
Nathan Binkert <nate@binkert.org> |
style: Check/Fix whitespace on SCons files |
4504:936dfda07b50 |
31-May-2007 |
Ali Saidi <saidi@eecs.umich.edu> |
This is probably a more scons like way to do this |
4500:068356f4fa81 |
31-May-2007 |
Nathan Binkert <binkertn@umich.edu> |
obey the m5 style |
4496:7fe59ed05a61 |
31-May-2007 |
Ali Saidi <saidi@eecs.umich.edu> |
check that m4 is available before trying to use it |
4494:b7c909b5a5e9 |
30-May-2007 |
Ali Saidi <saidi@eecs.umich.edu> |
Fix compiling on Solaris since Nate's libelf change
SConstruct: export env after we've set CC/CXX ext/libelf/SConscript: pull in the CC/CXX variables from env. Use gm4 if it exists ext/libelf/elf_begin.c: ext/libelf/libelf_allocate.c: include errno.h instead of sys/errno.h ext/libelf/elf_common.h: use the more standard uintX_t ext/libelf/elf_strptr.c: ext/libelf/elf_update.c: include sysmacros.h on Solaris for roundup() |
4487:a174ee67da68 |
28-May-2007 |
Steve Reinhardt <stever@eecs.umich.edu> |
Fix M4 command line... wasn't working on zizzer. A little more concise now. |
4484:7c56a6c9c265 |
26-May-2007 |
Nathan Binkert <binkertn@umich.edu> |
Get rid of GNU libelf and its autoconf nastiness and replace it with FreeBSD's implementation |
4481:bb7d575f646f |
25-May-2007 |
Gabe Black <gblack@eecs.umich.edu> |
Merge zizzer.eecs.umich.edu:/bk/newmem into doughnut.mwconnections.com:/home/gblack/m5/newmem-x86 |
4480:c16605a62c60 |
26-May-2007 |
Steve Reinhardt <stever@eecs.umich.edu> |
Merge vm1.(none):/home/stever/bk/newmem-head into vm1.(none):/home/stever/bk/newmem-cache2 |
4479:61d3ed46e373 |
25-May-2007 |
Nathan Binkert <binkertn@umich.edu> |
Update to ply 2.3
ext/ply/ply/lex.py: ext/ply/ply/yacc.py: ext/ply/CHANGES: ext/ply/README: ext/ply/TODO: ext/ply/doc/ply.html: ext/ply/example/ansic/clex.py: ext/ply/example/ansic/cparse.py: ext/ply/example/calc/calc.py: ext/ply/example/hedit/hedit.py: ext/ply/example/optcalc/calc.py: ext/ply/test/README: ext/ply/test/calclex.py: ext/ply/test/lex_doc1.exp: ext/ply/test/lex_doc1.py: ext/ply/test/lex_dup1.exp: ext/ply/test/lex_dup1.py: ext/ply/test/lex_dup2.exp: ext/ply/test/lex_dup2.py: ext/ply/test/lex_dup3.exp: ext/ply/test/lex_dup3.py: ext/ply/test/lex_empty.py: ext/ply/test/lex_error1.py: ext/ply/test/lex_error2.py: ext/ply/test/lex_error3.exp: ext/ply/test/lex_error3.py: ext/ply/test/lex_error4.exp: ext/ply/test/lex_error4.py: ext/ply/test/lex_hedit.exp: ext/ply/test/lex_hedit.py: ext/ply/test/lex_ignore.exp: ext/ply/test/lex_ignore.py: ext/ply/test/lex_re1.exp: ext/ply/test/lex_re1.py: ext/ply/test/lex_rule1.py: ext/ply/test/lex_token1.py: ext/ply/test/lex_token2.py: ext/ply/test/lex_token3.py: ext/ply/test/lex_token4.py: ext/ply/test/lex_token5.exp: ext/ply/test/lex_token5.py: ext/ply/test/yacc_badargs.exp: ext/ply/test/yacc_badargs.py: ext/ply/test/yacc_badprec.exp: ext/ply/test/yacc_badprec.py: ext/ply/test/yacc_badprec2.exp: ext/ply/test/yacc_badprec2.py: ext/ply/test/yacc_badrule.exp: ext/ply/test/yacc_badrule.py: ext/ply/test/yacc_badtok.exp: ext/ply/test/yacc_badtok.py: ext/ply/test/yacc_dup.exp: ext/ply/test/yacc_dup.py: ext/ply/test/yacc_error1.exp: ext/ply/test/yacc_error1.py: ext/ply/test/yacc_error2.exp: ext/ply/test/yacc_error2.py: ext/ply/test/yacc_error3.exp: ext/ply/test/yacc_error3.py: ext/ply/test/yacc_inf.exp: ext/ply/test/yacc_inf.py: ext/ply/test/yacc_missing1.exp: ext/ply/test/yacc_missing1.py: ext/ply/test/yacc_nodoc.exp: ext/ply/test/yacc_nodoc.py: ext/ply/test/yacc_noerror.exp: ext/ply/test/yacc_noerror.py: ext/ply/test/yacc_nop.exp: ext/ply/test/yacc_nop.py: ext/ply/test/yacc_notfunc.exp: ext/ply/test/yacc_notfunc.py: ext/ply/test/yacc_notok.exp: ext/ply/test/yacc_notok.py: ext/ply/test/yacc_rr.exp: ext/ply/test/yacc_rr.py: ext/ply/test/yacc_simple.exp: ext/ply/test/yacc_simple.py: ext/ply/test/yacc_sr.exp: ext/ply/test/yacc_sr.py: ext/ply/test/yacc_term1.exp: ext/ply/test/yacc_term1.py: ext/ply/test/yacc_unused.exp: ext/ply/test/yacc_unused.py: ext/ply/test/yacc_uprec.exp: ext/ply/test/yacc_uprec.py: Import patch ply.diff src/arch/isa_parser.py: everything is now within the ply package |
2632:1bb2f91485ea |
22-May-2006 |
Steve Reinhardt <stever@eecs.umich.edu> |
New directory structure: - simulator source now in 'src' subdirectory - imported files from 'ext' repository - support building in arbitrary places, including outside of the source tree. See comment at top of SConstruct file for more details. Regression tests are temporarily disabled; that syetem needs more extensive revisions.
SConstruct: Update for new directory structure. Modify to support build trees that are not subdirectories of the source tree. See comment at top of file for more details. Regression tests are temporarily disabled. src/arch/SConscript: src/arch/isa_parser.py: src/python/SConscript: Update for new directory structure. |