diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-02 11:36:53 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-06 10:13:57 +0000 |
commit | 92e9b46f3ca316d18aa7de499a59c3d7f12c93d8 (patch) | |
tree | 94891a0f9264fe85aa159f016342860fb89192df /scripts/runqemu | |
parent | 19b5dd761d073e5d1ceb72110a44da39806ec97e (diff) | |
download | poky-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/runqemu')
-rwxr-xr-x | scripts/runqemu | 5 |
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:") |