configs: allow fs.py and fs_bigLITTLE.py to work without M5_PATH
authorCiro Santilli <ciro.santilli@arm.com>
Tue, 29 Oct 2019 14:18:24 +0000 (14:18 +0000)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Fri, 31 Jan 2020 12:41:49 +0000 (12:41 +0000)
commit82f6d6e90f36e400db1f38eef5fe17430313458e
tree738593afa7af2eae1df47de9de6b5a5d5cadf92a
parenta6d98140ca4afb23817a8d9ff24f8a001128b146
configs: allow fs.py and fs_bigLITTLE.py to work without M5_PATH

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>
configs/common/SysPaths.py