* Remove the config-*.mak changes
      * Update the patch description
      * Supply a copyright notice in all new files

-- 
Hollis Blanchard
IBM Linux Technology Center

On Fri, 2007-11-02 at 13:24 -0500, Jerone Young wrote:
> # HG changeset patch
> # User Jerone Young <[EMAIL PROTECTED]>
> # Date 1194027872 18000
> # Node ID 72c2d9f9786aea122419208189291808d56b8053
> # Parent  6ce27ddeb45df182e923060ae3abe699ce704ca3
> Move kvm_context to kvmctl.h
> 
> This patch moves kvm_context from libkvm.c to kvm-context.h. This is so
> other files are able to see members of kvm_context. Also you should
> allways declare stuff like this in a header anyway. Also moved are
> delcrations MAX_VCPU, KVM_MAX_NUM_MEM_REGIONS, PAGE_SIZE & PAGE_MASK
> to kvm-x86.h.
> 
> The idea here is kvm-$(ARCH).h will be headers for interal use by
> libkvm. Headers name libkvm-$(ARCH) will be functions that are
> arch specific that will be exposed to a user.
> 
> Signed-off-by: Jerone Young <[EMAIL PROTECTED]>
> 
> diff --git a/libkvm/config-i386.mak b/libkvm/config-i386.mak
> --- a/libkvm/config-i386.mak
> +++ b/libkvm/config-i386.mak
> @@ -1,2 +1,4 @@
> 
>  LIBDIR := /lib
> +CFLAGS += -m32
> +CFLAGS += -D__i386__
> diff --git a/libkvm/config-x86_64.mak b/libkvm/config-x86_64.mak
> --- a/libkvm/config-x86_64.mak
> +++ b/libkvm/config-x86_64.mak
> @@ -1,2 +1,4 @@
> 
>  LIBDIR := /lib64
> +CFLAGS += -m64
> +CFLAGS += -D__x86_64__
> diff --git a/libkvm/kvm-common.h b/libkvm/kvm-common.h
> new file mode 100644
> --- /dev/null
> +++ b/libkvm/kvm-common.h
> @@ -0,0 +1,37 @@
> +#ifndef KVM_COMMON_H
> +#define KVM_COMMON_H
> +
> +/* FIXME: share this number with kvm */
> +/* FIXME: or dynamically alloc/realloc regions */
> +#define KVM_MAX_NUM_MEM_REGIONS 8u
> +#define MAX_VCPUS 4
> +
> +
> +/**
> + * \brief The KVM context
> + *
> + * The verbose KVM context
> + */
> +
> +struct kvm_context {
> +     /// Filedescriptor to /dev/kvm
> +     int fd;
> +     int vm_fd;
> +     int vcpu_fd[MAX_VCPUS];
> +     struct kvm_run *run[MAX_VCPUS];
> +     /// Callbacks that KVM uses to emulate various unvirtualizable 
> functionality
> +     struct kvm_callbacks *callbacks;
> +     void *opaque;
> +     /// A pointer to the memory used as the physical memory for the guest
> +     void *physical_memory;
> +     /// is dirty pages logging enabled for all regions or not
> +     int dirty_pages_log_all;
> +     /// memory regions parameters
> +     struct kvm_memory_region mem_regions[KVM_MAX_NUM_MEM_REGIONS];
> +     /// do not create in-kernel irqchip if set
> +     int no_irqchip_creation;
> +     /// in-kernel irqchip status
> +     int irqchip_in_kernel;
> +};
> +
> +#endif
> diff --git a/libkvm/kvm-x86.h b/libkvm/kvm-x86.h
> new file mode 100644
> --- /dev/null
> +++ b/libkvm/kvm-x86.h
> @@ -0,0 +1,14 @@
> +/* This header is for functions & variables that will ONLY be
> + * used inside libkvm for x86. 
> + * THESE ARE NOT EXPOSED TO THE USER AND ARE ONLY FOR USE 
> + * WITHIN LIBKVM.
> + */
> +#ifndef KVM_X86_H
> +#define KVM_X86_H
> +
> +#include "kvm-common.h"
> +
> +#define PAGE_SIZE 4096ul
> +#define PAGE_MASK (~(PAGE_SIZE - 1))
> +
> +#endif
> diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
> --- a/libkvm/libkvm.c
> +++ b/libkvm/libkvm.c
> @@ -37,43 +37,14 @@
>  #include "libkvm.h"
>  #include "kvm-abi-10.h"
> 
> +#if defined(__x86_64__) || defined(__i386__)
> +#include "kvm-x86.h"
> +#endif
> +
>  static int kvm_abi = EXPECTED_KVM_API_VERSION;
> 
> -#define PAGE_SIZE 4096ul
> -#define PAGE_MASK (~(PAGE_SIZE - 1))
> -
> -/* FIXME: share this number with kvm */
> -/* FIXME: or dynamically alloc/realloc regions */
> -#define KVM_MAX_NUM_MEM_REGIONS 8u
>  int free_slots[KVM_MAX_NUM_MEM_REGIONS];
>  unsigned long phys_addr_slots[KVM_MAX_NUM_MEM_REGIONS];
> -#define MAX_VCPUS 4
> -
> -/**
> - * \brief The KVM context
> - *
> - * The verbose KVM context
> - */
> -struct kvm_context {
> -     /// Filedescriptor to /dev/kvm
> -     int fd;
> -     int vm_fd;
> -     int vcpu_fd[MAX_VCPUS];
> -     struct kvm_run *run[MAX_VCPUS];
> -     /// Callbacks that KVM uses to emulate various unvirtualizable 
> functionality
> -     struct kvm_callbacks *callbacks;
> -     void *opaque;
> -     /// A pointer to the memory used as the physical memory for the guest
> -     void *physical_memory;
> -     /// is dirty pages logging enabled for all regions or not
> -     int dirty_pages_log_all;
> -     /// memory regions parameters
> -     struct kvm_memory_region mem_regions[KVM_MAX_NUM_MEM_REGIONS];
> -     /// do not create in-kernel irqchip if set
> -     int no_irqchip_creation;
> -     /// in-kernel irqchip status
> -     int irqchip_in_kernel;
> -};
> 
>  static void init_slots()
>  {
> diff --git a/libkvm/libkvm.h b/libkvm/libkvm.h
> --- a/libkvm/libkvm.h
> +++ b/libkvm/libkvm.h
> @@ -1,4 +1,4 @@
> -/** \file kvmctl.h
> +/** \file libkvm.h
>   * libkvm API
>   */
> 
> 
> -------------------------------------------------------------------------
> 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-ppc-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/kvm-ppc-devel


-------------------------------------------------------------------------
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