aboutsummaryrefslogtreecommitdiff
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-02 17:24:16 +0000
commit82e67b82ea8e12aa0b7b9db1d84fec0436dec71b (patch)
tree9a6d6948c2b6477d65706da63b3d98bd0e824985
parent6e27bd4876bea2c02a6554d3f53b7461e74a192b (diff)
downloadopenembedded-core-82e67b82ea8e12aa0b7b9db1d84fec0436dec71b.zip
openembedded-core-82e67b82ea8e12aa0b7b9db1d84fec0436dec71b.tar.gz
openembedded-core-82e67b82ea8e12aa0b7b9db1d84fec0436dec71b.tar.bz2
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] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xscripts/runqemu5
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index f2b4b3c..d998494 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -510,6 +510,11 @@ class BaseConfig(object):
if os.access(dev_kvm, os.W_OK|os.R_OK):
self.qemu_opt_script += ' -enable-kvm'
+ if self.get('MACHINE') == "qemux86":
+ # Workaround for broken APIC window on pre 4.15 host kernels which causes boot hangs
+ # See YOCTO #12301
+ # On 64 bit we use x2apic
+ self.kernel_cmdline_script += " clocksource=kvm-clock hpet=disable noapic nolapic"
else:
logger.error("You have no read or write permission on /dev/kvm.")
logger.error("Please change the ownership of this file as described at:")