From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 1/2] arch/x86/kvm/x86.c: remove superflous check condition Date: Sun, 27 Apr 2014 12:45:18 +0200 Message-ID: <535CDFBE.5050806@redhat.com> References: <1398594613-4466-1-git-send-email-toralf.foerster@gmx.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: kvm@vger.kernel.org To: =?UTF-8?B?VG9yYWxmIEbDtnJzdGVy?= Return-path: Received: from mx1.redhat.com ([209.132.183.28]:3192 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752197AbaD0KpY (ORCPT ); Sun, 27 Apr 2014 06:45:24 -0400 In-Reply-To: <1398594613-4466-1-git-send-email-toralf.foerster@gmx.de> Sender: kvm-owner@vger.kernel.org List-ID: Il 27/04/2014 12:30, Toralf F=C3=B6rster ha scritto: > Signed-off-by: Toralf F=C3=B6rster > --- > arch/x86/kvm/x86.c | 23 ++++++++++------------- > 1 file changed, 10 insertions(+), 13 deletions(-) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 8b8fc0b..93cf454 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -5680,20 +5680,17 @@ int kvm_hv_hypercall(struct kvm_vcpu *vcpu) > kvm_x86_ops->get_cs_db_l_bits(vcpu, &cs_db, &cs_l); > longmode =3D is_long_mode(vcpu) && cs_l =3D=3D 1; > > - if (!longmode) { > - param =3D ((u64)kvm_register_read(vcpu, VCPU_REGS_RDX) << 32) | > - (kvm_register_read(vcpu, VCPU_REGS_RAX) & 0xffffffff); > - ingpa =3D ((u64)kvm_register_read(vcpu, VCPU_REGS_RBX) << 32) | > - (kvm_register_read(vcpu, VCPU_REGS_RCX) & 0xffffffff); > - outgpa =3D ((u64)kvm_register_read(vcpu, VCPU_REGS_RDI) << 32) | > - (kvm_register_read(vcpu, VCPU_REGS_RSI) & 0xffffffff); > - } > #ifdef CONFIG_X86_64 > - else { > - param =3D kvm_register_read(vcpu, VCPU_REGS_RCX); > - ingpa =3D kvm_register_read(vcpu, VCPU_REGS_RDX); > - outgpa =3D kvm_register_read(vcpu, VCPU_REGS_R8); > - } > + param =3D kvm_register_read(vcpu, VCPU_REGS_RCX); > + ingpa =3D kvm_register_read(vcpu, VCPU_REGS_RDX); > + outgpa =3D kvm_register_read(vcpu, VCPU_REGS_R8); > +#else > + param =3D ((u64)kvm_register_read(vcpu, VCPU_REGS_RDX) << 32) | > + (kvm_register_read(vcpu, VCPU_REGS_RAX) & 0xffffffff); > + ingpa =3D ((u64)kvm_register_read(vcpu, VCPU_REGS_RBX) << 32) | > + (kvm_register_read(vcpu, VCPU_REGS_RCX) & 0xffffffff); > + outgpa =3D ((u64)kvm_register_read(vcpu, VCPU_REGS_RDI) << 32) | > + (kvm_register_read(vcpu, VCPU_REGS_RSI) & 0xffffffff); > #endif > > code =3D param & 0xffff; > No, wait, it's only superfluous in the sense that you don't need=20 longmode for !CONFIG_X86_64. It's definitely needed for CONFIG_X86_64,= =20 because the guest can run in 32-bit mode. Paolo