@@ -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 "")
@@ -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")
@@ -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):
@@ -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