From mboxrd@z Thu Jan 1 00:00:00 1970 From: Glauber Costa Subject: [PATCH 7/9] add debuging facilities to memory registration at libkvm Date: Fri, 12 Sep 2008 12:10:48 -0300 Message-ID: <1221232250-9653-8-git-send-email-glommer@redhat.com> References: <1221232250-9653-1-git-send-email-glommer@redhat.com> Cc: jes@sgi.com, avi@qumranet.com, aliguori@us.ibm.com To: kvm@vger.kernel.org Return-path: Received: from mx2.redhat.com ([66.187.237.31]:34420 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753232AbYILPYO (ORCPT ); Fri, 12 Sep 2008 11:24:14 -0400 In-Reply-To: <1221232250-9653-1-git-send-email-glommer@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Signed-off-by: Glauber Costa --- libkvm/libkvm.c | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c index 5df201e..8764982 100644 --- a/libkvm/libkvm.c +++ b/libkvm/libkvm.c @@ -52,6 +52,8 @@ #include "kvm-s390.h" #endif +//#define DEBUG_MEMREG + int kvm_abi = EXPECTED_KVM_API_VERSION; int kvm_page_size; @@ -186,7 +188,7 @@ int kvm_register_mmio_slot(kvm_context_t kvm, uint64_t phys_addr, unsigned int s goto out; #ifdef DEBUG_MEMREG - printf("Registering mmio region %llx (%lx)\n", phys_addr, size); + fprintf(stderr, "Registering mmio region %llx (%lx)\n", phys_addr, size); #endif mmio_slots[slot].phys_addr = phys_addr; mmio_slots[slot].len = size; @@ -509,6 +511,11 @@ int kvm_register_phys_mem(kvm_context_t kvm, int r; memory.slot = get_free_slot(kvm); +#ifdef DEBUG_MEMREG + fprintf(stderr, "%s, memory: gpa: %llx, size: %llx, uaddr: %llx, slot: %x, flags: %lx\n", + __func__, memory.guest_phys_addr, memory.memory_size, + memory.userspace_addr, memory.slot, memory.flags); +#endif r = ioctl(kvm->vm_fd, KVM_SET_USER_MEMORY_REGION, &memory); if (r == -1) { fprintf(stderr, "create_userspace_phys_mem: %s\n", strerror(errno)); @@ -567,7 +574,7 @@ void kvm_unregister_memory_area(kvm_context_t kvm, uint64_t phys_addr, unsigned if (slot != -1) { #ifdef DEBUG_MEMREG - printf("Unregistering memory region %llx (%lx)\n", phys_addr, size); + fprintf(stderr, "Unregistering memory region %llx (%lx)\n", phys_addr, size); #endif kvm_destroy_phys_mem(kvm, phys_addr, size); return; @@ -576,7 +583,7 @@ void kvm_unregister_memory_area(kvm_context_t kvm, uint64_t phys_addr, unsigned slot = get_container_mmio_slot(kvm, phys_addr, size); if (slot != -1) { #ifdef DEBUG_MEMREG - printf("Unregistering mmio region %llx (%lx)\n", phys_addr, size); + fprintf(stderr, "Unregistering mmio region %llx (%lx)\n", phys_addr, size); #endif kvm_unregister_coalesced_mmio(kvm, phys_addr, size); mmio_slots[slot].len = 0; @@ -1072,6 +1079,9 @@ int kvm_unregister_coalesced_mmio(kvm_context_t kvm, uint64_t addr, uint32_t siz perror("kvm_unregister_coalesced_mmio_zone"); return -errno; } +#ifdef DEBUG_MEMREG + fprintf(stderr, "Unregistered coalesced mmio region for %llx (%lx)\n", addr, size); +#endif return 0; } #endif -- 1.5.5.1