From mboxrd@z Thu Jan 1 00:00:00 1970 From: Glauber Costa Subject: Re: [PATCH] remove KVM_CAP_USER_MEMORY reference from qemu-kvm.c Date: Wed, 10 Sep 2008 16:37:09 -0300 Message-ID: <20080910193709.GD17969@poweredge.glommer> References: <1220902221-7536-1-git-send-email-gcosta@redhat.com> <1220902221-7536-2-git-send-email-gcosta@redhat.com> <1220902221-7536-3-git-send-email-gcosta@redhat.com> <1220902221-7536-4-git-send-email-gcosta@redhat.com> <1220902221-7536-5-git-send-email-gcosta@redhat.com> <48C81EA6.10307@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Glauber Costa , kvm@vger.kernel.org, avi@qumranet.com, aliguori@us.ibm.com To: Jan Kiszka Return-path: Received: from mx2.redhat.com ([66.187.237.31]:55407 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752128AbYIJTkJ (ORCPT ); Wed, 10 Sep 2008 15:40:09 -0400 Content-Disposition: inline In-Reply-To: <48C81EA6.10307@web.de> Sender: kvm-owner@vger.kernel.org List-ID: On Wed, Sep 10, 2008 at 09:23:18PM +0200, Jan Kiszka wrote: > Glauber Costa wrote: > > From: Glauber Costa > > > > kvm_cpu_register_physical_memory() is its only user. Remove it. > > > > Signed-off-by: Glauber Costa > > --- > > qemu/qemu-kvm.c | 52 +++++++++++++++++++++------------------------------- > > 1 files changed, 21 insertions(+), 31 deletions(-) > > > > diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c > > index 8d366e5..f0ef21e 100644 > > --- a/qemu/qemu-kvm.c > > +++ b/qemu/qemu-kvm.c > > @@ -775,42 +775,32 @@ void kvm_cpu_register_physical_memory(target_phys_addr_t start_addr, > > unsigned long size, > > unsigned long phys_offset) > > { > > -#ifdef KVM_CAP_USER_MEMORY > > int r = 0; > > - > > - r = kvm_check_extension(kvm_context, KVM_CAP_USER_MEMORY); > > - if (r) { > > - if (!(phys_offset & ~TARGET_PAGE_MASK)) { > > - r = kvm_is_allocated_mem(kvm_context, start_addr, size); > > - if (r) > > - return; > > - r = kvm_is_intersecting_mem(kvm_context, start_addr); > > - if (r) > > - kvm_create_mem_hole(kvm_context, start_addr, size); > > - r = kvm_register_userspace_phys_mem(kvm_context, start_addr, > > - phys_ram_base + phys_offset, > > - size, 0); > > - } > > - if (phys_offset & IO_MEM_ROM) { > > - phys_offset &= ~IO_MEM_ROM; > > - r = kvm_is_intersecting_mem(kvm_context, start_addr); > > - if (r) > > - kvm_create_mem_hole(kvm_context, start_addr, size); > > - r = kvm_register_userspace_phys_mem(kvm_context, start_addr, > > - phys_ram_base + phys_offset, > > - size, 0); > > - } > > - if (r < 0) { > > - printf("kvm_cpu_register_physical_memory: failed\n"); > > - exit(1); > > - } > > - return; > > + if (!(phys_offset & ~TARGET_PAGE_MASK)) { > > + r = kvm_is_allocated_mem(kvm_context, start_addr, size); > > + if (r) > > + return; > > + r = kvm_is_intersecting_mem(kvm_context, start_addr); > > + if (r) > > + kvm_create_mem_hole(kvm_context, start_addr, size); > > + r = kvm_register_userspace_phys_mem(kvm_context, start_addr, > > + phys_ram_base + phys_offset, > > + size, 0); > > } > > -#endif > > if (phys_offset & IO_MEM_ROM) { > > At this chance: Shouldn't this become 'else if'? fyi: just sent out a new series, this time with numbers and no tabs in qemu ;-) As a coding style practice, yes. But they are mutually exclusive anyway, so it shouldn't matter. We could definitely try to make it better, but they way to go is to have only one case instead of two: look at how close they are to each other! I have a later series that do that, so I'm just trying to set up the ground here. > > > phys_offset &= ~IO_MEM_ROM; > > - memcpy(phys_ram_base + start_addr, phys_ram_base + phys_offset, size); > > + r = kvm_is_intersecting_mem(kvm_context, start_addr); > > + if (r) > > + kvm_create_mem_hole(kvm_context, start_addr, size); > > + r = kvm_register_userspace_phys_mem(kvm_context, start_addr, > > + phys_ram_base + phys_offset, > > + size, 0); > > + } > > + if (r < 0) { > > + printf("kvm_cpu_register_physical_memory: failed\n"); > > + exit(1); > > } > > + return; > > } > > > > int kvm_setup_guest_memory(void *area, unsigned long size) > > Jan >