# HG changeset patch # User Jerone Young <[EMAIL PROTECTED]> # Date 1193849564 18000 # Node ID 179d9b30ab973e6676dcd0b6fa08e9635969d44c # Parent 7445bcdab796596fb97312b97393e4f2936e5450 Modify out arch specific code from kvm_create function
This function removes all x86 specific code and creates a hook function arch_kvm_create to accomidate for this code. arch_kvm_create is a hook that is placed in kvmctl-$(ARCH).c & h. 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 @@ -253,3 +253,18 @@ static int x86_create_default_phys_mem(k kvm->physical_memory = *vm_mem; return 0; } + +int arch_kvm_create(kvm_context_t kvm, unsigned long phys_mem_bytes, + void **vm_mem) +{ + int r = 0; + + r = kvm_init_tss(kvm); + if (r < 0) + return r; + r = x86_create_default_phys_mem(kvm, phys_mem_bytes, vm_mem); + if (r < 0) + return r; + + return 0; +} diff --git a/libkvm/libkvm-x86.h b/libkvm/libkvm-x86.h --- a/libkvm/libkvm-x86.h +++ b/libkvm/libkvm-x86.h @@ -15,4 +15,12 @@ int kvm_alloc_userspace_memory(kvm_conte void **vm_mem); int kvm_set_tss_addr(kvm_context_t kvm, unsigned long addr); +/* + * \brief Architecutre hook for kvm_create + * + * This function adds architcutre specific functionality to kvm_create + */ +int arch_kvm_create(kvm_context_t kvm, unsigned long phys_mem_bytes, + void **vm_mem); + #endif diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c --- a/libkvm/libkvm.c +++ b/libkvm/libkvm.c @@ -356,13 +356,10 @@ int kvm_create(kvm_context_t kvm, unsign r = kvm_create_vm(kvm); if (r < 0) return r; - r = kvm_init_tss(kvm); + r = arch_kvm_create(kvm, phys_mem_bytes, vm_mem); if (r < 0) return r; init_slots(); - r = kvm_create_default_phys_mem(kvm, phys_mem_bytes, vm_mem); - if (r < 0) - return r; kvm_create_irqchip(kvm); r = kvm_create_vcpu(kvm, 0); if (r < 0) ------------------------------------------------------------------------- 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