util: Add support for multiple call types in the m5 utility.
authorGabe Black <gabeblack@google.com>
Fri, 27 Mar 2020 08:57:13 +0000 (01:57 -0700)
committerGabe Black <gabeblack@google.com>
Sat, 2 May 2020 06:11:26 +0000 (06:11 +0000)
commit40b79073f0031337cea10624b0ebd73ed9f884cf
tree23762f9f7b6b6eca5f44b71117a2281c4b14b601
parentf65b238592a48356561095557bb8b33513af0abf
util: Add support for multiple call types in the m5 utility.

Using mechanisms added in previous CLs, this change modifies the m5
utility so that it can use any of the back ends enabled and implemented
by each variant, defaulting to one particular implementation if not is
selected explicitly.

On x86, the default mechanism is the magic address. All other variants
default to the magic instruction since they don't have a well
established address to use or even in most cases an implementation to
use.

The ability to override the particular magic address the utility wants
to use (necessary on variants such as aarch64) will be added in a future
CL.

Change-Id: I5fc414740e30759e7dde719cddcc8d5d41f8cc74
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27242
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Pouya Fotouhi <pfotouhi@ucdavis.edu>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
14 files changed:
util/m5/SConstruct
util/m5/src/SConscript
util/m5/src/aarch64/SConsopts
util/m5/src/aarch64/m5op.S
util/m5/src/aarch64/m5op_addr.S [new file with mode: 0644]
util/m5/src/addr_call_type.c
util/m5/src/arm/SConsopts
util/m5/src/m5.c
util/m5/src/semi_call_type.c
util/m5/src/sparc/SConsopts
util/m5/src/thumb/SConsopts
util/m5/src/x86/SConsopts
util/m5/src/x86/m5op.S
util/m5/src/x86/m5op_addr.S [new file with mode: 0644]