From d57ba496146f741e9dd5d5eb6ce7afb919063b99 Mon Sep 17 00:00:00 2001 From: Izik Eidus Date: Wed, 7 Nov 2007 19:20:51 +0200 Subject: [PATCH] kvm: libkvm: add kvm_is_allocated_mem() this function is used for to know if a given memory slot was already allocated in the past. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity --- kvm/libkvm/libkvm.c | 13 +++++++++++++ kvm/libkvm/libkvm.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/kvm/libkvm/libkvm.c b/kvm/libkvm/libkvm.c index c5555bd375..eadfa095d7 100644 --- a/kvm/libkvm/libkvm.c +++ b/kvm/libkvm/libkvm.c @@ -466,6 +466,19 @@ int kvm_is_intersecting_mem(kvm_context_t kvm, unsigned long phys_start) return get_intersecting_slot(phys_start) != -1; } +int kvm_is_allocated_mem(kvm_context_t kvm, unsigned long phys_start, + unsigned long len) +{ + int slot; + + slot = get_slot(phys_start); + if (slot == -1) + return 0; + if (slots[slot].len == len) + return 1; + return 0; +} + int kvm_create_mem_hole(kvm_context_t kvm, unsigned long phys_start, unsigned long len) { diff --git a/kvm/libkvm/libkvm.h b/kvm/libkvm/libkvm.h index 99ac7d99d5..987e642718 100644 --- a/kvm/libkvm/libkvm.h +++ b/kvm/libkvm/libkvm.h @@ -412,6 +412,8 @@ void *kvm_create_phys_mem(kvm_context_t, unsigned long phys_start, void kvm_destroy_phys_mem(kvm_context_t, unsigned long phys_start, unsigned long len); int kvm_is_intersecting_mem(kvm_context_t kvm, unsigned long phys_start); +int kvm_is_allocated_mem(kvm_context_t kvm, unsigned long phys_start, + unsigned long len); int kvm_create_mem_hole(kvm_context_t kvm, unsigned long phys_start, unsigned long len); int kvm_register_userspace_phys_mem(kvm_context_t kvm, -- 2.11.4.GIT