# HG changeset patch
# User Jerone Young <[EMAIL PROTECTED]>
# Date 1193849564 18000
# Node ID 7445bcdab796596fb97312b97393e4f2936e5450
# Parent  a809d39bd74d33d221dd98cc6afa02d9a35889a4
Move function kvm_create_default_phys_mem to kvmctl-x86 and rename

This patch moves function kvm_create_default_phys_mem to kvmctl-x86.
This function is arch specific to x86 and also today no one allocates
guest memory in the kernel. To remove confusion the function has
been renameed x86_kvm_create_default_phys_mem

Signed-off-by: Jerone Young <[EMAIL PROTECTED]>

diff --git a/libkvm/libkvm-x86.c b/libkvm/libkvm-x86.c
--- a/libkvm/libkvm-x86.c
+++ b/libkvm/libkvm-x86.c
@@ -4,6 +4,9 @@
 #include <sys/mman.h>
 #include <stdio.h>
 #include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
 
 int kvm_alloc_kernel_memory(kvm_context_t kvm, unsigned long memory,
                                                                void **vm_mem)
@@ -224,3 +227,29 @@ static int kvm_init_tss(kvm_context_t kv
        return 0;
 }
 
+static int x86_create_default_phys_mem(kvm_context_t kvm,
+                                      unsigned long phys_mem_bytes,
+                                      void **vm_mem)
+{
+       unsigned long memory = (phys_mem_bytes + PAGE_SIZE - 1) & PAGE_MASK;
+       int zfd;
+       int r;
+
+#ifdef KVM_CAP_USER_MEMORY
+       r = ioctl(kvm->fd, KVM_CHECK_EXTENSION, KVM_CAP_USER_MEMORY);
+       if (r > 0)
+               r = kvm_alloc_userspace_memory(kvm, memory, vm_mem);
+       else
+#endif
+               r = kvm_alloc_kernel_memory(kvm, memory, vm_mem);
+       if (r < 0)
+               return r;
+
+        zfd = open("/dev/zero", O_RDONLY);
+        mmap(*vm_mem + 0xa8000, 0x8000, PROT_READ|PROT_WRITE,
+             MAP_PRIVATE|MAP_FIXED, zfd, 0);
+        close(zfd);
+
+       kvm->physical_memory = *vm_mem;
+       return 0;
+}
diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -329,32 +329,6 @@ int kvm_create_vm(kvm_context_t kvm)
 }
 
 
-static int kvm_create_default_phys_mem(kvm_context_t kvm,
-                                      unsigned long phys_mem_bytes,
-                                      void **vm_mem)
-{
-       unsigned long memory = (phys_mem_bytes + PAGE_SIZE - 1) & PAGE_MASK;
-       int zfd;
-       int r;
-
-#ifdef KVM_CAP_USER_MEMORY
-       r = ioctl(kvm->fd, KVM_CHECK_EXTENSION, KVM_CAP_USER_MEMORY);
-       if (r > 0)
-               r = kvm_alloc_userspace_memory(kvm, memory, vm_mem);
-       else
-#endif
-               r = kvm_alloc_kernel_memory(kvm, memory, vm_mem);
-       if (r < 0)
-               return r;
-
-        zfd = open("/dev/zero", O_RDONLY);
-        mmap(*vm_mem + 0xa8000, 0x8000, PROT_READ|PROT_WRITE,
-             MAP_PRIVATE|MAP_FIXED, zfd, 0);
-        close(zfd);
-
-       kvm->physical_memory = *vm_mem;
-       return 0;
-}
 
 void kvm_create_irqchip(kvm_context_t kvm)
 {

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to