[qemu] Fixes for iscsi dep Fix TCG ld/st optimization (lp 1127369) Fix possible crash with VNC and qxl (bz
Cole Robinson
crobinso at fedoraproject.org
Tue Apr 2 00:47:14 UTC 2013
commit d1a627e27fe38c5d7e1650b6d396b1b04021b33c
Author: Cole Robinson <crobinso at redhat.com>
Date: Mon Apr 1 20:47:11 2013 -0400
Fixes for iscsi dep
Fix TCG ld/st optimization (lp 1127369)
Fix possible crash with VNC and qxl (bz #919777)
Fix kvm module permissions after first install (bz #907215)
Switch to seavgabios by default
...asional-TCG-broken-problem-when-ldst-opti.patch | 15 -------
...asional-TCG-broken-problem-when-ldst-opti.patch | 41 +++++++++++++++++++
0110-qxl-better-vga-init-in-enter_vga_mode.patch | 28 +++++++++++++
qemu.spec | 43 +++++++++++--------
4 files changed, 94 insertions(+), 33 deletions(-)
---
diff --git a/0109-tcg-Fix-occasional-TCG-broken-problem-when-ldst-opti.patch b/0109-tcg-Fix-occasional-TCG-broken-problem-when-ldst-opti.patch
new file mode 100644
index 0000000..703e972
--- /dev/null
+++ b/0109-tcg-Fix-occasional-TCG-broken-problem-when-ldst-opti.patch
@@ -0,0 +1,41 @@
+From bf18257d85734fc6b116108e7c6511dbd4ad8be8 Mon Sep 17 00:00:00 2001
+From: Yeongkyoon Lee <yeongkyoon.lee at samsung.com>
+Date: Fri, 22 Mar 2013 21:50:17 +0900
+Subject: [PATCH] tcg: Fix occasional TCG broken problem when ldst optimization
+ enabled
+
+is_tcg_gen_code() checks the upper limit of TCG generated code range wrong, so
+that TCG could get broken occasionally only when CONFIG_QEMU_LDST_OPTIMIZATION
+enabled. The reason is code_gen_buffer_max_size does not cover the upper range
+up to (TCG_MAX_OP_SIZE * OPC_BUF_SIZE), thus code_gen_buffer_max_size should be
+modified to code_gen_buffer_size.
+
+CC: qemu-stable at nongnu.org
+Signed-off-by: Yeongkyoon Lee <yeongkyoon.lee at samsung.com>
+Reviewed-by: Peter Maydell <peter.maydell at linaro.org>
+Signed-off-by: Aurelien Jarno <aurelien at aurel32.net>
+(cherry picked from commit 52ae646d4a3ebdcdcc973492c6a56f2c49b6578f)
+
+Conflicts:
+ translate-all.c
+---
+ translate-all.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/translate-all.c b/translate-all.c
+index d367fc4..bf1db09 100644
+--- a/translate-all.c
++++ b/translate-all.c
+@@ -1310,10 +1310,10 @@ static void tb_link_page(TranslationBlock *tb, tb_page_addr_t phys_pc,
+ /* check whether the given addr is in TCG generated code buffer or not */
+ bool is_tcg_gen_code(uintptr_t tc_ptr)
+ {
+- /* This can be called during code generation, code_gen_buffer_max_size
++ /* This can be called during code generation, code_gen_buffer_size
+ is used instead of code_gen_ptr for upper boundary checking */
+ return (tc_ptr >= (uintptr_t)code_gen_buffer &&
+- tc_ptr < (uintptr_t)(code_gen_buffer + code_gen_buffer_max_size));
++ tc_ptr < (uintptr_t)(code_gen_buffer + code_gen_buffer_size));
+ }
+ #endif
+
diff --git a/0110-qxl-better-vga-init-in-enter_vga_mode.patch b/0110-qxl-better-vga-init-in-enter_vga_mode.patch
new file mode 100644
index 0000000..7d35861
--- /dev/null
+++ b/0110-qxl-better-vga-init-in-enter_vga_mode.patch
@@ -0,0 +1,28 @@
+From 73a438802ea86374404df8de9f690589efea3727 Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel at redhat.com>
+Date: Thu, 28 Feb 2013 11:08:50 +0100
+Subject: [PATCH] qxl: better vga init in enter_vga_mode
+
+Ask the vga core to update the display. Will trigger dpy_gfx_resize
+if needed. More complete than just calling dpy_gfx_resize.
+
+Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
+(cherry picked from commit c099e7aa0295678859d58e9e60b7619f6ae3bac8)
+---
+ hw/qxl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hw/qxl.c b/hw/qxl.c
+index 436e375..80bd92a 100644
+--- a/hw/qxl.c
++++ b/hw/qxl.c
+@@ -1073,8 +1073,8 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d)
+ trace_qxl_enter_vga_mode(d->id);
+ qemu_spice_create_host_primary(&d->ssd);
+ d->mode = QXL_MODE_VGA;
+- dpy_gfx_resize(d->ssd.ds);
+ vga_dirty_log_start(&d->vga);
++ vga_hw_update();
+ }
+
+ static void qxl_exit_vga_mode(PCIQXLDevice *d)
diff --git a/qemu.spec b/qemu.spec
index 652d0e6..ed7e3a2 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -128,7 +128,7 @@
Summary: QEMU is a FAST! processor emulator
Name: qemu
Version: 1.4.0
-Release: 6%{?dist}
+Release: 7%{?dist}
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
Epoch: 2
License: GPLv2+ and LGPLv2+ and BSD
@@ -195,12 +195,12 @@ Patch0105: 0105-qxl-Add-rom_size-compat-property-fix-migration-from-.patch
Patch0106: 0106-docs-Fix-generating-qemu-doc.html-with-texinfo-5.patch
# Fix test ordering with latest glib
Patch0107: 0107-rtc-test-Fix-test-failures-with-recent-glib.patch
-# Adapt to libiscsi packaging in Fedora (included upstream)
+# Fixes for iscsi dep
Patch0108: 0108-iscsi-look-for-pkg-config-file-too.patch
-# Fix TCG ld/st optimization.
-# https://bugs.launchpad.net/bugs/1127369
-# Upstream commit 52ae646d4a3ebdcdcc973492c6a56f2c49b6578f.
-Patch0109: 0001-tcg-Fix-occasional-TCG-broken-problem-when-ldst-opti.patch
+# Fix TCG ld/st optimization (lp 1127369)
+Patch0109: 0109-tcg-Fix-occasional-TCG-broken-problem-when-ldst-opti.patch
+# Fix possible crash with VNC and qxl (bz #919777)
+Patch0110: 0110-qxl-better-vga-init-in-enter_vga_mode.patch
BuildRequires: SDL-devel
BuildRequires: zlib-devel
@@ -419,7 +419,7 @@ Group: Development/Tools
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Provides: kvm = 85
Obsoletes: kvm < 85
-Requires: vgabios >= 0.6c-2
+Requires: seavgabios
Requires: seabios-bin >= 0.6.0-2
Requires: sgabios-bin
Requires: ipxe-roms-qemu
@@ -670,12 +670,12 @@ CAC emulation development files.
%patch0106 -p1
# Fix test ordering with latest glib
%patch0107 -p1
-# Adapt to libiscsi packaging in Fedora (included upstream)
+# Fixes for iscsi dep
%patch0108 -p1
-# Fix TCG ld/st optimization.
-# https://bugs.launchpad.net/bugs/1127369
-# Upstream commit 52ae646d4a3ebdcdcc973492c6a56f2c49b6578f.
+# Fix TCG ld/st optimization (lp 1127369)
%patch0109 -p1
+# Fix possible crash with VNC and qxl (bz #919777)
+%patch0110 -p1
%build
@@ -822,7 +822,7 @@ rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/s390-zipl.rom
# Provided by package ipxe
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/pxe*rom
-# Provided by package vgabios
+# Provided by package seavgabios
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/vgabios*bin
# Provided by package seabios
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/bios.bin
@@ -847,11 +847,11 @@ rom_link() {
ln -s $1 %{buildroot}%{_datadir}/%{name}/$2
}
-rom_link ../vgabios/VGABIOS-lgpl-latest.bin vgabios.bin
-rom_link ../vgabios/VGABIOS-lgpl-latest.cirrus.bin vgabios-cirrus.bin
-rom_link ../vgabios/VGABIOS-lgpl-latest.qxl.bin vgabios-qxl.bin
-rom_link ../vgabios/VGABIOS-lgpl-latest.stdvga.bin vgabios-stdvga.bin
-rom_link ../vgabios/VGABIOS-lgpl-latest.vmware.bin vgabios-vmware.bin
+rom_link ../seavgabios/vgabios-isavga.bin vgabios.bin
+rom_link ../seavgabios/vgabios-cirrus.bin vgabios-cirrus.bin
+rom_link ../seavgabios/vgabios-qxl.bin vgabios-qxl.bin
+rom_link ../seavgabios/vgabios-stdvga.bin vgabios-stdvga.bin
+rom_link ../seavgabios/vgabios-vmware.bin vgabios-vmware.bin
rom_link ../seabios/bios.bin bios.bin
rom_link ../sgabios/sgabios.bin sgabios.bin
%endif
@@ -945,7 +945,7 @@ make check
# load kvm modules now, so we can make sure no reboot is needed.
# If there's already a kvm module installed, we don't mess with it
sh %{_sysconfdir}/sysconfig/modules/kvm.modules || :
-udevadm trigger --sysname-match=kvm || :
+udevadm trigger --subsystem-match=misc --sysname-match=kvm --action=add || :
%endif
%if %{without separate_kvm}
@@ -1285,6 +1285,13 @@ getent passwd qemu >/dev/null || \
%endif
%changelog
+* Mon Apr 01 2013 Cole Robinson <crobinso at redhat.com> - 2:1.4.0-7
+- Fixes for iscsi dep
+- Fix TCG ld/st optimization (lp 1127369)
+- Fix possible crash with VNC and qxl (bz #919777)
+- Fix kvm module permissions after first install (bz #907215)
+- Switch to seavgabios by default
+
* Sun Mar 31 2013 Richard W.M. Jones <rjones at redhat.com> - 2:1.4.0-6
- Fix TCG ld/st optimization. https://bugs.launchpad.net/bugs/1127369
More information about the scm-commits
mailing list