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 = ''
self.qemu_opt_script = '' self.qemu_opt_script = ''
self.qemuparams = ''
self.clean_nfs_dir = False self.clean_nfs_dir = False
self.nfs_server = '' self.nfs_server = ''
self.rootfs = '' self.rootfs = ''
@ -460,7 +461,7 @@ class BaseConfig(object):
elif arg.startswith('biosfilename='): elif arg.startswith('biosfilename='):
self.qemu_opt_script += ' -bios %s' % arg[len('biosfilename='):] self.qemu_opt_script += ' -bios %s' % arg[len('biosfilename='):]
elif arg.startswith('qemuparams='): elif arg.startswith('qemuparams='):
self.qemu_opt_script += ' %s' % arg[len('qemuparams='):] self.qemuparams = ' %s' % arg[len('qemuparams='):]
elif arg.startswith('bootparams='): elif arg.startswith('bootparams='):
self.bootparams = arg[len('bootparams='):] self.bootparams = arg[len('bootparams='):]
elif os.path.exists(arg) or (re.search(':', arg) and re.search('/', arg)): 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) raise RunQemuError("Invalid custombiosdir: %s" % self.custombiosdir)
def check_mem(self): 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: if s:
self.set('QB_MEM', '-m %s' % s.group(1)) self.set('QB_MEM', '-m %s' % s.group(1))
elif not self.get('QB_MEM'): elif not self.get('QB_MEM'):
@ -1169,6 +1174,10 @@ class BaseConfig(object):
self.qemu_opt += ' ' + self.qemu_opt_script self.qemu_opt += ' ' + self.qemu_opt_script
# Append qemuparams to override previous settings
if self.qemuparams:
self.qemu_opt += ' ' + self.qemuparams
if self.snapshot: if self.snapshot:
self.qemu_opt += " -snapshot" self.qemu_opt += " -snapshot"