History log of /external/lisa/libs/utils/env.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
358e980a5bfde6b5d44db64f55ea6e82ac562156 12-Jul-2017 Joel Fernandes <joelaf@google.com> env: fix bug where tool doesn't get installed

Change-Id: Ib350e46348fbdc762f7e30e02671f4baad62e9a5
Signed-off-by: Joel Fernandes <joelaf@google.com>
/external/lisa/libs/utils/env.py
a2ee8b32fb75682707651de99018798cf9045124 27-Jun-2017 Joel Fernandes <joelaf@google.com> android: Add support to override systrace parameters

- support for enabling extra events not in systrace categories
- append new categories to default
- override default categories
- make buffer size configurable with 40MB per CPU as the default

Change-Id: Ic178647d45b5553df0cf9f8615525059276ac4b7
Signed-off-by: Joel Fernandes <joelaf@google.com>
/external/lisa/libs/utils/env.py
2e70cc72406ba2679c67f7287d5609908663b4bd 01-Jun-2017 Joel Fernandes <joelaf@google.com> lisa env: Try harder to find adb and fastboot

If SDK is not installed or not in ANDROID_HOME, just get it from the environment.

Change-Id: Ib59c5b1169002e35ca59e1b6010d82ad9c5848eb
Signed-off-by: Joel Fernandes <joelaf@google.com>
/external/lisa/libs/utils/env.py
52a6c157388f2a190b6c2bc5e2e0262e7ad7bdf0 11-Apr-2017 Brendan Jackman <brendan.jackman@arm.com> TestEnv: Don't error if target's energy model is invalid

It may happen that a target's EAS energy model is "invalid", e.g. because its
active state power values are not monotonically increasing with frequency (this
is the case with Google Pixel). In this case the EnergyModel construct will
throw a ValueError.

Don't fail to start LISA in that case, just print a warning.
/external/lisa/libs/utils/env.py
a9589d7b10137a0bbc978e681b3bcfe03fa33488 23-Mar-2017 Brendan Jackman <brendan.jackman@arm.com> TestEnv: Use EnergyModel.from_target where we don't have a built-in EnergyModel
/external/lisa/libs/utils/env.py
955bab21cc8dc86a7b87e36347a758ad8c3137a5 27-Feb-2017 Juri Lelli <juri.lelli@arm.com> Merge pull request #301 from derkling/fix-tasks-states

Fix tasks states
8fb9dac7af4bc8fe679fd4899b00ceb1ebd9057f 16-Feb-2017 Patrick Bellasi <patrick.bellasi@arm.com> utils/env: keep track of kernel version and build info

These platform data can be useful to know exactly on which platform
configuration tests have been executed. Specifically, the "kernel_version"
and "kernel_sha1" can be useful to cross-check a kernel with the expected
results. Moreover, some of these information (e.g. kernel_version) is
useful to tune some analysis methods depending on expected kernel feature
(e.g. available tracepoint, constants, etc.)

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
66e4593f8741f449b36919715ef828fc72ac49d6 21-Dec-2016 Brendan Jackman <brendan.jackman@arm.com> energy_model: Add EnergyModel class

This class provides a model of systems with:

- CPU capacity at different frequencies.
- Power usage at different frequency.
- Power usage in different idle states.

The model is aware of topologically shared resources (clusters),
topological dependencies for idle states (power domains) and frequency
domains.

The intended use case for this model is for testing energy-aware
scheduling in a platform-agnostic way.

Also provided in this commit are:

- Some very simple tests for EnergyModel
- Examples of EnergyModel for Juno r0, HiKey and Pixel devices
- Changes to TestEnv to allow the provided EnergyModels to be automatically
loaded

This new interface provides scope for a lot of refactoring (for example the
`nrg_model` data could be removed), but that is left for a later date.
/external/lisa/libs/utils/env.py
c3031767f5d327b293e7be953eccb8d4066fbe32 20-Feb-2017 Patrick Bellasi <derkling@gmail.com> Merge pull request #261 from bjackman/sphinx-docs-no-build

Some Sphinx autodoc compatible docstrings
04a36f6474bd7003e2334d650e62b46103494285 23-Jan-2017 Brendan Jackman <brendan.jackman@arm.com> TestEnv: Clean up tools init

- Use dict.get and set operations to simplify combining target and test conf
'tools' field
- Move adding rt-app dependencies to install_tools to ensure dependencies are
installed when rt-app is not listed in target/test conf
/external/lisa/libs/utils/env.py
be22e5ee3df66d208367a13a15258c1aaa59b3b4 23-Jan-2017 Brendan Jackman <brendan.jackman@arm.com> TestEnv: Clean up ftrace conf parsing

- Simplify conditional by assuming test_conf is not None
- Use dict.get to simplify conditional
/external/lisa/libs/utils/env.py
90a97dc531e587601563b39acc4847496cffdf0e 23-Jan-2017 Brendan Jackman <brendan.jackman@arm.com> TestEnv: Clean up setting devlib modules

- Use a local variable to avoid repeatedly converting between list and set, then
use set operations to simplify code that chooses modules.
- Simplify conditionals by assuming test_conf and target_conf are not None
- Use dict.get to simplify conditionals
/external/lisa/libs/utils/env.py
6b067eee0818f6f0f98a45c0da79a8ee64fd4783 23-Jan-2017 Brendan Jackman <brendan.jackman@arm.com> TestEnv: Clean up setting results dir

- Fix indentation
- Simplify conditionals now that conf and target_conf cannot be None
/external/lisa/libs/utils/env.py
d1321f1f89bc114ecb429fe694e596c28671ed4b 23-Jan-2017 Brendan Jackman <brendan.jackman@arm.com> TestEnv: Make sure self.conf and self.test_conf aren't None

This will allow us to simplify other code in following commits
/external/lisa/libs/utils/env.py
ff281b15a8b82adb76b5f117872b41e6bcf7c494 24-Jan-2017 Brendan Jackman <brendan.jackman@arm.com> TestEnv: Add docstring for calibration method
/external/lisa/libs/utils/env.py
868b5924dacc44c960cdcefa87c8bd9934464772 23-Jan-2017 Brendan Jackman <brendan.jackman@arm.com> TestEnv: Fix check for rt-app calibration requirement, again

- The 'wloads' field is no longer part of the TestEnv target_conf, so don't
check it.
- Instead of checking self.__tools, check self.__installed_tools. This means
that we will detect the requirement for calibration when rt-app is installed
via install_tools, as is done by the executor.

Overall this accounts for the fact that `wloads` is now a configuration field
for the Executor (experiments_conf) rather than the
TestEnv (target_conf/test_conf).
/external/lisa/libs/utils/env.py
4538259d62f410ea0e95a5f1706161b3e4ec3d2c 03-Jan-2017 Brendan Jackman <brendan.jackman@arm.com> env: Fix check for rt-app calibration requirement
/external/lisa/libs/utils/env.py
00ca5c1a0ffefd90fcdf1d83f9a36fa1e8d3996c 16-Dec-2016 Brendan Jackman <brendan.jackman@arm.com> TestEnv: Add API documentation
/external/lisa/libs/utils/env.py
ace366e609c242665f584a4b9a94e8232839ded3 28-Nov-2016 Brendan Jackman <brendan.jackman@arm.com> executor/env: Install rt-app automatically if required

With this commit, tests that use rt-app workloads need not explicitly
specify 'rt-app' in the 'tools' field of the TestEnv test configuration.

This adds an `install_tools` method to the TestEnv class.
/external/lisa/libs/utils/env.py
c25cc8d70f24e6263b2a6b61b430e3f5ca34ed55 22-Nov-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils: cosmetics: update ValueError format strings

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
c278c2343c7f25083a80cb164b6bdc761d50050b 22-Nov-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs: use a more configurable logging strategy

This is a big re-factoring which update all the logging statements to make
use of a more sane and consistent configuration:

- each module uses the same logger configuration but refers to a custom
logger which has the same name of the module, this should allows a
fine grained configuration of the loglevels for each module.

- a new libs/utils/conf.py::LisaLogging class allows to load the
configuration and customize the root logger level.

- loggers are configured using a single logfile (logging.conf) which is
provided by default in the LISA's root folder.

Each logger can be configured to specify:
- loglevel: INFO by default for all modules
- output channels: console and logfile (lisa.log by default) for all modules
- string format: the same by default for all modules

If logging.conf does not specify a specific configuration for a logger, than
the default logger configuration applies, which is the one defined by the
"root" logger.

Notebooks and LisaTest are required to call at least one time the
LisaLogging::setup() method to properly intialize logging.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
2f2075663a1f6a28803306bfc80d342d9ca07c05 11-Nov-2016 Brendan Jackman <brendan.jackman@arm.com> libs/utils/env: Simplify check for rt-app requirement
/external/lisa/libs/utils/env.py
c44d35d819efe51a7516e3114755efcc0a98d5c2 26-Oct-2016 Brendan Jackman <brendan.jackman@arm.com> libs/utils/env: Explicitly check 'host' setting is present for Linux

For Linux targets you need a 'host' parameter to set up the SSH
connection. If it's missing, the error appears at the end of a deep dark
call stack.

Add an explicit check before constructing the LinuxTarget so it's
more obvious what you did wrong when this param is missing.
/external/lisa/libs/utils/env.py
79850c90f5391069f217c671908abbb9b078c709 21-Sep-2016 Patrick Bellasi <patrick.bellasi@arm.com> utils/env: add support for ANDROID_HOME and CATAPULT_HOME

These environment variables are required by devlib and some notebooks
to properly access and trace an Android device. This path add the required
support to verify that these env variables are defined when an Android
target is in use as well as the required support to override these
variables via the target configuration.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
1a6f05cba16eec293d393046a288496010df1ff4 12-Aug-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: use platform file for Nexus 5X target description

We do not want to use hard-coded platforms descriptions when its possible
to provide them via an external JSON file.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
d9b9c32a951df275b043e9f6199678ee366cff34 12-Aug-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add support for custom board specified via JSON file

This allows to specify a custom board configuration using a JSON file located
under libs/utils/platforms.
A platform can be specified by reporting these properties:
"cores" : list of cores identifiers
unique names are used to defined clusters
"big_core" : the name used to represent big CPUs in a big.LITTLE target
"modules" : (optional) list of modules to load for that target

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
/external/lisa/libs/utils/env.py
5c69aa18d51181ca2713669c5d5bb94934736f8a 22-Jun-2016 Javi Merino <javi.merino@arm.com> libs/utils/env: Pass a force_new flag to force the creation of a new TestEnv

TestEnv only creates one object per session. When you are
experimenting, sometimes you need to change target_conf or test_conf and
create a new TestEnv. Add a force_new flag to force TestEnv to
reinitialize the platform with the new values.
/external/lisa/libs/utils/env.py
d7d51826d3a4255d106bff8389e362f39cfc2496 13-Jun-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: always report connection settings

This provides a better support for debugging connection time issues.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
de29a165b10b402a41767b69e5257e070fe69acf 13-May-2016 Javi Merino <javi.merino@arm.com> libs/utils/env: fix typo
/external/lisa/libs/utils/env.py
d7735b2f858f38e28e7b1410a7eb580a44520fd3 03-May-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: init the result folder for energy probes

Energy probes can collect temporary data, this patch ensure that the
test environment results folder is configured as output folder for all
the energy probes. We do that by using the internal _init_energy()
function.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
16a0fc43287eb6ca4c40808482d935868e0490ca 27-Apr-2016 Chris Redpath <chris.redpath@arm.com> lisa: Add support for new Hwmon node names with 'mainline' driver

The names of the nodes for energy have changed - they are no longer
of the form 'a53_energy' for the CPU clusters, but are now called
'BOARD_LITTLE_ENERGY'. Likewise, all the other sensor names are different
but we don't monitor those in lisa.

In order to support those, add a new device named juno2. Once both types
are no longer in circulation, the names can be changed.

Signed-off-by: Chris Redpath <chris.redpath@arm.com>
/external/lisa/libs/utils/env.py
5279525ba64d306df3adafa8f210536f67c1ec83 25-Apr-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: disable rootfs remount as RW partitions

Most of the targets provides a predefined RW partition where it is safe
to install LISA/devlib required components.
This patch remove the forced remount of the root partition which is not
supported on some devices. For example it's not easy to get a RW root
partition on Android >=N devices.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
e37536ac989f66faa7291a66f8cfff41a922a9f7 21-Apr-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix Android devices connection

The current TestEnv configuration allows to specify a target Android
device only by passing the "device" option. Otherwise, in case of a
Juno target, devlib tries to gete the target IP address via ttyS0.

This patch allows to use the same "host" configuration option to
specify the IP address of a target Android device.
An additional "port" configuration option has been added to override
the default 5555 port used to connect and Android device via IP.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
52ae419bc88ee2611ce934a1e033d3cba7f58e1c 02-Apr-2016 Patrick Bellasi <derkling@gmail.com> Merge pull request #73 from mdigiorgio/android-device_id

Usage of device ID in target configuration for Android devices
e2c5d826c0733e2224b5b1c64cc699734f75eead 28-Mar-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add N5X (bullhead) target support

The bullhead kernel does not properly report big.LITTLE CPUs in
the output of /proc/cpuinfo. However, since this is a well known
device it is safe to provide a custom initialisation of the
platform module for that target.

This patch defineds the big.LITTLE layout of a Nexus 5X device which
can be used by specifying:
board = "n5x"
in your TestEnv configuration file.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
0cc5758db9d4db9114264c40aed86a06f030b44c 07-Mar-2016 Michele Di Giorgio <michele.digiorgio@arm.com> libs/utils/env: fix device setting for Android target

Device ID setting was assigned to NoneType object. This creates the
directionary with the proper entry for the device ID.

Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
/external/lisa/libs/utils/env.py
ae3f34bf4e203a480ff958e14a069c33bd620af1 29-Feb-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix host resolution for target connected via WiFi

When the remote target is connected via WiFi, the ARP cache cannot be used
to resolve an IP to a MAC address.
This patch adds a special case for host defined via IP. In case the MAC
address cannot be found in the ARP cache we do not generate an error but
just mark as "UNKNOWN" the MAC address of the remote host.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
b16c52fb7c1576f9806c94748a8dc9802d59ca50 24-Feb-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: postpone modules validation

Some modules can require tools deployed on the target to be properly
initialized. This patch move the check for required modules at the end
of the target workdir setup.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
bc4c88a7ca117e1ebdb75e42d160c775c50d3a26 24-Feb-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix reporting of traced events and profiled functions

In case no events or functions have been enabled we cannot report them
on the logfile since these members are null.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
f9f1ae8d6f42c28eec175cebdc3e17125dee8136 23-Feb-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: wipe (by deafult) the results folder

If a custom results folder is specified, the content of that folder is
wiped out at TestEnv initialization time.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
c2ae5980cdd1a6818e95e4666e4b3a3e811aefa4 23-Feb-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add class description

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
56e0c2c4566c0f5f64d78ac2a8945c91f5933490 23-Feb-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: cosmetics on logging

This makes logging on Notebooks more easy to read by keeping all messages
with >=INFO level properly aligned.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
00a2b1d8144859bb85d8c528027ee1ea822a2ac3 22-Feb-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: allows results folder definition in target configuration

On simple execution scenarios, it's possible to have just a target
configuration without any specific test configuration.

This patch introduces the support to specify a results folder for data
collected by the test environment. The "id" attribute previously used by
the test configuration is renamed to be "results_dir", which better describe
its purpose.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
4b4036ec55e4e75b10b50dc385b628ae97cc87af 22-Feb-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: make optional the test configuration

It could be useful, on simple execution scenarios, to have just a target
configuration without any specific test configuration. This is not currenty
supported.

This patch makes the test configuration optional. Since even in simple
execution scenarios we are usually interested in using FTrace, this
option can now be configured also by the target configuration.
However, test configuration options always override target defined ones.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
9d92ae9fac12c4de8e592861e6a9c6832078a6c5 23-Feb-2016 Juri Lelli <juri.lelli@arm.com> libs/utils/env: trivial spelling fixes
/external/lisa/libs/utils/env.py
e3414a376cf265cddaacd2b41aa38d2c91195507 16-Feb-2016 Juri Lelli <juri.lelli@arm.com> libs/utils/env: fix check for big.LITTLE topology

When we build topology, the check for big.LITTLEness is wrong as
how the condition is currently written always returns true for arm.
Fix it by inserting appropriate parenthesis.
/external/lisa/libs/utils/env.py
ca22903280c1f181e80805da68d655db4527b10f 15-Feb-2016 Patrick Bellasi <derkling@gmail.com> Merge pull request #43 from mike2390/ping-time

Add ping_time parameter to target.config and reboot
691cbfe6ead1b2082e47b87d46d33b70581dc664 15-Feb-2016 Michele Di Giorgio <michele.digiorgio@arm.com> libs/utils/env: make reboot more robust by improving host resolution

reboot has been made more robust by reading the ARP cache before
shutting down the target so that we save target IP and MAC address.
Then, reboot tries to ping the target using the IP, but in case the
IP changes it will try to resolve the MAC address and use the new IP
instead.
/external/lisa/libs/utils/env.py
3ab7ca569093e1056f27a206ba3037c27e90a608 15-Feb-2016 Michele Di Giorgio <michele.digiorgio@arm.com> libs/utils/env: refactoring for parsing ARP cache

Host IP or MAC address resolution has been improved by using an
auxiliary function that reads the output of the ARP cache and retrieves
MAC and IP of the target host.
/external/lisa/libs/utils/env.py
4ac0639f15bc06957199d1ad4d97da0a4087de87 12-Feb-2016 Juri Lelli <juri.lelli@arm.com> libs/utils/env: add sync when deploying kernel

Since tftp_deploy can be used to deploy a kernel also on the sd, we have to wait for the copy to finish.
Do so by calling sync. This shouldn't affect the normal TFTP case where we copy the kernel to a local directory.
/external/lisa/libs/utils/env.py
e5d1d82fc5a104895cf8d04ec0d90ce4cb9f86b2 09-Feb-2016 Michele Di Giorgio <michele.digiorgio@arm.com> libs/utils/env: add ping_time parameter in reboot

When rebooting, the reboot function repeatedly pings the target.
However, rebooting might require some seconds and in order to avoid
pinging the machine before it actually reboots, we can set the
ping_time option in target.config to tell the function how long to
wait before pinging.

Also, a comment has been added in target.config to specify what the
file represents and to highlight that commented parameters are
optional.
/external/lisa/libs/utils/env.py
7ef45fd6ed2d0cc1069e9315c8dd01a3f74176e1 05-Feb-2016 Juri Lelli <juri.lelli@arm.com> Merge pull request #34 from derkling/master-next

Review them. All looks good.
d89a32fd4d236ca5371fa08da21da35da478b1cd 05-Feb-2016 Juri Lelli <juri.lelli@arm.com> Merge pull request #32 from derkling/function_profiling

Looks good. More testing will be needed afterwards, though.
0c834865fe4690a6cf292c9ec5ab1006d029d379 05-Feb-2016 Dietmar Eggemann <dietmar.eggemann@arm.com> Merge pull request #33 from derkling/fixups

Fixups support for testing multiple kernels
eb15932f10c0de3ace88a0876711af5d913f33b6 03-Feb-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add support to specify a test results folder

Currently, each time we create TestEnv object we create a new results folder
which has a timestamp based name. That approach is not flexible enough when
for example we want to run multiple notebooks which produces experiments
for the same "test case". Moreover, sometimes could be useful to have a more
meaningful name for a set of tests.

This patch adds the possibility to specify an "ID" for a test configuration.
This ID, when specified, is used to name a sub-folder of "results" which
will contains all the output of the test.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
7416a4206f51d7b61df917f04490db1670566ff3 26-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> ftrace: add support for function profiling

This patch exploits the new support in devlib::FtraceCollector to support
the profiling of kernel functions specified by a test configuration.
This feature depends on a the last version of devlib being available.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
9fbd4e62f753e0e120a7e97a0f763f455198bca3 27-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: speedup reboot time

Once a target is rebooted, currently we wait for a time interval which is
configured to be long enough to allows all boards the actually reboot.
Sometimes that time can be too short or even unnecessary long.

This patch adds the support for a PING based detection of the same target
being back online. The maximum timeout is increased to be 2 minutes because
in general we expect a proper detection of the target before this timeout.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
12e5a2bd011e3fac25c4126b923aa2fe19df8d9e 27-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix kernel/dtb deployment

In case a "kernel" or "dtb" option is not specified for a certain test
configuration the current code raise an exception.

This patch make sure that we properly notify the user in case one of these
options is not specified.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
62152a55282d427b36f419d60bea590d33175096 29-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add support to exlude a list of modules

Boards defined a *complete* list of supported modules. However, sometimes
for a specific experiment we do not need all of them.

This patch adds the required support to specify, either in the target
or test specific configuration files, a list of devlib modules which we do
not want to be loaded. This allows for example to avoid loading "hwmon" on
JUNO/TC2 in case we are not interested in energy measurements.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
4e2673a38945e9c50caa8e2a684eb6a37015cb28 29-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: move modules definition into board specific section

The specification of devlib modules to load into the target and/or
test configuration file is a not portable solution, especially when
we need to run the same test on different boards which do not support the
same set of modules, e.g. SMP platform does not support "bl" module.

This patch update the modules configuration by moving their definition
into the specific board configuration section of the TestEnv intialization
code.
Each board can now list the *complete* list of modules which are supported
and only these will be initialized.

Still the target and test specific configuration file allows to add
additional modules eventually not loaded by a specific board configuration.

The list of modules being loaded is now clearly reported as a log message.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
1883a9a289597f787d9834157f502ebc9ba2f4d3 29-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add suppor to load test configuration from file

At TestEnv initialisation, the target configuration can be specified either
inline or as a JSON file to load. The test configuration is instead forced
to be inlined.

This patch align test configuration handling to target configuration.
The required code to load the test configuration from a file is added
and the test configuration is now tracked with the self.test_conf
local variable.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
f59c5bb7a8db4634d674b6d70008841df25a0c06 25-Jan-2016 Robin Randhawa <robin.randhawa@arm.com> libs/utils/env: Recognise port specification

Without this, a port specification in a target configuration would be
ignored leading to connection failure.

Signed-off-by: Robin Randhawa <robin.randhawa@arm.com>
/external/lisa/libs/utils/env.py
f2b1d1ade4110c784104a6ffad2710dc57d7c1ec 23-Jan-2016 Robin Randhawa <robin.randhawa@arm.com> multiple: Minor spelling fixes

Signed-off-by: Robin Randhawa <robin.randhawa@arm.com>
/external/lisa/libs/utils/env.py
b1876ecc8fba1fc944dc7831dd6681cc47be15af 22-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: move EM data into board specific files

The main target.config file is overloaded of information and complex to read.
This patch aims at simplify it a bit by moving some details.

Specifically, this patch introduces a new folder containing platform specific
data, currently located under libs/utils/platforms.
This folder can contain a JSON file for each of the supported boards.
For the time being we use the board file to host the default (simplified)
energy model definition.

The patch remove the definition of the EM from the main target.config file.
However, we keep the possibility to override the default EM by specifing
one on the main target.config file.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
9124a2a1b66f95ac3fdfd627d00adf2cd787979d 21-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: cosmetics

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
e24b083bbc698dc003183140a7890e5d46036855 21-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: ensure "/" is always mounted RW

This is a sanity check mainly required for ChromeOS targets but that in
general it's worth to be done for each target.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
28dfc0bdfdc533db9bf438ee274d028016a25246 21-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: use custom platform definition for OAK targets

The target configuration is defined by two main attributes:
- platform := Linux | Android | Host
- board := (optional) one of the supported boards

Thus, the "platform" attribute is used just to setup the proper communication
channel abstraction with target (e.g. SSH for Linux or ADB for Android).
Instead, the "board" attribute is used to properly initialise other board
specific supports (e.g. the energy monitor can be HWMON for JUNO/TC2 or a DAQ
for another board).

This patch remove the temporary fix to support OAK boards. Since that
patch OAK targets are now just standard "linux" platforms. Thus the
target configuration fragment to address one of such boards is:

{
"platform" = "linux",
"board" = "oak",
}
Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
6046eb1c6cbd6c2898dda8ce4d0779b9a1b7e478 20-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add required tools dependencies

Once the user defined a tool in the configuration file that tool
can have dependencies on other tools. Currently we require the
user to know and list all that dependencies.

This patch simplify things by automatically adding all the known
dependencies of each user tool the user can specify.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
f307bd6af7fd55eac51ed6abde36ab1623c85661 14-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> rt-app: properly format reported calibration values

The calibration values either computed or loaded from the configuration file
are reported in a non copy-and-past friendly manner.

This patch ensure that the key are always reported enclosed in quotes so
that it's possible to copy-and-past directly the reported string over
a JSON configuration file.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
4e2cdbed8716cbfd603b8be4e96703b52e9425e6 13-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: report cluster frequencies for SMP platforms

For SMP platforms we are not currently reporting available frequencies
because the intial SMP support was targeting targets using the intel_pstate
driver.

This patch improves a little that situation by exploiting the "cpufreq"
module once available, which is usually the case for SMP ARM systems.
This patch reports a list of available frequencies for each cluster available
in the target system.

NOTE: if all clusters are in the same frequency domain, still we report
a frequencies list for each cluster.

TODO: add a representation of frequency domains.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
fd4b76c5933ec521d92169017205f8f97a64356d 13-Jan-2016 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix topology building for ARM SMP platforms

On SMP ARM platforms, there is not distinction between these two attributes:
devlib::target::big_core
devlib::target::little_core
which breaks the code for the identification of clusters.

This patch ensures that, in case an ARM platform is not big.LITTLE, we can
still build a clusters representation which is build considering just the
cluster ID. This is the same approach generally used for x86_64 platforms.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
cea4bb90115ed7f8165d702c0c2a95573d752216 11-Dec-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix some logging statements

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
2a46b638490c99ff5d89cb0935ec6ae125b2319a 11-Dec-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add check that all required modules have been loaded

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
c381266a5d33ccab84c9674e5254b94c61d11fd6 10-Dec-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: initialize platform for devlib supported boards

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
d95e98d88a6cf4347853427dc4ef6fd0222a3881 04-Dec-2015 Patrick Bellasi <patrick.bellasi@arm.com> Add proper copyright headers to all the contributed sources

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
48540370b3a519a5ef2db8bf7ec0d9f116f13253 27-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add initial support to run on SMP targets

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
8f6e1dc2a8fbb15f77d22233ddac20ab17088a8d 27-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix connections settings to work with Android and LocalHost

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
9351887367691f894023983280e61c964479b192 26-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fixup x86_64 target initialization

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
97aa3377697bafc2db848d42498bac5d77be38c9 26-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: refactor platform initialization to support SMP systems

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
9e9c04147986a54278381e987753e485e150fe7d 26-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix username initialization

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
0c49bdef860dbe210c81f6e7b4c986ab396b86f2 13-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: report platform JSON as a platform_dump() output

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
1533a8d24797d324d16abe5357cc57917285a04c 13-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: make platform description file an optional parameter

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
4789e5348a2154a5f83275c1f6ca828dc728b94a 13-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fixup kernel deployment when DTB is not provided

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
d23e17ec814377c0ef688235d893ee7be64094a3 11-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix initialisation of "__features__" settings

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
fbdaae9921ac057ee2ffb5a773f4358d437b8c89 11-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix target configuration loading

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
e27c9727d5969cbe5dd961d6f49a315ec5fa6668 10-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: default initialise '__features__'

If not specified in the target_conf, the features list is empty initialized.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
0f5083ed37591fc7d212208bc05fe3eb65a71084 10-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix 'modules' and 'tools' merging

If the target_conf does not specify modules and/or tools to be initialized,
this patch ensure that the mergin with the test_conf configuration is
still possible by initializing them empty by default.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
5bf02407f4a04ec2c12319a032f245e6a2ceb85b 06-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add a method to force an update of the FTrace configuration

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
265cc6a3662aae561ba06b9d585035eefbd86760 06-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fix checks for rt-app calibration required

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
c680329052a78c4fdf75b4aa9bffc663137ab5e6 06-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: fixup tools and modules configuration merging

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
822fffea44f2a5ec7b96c15a96d961b5ace4f4ec 06-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: make subsystems initialisation methods all private

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
a06778d2cad9a9fd4ff911e4f951c1d2fee8306d 06-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: rename initialization guard and ensure members are not reset

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
0b8953865c0a61a7e05909b0a4d90b714154e16b 06-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: make features checking a private method

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
539702bfb549101dc07655e044396d99cc1da331 06-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: remove not more used attributes

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
c61fadf5ad6618b094711e37db695892b2beec7d 06-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: make calibration data a private attribute

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
9868d6489f0f904dab6f978085649e32497afd82 06-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add a force mode for RT-app calibration

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py
fbfa96dae9da9899bd7aac36ca3ef376e7bcf4fe 05-Nov-2015 Patrick Bellasi <patrick.bellasi@arm.com> libs/utils/env: add a test environment class

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
/external/lisa/libs/utils/env.py