aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py4
-rwxr-xr-xscripts/runqemu4
-rwxr-xr-xscripts/runqemu-internal8
3 files changed, 14 insertions, 2 deletions
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index e976fd0819..33f31852a7 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -92,7 +92,7 @@ class QemuRunner:
# Set this flag so that Qemu doesn't do any grabs as SDL grabs interact
# badly with screensavers.
os.environ["QEMU_DONT_GRAB"] = "1"
- self.qemuparams = 'bootparams="console=tty1 console=ttyS0,115200n8" qemuparams="-serial tcp:127.0.0.1:{} -serial tcp:127.0.0.1:{}"'.format(threadport, self.serverport)
+ self.qemuparams = 'bootparams="console=tty1 console=ttyS0,115200n8" qemuparams="-serial tcp:127.0.0.1:{}"'.format(threadport)
if qemuparams:
self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"'
@@ -102,7 +102,7 @@ class QemuRunner:
fcntl.fcntl(o, fcntl.F_SETFL, fl | os.O_NONBLOCK)
return os.read(o.fileno(), 1000000)
- launch_cmd = 'runqemu %s %s %s' % (self.machine, self.rootfs, self.qemuparams)
+ launch_cmd = 'runqemu tcpserial=%s %s %s %s' % (self.serverport, self.machine, self.rootfs, self.qemuparams)
# FIXME: We pass in stdin=subprocess.PIPE here to work around stty
# blocking at the end of the runqemu script when using this within
# oe-selftest (this makes stty error out immediately). There ought
diff --git a/scripts/runqemu b/scripts/runqemu
index 09c507dc7a..82711606f6 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -68,6 +68,7 @@ SCRIPT_QEMU_OPT=""
SCRIPT_QEMU_EXTRA_OPT=""
SCRIPT_KERNEL_OPT=""
SERIALSTDIO=""
+TCPSERIAL_PORTNUM=""
KVM_ENABLED="no"
KVM_ACTIVE="no"
@@ -150,6 +151,9 @@ while true; do
SCRIPT_KERNEL_OPT="$SCRIPT_KERNEL_OPT console=ttyS0"
SERIALSTDIO="1"
;;
+ "tcpserial="*)
+ TCPSERIAL_PORTNUM=${arg##tcpserial=}
+ ;;
"biosdir="*)
CUSTOMBIOSDIR="${arg##biosdir=}"
;;
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index d743322037..b317358f94 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -620,6 +620,14 @@ if [ "x$QEMUOPTIONS" = "x" ]; then
return 1
fi
+if [ $TCPSERIAL_PORTNUM != "" ]; then
+ if [ "$MACHINE" = "qemuarm64" ]; then
+ QEMUOPTIONS="$QEMUOPTIONS -device virtio-serial-device -chardev socket,id=virtcon,port=$TCPSERIAL_PORTNUM,host=127.0.0.1 -device virtconsole,chardev=virtcon"
+ else
+ QEMUOPTIONS="$QEMUOPTIONS -serial tcp:127.0.0.1:$TCPSERIAL_PORTNUM"
+ fi
+fi
+
PATH=$OECORE_NATIVE_SYSROOT/usr/bin:$PATH
QEMUBIN=`which $QEMU 2> /dev/null`