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-06 10:13:57 +0000
commit92e9b46f3ca316d18aa7de499a59c3d7f12c93d8 (patch)
tree94891a0f9264fe85aa159f016342860fb89192df /scripts
parent19b5dd761d073e5d1ceb72110a44da39806ec97e (diff)
downloadpoky-92e9b46f3ca316d18aa7de499a59c3d7f12c93d8.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: 04646ed7edf020b73c6639a1a7445252cf7aad5e) 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 0b6daf2cf2..0ed1eec2d3 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -508,6 +508,11 @@ class BaseConfig(object):
508 508
509 if os.access(dev_kvm, os.W_OK|os.R_OK): 509 if os.access(dev_kvm, os.W_OK|os.R_OK):
510 self.qemu_opt_script += ' -enable-kvm' 510 self.qemu_opt_script += ' -enable-kvm'
511 if self.get('MACHINE') == "qemux86":
512 # Workaround for broken APIC window on pre 4.15 host kernels which causes boot hangs
513 # See YOCTO #12301
514 # On 64 bit we use x2apic
515 self.kernel_cmdline_script += " clocksource=kvm-clock hpet=disable noapic nolapic"
511 else: 516 else:
512 logger.error("You have no read or write permission on /dev/kvm.") 517 logger.error("You have no read or write permission on /dev/kvm.")
513 logger.error("Please change the ownership of this file as described at:") 518 logger.error("Please change the ownership of this file as described at:")