diff --git a/meta-arm/classes/fvpboot.bbclass b/meta-arm/classes/fvpboot.bbclass index d02742db..ec9d4f5b 100644 --- a/meta-arm/classes/fvpboot.bbclass +++ b/meta-arm/classes/fvpboot.bbclass @@ -18,6 +18,9 @@ FVP_APPLICATIONS ?= "" FVP_TERMINALS ?= "" # What terminal should be considered the primary console FVP_CONSOLE ?= "" +# Flags for console names, as they appear in the FVP output. Flag name is an +# application-specific id for the console for use in test cases +FVP_CONSOLES[default] ?= "${FVP_CONSOLE}" # Arbitrary extra arguments FVP_EXTRA_ARGS ?= "" @@ -59,7 +62,7 @@ python do_write_fvpboot_conf() { data["parameters"] = getFlags("FVP_CONFIG") data["data"] = shlex.split(d.getVar("FVP_DATA") or "") data["applications"] = getFlags("FVP_APPLICATIONS") - data["console"] = d.getVar("FVP_CONSOLE") + data["consoles"] = getFlags("FVP_CONSOLES") data["terminals"] = getFlags("FVP_TERMINALS") data["args"] = shlex.split(d.getVar("FVP_EXTRA_ARGS") or "") diff --git a/meta-arm/lib/fvp/conffile.py b/meta-arm/lib/fvp/conffile.py index 77afca19..acede40e 100644 --- a/meta-arm/lib/fvp/conffile.py +++ b/meta-arm/lib/fvp/conffile.py @@ -50,7 +50,7 @@ def load(config_file): sanitise("applications", {}) sanitise("terminals", {}) sanitise("args", []) - sanitise("console", "") + sanitise("consoles", {}) if not config["exe"]: raise ValueError("Required value FVP_EXE not set in machine configuration") diff --git a/meta-arm/lib/oeqa/selftest/cases/runfvp.py b/meta-arm/lib/oeqa/selftest/cases/runfvp.py index aabd0b7e..d1e452f6 100644 --- a/meta-arm/lib/oeqa/selftest/cases/runfvp.py +++ b/meta-arm/lib/oeqa/selftest/cases/runfvp.py @@ -78,7 +78,7 @@ class ConfFileTests(OESelftestTestCase): self.assertTrue("applications" in conf) self.assertTrue("terminals" in conf) self.assertTrue("args" in conf) - self.assertTrue("console" in conf) + self.assertTrue("consoles" in conf) class RunnerTests(OESelftestTestCase): diff --git a/scripts/runfvp b/scripts/runfvp index 30eae40e..9fb77d38 100755 --- a/scripts/runfvp +++ b/scripts/runfvp @@ -55,7 +55,7 @@ async def start_fvp(args, config, extra_args): if args.console: fvp.add_line_callback(lambda line: logger.debug(f"FVP output: {line}")) - expected_terminal = config["console"] + expected_terminal = config["consoles"]["default"] if not expected_terminal: logger.error("--console used but FVP_CONSOLE not set in machine configuration") return 1