82f6d6e90f36e400db1f38eef5fe17430313458e
The requirement to have an environment variable exported to run a program is not common, and many new users trip up on it. Before this commit, M5_PATH was a requirement to run those scripts, or else simulation would fail with: IOError: Can't find a path to system files. After this patch, as long as users indicate all required files with command line options, M5_PATH is not needed. This patch changes the M5_PATH semantics slightly to more closely match PATH and so be more intuitive to users: after this commit, if the given path contains a slash /, then the path is not searched for inside M5_PATH, which is exactly how PATH works. Users can then select images in the CWD with a leading ./ just as done for executables. This is backwards incompatible if users were already specifying their paths as ./, but this interface feels saner, because otherwise writing on the CLI e.g.: --disk-image path/to/my.disk would previously fail to find the disk, even if it existed, which is very counter-intuitive. The following will still fail however: --disk-image my.disk which is not ideal, but for now is a comprise between backwards compatibility of having an M5_PATH and what users expect from CLI interfaces. Change-Id: Ic91e1cc20557b35b69490b6dc420e7d324fae1fc Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23672 Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> Tested-by: kokoro <noreply+kokoro@google.com>
This is the gem5 simulator. The main website can be found at http://www.gem5.org A good starting point is http://www.gem5.org/about, and for more information about building the simulator and getting started please see http://www.gem5.org/documentation and http://www.gem5.org/documentation/learning_gem5/introduction. To build gem5, you will need the following software: g++ or clang, Python (gem5 links in the Python interpreter), SCons, SWIG, zlib, m4, and lastly protobuf if you want trace capture and playback support. Please see http://www.gem5.org/documentation/general_docs/building for more details concerning the minimum versions of the aforementioned tools. Once you have all dependencies resolved, type 'scons build/<ARCH>/gem5.opt' where ARCH is one of ALPHA, ARM, NULL, MIPS, POWER, SPARC, or X86. This will build an optimized version of the gem5 binary (gem5.opt) for the the specified architecture. See http://www.gem5.org/documentation/general_docs/building for more details and options. The basic source release includes these subdirectories: - configs: example simulation configuration scripts - ext: less-common external packages needed to build gem5 - src: source code of the gem5 simulator - system: source for some optional system software for simulated systems - tests: regression tests - util: useful utility programs and files To run full-system simulations, you will need compiled system firmware (console and PALcode for Alpha), kernel binaries and one or more disk images. If you have questions, please send mail to gem5-users@gem5.org Enjoy using gem5 and please share your modifications and extensions.
Description