runqemu: Let qemuparams override default settings

Fixed:
In meta/conf/machine/include/qemuboot-x86.inc:
QB_CPU_x86-64 = "-cpu core2duo"

$ runqemu qemux86-64 qemuparams="-cpu coreduo"
Check /proc/cpuinfo, it should use coreduo rather than core2duo since user
specifies it, but it doesn't, append qemuparams to the last can fix the
problem.

[YOCTO #11773]

(From OE-Core rev: a847dd7202a2c493788c45d11eb86866264af7a4)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang 2019-02-15 16:14:51 +08:00 committed by Richard Purdie
parent bd5c9ca7c8
commit ad522ea6a6

View File

@ -189,6 +189,7 @@ class BaseConfig(object):
self.qemu_opt = ''
self.qemu_opt_script = ''
self.qemuparams = ''
self.clean_nfs_dir = False
self.nfs_server = ''
self.rootfs = ''
@ -460,7 +461,7 @@ class BaseConfig(object):
elif arg.startswith('biosfilename='):
self.qemu_opt_script += ' -bios %s' % arg[len('biosfilename='):]
elif arg.startswith('qemuparams='):
self.qemu_opt_script += ' %s' % arg[len('qemuparams='):]
self.qemuparams = ' %s' % arg[len('qemuparams='):]
elif arg.startswith('bootparams='):
self.bootparams = arg[len('bootparams='):]
elif os.path.exists(arg) or (re.search(':', arg) and re.search('/', arg)):
@ -667,7 +668,11 @@ class BaseConfig(object):
raise RunQemuError("Invalid custombiosdir: %s" % self.custombiosdir)
def check_mem(self):
s = re.search('-m +([0-9]+)', self.qemu_opt_script)
"""
Both qemu and kernel needs memory settings, so check QB_MEM and set it
for both.
"""
s = re.search('-m +([0-9]+)', self.qemuparams)
if s:
self.set('QB_MEM', '-m %s' % s.group(1))
elif not self.get('QB_MEM'):
@ -1169,6 +1174,10 @@ class BaseConfig(object):
self.qemu_opt += ' ' + self.qemu_opt_script
# Append qemuparams to override previous settings
if self.qemuparams:
self.qemu_opt += ' ' + self.qemuparams
if self.snapshot:
self.qemu_opt += " -snapshot"