rpms/kvm/F-9 kvm-sysenter32.patch,NONE,1.1 kvm.spec,1.60,1.61
Glauber Costa
glommer at fedoraproject.org
Mon Oct 13 16:46:03 UTC 2008
- Previous message (by thread): rpms/kernel/devel linux-2.6.27-xfs-barrier-fix.patch, NONE, 1.1 linux-2.6.27-xfs-remount-fix.patch, NONE, 1.1 TODO, 1.17, 1.18 kernel.spec, 1.1042, 1.1043 xfs-barrier-fix.patch, 1.2, NONE
- Next message (by thread): rpms/ghdl/F-8 ghdl-unref.patch,NONE,1.1 ghdl.spec,1.39,1.40
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: glommer
Update of /cvs/pkgs/rpms/kvm/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29307
Modified Files:
kvm.spec
Added Files:
kvm-sysenter32.patch
Log Message:
fix #457694, with upstream patch
kvm-sysenter32.patch:
--- NEW FILE kvm-sysenter32.patch ---
commit 894db29e15565b0cdf982aa97cc3c372391f0c91
Author: Alexander Graf <agraf at suse.de>
Date: Mon Jul 28 09:01:32 2008 +0200
kvm: qemu: save 64-bit of the IA-32e capable sysenter MSRs
When transitioning from KVM to the qemu userspace, we try to get and
push a whole bunch of MSR values, including the SYSENTER ones. While
this is basically a good idea, qemu doesn't know anything about SYSENTER
on x86_64, which is an additional feature only available on Intel CPUs
and thus defines SYSENTER_EIP and SYSENTER_ESP as 32-bit values.
Because we're saving/restoring the SYSENTER values on transitions to
userspace and the values in env->cpu only hold 32 bits, they get
truncated to 32-bit. The easiest way around this is to widen the fields
to 64 bits. This should not disturb the current functionality, but
allows us to run 32-bit code on x86_64 using VMX.
Signed-off-by: Alexander Graf <agraf at suse.de>
Signed-off-by: Avi Kivity <avi at qumranet.com>
diff --git a/qemu/target-i386/cpu.h b/qemu/target-i386/cpu.h
index 7e95900..61c39d4 100644
--- a/qemu/target-i386/cpu.h
+++ b/qemu/target-i386/cpu.h
@@ -542,8 +542,8 @@ typedef struct CPUX86State {
/* sysenter registers */
uint32_t sysenter_cs;
- uint32_t sysenter_esp;
- uint32_t sysenter_eip;
+ uint64_t sysenter_esp;
+ uint64_t sysenter_eip;
uint64_t efer;
uint64_t star;
Index: kvm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kvm/F-9/kvm.spec,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -r1.60 -r1.61
--- kvm.spec 28 Aug 2008 15:50:21 -0000 1.60
+++ kvm.spec 13 Oct 2008 16:45:32 -0000 1.61
@@ -1,7 +1,7 @@
Summary: Kernel-based Virtual Machine
Name: kvm
Version: 65
-Release: 9%{?dist}
+Release: 10%{?dist}
License: GPLv2+ and LGPLv2+
Group: Development/Tools
URL: http://%{name}.sf.net
@@ -18,6 +18,7 @@
Patch8: %{name}-extboot.patch
Patch9: %{name}-acpi-do-not-wrap.patch
Patch10: %{name}-acpi-do-not-ovflw.patch
+Patch11: %{name}-sysenter32.patch
# patches from upstream qemu
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: SDL-devel
@@ -57,6 +58,7 @@
%patch8 -p1
%patch9 -p1
%patch10 -p1
+%patch11 -p1
%build
# we need to install the data bits in a different path
@@ -111,6 +113,10 @@
%{_sysconfdir}/sysconfig/modules/%{name}.modules
%changelog
+* Mon Oct 13 2008 Glauber Costa <gcosta at redhat.com> - 65-10.fc9
+- Fix sysenter save in 64-bit hosts #457649
+
+%changelog
* Thu Aug 28 2008 Glauber Costa <gcosta at redhat.com> - 65-9.fc9
- there's already a 65-8 tag
- Previous message (by thread): rpms/kernel/devel linux-2.6.27-xfs-barrier-fix.patch, NONE, 1.1 linux-2.6.27-xfs-remount-fix.patch, NONE, 1.1 TODO, 1.17, 1.18 kernel.spec, 1.1042, 1.1043 xfs-barrier-fix.patch, 1.2, NONE
- Next message (by thread): rpms/ghdl/F-8 ghdl-unref.patch,NONE,1.1 ghdl.spec,1.39,1.40
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list