aboutsummaryrefslogtreecommitdiffstats
path: root/meta-zephyr-core/lib/oeqa/controllers/zephyrtargetcontrol.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta-zephyr-core/lib/oeqa/controllers/zephyrtargetcontrol.py')
-rw-r--r--meta-zephyr-core/lib/oeqa/controllers/zephyrtargetcontrol.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/meta-zephyr-core/lib/oeqa/controllers/zephyrtargetcontrol.py b/meta-zephyr-core/lib/oeqa/controllers/zephyrtargetcontrol.py
new file mode 100644
index 0000000..d342314
--- /dev/null
+++ b/meta-zephyr-core/lib/oeqa/controllers/zephyrtargetcontrol.py
@@ -0,0 +1,62 @@
+# Copyright (C) 2016-2017 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
+import os
+import sys
+import signal
+import logging
+
+from oeqa.core.target.__init__ import OETarget
+from oeqa.utils.qemuzephyrrunner import QemuZephyrRunner
+supported_fstypes = ['elf']
+
+class QemuTargetZephyr(OETarget):
+ def __init__(self, logger, ip, server_ip,
+ machine='', rootfs='', tmpdir ='',dir_image ='',display=None,
+ kernel='',boottime=60,bootlog='',kvm=False,slirp=False,
+ dump_dir='',serial_ports=0,ovmf=None,tmpfsdir='' ,target_modules_path='',powercontrol_cmd='',powercontrol_extra_args='',
+ serialcontrol_cmd=None,serialcontrol_extra_args='',testimage_dump_target='',testimage_dump_monitor=''):
+
+ timeout = 300
+ user = 'root'
+ port = serial_ports
+ dump_host_cmds = testimage_dump_target
+
+ super(QemuTargetZephyr, self).__init__(logger, ip, server_ip, timeout,
+ user, port)
+
+ self.ip = ip
+ self.server_ip = server_ip
+ self.machine = machine
+ self.rootfs = rootfs
+ self.qemulog = bootlog
+ self.kernel = kernel
+ self.kvm = kvm
+
+ # Log QemuRunner log output to a file
+ import oe.path
+ from oeqa.utils.qemuzephyrrunner import QemuZephyrRunner
+
+ self.qemurunnerlog = bootlog
+ logger = logging.getLogger('BitBake.QemuRunner')
+ loggerhandler = logging.FileHandler(self.qemurunnerlog)
+ loggerhandler.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))
+ logger.addHandler(loggerhandler)
+
+ self.runner = QemuZephyrRunner(machine=machine, rootfs=rootfs, tmpdir=tmpdir,
+ deploy_dir_image=dir_image, display=display,
+ logfile=self.qemulog, boottime=boottime,
+ use_kvm=kvm, dump_dir=dump_dir,
+ dump_host_cmds=dump_host_cmds,
+ logger = logger, tmpfsdir=tmpfsdir)
+
+
+ def start(self, params=None, runqemuparams=None, extra_bootparams=None):
+ if self.runner.start(params, extra_bootparams=extra_bootparams):
+ self.ip = self.runner.ip
+ self.server_ip = self.runner.server_ip
+ else:
+ raise RuntimeError("FAILED to start qemu - check the task log and the boot log")
+
+ def serial_readline(self):
+ return self.runner.serial_readline()