From e5f2684d60025fbe205d1974ba89341d1d5408be Mon Sep 17 00:00:00 2001 From: Kevin Hao Date: Thu, 6 Jun 2019 15:11:46 +0800 Subject: runqemu: Add the support to pass multi ports to tcpserial parameter In some cases(such as the oeqa's qemurunner), we need to setup multi serial devices via the '-serial 127.0.0.1:xx" and the order of them is significant. The mixing use of "tcpserial" and "-serial 127.0.0.1:xx" cause ambiguous issues and we can't fix it by only adjusting the order of them. So add the support to pass multi ports to the tcpserial parameter, this will make sure that the order of setting up the serial is really what we want. [YOCTO Bug 13309] (From OE-Core rev: 766c3b56e5071b5a5a64e88df6d3abe5232dd958) Signed-off-by: Kevin Hao Signed-off-by: Richard Purdie --- scripts/runqemu | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/runqemu b/scripts/runqemu index 5752ecda73..af90c010da 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -438,7 +438,7 @@ class BaseConfig(object): elif arg == 'publicvnc': self.qemu_opt_script += ' -vnc :0' elif arg.startswith('tcpserial='): - self.tcpserial_portnum = arg[len('tcpserial='):] + self.tcpserial_portnum = '%s' % arg[len('tcpserial='):] elif arg.startswith('biosdir='): self.custombiosdir = arg[len('biosdir='):] elif arg.startswith('biosfilename='): @@ -682,10 +682,16 @@ class BaseConfig(object): def check_tcpserial(self): if self.tcpserial_portnum: + ports = self.tcpserial_portnum.split(':') + port = ports[0] if self.get('QB_TCPSERIAL_OPT'): - self.qemu_opt_script += ' ' + self.get('QB_TCPSERIAL_OPT').replace('@PORT@', self.tcpserial_portnum) + self.qemu_opt_script += ' ' + self.get('QB_TCPSERIAL_OPT').replace('@PORT@', port) else: - self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % self.tcpserial_portnum + self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % port + + if len(ports) > 1: + for port in ports[1:]: + self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % port def check_and_set(self): """Check configs sanity and set when needed""" -- cgit v1.2.3-54-g00ecf