From 97187fa814167906ed168a02aad09ff6fd0ed17c Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Tue, 4 Jul 2017 11:04:49 +0100 Subject: [PATCH] config, arm: Don't import timing models for missing CPUs 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 Reviewed-on: https://gem5-review.googlesource.com/3946 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power --- configs/common/cores/arm/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/configs/common/cores/arm/__init__.py b/configs/common/cores/arm/__init__.py index 96388f731..582e6b859 100644 --- a/configs/common/cores/arm/__init__.py +++ b/configs/common/cores/arm/__init__.py @@ -43,6 +43,12 @@ _cpu_modules = [ ] 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 -- 2.30.2