diff --git a/wa/framework/target/runtime_parameter_manager.py b/wa/framework/target/runtime_parameter_manager.py index c4623550..77365dd2 100644 --- a/wa/framework/target/runtime_parameter_manager.py +++ b/wa/framework/target/runtime_parameter_manager.py @@ -22,6 +22,7 @@ from wa.framework.target.runtime_config import (SysfileValuesRuntimeConfig, CpuidleRuntimeConfig, AndroidRuntimeConfig) from wa.utils.types import obj_dict, caseless_string +from wa.framework import pluginloader class RuntimeParameterManager(object): @@ -37,9 +38,16 @@ class RuntimeParameterManager(object): def __init__(self, target): self.target = target - self.runtime_configs = [cls(self.target) for cls in self.runtime_config_cls] self.runtime_params = {} + try: + for rt_cls in pluginloader.list_plugins(kind='runtime-config'): + if rt_cls not in self.runtime_config_cls: + self.runtime_config_cls.append(rt_cls) + except ValueError: + pass + self.runtime_configs = [cls(self.target) for cls in self.runtime_config_cls] + runtime_parameter = namedtuple('RuntimeParameter', 'cfg_point, rt_config') for cfg in self.runtime_configs: for param in cfg.supported_parameters: