When importing the cores.arm package, we currently throw an exception
if a timing model can't be imported due to a missing dependency (e.g.,
the required CPU model wasn't included in the build). This is
undesirable since it prevents other, working, timing models from being
added to the package. Wrap the import_module call in a try-except
block and skip timing models that have missing dependencies.
Change-Id: I92bab62c989f433a8a4a7bf59207d9d81b3d19e1
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/3946
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
]
for c in _cpu_modules:
- import_module("." + c, package=__package__)
+ try:
+ import_module("." + c, package=__package__)
+ except NameError:
+ # Failed to import a CPU model due to a missing
+ # dependency. This typically happens if gem5 has been compiled
+ # without a CPU model needed by the timing model.
+ pass
__all__ = _cpu_modules