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
This commit is contained in:
Cole Robinson 2013-04-01 20:47:11 -04:00
parent 32fdc73a1f
commit d1a627e27f
4 changed files with 94 additions and 33 deletions

View File

@ -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

View File

@ -0,0 +1,41 @@
From bf18257d85734fc6b116108e7c6511dbd4ad8be8 Mon Sep 17 00:00:00 2001
From: Yeongkyoon Lee <yeongkyoon.lee@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@nongnu.org
Signed-off-by: Yeongkyoon Lee <yeongkyoon.lee@samsung.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@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

View File

@ -0,0 +1,28 @@
From 73a438802ea86374404df8de9f690589efea3727 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@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@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)

View File

@ -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@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@redhat.com> - 2:1.4.0-6
- Fix TCG ld/st optimization. https://bugs.launchpad.net/bugs/1127369