From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57264) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZD5EA-0001OD-J6 for qemu-devel@nongnu.org; Thu, 09 Jul 2015 02:22:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZD5E7-0004NY-DH for qemu-devel@nongnu.org; Thu, 09 Jul 2015 02:22:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60152) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZD51b-0007TZ-Dk for qemu-devel@nongnu.org; Thu, 09 Jul 2015 02:09:35 -0400 References: From: Paolo Bonzini Message-ID: <559E101A.7080601@redhat.com> Date: Thu, 9 Jul 2015 08:09:30 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] KVM: x86: Add host physical address width capability List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Bandan Das , kvm@vger.kernel.org Cc: Laszlo Ersek , linux-kernel@vger.kernel.org, qemu-devel@nongnu.org On 09/07/2015 00:36, Bandan Das wrote: > Let userspace inquire the maximum physical address width > of the host processors; this can be used to identify maximum > memory that can be assigned to the guest. > > Reported-by: Laszlo Ersek > Signed-off-by: Bandan Das > --- > arch/x86/kvm/x86.c | 3 +++ > include/uapi/linux/kvm.h | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index bbaf44e..97d6746 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -2683,6 +2683,9 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) > case KVM_CAP_NR_MEMSLOTS: > r = KVM_USER_MEM_SLOTS; > break; > + case KVM_CAP_PHY_ADDR_WIDTH: > + r = boot_cpu_data.x86_phys_bits; > + break; Userspace can just use CPUID, can't it? Paolo > case KVM_CAP_PV_MMU: /* obsolete */ > r = 0; > break; > diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h > index 716ad4a..e7949a1 100644 > --- a/include/uapi/linux/kvm.h > +++ b/include/uapi/linux/kvm.h > @@ -817,6 +817,7 @@ struct kvm_ppc_smmu_info { > #define KVM_CAP_DISABLE_QUIRKS 116 > #define KVM_CAP_X86_SMM 117 > #define KVM_CAP_MULTI_ADDRESS_SPACE 118 > +#define KVM_CAP_PHY_ADDR_WIDTH 119 > > #ifdef KVM_CAP_IRQ_ROUTING > >