From d1a627e27fe38c5d7e1650b6d396b1b04021b33c Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Apr 02 2013 00:47:11 +0000 Subject: 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 --- diff --git a/0001-tcg-Fix-occasional-TCG-broken-problem-when-ldst-opti.patch b/0001-tcg-Fix-occasional-TCG-broken-problem-when-ldst-opti.patch deleted file mode 100644 index 515d6bb..0000000 --- a/0001-tcg-Fix-occasional-TCG-broken-problem-when-ldst-opti.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- qemu-1.4.0.old/translate-all.c 2013-02-15 23:05:35.000000000 +0000 -+++ qemu-1.4.0/translate-all.c 2013-03-31 21:04:19.836001728 +0100 -@@ -1310,10 +1310,10 @@ - /* 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/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 +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@nongnu.org +Signed-off-by: Yeongkyoon Lee +Reviewed-by: Peter Maydell +Signed-off-by: Aurelien Jarno +(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 +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 +(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 - 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 - 2:1.4.0-6 - Fix TCG ld/st optimization. https://bugs.launchpad.net/bugs/1127369