summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-01-02 11:36:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-01-07 17:07:57 +0000
commit5e85fb27536634542c8451eda743d419898b517b (patch)
tree918265f00adefc47f252ff71fcc403b267799c07 /scripts
parentf4c3ce037b1a4d5e61fee032f4068c15dcaffb37 (diff)
downloadpoky-5e85fb27536634542c8451eda743d419898b517b.tar.gz
runqemu: Add workaround for APIC hang on pre 4.15 kernels on qemux86
On pre 4.15 host kernels, an APIC window emulation bug can cause qemu to hang. On 64 bit we can use the x2apic, for 32 bit, we just have to disable the other timer sources and rely on kvm-clock. [YOCTO #12301] (From OE-Core rev: 6a2bdae1c418374aee9b53abfc03cb506647c94e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 82e67b82ea8e12aa0b7b9db1d84fec0436dec71b) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/runqemu5
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index f0ddeea1bf..9b6d330f1f 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -482,6 +482,11 @@ class BaseConfig(object):
482 482
483 if os.access(dev_kvm, os.W_OK|os.R_OK): 483 if os.access(dev_kvm, os.W_OK|os.R_OK):
484 self.qemu_opt_script += ' -enable-kvm' 484 self.qemu_opt_script += ' -enable-kvm'
485 if self.get('MACHINE') == "qemux86":
486 # Workaround for broken APIC window on pre 4.15 host kernels which causes boot hangs
487 # See YOCTO #12301
488 # On 64 bit we use x2apic
489 self.kernel_cmdline_script += " clocksource=kvm-clock hpet=disable noapic nolapic"
485 else: 490 else:
486 logger.error("You have no read or write permission on /dev/kvm.") 491 logger.error("You have no read or write permission on /dev/kvm.")
487 logger.error("Please change the ownership of this file as described at:") 492 logger.error("Please change the ownership of this file as described at:")