diff options
author | Alexander Kanavin <alex.kanavin@gmail.com> | 2019-08-30 14:49:48 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-09-01 22:33:07 +0100 |
commit | 58e85c60cd15cf4c0b47cddcf507543461c1a328 (patch) | |
tree | 53845c5922cf2e8bceaccf34240844ebd48410e3 | |
parent | 6883a667962c130b3d130671dabf47f1554922af (diff) | |
download | poky-58e85c60cd15cf4c0b47cddcf507543461c1a328.tar.gz |
qemu: switch to '-vga std' emulated hardware from vmware/cirrus for x86/mips
This is the qemu default since qemu 2.2, is generally supported better,
and is recommended by upstream. It also has already been in use for arm/risc
and ovmf.
Additional information:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=13466
https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
'-vga virtio' emulated hardware remains in use when virgl is enabled via a runqemu override.
Also, adjust the error whitelist, as there is a number of new messages
coming from the drivers that are not actual errors.
(From OE-Core rev: 73cb104f3307736f4922f2e0c9648f9b2d3b3b6b)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/conf/machine/include/qemuboot-mips.inc | 2 | ||||
-rw-r--r-- | meta/conf/machine/include/qemuboot-x86.inc | 2 | ||||
-rw-r--r-- | meta/conf/machine/qemux86-64.conf | 1 | ||||
-rw-r--r-- | meta/conf/machine/qemux86.conf | 1 | ||||
-rw-r--r-- | meta/lib/oeqa/runtime/cases/parselogs.py | 4 | ||||
-rwxr-xr-x | scripts/runqemu | 6 |
6 files changed, 8 insertions, 8 deletions
diff --git a/meta/conf/machine/include/qemuboot-mips.inc b/meta/conf/machine/include/qemuboot-mips.inc index 1c2b532b48..978820a2e0 100644 --- a/meta/conf/machine/include/qemuboot-mips.inc +++ b/meta/conf/machine/include/qemuboot-mips.inc | |||
@@ -2,6 +2,6 @@ | |||
2 | IMAGE_CLASSES += "qemuboot" | 2 | IMAGE_CLASSES += "qemuboot" |
3 | QB_MACHINE = "-machine malta" | 3 | QB_MACHINE = "-machine malta" |
4 | QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty" | 4 | QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty" |
5 | QB_OPT_APPEND = "-vga cirrus -show-cursor -usb -device usb-tablet" | 5 | QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet" |
6 | # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy | 6 | # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy |
7 | QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0" | 7 | QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0" |
diff --git a/meta/conf/machine/include/qemuboot-x86.inc b/meta/conf/machine/include/qemuboot-x86.inc index 3931b0f0fb..495418fa04 100644 --- a/meta/conf/machine/include/qemuboot-x86.inc +++ b/meta/conf/machine/include/qemuboot-x86.inc | |||
@@ -9,7 +9,7 @@ QB_CPU_KVM_x86-64 = "-cpu core2duo" | |||
9 | QB_AUDIO_DRV = "alsa" | 9 | QB_AUDIO_DRV = "alsa" |
10 | QB_AUDIO_OPT = "-soundhw ac97,es1370" | 10 | QB_AUDIO_OPT = "-soundhw ac97,es1370" |
11 | QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1" | 11 | QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1" |
12 | QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet" | 12 | QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet" |
13 | # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy | 13 | # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy |
14 | QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0" | 14 | QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0" |
15 | 15 | ||
diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf index e7979997f2..648cf2fe8f 100644 --- a/meta/conf/machine/qemux86-64.conf +++ b/meta/conf/machine/qemux86-64.conf | |||
@@ -27,6 +27,7 @@ XSERVER = "xserver-xorg \ | |||
27 | xf86-video-fbdev \ | 27 | xf86-video-fbdev \ |
28 | xf86-video-vmware \ | 28 | xf86-video-vmware \ |
29 | xf86-video-modesetting \ | 29 | xf86-video-modesetting \ |
30 | xf86-video-vesa \ | ||
30 | xserver-xorg-module-libint10 \ | 31 | xserver-xorg-module-libint10 \ |
31 | " | 32 | " |
32 | 33 | ||
diff --git a/meta/conf/machine/qemux86.conf b/meta/conf/machine/qemux86.conf index 3832302f07..8e0da82076 100644 --- a/meta/conf/machine/qemux86.conf +++ b/meta/conf/machine/qemux86.conf | |||
@@ -24,6 +24,7 @@ XSERVER = "xserver-xorg \ | |||
24 | xf86-video-fbdev \ | 24 | xf86-video-fbdev \ |
25 | xf86-video-vmware \ | 25 | xf86-video-vmware \ |
26 | xf86-video-modesetting \ | 26 | xf86-video-modesetting \ |
27 | xf86-video-vesa \ | ||
27 | xserver-xorg-module-libint10 \ | 28 | xserver-xorg-module-libint10 \ |
28 | " | 29 | " |
29 | 30 | ||
diff --git a/meta/lib/oeqa/runtime/cases/parselogs.py b/meta/lib/oeqa/runtime/cases/parselogs.py index 19c9c52a0a..15343d7abb 100644 --- a/meta/lib/oeqa/runtime/cases/parselogs.py +++ b/meta/lib/oeqa/runtime/cases/parselogs.py | |||
@@ -83,6 +83,10 @@ qemux86_common = [ | |||
83 | 'amd_nb: Cannot enumerate AMD northbridges', | 83 | 'amd_nb: Cannot enumerate AMD northbridges', |
84 | 'uvesafb: 5000 ms task timeout, infinitely waiting', | 84 | 'uvesafb: 5000 ms task timeout, infinitely waiting', |
85 | 'tsc: HPET/PMTIMER calibration failed', | 85 | 'tsc: HPET/PMTIMER calibration failed', |
86 | "modeset(0): Failed to initialize the DRI2 extension", | ||
87 | "uvesafb: cannot reserve video memory at", | ||
88 | "uvesafb: probe of uvesafb.0 failed with error", | ||
89 | "glamor initialization failed", | ||
86 | ] + common_errors | 90 | ] + common_errors |
87 | 91 | ||
88 | ignore_errors = { | 92 | ignore_errors = { |
diff --git a/scripts/runqemu b/scripts/runqemu index 7705b2b60e..b520010624 100755 --- a/scripts/runqemu +++ b/scripts/runqemu | |||
@@ -145,8 +145,6 @@ class BaseConfig(object): | |||
145 | # to be added with -drive if=pflash. | 145 | # to be added with -drive if=pflash. |
146 | # Found in the same places as the rootfs, with or without one of | 146 | # Found in the same places as the rootfs, with or without one of |
147 | # these suffices: qcow2, bin. | 147 | # these suffices: qcow2, bin. |
148 | # Setting one also adds "-vga std" because that is all that | ||
149 | # OVMF supports. | ||
150 | self.ovmf_bios = [] | 148 | self.ovmf_bios = [] |
151 | # When enrolling default Secure Boot keys, the hypervisor | 149 | # When enrolling default Secure Boot keys, the hypervisor |
152 | # must provide the Platform Key and the first Key Exchange Key | 150 | # must provide the Platform Key and the first Key Exchange Key |
@@ -1283,10 +1281,6 @@ class BaseConfig(object): | |||
1283 | for ovmf in self.ovmf_bios: | 1281 | for ovmf in self.ovmf_bios: |
1284 | format = ovmf.rsplit('.', 1)[-1] | 1282 | format = ovmf.rsplit('.', 1)[-1] |
1285 | self.qemu_opt += ' -drive if=pflash,format=%s,file=%s' % (format, ovmf) | 1283 | self.qemu_opt += ' -drive if=pflash,format=%s,file=%s' % (format, ovmf) |
1286 | if self.ovmf_bios: | ||
1287 | # OVMF only supports normal VGA, i.e. we need to override a -vga vmware | ||
1288 | # that gets added for example for normal qemux86. | ||
1289 | self.qemu_opt += ' -vga std' | ||
1290 | 1284 | ||
1291 | self.qemu_opt += ' ' + self.qemu_opt_script | 1285 | self.qemu_opt += ' ' + self.qemu_opt_script |
1292 | 1286 | ||