From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCHv3 0/4] Add support for some HYPER-V PV features Date: Tue, 19 Jan 2010 14:50:24 +0200 Message-ID: <20100119125024.GN14345@redhat.com> References: <1263736284-18780-1-git-send-email-gleb@redhat.com> <4B559A84.1040509@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: avi@redhat.com, mtosatti@redhat.com, kvm@vger.kernel.org To: Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:16482 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750733Ab0ASMu1 (ORCPT ); Tue, 19 Jan 2010 07:50:27 -0500 Content-Disposition: inline In-Reply-To: <4B559A84.1040509@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: On Tue, Jan 19, 2010 at 12:41:56PM +0100, Jan Kiszka wrote: > Gleb Natapov wrote: > > HYPER-V provides PV capabilities for its guests and most new MS Windows > > detect and use them automatically. Older Windows guests need additional > > drivers to uses PV. This patch series implements some PV capabilities > > defined by HYPER-V spec for KVM. Windows guests running on KVM will be > > able to take advantage of them. > > > > This series generates warnings on 32-bit hosts. I'm currently busy with > more critical problems, maybe you can already have a look. > This should fix it: Signed-off-by: Gleb Natapov diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 47c6e23..147bda7 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -3807,11 +3807,11 @@ int kvm_hv_hypercall(struct kvm_vcpu *vcpu) longmode = is_long_mode(vcpu) && cs_l == 1; if (!longmode) { - param = (kvm_register_read(vcpu, VCPU_REGS_RDX) << 32) | + param = ((u64)kvm_register_read(vcpu, VCPU_REGS_RDX) << 32) | (kvm_register_read(vcpu, VCPU_REGS_RAX) & 0xffffff); - ingpa = (kvm_register_read(vcpu, VCPU_REGS_RBX) << 32) | + ingpa = ((u64)kvm_register_read(vcpu, VCPU_REGS_RBX) << 32) | (kvm_register_read(vcpu, VCPU_REGS_RCX) & 0xffffff); - outgpa = (kvm_register_read(vcpu, VCPU_REGS_RDI) << 32) | + outgpa = ((u64)kvm_register_read(vcpu, VCPU_REGS_RDI) << 32) | (kvm_register_read(vcpu, VCPU_REGS_RSI) & 0xffffff); } #ifdef CONFIG_X86_64 -- Gleb.