configs: Add --redirects for syscall emulation
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Thu, 21 Nov 2019 09:52:15 +0000 (09:52 +0000)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Wed, 27 Nov 2019 23:30:05 +0000 (23:30 +0000)
commit8e493b5fd275cdb15513dc3466ca4b108ab688e2
tree3c88f65b4377b379b8248e9fb1aedae09fe4b20e
parentb406cda15b1d3ffb48d9387f9a147e1ca94e199c
configs: Add --redirects for syscall emulation

This is the first step towards being able to run dynamically linked
applications when the guest ISA != than host ISA.

(Like running a arm application on x86)

By using the --redirects command line option it is possible to specify
via CLI a set of path redirections to be used in SE mode.

This is needed when running a dynamically linked binary in
SE mode in a guest ISA different than the host. The linker will look
for SOs (e.g. libc.so) in /lib/, but will only find the host libraries.
With this option we can redirect to the guest toolchain/file system.

Usage:

gem5.opt [example script]
    --redirects /dir1=/path/to/host/dir1 \
    --redirects /dir2=/path/to/host/dir2

Change-Id: I558838be2ad6802891707e9a1cc454786859db15
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23065
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
configs/common/FileSystemConfig.py
configs/common/Options.py