From patchwork Wed May 17 10:09:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?Q2zDqW1lbnQgUMOpcm9u?= X-Patchwork-Id: 24098 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2D3BEC77B7F for ; Wed, 17 May 2023 10:09:29 +0000 (UTC) Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by mx.groups.io with SMTP id smtpd.web10.45761.1684318161185296826 for ; Wed, 17 May 2023 03:09:21 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@gmail.com header.s=20221208 header.b=cc+nxa+i; spf=pass (domain: gmail.com, ip: 209.85.128.42, mailfrom: peron.clem@gmail.com) Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-3f4249b7badso5959135e9.3 for ; Wed, 17 May 2023 03:09:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684318159; x=1686910159; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=5TLftFXFpP/p66GV9b80VbXUpdSiL2BNzQS06tPmSWs=; b=cc+nxa+iT3TKK+IPHy5Rxs0FvitGqKKyX2/FJLRKxW59KqQ1YlgLrkc+YnFRs1tsC3 6/AITeGXqkAlh72E1YeupddGbUQ76tpIxxSIG3kfqAR1Dcj1t2iXPMTuqeRxC5Ch7gvf 9Ci6aXu0te5vBUmU9GW9BMztwH1uuu1Lzo0agrE87PCZYsz1Sy2ZZeSFQ5N0Lzm6RcMy 58d3xBOoIAi/QbyhimxzUuAHqknmcCZX3vO2XWYjcUE51oPhiohNfDMTPwwaJ//m5bRg dihF1Ra1+J8MQNpeuaVd18seWDYJHdWLTFO2EDa5eI4cBJR/icHlpp5n3J8wc65Y04eJ lN3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684318159; x=1686910159; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5TLftFXFpP/p66GV9b80VbXUpdSiL2BNzQS06tPmSWs=; b=e0OicWR/gfnTDFlO4GEMmSpY2fBHsclRMrp940N/emzjSjauzCxjUp033nlWDVXvHs kDakDoINQA6UchnHiSHhTiT5TPfBERuXX+O74YkuUWPxQXSOldRuaWRfnNtBDyjGFonD bfzOP66Fig1foD3yLiOL6fJEAZDLDYRFkWr2bcZpshhp+I9Px5d1MRkux9b90KqfbsbY K4oObzpTVPQF3Db2EZzuc3tKTTllzL8NEv7H2CyPavCbcIA36WtDfl+C4WhEtfCgT4Wm F3eMYQz0oJFPQeVL5bNPtovzXQqmRZjArwxFFKA1bLMI/xVUPiXsN18Pe0ZMWdcM4pXl CmuQ== X-Gm-Message-State: AC+VfDzmJcb6RytS/KQ7vGfLYNYbcEV8WcLtFHoNb2k5Ed350LnMUYaj HtzsnvJtka8L/FgcZHtQ4lEx7pGHGsSxHQ== X-Google-Smtp-Source: ACHHUZ5tRs3OLIARPF45Wf4YCaXaTghg68exTW47AYu1hwEYucNjSIgOWwWcBMeKC0wOKiolcVEMOQ== X-Received: by 2002:a05:600c:2056:b0:3f4:2bbf:40a with SMTP id p22-20020a05600c205600b003f42bbf040amr19522430wmg.37.1684318158808; Wed, 17 May 2023 03:09:18 -0700 (PDT) Received: from Clement-Blade14.outsight.local (lputeaux-656-1-11-33.w82-127.abo.wanadoo.fr. [82.127.142.33]) by smtp.gmail.com with ESMTPSA id l5-20020a7bc445000000b003f42e008c8dsm1770392wmi.44.2023.05.17.03.09.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 May 2023 03:09:18 -0700 (PDT) From: =?utf-8?b?Q2zDqW1lbnQgUMOpcm9u?= To: meta-arm@lists.yoctoproject.org Cc: Peter Hoyes , =?utf-8?b?Q2zDqW1lbnQgUMOpcm9u?= Subject: [RFC PATCH v2 1/3] runfvp: make fvp runner to hold the config Date: Wed, 17 May 2023 12:09:11 +0200 Message-Id: <20230517100913.96055-1-peron.clem@gmail.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 17 May 2023 10:09:29 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/4661 At the moment the config is load and pass to FVPRunner. Change the ownership to FVPRunner. Signed-off-by: Clément Péron --- meta-arm/lib/fvp/runner.py | 15 +++++-- meta-arm/lib/oeqa/controllers/fvp.py | 13 +++--- meta-arm/lib/oeqa/selftest/cases/runfvp.py | 49 +++++++++++++--------- scripts/runfvp | 11 +++-- 4 files changed, 52 insertions(+), 36 deletions(-) diff --git a/meta-arm/lib/fvp/runner.py b/meta-arm/lib/fvp/runner.py index d957e780..4f5f88ca 100644 --- a/meta-arm/lib/fvp/runner.py +++ b/meta-arm/lib/fvp/runner.py @@ -6,7 +6,7 @@ import shutil import sys from .terminal import terminals - +from .conffile import load def cli_from_config(config, terminal_choice): cli = [] @@ -83,14 +83,18 @@ class FVPRunner: self._fvp_process = None self._telnets = [] self._pexpects = [] + self._config = None + + def start(self, fvpconf, extra_args=[], terminal_choice="none", stdout=subprocess.PIPE): + self._logger.debug(f"Loading {fvpconf}") + self._config = load(fvpconf) - def start(self, config, extra_args=[], terminal_choice="none", stdout=subprocess.PIPE): - cli = cli_from_config(config, terminal_choice) + cli = cli_from_config(self._config, terminal_choice) cli += extra_args # Pass through environment variables needed for GUI applications, such # as xterm, to work. - env = config['env'] + env = self._config['env'] for name in ('DISPLAY', 'PATH', 'WAYLAND_DISPLAY', 'XAUTHORITY'): if name in os.environ: env[name] = os.environ[name] @@ -140,6 +144,9 @@ class FVPRunner: def wait(self, timeout): self._fvp_process.wait(timeout) + def getConfig(self): + return self._config + @property def stdout(self): return self._fvp_process.stdout diff --git a/meta-arm/lib/oeqa/controllers/fvp.py b/meta-arm/lib/oeqa/controllers/fvp.py index e8a094f1..38484072 100644 --- a/meta-arm/lib/oeqa/controllers/fvp.py +++ b/meta-arm/lib/oeqa/controllers/fvp.py @@ -3,7 +3,7 @@ import pexpect import os from oeqa.core.target.ssh import OESSHTarget -from fvp import conffile, runner +from fvp import runner class OEFVPSSHTarget(OESSHTarget): @@ -19,7 +19,6 @@ class OEFVPSSHTarget(OESSHTarget): basename = pathlib.Path(rootfs) basename = basename.name.replace("".join(basename.suffixes), "") self.fvpconf = image_dir / (basename + ".fvpconf") - self.config = conffile.load(self.fvpconf) self.bootlog = bootlog if not self.fvpconf.exists(): @@ -31,7 +30,7 @@ class OEFVPSSHTarget(OESSHTarget): def start(self, **kwargs): self.fvp_log = self._create_logfile("fvp") self.fvp = runner.FVPRunner(self.logger) - self.fvp.start(self.config, stdout=self.fvp_log) + self.fvp.start(self.fvpconf, stdout=self.fvp_log) self.logger.debug(f"Started FVP PID {self.fvp.pid()}") self._after_start() @@ -72,8 +71,9 @@ class OEFVPTarget(OEFVPSSHTarget): def _after_start(self): with open(self.fvp_log.name, 'rb') as logfile: parser = runner.ConsolePortParser(logfile) - self.logger.debug(f"Awaiting console on terminal {self.config['consoles']['default']}") - port = parser.parse_port(self.config['consoles']['default']) + config = self.fvp.getConfig() + self.logger.debug(f"Awaiting console on terminal {config['consoles']['default']}") + port = parser.parse_port(config['consoles']['default']) console = self.fvp.create_pexpect(port) try: console.expect("login\\:", timeout=self.boot_timeout) @@ -105,7 +105,8 @@ class OEFVPSerialTarget(OEFVPSSHTarget): def _after_start(self): with open(self.fvp_log.name, 'rb') as logfile: parser = runner.ConsolePortParser(logfile) - for name, console in self.config["consoles"].items(): + config = self.fvp.getConfig() + for name, console in config["consoles"].items(): logfile = self._create_logfile(name) self.logger.info(f'Creating terminal {name} on {console}') port = parser.parse_port(console) diff --git a/meta-arm/lib/oeqa/selftest/cases/runfvp.py b/meta-arm/lib/oeqa/selftest/cases/runfvp.py index 46941ca9..2d2cdc80 100644 --- a/meta-arm/lib/oeqa/selftest/cases/runfvp.py +++ b/meta-arm/lib/oeqa/selftest/cases/runfvp.py @@ -1,5 +1,6 @@ import asyncio import os +import json import pathlib import subprocess import tempfile @@ -88,16 +89,20 @@ class RunnerTests(OESelftestTestCase): from fvp import runner with self.create_mock() as m: fvp = runner.FVPRunner(self.logger) - fvp.start({ - "fvp-bindir": "/usr/bin", - "exe": "FVP_Binary", - "parameters": {'foo': 'bar'}, - "data": ['data1'], - "applications": {'a1': 'file'}, - "terminals": {}, - "args": ['--extra-arg'], - "env": {"FOO": "BAR"} - }) + config = {"fvp-bindir": "/usr/bin", + "exe": "FVP_Binary", + "parameters": {'foo': 'bar'}, + "data": ['data1'], + "applications": {'a1': 'file'}, + "terminals": {}, + "args": ['--extra-arg'], + "env": {"FOO": "BAR"} + } + + with tempfile.NamedTemporaryFile('w') as fvpconf: + json.dump(config, fvpconf) + fvpconf.flush() + fvp.start(fvpconf.name) m.assert_called_once_with(['/usr/bin/FVP_Binary', '--parameter', 'foo=bar', @@ -114,16 +119,20 @@ class RunnerTests(OESelftestTestCase): from fvp import runner with self.create_mock() as m: fvp = runner.FVPRunner(self.logger) - fvp.start({ - "fvp-bindir": "/usr/bin", - "exe": "FVP_Binary", - "parameters": {}, - "data": [], - "applications": {}, - "terminals": {}, - "args": [], - "env": {"FOO": "BAR"} - }) + config = {"fvp-bindir": "/usr/bin", + "exe": "FVP_Binary", + "parameters": {}, + "data": [], + "applications": {}, + "terminals": {}, + "args": [], + "env": {"FOO": "BAR"} + } + + with tempfile.NamedTemporaryFile('w') as fvpconf: + json.dump(config, fvpconf) + fvpconf.flush() + fvp.start(fvpconf.name) m.assert_called_once_with(['/usr/bin/FVP_Binary'], stdin=unittest.mock.ANY, diff --git a/scripts/runfvp b/scripts/runfvp index e4b00abc..c2e536c8 100755 --- a/scripts/runfvp +++ b/scripts/runfvp @@ -14,7 +14,7 @@ logger = logging.getLogger("RunFVP") libdir = pathlib.Path(__file__).parents[1] / "meta-arm" / "lib" sys.path.insert(0, str(libdir)) -from fvp import terminal, runner, conffile +from fvp import terminal, runner def parse_args(arguments): import argparse @@ -49,12 +49,13 @@ def parse_args(arguments): logger.debug(f"FVP arguments: {fvp_args}") return args, fvp_args -def start_fvp(args, config, extra_args): +def start_fvp(args, fvpconf, extra_args): fvp = runner.FVPRunner(logger) try: - fvp.start(config, extra_args, args.terminals) + fvp.start(fvpconf, extra_args, args.terminals) if args.console: + config = fvp.getConfig() expected_terminal = config["consoles"].get("default") if expected_terminal is None: logger.error("--console used but FVP_CONSOLE not set in machine configuration") @@ -87,9 +88,7 @@ def runfvp(cli_args): config_file = args.config else: config_file = conffile.find(args.config) - logger.debug(f"Loading {config_file}") - config = conffile.load(config_file) - start_fvp(args, config, extra_args) + start_fvp(args, config_file, extra_args) if __name__ == "__main__": From patchwork Wed May 17 10:09:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?Q2zDqW1lbnQgUMOpcm9u?= X-Patchwork-Id: 24096 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3564DC7EE2A for ; Wed, 17 May 2023 10:09:29 +0000 (UTC) Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by mx.groups.io with SMTP id smtpd.web11.45622.1684318162401809917 for ; Wed, 17 May 2023 03:09:22 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@gmail.com header.s=20221208 header.b=O7moEUPM; spf=pass (domain: gmail.com, ip: 209.85.128.42, mailfrom: peron.clem@gmail.com) Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-3f41dceb9c9so4068395e9.3 for ; Wed, 17 May 2023 03:09:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684318160; x=1686910160; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6q9G71dZDBXu4EGfPC+udRsMuRSSr98wykzJd2y+8I0=; b=O7moEUPMrc6AEVKoHeJI+LJ6J7sr8OgW/u1nKdRkdz5+y4G+88xSHQKFkiB6d7t26J WELjU+rxiHreJlT4KwQlg6rrLfFbmEEGoBgKaC9MOlehteeOMWCstlt3Em4l8CSUxs94 OIOy4eMBFC4vjYmGt9uMNigVC+XX32En4zIVZpmSIKfmYAPjZehX44QOPXzKgvNmTRjn MvszH5C9xnmr+yIE3SkGVKa5hJ0zuxZtrD5y8cwaowJC4eFcTHpn0gnLDIIyLlgUZyPo 9V6o3M2qzeVJW7FM7HCvAMFgvAelIc2FMX+QJz+GT+d12b37NB5Ex3hBL1iL+hFtrR3u tO7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684318160; x=1686910160; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6q9G71dZDBXu4EGfPC+udRsMuRSSr98wykzJd2y+8I0=; b=fVyTRbxjgJR/BAaLL/i9k1Wp7/3MZmRKv8yvPYBmms+M86gRScPA42wdgECgtEjP/4 iAFFDJpKweTSN0k2cwgdy8TM5Sm1+yAgOv5fcjhJu4KS4vGYVyfLPjCgF3YUOrrD6S8Z r6zLdNsvlO8jPrxeUf6Z7xo2TBOG4iMXXAoLhk84aCgmZFPoLJKhNLyuhN7eN318ztlR 3bKZrudf7aeeJNMEoWBQBF0Q1X6JRZKrWBRc/ax09NJTADT+WDN7x56ke9xFf6bK8F3O 6d6/j4kuM/lK7XjtO7Q9QDGs52R8DUdU/LZtPd1/cHNMWjEQVpE+NwnBNrZfjFFyOzJF kGtw== X-Gm-Message-State: AC+VfDyV/ZMw3ILxxAx/pkeW8wgHl3NMvqExhvJH48qd/qBXIVSeWKqb 67AbTWCauoJ1tnTvQOSAXR9nyz/pkURBWg== X-Google-Smtp-Source: ACHHUZ5dLGaP2AeitBTewBDRwlxWOujZv1qXTW1p11lNAPgaUvto6rViSfTF5fhxfvHjAMzRHHqdCg== X-Received: by 2002:a1c:7412:0:b0:3f4:298f:4d01 with SMTP id p18-20020a1c7412000000b003f4298f4d01mr20895377wmc.26.1684318160258; Wed, 17 May 2023 03:09:20 -0700 (PDT) Received: from Clement-Blade14.outsight.local (lputeaux-656-1-11-33.w82-127.abo.wanadoo.fr. [82.127.142.33]) by smtp.gmail.com with ESMTPSA id l5-20020a7bc445000000b003f42e008c8dsm1770392wmi.44.2023.05.17.03.09.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 May 2023 03:09:20 -0700 (PDT) From: =?utf-8?b?Q2zDqW1lbnQgUMOpcm9u?= To: meta-arm@lists.yoctoproject.org Cc: Peter Hoyes , =?utf-8?b?Q2zDqW1lbnQgUMOpcm9u?= Subject: [RFC PATCH v2 2/3] fvp: runner: execute fvp process in the same working directory as fvpconf Date: Wed, 17 May 2023 12:09:12 +0200 Message-Id: <20230517100913.96055-2-peron.clem@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230517100913.96055-1-peron.clem@gmail.com> References: <20230517100913.96055-1-peron.clem@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 17 May 2023 10:09:29 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/4662 In Order to be able to have filepath relative to fvpconf, execute the fvp process in the same working directory. Signed-off-by: Clément Péron --- meta-arm/lib/fvp/runner.py | 7 ++++++- meta-arm/lib/oeqa/selftest/cases/runfvp.py | 8 ++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/meta-arm/lib/fvp/runner.py b/meta-arm/lib/fvp/runner.py index 4f5f88ca..7ca3673d 100644 --- a/meta-arm/lib/fvp/runner.py +++ b/meta-arm/lib/fvp/runner.py @@ -99,11 +99,16 @@ class FVPRunner: if name in os.environ: env[name] = os.environ[name] + # Allow filepath to be relative to fvp configuration file + cwd = os.path.dirname(fvpconf) + self._logger.debug(f"FVP call will be executed in working directory: {cwd}") + self._logger.debug(f"Constructed FVP call: {shlex_join(cli)}") self._fvp_process = subprocess.Popen( cli, stdin=subprocess.DEVNULL, stdout=stdout, stderr=subprocess.STDOUT, - env=env) + env=env, + cwd=cwd) def stop(self): if self._fvp_process: diff --git a/meta-arm/lib/oeqa/selftest/cases/runfvp.py b/meta-arm/lib/oeqa/selftest/cases/runfvp.py index 2d2cdc80..d60aa3c4 100644 --- a/meta-arm/lib/oeqa/selftest/cases/runfvp.py +++ b/meta-arm/lib/oeqa/selftest/cases/runfvp.py @@ -102,6 +102,7 @@ class RunnerTests(OESelftestTestCase): with tempfile.NamedTemporaryFile('w') as fvpconf: json.dump(config, fvpconf) fvpconf.flush() + cwd_mock = os.path.dirname(fvpconf.name) fvp.start(fvpconf.name) m.assert_called_once_with(['/usr/bin/FVP_Binary', @@ -112,7 +113,8 @@ class RunnerTests(OESelftestTestCase): stdin=unittest.mock.ANY, stdout=unittest.mock.ANY, stderr=unittest.mock.ANY, - env={"FOO":"BAR", "PATH": "/path-42:/usr/sbin:/usr/bin:/sbin:/bin"}) + env={"FOO":"BAR", "PATH": "/path-42:/usr/sbin:/usr/bin:/sbin:/bin"}, + cwd=cwd_mock) @unittest.mock.patch.dict(os.environ, {"DISPLAY": ":42", "WAYLAND_DISPLAY": "wayland-42", "PATH": "/path-42:/usr/sbin:/usr/bin:/sbin:/bin"}) def test_env_passthrough(self): @@ -132,10 +134,12 @@ class RunnerTests(OESelftestTestCase): with tempfile.NamedTemporaryFile('w') as fvpconf: json.dump(config, fvpconf) fvpconf.flush() + cwd_mock = os.path.dirname(fvpconf.name) fvp.start(fvpconf.name) m.assert_called_once_with(['/usr/bin/FVP_Binary'], stdin=unittest.mock.ANY, stdout=unittest.mock.ANY, stderr=unittest.mock.ANY, - env={"DISPLAY":":42", "FOO": "BAR", "WAYLAND_DISPLAY": "wayland-42", "PATH": "/path-42:/usr/sbin:/usr/bin:/sbin:/bin"}) + env={"DISPLAY":":42", "FOO": "BAR", "WAYLAND_DISPLAY": "wayland-42", "PATH": "/path-42:/usr/sbin:/usr/bin:/sbin:/bin"}, + cwd=cwd_mock) From patchwork Wed May 17 10:09:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?Q2zDqW1lbnQgUMOpcm9u?= X-Patchwork-Id: 24097 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 33F4FC77B7A for ; Wed, 17 May 2023 10:09:29 +0000 (UTC) Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by mx.groups.io with SMTP id smtpd.web10.45762.1684318163471978422 for ; Wed, 17 May 2023 03:09:23 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@gmail.com header.s=20221208 header.b=I7wzSMmg; spf=pass (domain: gmail.com, ip: 209.85.128.43, mailfrom: peron.clem@gmail.com) Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-3f41dceb93bso3848645e9.1 for ; Wed, 17 May 2023 03:09:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684318161; x=1686910161; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=l1UUP9OQ/rKL0HfZ6OoMC8Oz03iW7bAMmL04h/izTEE=; b=I7wzSMmgKCMIZJCTx5UZoyT5xP+W3Zps/Q1FbPU9FFiMKNtRI3crVHYv1n2dZb/jtd J0sQNe1VmAzMIocwTNP/1UoR5Ilg6atd2vhfjSXORzg64XssLhIckVPZ2udz/dLUs+zJ i+wBSUMuHi25/C3f0ZmUp0o+Hnzm5aPiw+3Y8E1yMgkE4djn+uHslwc0PmAijD+cjd2R Jk7Buy0qrseiDhNYzLr6fwqpG9gqI0Tf0NM5XEsxJJvr7HXokqFASgf2U7nEq+BT5dkk f0LpMnSMDXSlptpkCnA5L/x/YNWhUp+EZ+5nJKWlkA+dyoylNmr/RDoomaW4pLP2usD2 Ufpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684318161; x=1686910161; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=l1UUP9OQ/rKL0HfZ6OoMC8Oz03iW7bAMmL04h/izTEE=; b=Nh+sMQY2ZIMujdDVJN1bhbNnfyU4nYKkSHITg0dSkKpEBL2NaGjC7NXfZRcm5u3rZ5 37FkB4ruk3hI50z7CHTL5SvMipg0ochWTlOkVNqHhrgDqRHdZ1a+CjTOKurV85/9I22z 6nlO/2ma2woNAvWk0H0Fc/B6IoRpwNmVJUotUoG55OFt+kEKS6RJJiEcByWLyyWB2KK0 etxc01facPVp/VSfOP/kbogLtad+a/18DkbRYxcvGqknvZ5vrMAeusw1H8YeV7EcxTda fR+K3ea547tT5fuboGuDomVal4cEbucnmkT7v/jtfZ0IAqVzCakEr/e0k7x2k1u+SMzJ ALaQ== X-Gm-Message-State: AC+VfDwm61MuyUeYOhj+itPo75zz2LYDeQQmNcOr+PVcCPoe91jxPIyS w3xsCsaYiyyaJk/fwwb1cngvvOtpbxjikQ== X-Google-Smtp-Source: ACHHUZ53ECizeEKKvY1QVu90pNnKGT421z7VqUZI+83cVfsgQku7SR6TXHvv67kg0CEJAR8kQU8l6Q== X-Received: by 2002:a1c:7702:0:b0:3f1:81c6:f59a with SMTP id t2-20020a1c7702000000b003f181c6f59amr28624985wmi.4.1684318161401; Wed, 17 May 2023 03:09:21 -0700 (PDT) Received: from Clement-Blade14.outsight.local (lputeaux-656-1-11-33.w82-127.abo.wanadoo.fr. [82.127.142.33]) by smtp.gmail.com with ESMTPSA id l5-20020a7bc445000000b003f42e008c8dsm1770392wmi.44.2023.05.17.03.09.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 May 2023 03:09:20 -0700 (PDT) From: =?utf-8?b?Q2zDqW1lbnQgUMOpcm9u?= To: meta-arm@lists.yoctoproject.org Cc: Peter Hoyes , =?utf-8?b?Q2zDqW1lbnQgUMOpcm9u?= Subject: [RFC PATCH v2 3/3] runfvp: update filepath in fvpconf to relative path Date: Wed, 17 May 2023 12:09:13 +0200 Message-Id: <20230517100913.96055-3-peron.clem@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230517100913.96055-1-peron.clem@gmail.com> References: <20230517100913.96055-1-peron.clem@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 17 May 2023 10:09:29 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/4663 Using absolute path in fvpconf will leak the host machine path. This is a bit annoying when the builder and the runner doesn't use the same filepath hierachy. Switch to relative path instead of absolute. Signed-off-by: Clément Péron --- documentation/runfvp.md | 8 ++++---- meta-arm-bsp/conf/machine/corstone1000-fvp.conf | 6 +++--- meta-arm-bsp/conf/machine/corstone500.conf | 4 ++-- meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf | 4 ++-- meta-arm-bsp/conf/machine/include/fvp-common.inc | 10 +++++----- meta-arm-bsp/conf/machine/tc1.conf | 8 ++++---- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/documentation/runfvp.md b/documentation/runfvp.md index 01b13693..b3c6467f 100644 --- a/documentation/runfvp.md +++ b/documentation/runfvp.md @@ -64,7 +64,7 @@ If `FVP_PROVIDER` is not set then it is assumed that `FVP_EXE` is installed on t Parameters passed to the FVP with the `--parameter`/`-C` option. These are expressed as variable flags so individual parameters can be altered easily. For example: ``` -FVP_CONFIG[bp.flashloader0.fname] = "${DEPLOY_DIR_IMAGE}/fip-fvp.bin" +FVP_CONFIG[bp.flashloader0.fname] = "fip-fvp.bin" ``` ### `FVP_DATA` @@ -72,8 +72,8 @@ FVP_CONFIG[bp.flashloader0.fname] = "${DEPLOY_DIR_IMAGE}/fip-fvp.bin" Specify raw data to load at the specified address, passed to the FVP with the `--data` option. This is a space-separated list of parameters in the format `[INST=]FILE@[MEMSPACE:]ADDRESS`. For example: ``` -FVP_DATA = "cluster0.cpu0=${DEPLOY_DIR_IMAGE}/Image@0x80080000 \ - cluster0.cpu0=${DEPLOY_DIR_IMAGE}/fvp-base-revc.dtb@0x83000000" +FVP_DATA = "cluster0.cpu0=Image@0x80080000 \ + cluster0.cpu0=fvp-base-revc.dtb@0x83000000" ``` ### `FVP_APPLICATIONS` @@ -81,7 +81,7 @@ FVP_DATA = "cluster0.cpu0=${DEPLOY_DIR_IMAGE}/Image@0x80080000 \ Applications to load on the cores, passed to the FVP with the `--application` option. These are expressed as variable flags with the flag name being the instance and flag value the filename, for example: ``` -FVP_APPLICATIONS[cluster0] = "${DEPLOY_DIR_IMAGE}/linux-system.axf" +FVP_APPLICATIONS[cluster0] = "linux-system.axf" ``` Note that symbols are not allowed in flag names, so if you need to use a wildcard in the instance then you'll need to use `FVP_EXTRA_ARGS` and `--application` directly. diff --git a/meta-arm-bsp/conf/machine/corstone1000-fvp.conf b/meta-arm-bsp/conf/machine/corstone1000-fvp.conf index 03577b8e..66236515 100644 --- a/meta-arm-bsp/conf/machine/corstone1000-fvp.conf +++ b/meta-arm-bsp/conf/machine/corstone1000-fvp.conf @@ -17,7 +17,7 @@ FVP_EXE ?= "FVP_Corstone-1000" FVP_CONSOLE ?= "host_terminal_0" # FVP Parameters -FVP_CONFIG[se.trustedBootROMloader.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1.bin" +FVP_CONFIG[se.trustedBootROMloader.fname] ?= "bl1.bin" FVP_CONFIG[board.xnvm_size] ?= "64" FVP_CONFIG[se.trustedSRAM_config] ?= "6" FVP_CONFIG[se.BootROM_config] ?= "3" @@ -32,10 +32,10 @@ FVP_CONFIG[se.nvm.update_raw_image] ?= "0" FVP_CONFIG[se.cryptocell.USER_OTP_FILTERING_DISABLE] ?= "1" # Boot image -FVP_DATA ?= "board.flash0=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic@0x68000000" +FVP_DATA ?= "board.flash0=${IMAGE_NAME}.rootfs.wic@0x68000000" # External system (cortex-M3) -FVP_CONFIG[extsys_harness0.extsys_flashloader.fname] ?= "${DEPLOY_DIR_IMAGE}/es_flashfw.bin" +FVP_CONFIG[extsys_harness0.extsys_flashloader.fname] ?= "es_flashfw.bin" # FVP Terminals FVP_TERMINALS[host.host_terminal_0] ?= "Normal World Console" diff --git a/meta-arm-bsp/conf/machine/corstone500.conf b/meta-arm-bsp/conf/machine/corstone500.conf index a599660c..c13c86c0 100644 --- a/meta-arm-bsp/conf/machine/corstone500.conf +++ b/meta-arm-bsp/conf/machine/corstone500.conf @@ -38,8 +38,8 @@ TEST_SUITES = "linuxboot" FVP_PROVIDER ?= "fvp-corstone500-native" FVP_EXE ?= "FVP_Corstone-500" -FVP_CONFIG[board.flashloader0.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1.bin" -FVP_DATA ?= "css.cluster.cpu0=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic.nopt@0x80000000" +FVP_CONFIG[board.flashloader0.fname] ?= "bl1.bin" +FVP_DATA ?= "css.cluster.cpu0=${IMAGE_NAME}.rootfs.wic.nopt@0x80000000" FVP_CONSOLE ?= "terminal_0" FVP_TERMINALS[css.terminal_0] ?= "console" FVP_TERMINALS[css.terminal_1] ?= "" diff --git a/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf b/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf index 0c2ea122..62c9cbd0 100644 --- a/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf +++ b/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf @@ -34,7 +34,7 @@ TEST_SUITES = "linuxboot" TEST_TARGET_IP ?= "127.0.0.1:8022" TEST_SERVER_IP ?= "127.0.1.1" -FVP_EXTRA_ARGS = "-a cluster0*=${DEPLOY_DIR_IMAGE}/linux-system.axf" +FVP_EXTRA_ARGS = "-a cluster0*=linux-system.axf" FVP_PROVIDER ?= "fvp-base-r-aem-native" FVP_EXE ?= "FVP_BaseR_AEMv8R" FVP_CONSOLE ?= "terminal_0" @@ -50,7 +50,7 @@ FVP_CONFIG[bp.virtio_net.hostbridge.userNetworking] ?= "1" FVP_CONFIG[bp.virtio_net.secure_accesses] = "1" FVP_CONFIG[bp.virtio_rng.enabled] ?= "1" FVP_CONFIG[bp.virtio_rng.secure_accesses] = "1" -FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic" +FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${IMAGE_NAME}.rootfs.wic" FVP_CONFIG[bp.virtioblockdevice.secure_accesses] = "1" FVP_CONFIG[cache_state_modelled] ?= "0" FVP_CONFIG[cci400.force_on_from_start] = "1" diff --git a/meta-arm-bsp/conf/machine/include/fvp-common.inc b/meta-arm-bsp/conf/machine/include/fvp-common.inc index 233c734f..47b7ffce 100644 --- a/meta-arm-bsp/conf/machine/include/fvp-common.inc +++ b/meta-arm-bsp/conf/machine/include/fvp-common.inc @@ -33,15 +33,15 @@ FVP_CONFIG[bp.virtio_net.hostbridge.userNetworking] ?= "1" # Tell testimage to connect to localhost:8022, and forward that to SSH in the FVP. FVP_CONFIG[bp.virtio_net.hostbridge.userNetPorts] = "8022=22" FVP_CONFIG[cache_state_modelled] ?= "0" -FVP_CONFIG[bp.secureflashloader.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1-fvp.bin" -FVP_CONFIG[bp.flashloader0.fname] ?= "${DEPLOY_DIR_IMAGE}/fip-fvp.bin" -FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic" +FVP_CONFIG[bp.secureflashloader.fname] ?= "bl1-fvp.bin" +FVP_CONFIG[bp.flashloader0.fname] ?= "fip-fvp.bin" +FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${IMAGE_NAME}.rootfs.wic" # Set the baseline to ARMv8.4, as the default is 8.0. FVP_CONFIG[cluster0.has_arm_v8-4] = "1" FVP_CONFIG[cluster1.has_arm_v8-4] = "1" FVP_CONSOLE ?= "terminal_0" -FVP_DATA ?= "cluster0.cpu0=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}@0x80080000 \ - cluster0.cpu0=${DEPLOY_DIR_IMAGE}/fvp-base-revc.dtb@0x8fc00000" +FVP_DATA ?= "cluster0.cpu0=${KERNEL_IMAGETYPE}@0x80080000 \ + cluster0.cpu0=fvp-base-revc.dtb@0x8fc00000" FVP_TERMINALS[bp.terminal_0] ?= "Console" FVP_TERMINALS[bp.terminal_1] ?= "" FVP_TERMINALS[bp.terminal_2] ?= "" diff --git a/meta-arm-bsp/conf/machine/tc1.conf b/meta-arm-bsp/conf/machine/tc1.conf index f99bfd2b..5f68cc7a 100644 --- a/meta-arm-bsp/conf/machine/tc1.conf +++ b/meta-arm-bsp/conf/machine/tc1.conf @@ -14,9 +14,9 @@ FVP_PROVIDER ?= "fvp-tc1-native" FVP_EXE ?= "FVP_TC1" # FVP Parameters -FVP_CONFIG[css.scp.ROMloader.fname] ?= "${DEPLOY_DIR_IMAGE}/scp_romfw.bin" -FVP_CONFIG[css.trustedBootROMloader.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1-tc.bin" -FVP_CONFIG[board.flashloader0.fname] ?= "${DEPLOY_DIR_IMAGE}/fip_gpt-tc.bin" +FVP_CONFIG[css.scp.ROMloader.fname] ?= "scp_romfw.bin" +FVP_CONFIG[css.trustedBootROMloader.fname] ?= "bl1-tc.bin" +FVP_CONFIG[board.flashloader0.fname] ?= "fip_gpt-tc.bin" #FVP_CONFIG[board.hostbridge.userNetworking] ?= "true" #FVP_CONFIG[board.hostbridge.userNetPorts] ?= "8022=22" @@ -28,4 +28,4 @@ FVP_TERMINALS[soc.terminal_s0] ?= "Secure Console" FVP_TERMINALS[soc.terminal_s1] ?= "Console" # Boot image -FVP_DATA ?= "board.dram=${DEPLOY_DIR_IMAGE}/fitImage-core-image-minimal-tc1-tc1@0x20000000" +FVP_DATA ?= "board.dram=fitImage-core-image-minimal-tc1-tc1@0x20000000"