From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] Save 64-bit of the IA-32e capable sysenter MSRs Date: Thu, 31 Jul 2008 13:07:27 +0300 Message-ID: <48918EDF.5000709@qumranet.com> References: <488D6ECC.2050602@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, qemu-devel@nongnu.org To: Alexander Graf Return-path: Received: from il.qumranet.com ([212.179.150.194]:31192 "EHLO il.qumranet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750861AbYGaKH3 (ORCPT ); Thu, 31 Jul 2008 06:07:29 -0400 In-Reply-To: <488D6ECC.2050602@suse.de> Sender: kvm-owner@vger.kernel.org List-ID: Alexander Graf wrote: > Hi, > > 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. > > As this is KVM specific for now, I'll only CC the qemu mailinglist, > but wouldn't encourage qemu to take the patch for now, as it's not > necessary when emulating an AMD CPU. > Applied, thanks. I imagine save/restore support needs updating as well? That should go into qemuy btw since maintaining the save/restore format across forks isn't possible. -- error compiling committee.c: too many arguments to function