diff options
-rw-r--r-- | configs/common/FileSystemConfig.py | 20 | ||||
-rw-r--r-- | configs/common/Options.py | 9 |
2 files changed, 28 insertions, 1 deletions
diff --git a/configs/common/FileSystemConfig.py b/configs/common/FileSystemConfig.py index 1f32ec1c8..76ea5ffef 100644 --- a/configs/common/FileSystemConfig.py +++ b/configs/common/FileSystemConfig.py @@ -1,3 +1,15 @@ +# Copyright (c) 2019 ARM Limited +# All rights reserved. +# +# The license below extends only to copyright in the software and shall +# not be construed as granting a license to any other intellectual +# property including but not limited to intellectual property relating +# to a hardware implementation of the functionality of the software +# licensed hereunder. You may use the software subject to the license +# terms below provided that you ensure that this notice is replicated +# unmodified and in its entirety in all distributions of the software, +# modified or unmodified, in source code or in binary form. +# # Copyright (c) 2015 Advanced Micro Devices, Inc. # All rights reserved # @@ -206,6 +218,14 @@ def _redirect_paths(options): RedirectPath(app_path = "/tmp", host_paths = ["%s/fs/tmp" % m5.options.outdir])] + # Setting the redirect paths so that the guest dynamic linker + # can point to the proper /lib collection (e.g. to load libc) + redirects = getattr(options, 'redirects', []) + for redirect in redirects: + app_path, host_path = redirect.split("=") + redirect_paths.append( + RedirectPath(app_path = app_path, host_paths = [ host_path ])) + chroot = getattr(options, 'chroot', None) if chroot: redirect_paths.append( diff --git a/configs/common/Options.py b/configs/common/Options.py index 71f9f1429..855c0063f 100644 --- a/configs/common/Options.py +++ b/configs/common/Options.py @@ -1,4 +1,4 @@ -# Copyright (c) 2013 ARM Limited +# Copyright (c) 2013-2019 ARM Limited # All rights reserved. # # The license below extends only to copyright in the software and shall @@ -381,6 +381,13 @@ def addSEOptions(parser): "for information or functionality. Instead of " \ "finding files on the __HOST__ filesystem, the " \ "process will find the user's replacment files.") + parser.add_option("--redirects", action="append", type="string", + default=[], + help="A collection of one or more redirect paths " + "to be used in syscall emulation." + "Usage: gem5.opt [...] --redirects /dir1=/path/" + "to/host/dir1 --redirects /dir2=/path/to/host/dir2") + def addFSOptions(parser): |